sadi01 / yii2-bi-dashboard
Yii2 商业智能仪表盘
1.0.15
2024-05-02 04:31 UTC
Requires
- kartik-v/yii2-bootstrap4-dropdown: @dev
- kartik-v/yii2-grid: ^3.5
- kartik-v/yii2-widget-depdrop: @dev
- kartik-v/yii2-widget-select2: ^2.1.4
- miloschuman/yii2-highcharts-widget: ^10.0
- sadi01/yii2-daterangepicker: *
- wbraganca/yii2-dynamicform: *
- yii2tech/ar-softdelete: *
- yiisoft/yii2: ~2.0.14
- yiisoft/yii2-bootstrap4: *
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; }