Browse Source

活动商品统计--添加图表

master
liangyuyan 5 years ago
parent
commit
64a4df2400
  1. 4
      app/Admin/Controllers/v3/GoodsActivityReportController.php
  2. 84
      app/Admin/Widgets/Charts/OrderGoodsActivityTotalChart.php
  3. 2
      app/Admin/routes.php

4
app/Admin/Controllers/v3/GoodsActivityReportController.php

@ -6,6 +6,7 @@ use App\Admin\Actions\Grid\v3\DataReportOption;
use App\Admin\Repositories\v3\GoodsActivityReport;
use App\Admin\Widgets\Charts\OrderGoodsActivityColumnChart;
use App\Admin\Widgets\Charts\OrderGoodsActivityTotalChart;
use Dcat\Admin\Grid;
use Dcat\Admin\Controllers\AdminController;
use App\Models\v3\Market as MarketModel;
@ -90,6 +91,9 @@ class GoodsActivityReportController extends AdminController
public function index(Content $content)
{
return $content->title('活动商品统计')
->body(function(Row $row){
$row->column(4,new OrderGoodsActivityTotalChart());
})
->body(function(Row $row){
$row->column(12,$this->grid());
})

84
app/Admin/Widgets/Charts/OrderGoodsActivityTotalChart.php

@ -0,0 +1,84 @@
<?php
namespace App\Admin\Widgets\Charts;
use Dcat\Admin\Widgets\Metrics\Card;
use Illuminate\Http\Request;
class OrderGoodsActivityTotalChart extends Card
{
/**
* 活动商品总数
*/
protected $data = [];
protected $id;
protected $option;
public function __construct($data = [])
{
$this->option = $this->id = 7;
$this->data = $data;
parent::__construct();
}
protected function init()
{
parent::init();
// 设置标题
$this->title('销售总数量');
// 设置下拉菜单
// $this->dropdown([]);
}
/**
* 处理请求
* 如果你的图表类中包含此方法,则可以通过此方法处理前端通过ajax提交的获取图表数据的请求
*
* @param Request $request
* @return mixed|void
*/
public function handle(Request $request)
{
// dd($request);
// 数据查询逻辑
$data = ['total' => $this->data['total'] ?? 0 ];
$this->withData($data);
}
/**
* 这里返回需要异步传递到 handler 方法的参数
*
* @return array
*/
public function parameters(): array
{
return [
'id' => $this->id,
'option' => $this->option,
];
}
public function withData($data)
{
$this->data = $data;
}
/**
* 渲染卡片内容.
*
* @return string
*/
public function renderContent()
{
$total = $this->data['total'] ?? 0 ;
return <<<HTML
<div class="d-flex justify-content-between align-items-center mt-1" style="margin-bottom: 2px">
<h2 class="ml-1 font-large-1">{$total}</h2>
</div>
HTML;
}
}

2
app/Admin/routes.php

@ -88,6 +88,6 @@ Route::group([
// 订单统计
$router->resource('/order_report', 'v3\OrderReportController');
// 活动商品统计
$router->resource('/goods_activity_report', 'v3\GoodsActivityReportController');
$router->any('/goods_activity_report', 'v3\GoodsActivityReportController@index');
});
Loading…
Cancel
Save