From 6d7d78c7eed5197a3b45e3a32039a09cbc7e761f Mon Sep 17 00:00:00 2001 From: liapples Date: Wed, 27 Oct 2021 11:22:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=94=B6=E7=9B=8A=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/OrderController.php | 13 ++++++++++--- .../Controllers/OrderController.php | 19 ++++++++++++------- app/Models/Order.php | 2 +- resources/lang/zh_CN/order.php | 1 + 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/app/AdminAgent/Controllers/OrderController.php b/app/AdminAgent/Controllers/OrderController.php index 3bebb4b..619ae10 100644 --- a/app/AdminAgent/Controllers/OrderController.php +++ b/app/AdminAgent/Controllers/OrderController.php @@ -27,7 +27,7 @@ class OrderController extends AdminController */ protected function grid() { - return Grid::make(new Order(['product.supplier:id,company_name']), function (Grid $grid) { + return Grid::make(new Order(['product.supplier:id,company_name', 'orderProductItem']), function (Grid $grid) { $grid->disableDeleteButton(); $grid->disableBatchDelete(); $grid->disableCreateButton(); @@ -41,9 +41,9 @@ class OrderController extends AdminController $grid->column('id')->sortable(); $grid->column('order_no')->limit(10); - $grid->column('info', '订单信息') + $grid->column('info') ->display('查看') - ->modal('订单信息', function ($modal) { + ->modal('信息收集表单', function ($modal) { $info = $this->info ?? []; $info = array_map(function($v) { if (isset($v['value'], $v['type'])) { @@ -126,6 +126,13 @@ class OrderController extends AdminController $grid->column('pay_type')->using(PayType::array()); $grid->column('price'); $grid->column('paid_money'); + $grid->column('收益') + ->display(function () { + if ($this->status == OrderStatus::SUCCESS && !empty($this->orderProductItem)) { + $item = $this->orderProductItem->toArray(); + return bcsub($this->price, array_sum(array_column($item, 'price')), 2); + } + }); $grid->column('paid_at'); $grid->column('created_at'); diff --git a/app/AdminSupplier/Controllers/OrderController.php b/app/AdminSupplier/Controllers/OrderController.php index 3c4c15f..0878f9e 100644 --- a/app/AdminSupplier/Controllers/OrderController.php +++ b/app/AdminSupplier/Controllers/OrderController.php @@ -43,10 +43,9 @@ class OrderController extends AdminController $grid->column('agent.company_name', '代理商'); $grid->column('order_no', '订单号')->limit(10); $grid->column('title')->limit(20); - $grid->column('picture')->image('', 60, 60); - $grid->column('info', '订单信息') + $grid->column('info') ->display('查看') - ->modal('订单信息', function ($modal) { + ->modal('信息收集表单', function ($modal) { $info = $this->info ?? []; $info = array_map(function($v) { if (isset($v['value'], $v['type'])) { @@ -64,11 +63,17 @@ class OrderController extends AdminController }, $info); return Table::make([], $info); })->xl(); - $grid->column('paid_money'); - $grid->column('price'); -// $grid->column('refund_info'); - $grid->column('pay_type')->using(PayType::array()); $grid->column('status', '订单状态')->using(OrderStatus::array()); + $grid->column('pay_type')->using(PayType::array()); + $grid->column('price'); + $grid->column('paid_money'); + $grid->column('收益') + ->display(function () { + if ($this->status == OrderStatus::SUCCESS && !empty($this->orderProductItem)) { + $item = $this->orderProductItem->toArray(); + return bcadd(0, array_sum(array_column($item, 'price')), 2); + } + }); $grid->column('paid_at'); $grid->column('created_at'); diff --git a/app/Models/Order.php b/app/Models/Order.php index 91ccb93..c3b0d78 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -64,7 +64,7 @@ class Order extends BaseModel } } } - return $value ?? []; + return !empty($value) && is_array($value) ? $value : []; } public function getPictureAttribute($value): string diff --git a/resources/lang/zh_CN/order.php b/resources/lang/zh_CN/order.php index 9728d05..13f8c90 100644 --- a/resources/lang/zh_CN/order.php +++ b/resources/lang/zh_CN/order.php @@ -27,6 +27,7 @@ return [ 'agent_cloud_pid' => '计调云产品ID', 'agent_cloud_price' => '计调云产品销售价', 'timeout' => '超时时间', + 'info' => '客户信息', 'created_at' => '下单时间', ], 'options' => [