sadi01 / yii2-bi-dashboard

Yii2 商业智能仪表盘

安装次数: 183

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 3

开放问题: 0

类型:yii2-extension

1.0.15 2024-05-02 04:31 UTC

This package is auto-updated.

Last update: 2024-09-02 05:23:23 UTC


README

Yii 2 的商业智能仪表盘


Bidashboard

Bidashboard 是一个数据可视化仪表盘,旨在为商业智能提供关键指标和数据的洞察。它允许用户通过交互式图表和图形实时监控和分析其业务的各种方面。

本扩展为 Yii 框架 2.0 提供商业智能仪表盘。

有关许可证信息,请查看 LICENSE 文件。

安装

使用 Composer(推荐方法)

安装此扩展的首选方法是使用 composer

composer require --prefer-dist sadi01/yii2-bi-dashboard:"*"

替代方法

如果您更喜欢手动将 bidashboard 扩展添加到您的 composer.json 文件,可以在 require 部分添加以下条目

{
  "require": {
    "sadi01/yii2-bi-dashboard": "*"
  }
}

添加条目后,保存 composer.json 文件,并在项目目录中的终端或命令提示符中运行以下命令

composer update

此命令将获取并安装 bidashboard 扩展及其所需依赖项到您的 Yii 2 项目中。

配置

要使用此扩展,您必须配置应用程序配置中的 bidashboard 模块

return [
    //....
    'modules' => [
        'bidashboard' => [
            'class' => 'sadi01\bidashboard\Module',
        ],
    ]
];

环境变量

您必须将数据库配置添加到 env,其示例在 Env.example

数据库迁移

运行模块迁移

php yii migrate --migrationPath=@sadi01/bidashboard/migrations

或者,在控制台应用程序配置中添加迁移路径

'controllerMap' => [
    'migrate' => [
        'class' => 'yii\console\controllers\MigrateController',
        'migrationNamespaces' => [],
        'migrationPath' => [
            '@vendor/sadi01/yii2-bi-dashboard/src/migrations',
            '@app/migrations'
        ]
    ],
],

如何使用

添加到视图模型

use sadi01\bidashboard\widgets\ReportModalWidget;

<?= ReportModalWidget::widget([
    'queryParams' => $queryParams,
    'searchModel' => $searchModel,
    'searchModelMethod' => $searchWidget,
    'searchModelRunResultView' => $searchModelRunResultView,
    'searchRoute' => Yii::$app->request->pathInfo,
    'searchModelFormName' => $searchModelFormName,
    'outputColumn' => $outputColumn,
]) ?>

添加到搜索模型

public function searchWidget(array $params,int $rangeType,int $startRange,int $endRange)
{
    $query = Invoice::find();
    $dataProvider = new ActiveDataProvider([
        'query' => $query,
    ]);
    $this->load($params, '');
    $query->andFilterWhere(['between', 'created_at', $startRange, $endRange]);
    if ($rangeType == ReportWidget::RANGE_TYPE_MONTHLY) {
    ...
     }
    elseif ($rangeType == ReportWidget::RANGE_TYPE_DAILY) {
    ...    
    }
    return $dataProvider;
}

高级配置