From eaa6a955df9add4f83824a7dc395e928aba2d372 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Tue, 25 Jan 2022 11:54:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=A1=A5=E8=B4=B4=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DealerManageSubsidyLogController.php | 17 +++++++++++ .../DealerManagerSalesLogController.php | 29 +++++++++++++++++++ .../DealerPurchaseLogController.php | 19 ++++++++++++ 3 files changed, 65 insertions(+) diff --git a/app/Admin/Controllers/DealerManageSubsidyLogController.php b/app/Admin/Controllers/DealerManageSubsidyLogController.php index 39f76790..4188314f 100644 --- a/app/Admin/Controllers/DealerManageSubsidyLogController.php +++ b/app/Admin/Controllers/DealerManageSubsidyLogController.php @@ -3,6 +3,7 @@ namespace App\Admin\Controllers; use App\Admin\Repositories\DealerManageSubsidyLog; +use App\Models\DealerManageSubsidyLog as DealerManageSubsidyLogModel; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Http\Controllers\AdminController; @@ -33,7 +34,23 @@ class DealerManageSubsidyLogController extends AdminController $grid->disableCreateButton(); $grid->disableActions(); + $grid->header(function ($collection) use ($grid) { + $query = DealerManageSubsidyLogModel::query(); + // 拿到表格筛选 where 条件数组进行遍历 + $grid->model()->getQueries()->unique()->each(function ($value) use (&$query) { + if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) { + return; + } + + $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); + }); + + // 查出统计数据 + $totalAmount = (clone $query)->sum('total_amount'); + // 自定义组件 + return "
金额:".$totalAmount.' 元
'; + }); $grid->filter(function (Grid\Filter $filter) { $filter->panel(false); $filter->equal('user.phone', '手机号')->width(3); diff --git a/app/Admin/Controllers/DealerManagerSalesLogController.php b/app/Admin/Controllers/DealerManagerSalesLogController.php index d04849fd..f8ada8b4 100644 --- a/app/Admin/Controllers/DealerManagerSalesLogController.php +++ b/app/Admin/Controllers/DealerManagerSalesLogController.php @@ -3,10 +3,12 @@ namespace App\Admin\Controllers; use App\Admin\Repositories\DealerManagerSalesLog; +use App\Models\DealerManagerSalesLog as DealerManagerSalesLogModel; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Show; +use Illuminate\Support\Facades\DB; class DealerManagerSalesLogController extends AdminController { @@ -33,6 +35,33 @@ class DealerManagerSalesLogController extends AdminController $grid->disableCreateButton(); $grid->disableActions(); + $grid->header(function ($collection) use ($grid) { + $query = DealerManagerSalesLogModel::query()->with(['product']) + ->select(['product_id', DB::raw('sum(sales_volume) as sales_volume')]); + + // 拿到表格筛选 where 条件数组进行遍历 + $grid->model()->getQueries()->unique()->each(function ($value) use (&$query) { + if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) { + return; + } + + $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); + }); + + // 查出统计数据 + $text = ''; + foreach ($query->groupBy('product_id')->get() as $log) { + if ($text !== '') { + $text .= "\n"; + } + $text .= $log->product->name.'销量:'.$log->sales_volume; + } + + // 自定义组件 + return "
".$text.'
'; + }); + + $grid->filter(function (Grid\Filter $filter) { $filter->panel(false); $filter->equal('user.phone', '手机号')->width(3); diff --git a/app/Admin/Controllers/DealerPurchaseLogController.php b/app/Admin/Controllers/DealerPurchaseLogController.php index 0c3d4ff3..53168982 100644 --- a/app/Admin/Controllers/DealerPurchaseLogController.php +++ b/app/Admin/Controllers/DealerPurchaseLogController.php @@ -3,6 +3,7 @@ namespace App\Admin\Controllers; use App\Admin\Repositories\DealerPurchaseLog; +use App\Models\DealerPurchaseLog as DealerPurchaseLogModel; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Http\Controllers\AdminController; @@ -30,6 +31,24 @@ class DealerPurchaseLogController extends AdminController $grid->column('order_completed_at'); $grid->column('created_at')->sortable(); + $grid->header(function ($collection) use ($grid) { + $query = DealerPurchaseLogModel::query(); + + // 拿到表格筛选 where 条件数组进行遍历 + $grid->model()->getQueries()->unique()->each(function ($value) use (&$query) { + if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) { + return; + } + + $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); + }); + + // 查出统计数据 + $totalAmount = (clone $query)->sum('total_amount'); + // 自定义组件 + return "
金额:".$totalAmount.' 元
'; + }); + $grid->filter(function (Grid\Filter $filter) { $filter->panel(false); $filter->equal('user.phone', '手机号')->width(3);