From 8f45a42d84cbcd245ebb4b0cb07a0dd83b56798b Mon Sep 17 00:00:00 2001 From: xman <1946321327@qq.com> Date: Tue, 22 Apr 2025 16:03:32 +0800 Subject: [PATCH] sth --- application/admin/controller/Order.php | 2 +- .../admin/controller/aftersales/Aftersale.php | 24 +++++++++++++++++-- .../admin/controller/orders/Configorder.php | 4 ++-- .../admin/lang/zh-cn/orders/auditorder.php | 2 +- .../admin/lang/zh-cn/orders/configorder.php | 2 +- .../admin/lang/zh-cn/orders/dispatch.php | 2 +- .../admin/lang/zh-cn/orders/dispatch2.php | 2 +- .../admin/lang/zh-cn/orders/revisitorder.php | 2 +- application/admin/model/Aftersale.php | 5 +++- application/admin/model/Order.php | 10 ++++++++ .../admin/view/aftersales/aftersale/add.html | 4 ++-- .../admin/view/orders/auditorder/edit.html | 6 ++--- .../admin/view/orders/configorder/edit.html | 12 +++++----- application/common/Logic/OrderLogic.php | 16 +++++++++++++ .../assets/js/backend/aftersales/aftersale.js | 4 +++- 15 files changed, 73 insertions(+), 24 deletions(-) diff --git a/application/admin/controller/Order.php b/application/admin/controller/Order.php index 35578c3..778397c 100644 --- a/application/admin/controller/Order.php +++ b/application/admin/controller/Order.php @@ -172,7 +172,7 @@ class Order extends Backend foreach ($list as &$item){ $item->aftersale_btn = false; - if($item->aftersale_id==0 && $this->auth->check('aftersales/aftersale/add')){ //$item->status == \app\admin\model\Order::STATUS_FINISHED && + if($item->aftersale_id==0 && $this->auth->check('aftersales/aftersale/add') && $item->status == \app\admin\model\Order::STATUS_FINISHED){ //$item->status == \app\admin\model\Order::STATUS_FINISHED && $item->aftersale_btn = true; } } diff --git a/application/admin/controller/aftersales/Aftersale.php b/application/admin/controller/aftersales/Aftersale.php index 832280f..ca244fe 100644 --- a/application/admin/controller/aftersales/Aftersale.php +++ b/application/admin/controller/aftersales/Aftersale.php @@ -4,6 +4,7 @@ namespace app\admin\controller\aftersales; use app\admin\model\Order; use app\common\controller\Backend; +use app\common\Logic\OrderLogic; use Exception; use think\Db; use think\exception\DbException; @@ -140,7 +141,13 @@ class Aftersale extends Backend $params['worker_name'] = $order->dispatch->worker_name; } $params['status'] = 1; - $params['refund_amount'] = bcadd($params['company_refund_amount'],$params['worker_refund_amount'],2); + + if($params['handle_type'] == 1){ + $params['refund_amount'] = bcadd($params['company_refund_amount'],$params['worker_refund_amount'],2); + }else{ + unset($params['company_refund_amount']); + unset($params['worker_refund_amount']); + } $result = $this->model->allowField(true)->save($params); $order->aftersale_id = $this->model->id; $order->save(); @@ -199,7 +206,12 @@ class Aftersale extends Backend } $params['handle_admin_id'] = $this->auth->id; $params['handle_admin_user'] = $this->auth->nickname; - $params['refund_amount'] = bcadd($params['company_refund_amount'],$params['worker_refund_amount'],2); + if($params['handle_type'] == 1){ + $params['refund_amount'] = bcadd($params['company_refund_amount'],$params['worker_refund_amount'],2); + }else{ + unset($params['company_refund_amount']); + unset($params['worker_refund_amount']); + } if(empty($params['company_refund_time'])){ $params['company_refund_time'] = date('Y-m-d H:i:s'); @@ -209,6 +221,14 @@ class Aftersale extends Backend } $result = $row->allowField(true)->save($params); + + if($params['handle_type'] == 1 && $params['status'] == 2){ //处理完成,重新计算利润 + + $order = Order::get($row->order_id); + //重新计算订单利润 + $orderLogic = new OrderLogic(); + $orderLogic->recacle($order,$row); + } Db::commit(); } catch (ValidateException|PDOException|Exception $e) { Db::rollback(); diff --git a/application/admin/controller/orders/Configorder.php b/application/admin/controller/orders/Configorder.php index 28da150..62e6970 100644 --- a/application/admin/controller/orders/Configorder.php +++ b/application/admin/controller/orders/Configorder.php @@ -126,7 +126,7 @@ class Configorder extends Backend 'status' => Order::STATUS_AUDITING, 'online_amount_last' => $params['online_amount_last'], 'offline_amount' => $params['offline_amount'], - 'refund_amount' => $params['refund_amount'], + // 'refund_amount' => $params['refund_amount'], 'cost' => $params['cost'], 'offline_amount_type'=> $params['offline_amount_type'], 'amount_images' => $params['amount_images'], @@ -138,7 +138,7 @@ class Configorder extends Backend $cost = bcadd($params['cost'],$params['material_cost'],2); $data['total'] = bcadd($row->online_amount,$last_amount,2); - $data['real_amount'] = bcsub($data['total'],$params['refund_amount'],2); + $data['real_amount'] = $data['total']; $data['performance'] = bcsub($data['real_amount'],$cost,2); $result = $row->allowField(true)->save($data); diff --git a/application/admin/lang/zh-cn/orders/auditorder.php b/application/admin/lang/zh-cn/orders/auditorder.php index ce505ed..1057824 100644 --- a/application/admin/lang/zh-cn/orders/auditorder.php +++ b/application/admin/lang/zh-cn/orders/auditorder.php @@ -51,7 +51,7 @@ return [ 'Discount_amount' => '优惠抵扣', 'Real_amount' => '实际收款', 'Refund_amount' => '退款金额', - 'Cost' => '师傅成本', + 'Cost' => '师傅分成', 'Performance' => '预计利润', 'Cancel_reason_id' => '取消原因', 'Cancel_detail' => '取消详情', diff --git a/application/admin/lang/zh-cn/orders/configorder.php b/application/admin/lang/zh-cn/orders/configorder.php index 5f9e733..d7b12b9 100644 --- a/application/admin/lang/zh-cn/orders/configorder.php +++ b/application/admin/lang/zh-cn/orders/configorder.php @@ -51,7 +51,7 @@ return [ 'Discount_amount' => '优惠抵扣', 'Refund_amount' => '退款金额', 'Real_amount' => '实际收款', - 'Cost' => '师傅成本', + 'Cost' => '师傅分成', 'Performance' => '预计利润', 'Cancel_reason_id' => '取消原因', 'Cancel_detail' => '取消详情', diff --git a/application/admin/lang/zh-cn/orders/dispatch.php b/application/admin/lang/zh-cn/orders/dispatch.php index 32f82e0..ec4179a 100644 --- a/application/admin/lang/zh-cn/orders/dispatch.php +++ b/application/admin/lang/zh-cn/orders/dispatch.php @@ -70,7 +70,7 @@ return [ 'Order.discount_amount' => '优惠抵扣', 'Order.refund_amount' => '退款金额', 'Order.real_amount' => '实际收款', - 'Order.cost' => '师傅成本', + 'Order.cost' => '师傅分成', 'Order.performance' => '预计利润', 'Order.cancel_reason_id' => '取消原因', 'Order.cancel_detail' => '取消详情', diff --git a/application/admin/lang/zh-cn/orders/dispatch2.php b/application/admin/lang/zh-cn/orders/dispatch2.php index 99d8bfa..f5c0627 100644 --- a/application/admin/lang/zh-cn/orders/dispatch2.php +++ b/application/admin/lang/zh-cn/orders/dispatch2.php @@ -78,7 +78,7 @@ return [ 'Order.discount_amount' => '优惠抵扣', 'Order.refund_amount' => '退款金额', 'Order.real_amount' => '实际收款', - 'Order.cost' => '师傅成本', + 'Order.cost' => '师傅分成', 'Order.performance' => '预计利润', 'Order.cancel_reason_id' => '取消原因', 'Order.cancel_detail' => '取消详情', diff --git a/application/admin/lang/zh-cn/orders/revisitorder.php b/application/admin/lang/zh-cn/orders/revisitorder.php index c112f28..8163587 100644 --- a/application/admin/lang/zh-cn/orders/revisitorder.php +++ b/application/admin/lang/zh-cn/orders/revisitorder.php @@ -48,7 +48,7 @@ return [ 'Discount_amount' => '优惠抵扣', 'Refund_amount' => '总退款额', 'Real_amount' => '实际收款', - 'Cost' => '师傅成本', + 'Cost' => '师傅分成', 'Performance' => '预计利润', 'Cancel_reason_id' => '取消原因', 'Cancel_detail' => '取消详情', diff --git a/application/admin/model/Aftersale.php b/application/admin/model/Aftersale.php index d7cc0c4..e581e46 100644 --- a/application/admin/model/Aftersale.php +++ b/application/admin/model/Aftersale.php @@ -36,7 +36,10 @@ class Aftersale extends Model public function getStatusList() { - return ['1' => __('Status 1'), '2' => __('Status 2'), '3' => __('Status 3'), '-1' => __('Status -1')]; + return ['1' => __('Status 1'), + '2' => __('Status 2'), + //'3' => __('Status 3'), + '-1' => __('Status -1')]; } public function getHandleTypeList() diff --git a/application/admin/model/Order.php b/application/admin/model/Order.php index 234d410..a037e7e 100644 --- a/application/admin/model/Order.php +++ b/application/admin/model/Order.php @@ -45,6 +45,8 @@ class Order extends Model const TAB_REVIEW = 'review'; //回访 + const TAB_VALID = 'valid'; //有效的订单,即除了取消的和草稿 + const STATUS_DRAFT = 0; //草稿 const STATUS_DISPATCHING = 10; //待派单 const STATUS_DISPATCHED = 20; //已派单 @@ -152,6 +154,14 @@ class Order extends Model self::STATUS_CHECKING, self::STATUS_CHECKONCE ], + self::TAB_VALID => [ + self::STATUS_DISPATCHING, + self::STATUS_DISPATCHED, + self::STATUS_CHECKING, + self::STATUS_CHECKONCE, + self::STATUS_AUDITING, + self::STATUS_FINISHED + ], ]; return $tabStatus[$tab] ?? []; } diff --git a/application/admin/view/aftersales/aftersale/add.html b/application/admin/view/aftersales/aftersale/add.html index 13e67f5..7e09040 100644 --- a/application/admin/view/aftersales/aftersale/add.html +++ b/application/admin/view/aftersales/aftersale/add.html @@ -30,13 +30,13 @@