From 6ca74162212f40d1d12ce139eca6d31f44b84d66 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Thu, 10 Feb 2022 14:42:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=90=8E=E5=8F=B0=E6=89=B9?= =?UTF-8?q?=E9=9B=B6=E8=A1=A5=E8=B4=B4=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/DealerEarningController.php | 39 ++++++++++++++----- .../DealerPurchaseLogController.php | 12 +++++- 2 files changed, 40 insertions(+), 11 deletions(-) diff --git a/app/Admin/Controllers/DealerEarningController.php b/app/Admin/Controllers/DealerEarningController.php index 1e8a7b60..5036e450 100644 --- a/app/Admin/Controllers/DealerEarningController.php +++ b/app/Admin/Controllers/DealerEarningController.php @@ -92,9 +92,28 @@ class DealerEarningController extends AdminController // } }); + $grid->header(function ($collection) use ($grid) { + $query = DealerEarningModel::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(); $filter->equal('user.phone')->width(3); + $filter->between('settle_at')->width(7); }); }); } @@ -143,45 +162,45 @@ class DealerEarningController extends AdminController $show->divider('收款信息-银行'); $show->field('bank_user_name', '银行-收款人')->as(function () { $payInfo = $this->getPayInfo(); - return $payInfo['bank']['user_name']??''; + return $payInfo['bank']['user_name'] ?? ''; }); $show->field('bank_bank_name', '银行-名称')->as(function () { $payInfo = $this->getPayInfo(); - return $payInfo['bank']['bank_name']??''; + return $payInfo['bank']['bank_name'] ?? ''; }); $show->field('bank_bank_number', '银行-卡号')->as(function () { $payInfo = $this->getPayInfo(); - return $payInfo['bank']['bank_number']??''; + return $payInfo['bank']['bank_number'] ?? ''; }); $show->field('bank_bank_description', '银行-开户行')->as(function () { $payInfo = $this->getPayInfo(); - return $payInfo['bank']['bank_description']??''; + return $payInfo['bank']['bank_description'] ?? ''; }); $show->divider('收款信息-支付宝'); $show->field('alipay_user_name', '支付宝-真实名称')->as(function () { $payInfo = $this->getPayInfo(); - return $payInfo['alipay']['user_name']??''; + return $payInfo['alipay']['user_name'] ?? ''; }); $show->field('alipay_ali_name', '支付宝-账户')->as(function () { $payInfo = $this->getPayInfo(); - return $payInfo['alipay']['ali_name']??''; + return $payInfo['alipay']['ali_name'] ?? ''; }); $show->field('alipay_image', '支付宝-收款码')->as(function () { $payInfo = $this->getPayInfo(); - return $payInfo['alipay']['image']??''; + return $payInfo['alipay']['image'] ?? ''; })->image(); $show->divider('收款信息-微信'); $show->field('wechat_user_name', '微信-真实名称')->as(function () { $payInfo = $this->getPayInfo(); - return $payInfo['wechat']['user_name']??''; + return $payInfo['wechat']['user_name'] ?? ''; }); $show->field('wechat_wechat_name', '微信-ID')->as(function () { $payInfo = $this->getPayInfo(); - return $payInfo['wechat']['wechat_name']??''; + return $payInfo['wechat']['wechat_name'] ?? ''; }); $show->field('wechat_image', '微信-收款码')->as(function () { $payInfo = $this->getPayInfo(); - return $payInfo['wechat']['image']??''; + return $payInfo['wechat']['image'] ?? ''; })->image(); } $show->field('created_at'); diff --git a/app/Admin/Controllers/DealerPurchaseLogController.php b/app/Admin/Controllers/DealerPurchaseLogController.php index 630b2dca..756882c8 100644 --- a/app/Admin/Controllers/DealerPurchaseLogController.php +++ b/app/Admin/Controllers/DealerPurchaseLogController.php @@ -4,10 +4,12 @@ namespace App\Admin\Controllers; use App\Admin\Repositories\DealerPurchaseLog; use App\Models\DealerPurchaseLog as DealerPurchaseLogModel; +use App\Models\User; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Show; +use Illuminate\Support\Facades\Request; class DealerPurchaseLogController extends AdminController { @@ -20,6 +22,12 @@ class DealerPurchaseLogController extends AdminController { $builder = DealerPurchaseLog::with(['user', 'order']); return Grid::make($builder, function (Grid $grid) { + $phone = Request::input('user_phone', ''); + // dd($phone); + if ($phone) { + $user = User::where('phone', $phone)->first(); + $grid->model()->where('path', 'like', '%-'.$user->id.'-'); + } $grid->column('id')->sortable(); $grid->column('user.phone', '手机号')->copyable(); $grid->column('lvl', '等级')->display(function () { @@ -51,8 +59,10 @@ class DealerPurchaseLogController extends AdminController $grid->filter(function (Grid\Filter $filter) { $filter->panel(false); - $filter->equal('user.phone', '手机号')->width(3); + $filter->equal('user_phone', '手机号')->ignore()->width(3); $filter->between('order_completed_at', '结算时间')->dateTime()->width(7); + + // $filter->equal('user.phone', '手机号')->width(3); }); }); }