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);