From 24d2bf4b3a68984374e9a6c9471f0d1217963409 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Mon, 17 Jan 2022 13:41:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=90=8E=E5=8F=B0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/DealerOrderController.php | 49 ++++++++++++++++++- resources/lang/zh_CN/dealer-order.php | 4 +- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/app/Admin/Controllers/DealerOrderController.php b/app/Admin/Controllers/DealerOrderController.php index 0fd9fdd1..3b290103 100644 --- a/app/Admin/Controllers/DealerOrderController.php +++ b/app/Admin/Controllers/DealerOrderController.php @@ -6,12 +6,14 @@ use App\Admin\Actions\Grid\DealerOrderPaid; use App\Admin\Actions\Grid\DealerOrderShipping; use App\Admin\Repositories\DealerOrder; use App\Enums\DealerOrderStatus; +use App\Models\DealerOrderProduct; use Dcat\Admin\Admin; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Http\Controllers\AdminController; +use Dcat\Admin\Layout\Row; use Dcat\Admin\Show; -use Dcat\Admin\Show\Row; +use Dcat\Admin\Widgets\Box; class DealerOrderController extends AdminController { @@ -52,10 +54,13 @@ class DealerOrderController extends AdminController // $grid->column('shipping_time'); // $grid->column('shippinged_time'); $grid->column('created_at')->sortable(); + + $grid->model()->orderBy('created_at', 'desc'); // $grid->column('updated_at')->sortable(); $grid->actions(function (Grid\Displayers\Actions $actions) { if (Admin::user()->can('dcat.admin.orders.show')) { - $actions->disableView(false); + $actions->append(' 显示   '); + // $actions->disableView(false); } if ($actions->row->status == DealerOrderStatus::Confirming && Admin::user()->can('dcat.admin.dealers_orders.paid')) { $actions->append(new DealerOrderPaid()); @@ -82,6 +87,46 @@ class DealerOrderController extends AdminController { return function (Row $row) use ($id) { $row->column(5, function ($column) use ($id) { + $builder = DealerOrder::with(['user', 'consignor']); + $column->row(Show::make($id, $builder, function (Show $show) { + $show->field('sn'); + $show->field('order_status')->as(function ($v) { + return $this->order_status; + })->using(DealerOrderStatus::texts())->dot([ + DealerOrderStatus::Pending->value => 'primary', + DealerOrderStatus::Paying->value => 'danger', + DealerOrderStatus::Confirming->value => 'warning', + DealerOrderStatus::Paid->value => 'danger', + DealerOrderStatus::Shipped->value => 'warning', + DealerOrderStatus::Completed->value => 'success', + DealerOrderStatus::Cancelled->value => '#b3b9bf', + ]); + $show->divider(); + $show->field('consignee_name'); + $show->field('consignee_telephone'); + $show->field('consignee', '收货地址')->as(function () { + return $this->consignee_zone . ' '. $this->consignee_address; + }); + $show->panel() + ->tools(function (Show\Tools $tools) use ($show) { + $tools->disableEdit(); + $tools->disableDelete(); + }); + })); + }); + $row->column(7, function ($column) use ($id) { + $builder = DealerOrderProduct::where('order_id', $id); + $productGrid = Grid::make($builder, function (Grid $grid) { + $grid->column('name'); + $grid->column('cover', '封面')->image(50, 50); + $grid->column('price', '标价')->prepend('¥'); + $grid->column('sale_price', '实际售价')->prepend('¥'); + $grid->column('qty', '数量'); + $grid->disableActions(); + $grid->disablePagination(); + $grid->disableRefreshButton(); + }); + $column->row(Box::make('订单商品', $productGrid)); }); }; } diff --git a/resources/lang/zh_CN/dealer-order.php b/resources/lang/zh_CN/dealer-order.php index fea8c0ba..30d4b83a 100644 --- a/resources/lang/zh_CN/dealer-order.php +++ b/resources/lang/zh_CN/dealer-order.php @@ -2,8 +2,8 @@ return [ 'labels' => [ - 'DealerOrder' => 'DealerOrder', - 'dealer-order' => 'DealerOrder', + 'DealerOrder' => '订单管理', + 'dealer-orders' => '订单管理', ], 'fields' => [ 'sn' => '订单编号',