From 1345f02b393c83c1fa96fda421242e7fa94a9fe3 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Fri, 7 Jan 2022 19:46:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=94=AE=E5=90=8E=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=94=AE=E5=90=8E=E6=9F=A5=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AfterSaleController.php | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/app/Admin/Controllers/AfterSaleController.php b/app/Admin/Controllers/AfterSaleController.php index 1505aa8e..37f27810 100644 --- a/app/Admin/Controllers/AfterSaleController.php +++ b/app/Admin/Controllers/AfterSaleController.php @@ -20,6 +20,7 @@ use Dcat\Admin\Grid\Column; use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Layout\Row; use Dcat\Admin\Show; +use Dcat\Admin\Widgets\Box; use Illuminate\Support\Facades\Request; class AfterSaleController extends AdminController @@ -207,6 +208,47 @@ class AfterSaleController extends AdminController })); }); $row->column(8, function ($column) use ($id) { + $afterSale = AfterSaleModel::findOrFail($id); + $builder = AfterSaleModel::with('orderProduct')->where('order_product_id', $afterSale?->order_product_id)->where('id', '<>', $id); + $column->row(Box::make('相关售后', Grid::make($builder, function (Grid $grid) { + $grid->column('orderProduct.name'); + $grid->column('num'); + $grid->column('amount')->display(function ($value) { + if (in_array($this->type, [AfterSaleModel::TYPE_CHANGE, AfterSaleModel::TYPE_FILL])) { + return '0.00'; + } + return bcdiv($value, 100, 2); + })->prepend('¥'); + $grid->column('type')->using([ + AfterSaleModel::TYPE_REFUND_AND_RETURN => '退款退货', + AfterSaleModel::TYPE_REFUND => '退款', + AfterSaleModel::TYPE_CHANGE => '换货', + AfterSaleModel::TYPE_FILL => '漏发', + ])->label(); + $grid->column('state')->using(AfterSaleModel::$stateText)->dot([ + AfterSaleModel::STATE_APPLY=>'warning', + AfterSaleModel::STATE_VERIFY=>'danger', + AfterSaleModel::STATE_AGREE=>'warning', + AfterSaleModel::STATE_SHIPPING=>'primary', + AfterSaleModel::STATE_FINANCE=>'primary', + AfterSaleModel::STATE_FINISH=>'success', + ]); + $grid->column('created_at'); + + $grid->column('id', '操作')->display(function () { + return '查看'; + })->link(function ($value) { + return admin_route('after_sales.show', ['after_sale' => $this->id]); + }); + // $grid->column('remarks'); + // $grid->column('tracking_number'); + + + $grid->disableCreateButton(); + $grid->disableActions(); + $grid->disablePagination(); + $grid->disableRefreshButton(); + }))); $logs = AfterSaleLog::where('after_sale_id', $id)->latest('id')->get(); $title = '售后明细'; $column->row(admin_view('admin.show.timeline', compact('title', 'logs')));