From 292fc56d999b75bad34f1a39bbee49e8d35e6d1a Mon Sep 17 00:00:00 2001 From: liapples Date: Thu, 12 Aug 2021 11:02:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=A2=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/OrderController.php | 139 ++++++++++++++++++++++ app/Admin/Repositories/Order.php | 16 +++ resources/lang/zh_CN/order.php | 30 +++++ 3 files changed, 185 insertions(+) create mode 100644 app/Admin/Controllers/OrderController.php create mode 100644 app/Admin/Repositories/Order.php create mode 100644 resources/lang/zh_CN/order.php diff --git a/app/Admin/Controllers/OrderController.php b/app/Admin/Controllers/OrderController.php new file mode 100644 index 0000000..6d40ead --- /dev/null +++ b/app/Admin/Controllers/OrderController.php @@ -0,0 +1,139 @@ +disableCreateButton(); + $grid->disableDeleteButton(); + + $grid->column('id')->sortable(); + $grid->column('order_no'); + $grid->column('agent.agent_name'); + $grid->column('mobile'); + $grid->column('name'); + $grid->column('product', '产品信息') + ->display('查看') + ->modal('购买产品信息', function ($modal) { + return Table::make([ + '产品名称', + '产品图片', + '购买数量', + '所属代理商', + '所属供应商', + ], [[ + $this->title, + '', + $this->num, + $this->agent->agent_name, + $this->product->supplier->supplier_name, + ]]); + })->xl(); + $grid->column('paid_money'); + $grid->column('price'); +// $grid->column('refund_info'); + $grid->column('pay_type') + ->using([0 => '在线支付', 1 => '定金支付', 2 => '首款支付', 3 => '线下支付']); + $grid->column('status', '订单状态') + ->select(OrderStatus::array()); + $grid->column('paid_at')->display(fn($v) => date('Y-m-d H:i:s', $v)); + $grid->column('created_at')->display(fn($v) => $v); + $grid->column('updated_at')->display(fn($v) => $v); + + $grid->filter(function (Grid\Filter $filter) { + $filter->panel(); + + $filter->equal('id')->width(2); + $filter->equal('mobile')->width(2); + $filter->equal('order_no')->width(3); + $filter->equal('status')->select(OrderStatus::array())->width(2); + + $option = Agent::query()->pluck('agent_name', 'id'); + $filter->equal('agent_id', '代理商')->select($option)->width(3); + + $option = Supplier::query()->pluck('supplier_name', 'id'); + $filter->equal('product.supplier_id', '供应商')->select($option)->width(3); + + $filter->between('created_at')->width(4); + }); + }); + } + + /** + * Make a show builder. + * + * @param mixed $id + * + * @return Show + */ + protected function detail($id) + { + return Show::make($id, new Order(), function (Show $show) { + $show->disableDeleteButton(); + $show->disableQuickEdit(); + + $show->field('id'); + $show->field('agent.agent_name'); + $show->field('mobile'); + $show->field('name'); + $show->field('num'); + $show->field('order_no'); + $show->field('paid_at')->as(fn ($v) => date('Y-m-d H:i:s', $v)); + $show->field('paid_money'); + $show->field('pay_type'); + $show->field('title'); + $show->field('picture')->image(); + $show->field('price'); + $show->field('product_id'); + $show->field('status')->using(OrderStatus::array()); + $show->field('title'); + $show->field('user_id'); + $show->field('created_at')->as(fn ($v) => date('Y-m-d H:i:s', $v)); + $show->field('updated_at')->as(fn ($v) => date('Y-m-d H:i:s', $v)); + }); + } + + /** + * Make a form builder. + * + * @return Form + */ + protected function form() + { + return Form::make(new Order(), function (Form $form) { + $form->disableDeleteButton(); + + $form->display('id')->width(2); + $form->mobile('mobile'); + $form->text('name')->width(2); + $form->select('status')->options(OrderStatus::array())->width(2); + }); + } + + public function destroy($id) + { + return false; + } +} diff --git a/app/Admin/Repositories/Order.php b/app/Admin/Repositories/Order.php new file mode 100644 index 0000000..4676dd2 --- /dev/null +++ b/app/Admin/Repositories/Order.php @@ -0,0 +1,16 @@ + [ + 'Order' => '订单', + 'order' => '订单', + ], + 'fields' => [ + 'agent_id' => '代理商ID', + 'agent' => ['agent_name' => '代理商名称'], + 'agent_product_id' => '代理商产品', + 'coupon_id' => '优惠券', + 'mobile' => '手机号', + 'name' => '客户姓名', + 'num' => '购买数量', + 'order_no' => '订单号', + 'paid_at' => '付款时间', + 'paid_money' => '已付款金额', + 'pay_type' => '支付方式', + 'picture' => '产品图片', + 'price' => '订单总价格', + 'product_id' => '供应商产品ID', + 'refund_info' => '退款信息', + 'status' => '订单状态', + 'title' => '产品名称', + 'user_id' => '用户ID', + 'created_at' => '下单时间', + ], + 'options' => [ + ], +];