From 7ad0f6d03dd5b076a5d81a6e0f2124803884fb7d Mon Sep 17 00:00:00 2001 From: xuanchen <122383162@qq.com> Date: Thu, 12 Jan 2023 16:59:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=95=86=E5=9F=8E=E9=A6=96?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/Area/CodeController.php | 65 +++++++++++++++++++ app/Admin/Routes/area.php | 2 +- .../Admin/StockOrderController.php | 41 +++--------- modules/Mall/Models/Order.php | 15 ++++- 4 files changed, 87 insertions(+), 36 deletions(-) create mode 100644 app/Admin/Controllers/Area/CodeController.php diff --git a/app/Admin/Controllers/Area/CodeController.php b/app/Admin/Controllers/Area/CodeController.php new file mode 100644 index 0000000..dd00357 --- /dev/null +++ b/app/Admin/Controllers/Area/CodeController.php @@ -0,0 +1,65 @@ +disableActions(); + $grid->disableCreateButton(); + + + $grid->filter(function (Grid\Filter $filter) { + $filter->column(1 / 3, function (Grid\Filter $filter) { + $filter->like('area.title', '地区名称'); + }); + $filter->column(1 / 3, function (Grid\Filter $filter) { + $filter->equal('status', '状态')->select(AreaCode::STATUS); + }); + }); + + $grid->model()->with(['area']); + + $grid->column('id', '序号'); + $grid->column('code', '码'); + $grid->column('user.username', '领取用户') + ->display(function () { + return $this->user ? $this->user->show_name : '---'; + }); + $grid->column('manage.username', '管理人') + ->display(function () { + return $this->manage ? $this->manage->show_name : '---'; + }); + $grid->column('area.title', '地区名称'); + $grid->column('status', '状态')->using(AreaCode::STATUS); + $grid->column('created_at', '创建时间'); + + + return $grid; + } + +} diff --git a/app/Admin/Routes/area.php b/app/Admin/Routes/area.php index fd3979d..e2e6b2e 100644 --- a/app/Admin/Routes/area.php +++ b/app/Admin/Routes/area.php @@ -6,5 +6,5 @@ Route::group([ 'namespace' => 'Area', ], function (Router $router) { $router->resource('areas', 'IndexController'); - $router->resource('areas/codes', 'IndexController'); + $router->resource('areas_codes', 'CodeController'); }); diff --git a/modules/Mall/Http/Controllers/Admin/StockOrderController.php b/modules/Mall/Http/Controllers/Admin/StockOrderController.php index 1e96afa..d56dc03 100644 --- a/modules/Mall/Http/Controllers/Admin/StockOrderController.php +++ b/modules/Mall/Http/Controllers/Admin/StockOrderController.php @@ -49,60 +49,35 @@ class StockOrderController extends AdminController }); $filter->column(1 / 2, function (Grid\Filter $filter) { $filter->between('created_at', '下单时间')->datetime(); - $filter->equal('state', '订单状态')->select([ - Order::STATUS_CANCEL => '已取消', - Order::STATUS_PAID => '待发货', - Order::STATUS_DELIVERED => '已发货', - Order::STATUS_SIGNED => '已签收', - ]); + $filter->equal('state', '订单状态')->select(Order::STATUS_SAMPLE_MAP); // $filter->between('paid_at', '付款时间')->datetime(); // $filter->between('expired_at', '过期时间')->datetime(); }); }); - $grid->actions(function (Grid\Displayers\Actions $actions) { - $actions->disableEdit(); - $actions->disableDelete(); - $actions->disableView(); - if ($actions->row->can('pay') && $this->row->type == Order::TYPE_NORMAL) { - $actions->add(new Pay()); - } - if ($actions->row->can('deliver')) { - $actions->add(new Delivered); - } - }); + $grid->disableActions(); $grid->model()->with(['shop', 'user.info']); $grid->column('order_no', '订单编号')->display(function () { return sprintf('%s', route('admin.mall.stock_orders.show', $this), $this->order_no); }); -// $grid->column('shop.name', '所属店铺'); - $grid->column('user.username', '提货用户'); -// $grid->column('amount', '商品金额'); -// $grid->column('freight', '运费'); + $grid->column('user.username', '提货用户') + ->display(function () { + return $this->user->username."({$this->user->info->nickname})"; + }); $grid->column('qty', '提货数量') ->display(function () { return $this->items()->sum('qty'); }); -// $grid->column('订单金额')->display(function () { -// return $this->total; -// }); + $grid->column('areaCode.code', '提货码'); $grid->column('state', '订单状态') ->display(function () { return $this->state_text; }) ->label(); -// $grid->column('type', '订单类型')->using(Order::TYPE_MAP)->label(); -// $grid->column('paid_at', '支付时间')->sortable(); -// $grid->column('expired_at', '过期时间')->sortable(); - $grid->column('versions_count', '操作日志')->link(function () { - return route('admin.mall.versions', [ - 'model' => get_class($this), - 'key' => $this->id, - ]); - }, '_self'); + $grid->column('type', '订单类型')->using(Order::TYPE_MAP)->label(); $grid->column('created_at', '下单时间')->sortable(); $grid->disableExport(false); diff --git a/modules/Mall/Models/Order.php b/modules/Mall/Models/Order.php index 6a913bd..0a476f3 100644 --- a/modules/Mall/Models/Order.php +++ b/modules/Mall/Models/Order.php @@ -82,6 +82,13 @@ class Order extends Model self::REFUND_COMPLETED => '退款完成', ]; + const STATUS_SAMPLE_MAP = [ + self::STATUS_INIT => '未付款', + self::STATUS_CANCEL => '已取消', + self::STATUS_PAID => '待提货', + self::STATUS_DELIVERED => '已提货', + ]; + const CANCEL_BY_USER = 2; // 买家取消 const CANCEL_BY_SELLER = 3; // 卖家取消 const CANCEL_BY_SYSTEM = 4; // 系统取消 @@ -92,7 +99,7 @@ class Order extends Model const TYPE_MAP = [ self::TYPE_NORMAL => '正常', - self::TYPE_SAMPLE => '领取', + self::TYPE_SAMPLE => '免费领取', self::TYPE_SCORE => '积分兑换', ]; @@ -162,7 +169,11 @@ class Order extends Model */ public function getStateTextAttribute(): string { - return self::STATUS_MAP[$this->state]; + if ($this->type == self::TYPE_SAMPLE) { + return self::STATUS_SAMPLE_MAP[$this->state]; + } else { + return self::STATUS_MAP[$this->state]; + } } /**