aftersale

This commit is contained in:
xman 2025-04-18 14:22:46 +08:00
parent d810221943
commit d3d4f6c2e9
4 changed files with 18 additions and 11 deletions

View File

@ -124,7 +124,7 @@ class Aftersale extends Backend
/* if($order->status != Order::STATUS_FINISHED){ /* if($order->status != Order::STATUS_FINISHED){
$this->error('订单不是完成状态,不可创建售后'); $this->error('订单不是完成状态,不可创建售后');
}*/ }*/
if(\app\admin\model\Aftersale::where('order_id',$params['order_id'])->where('status',[1,2,3])->find()){ if(\app\admin\model\Aftersale::where('order_id',$params['order_id'])->find()){
$this->error('订单已存在售后信息,不可重复创建'); $this->error('订单已存在售后信息,不可重复创建');
} }
$params['admin_id'] = $this->auth->id; $params['admin_id'] = $this->auth->id;
@ -133,6 +133,7 @@ class Aftersale extends Backend
$params['worker_id'] = $order->dispatch->worker_id; $params['worker_id'] = $order->dispatch->worker_id;
$params['worker_name'] = $order->dispatch->worker_name; $params['worker_name'] = $order->dispatch->worker_name;
} }
$params['status'] = 1;
$params['refund_amount'] = bcadd($params['company_refund_amount'],$params['worker_refund_amount'],2); $params['refund_amount'] = bcadd($params['company_refund_amount'],$params['worker_refund_amount'],2);
$result = $this->model->allowField(true)->save($params); $result = $this->model->allowField(true)->save($params);
$order->aftersale_id = $this->model->id; $order->aftersale_id = $this->model->id;
@ -140,6 +141,7 @@ class Aftersale extends Backend
Db::commit(); Db::commit();
} catch (ValidateException|PDOException|Exception $e) { } catch (ValidateException|PDOException|Exception $e) {
Db::rollback(); Db::rollback();
throw $e;
$this->error($e->getMessage()); $this->error($e->getMessage());
} }
if ($result === false) { if ($result === false) {
@ -167,14 +169,10 @@ class Aftersale extends Backend
$this->error(__('You have no permission')); $this->error(__('You have no permission'));
} }
if (false === $this->request->isPost()) { if (false === $this->request->isPost()) {
$order = Order::where($row->order_id)->find(); $order = Order::get($row->order_id);
if(empty($order)){ if(empty($order)){
$this->error('订单不存在'); $this->error('订单不存在');
} }
if($order->status != Order::STATUS_FINISHED){
$this->error('订单不是完成状态,不可进行今后');
}
$this->view->assign('order',$order); $this->view->assign('order',$order);
$this->view->assign('row', $row); $this->view->assign('row', $row);
return $this->view->fetch(); return $this->view->fetch();
@ -196,6 +194,14 @@ class Aftersale extends Backend
$params['handle_admin_id'] = $this->auth->id; $params['handle_admin_id'] = $this->auth->id;
$params['handle_admin_user'] = $this->auth->nickname; $params['handle_admin_user'] = $this->auth->nickname;
$params['refund_amount'] = bcadd($params['company_refund_amount'],$params['worker_refund_amount'],2); $params['refund_amount'] = bcadd($params['company_refund_amount'],$params['worker_refund_amount'],2);
if(empty($params['company_refund_time'])){
unset($params['company_refund_time']);
}
if(empty($params['worker_refund_time'])){
unset($params['worker_refund_time']);
}
$result = $row->allowField(true)->save($params); $result = $row->allowField(true)->save($params);
Db::commit(); Db::commit();
} catch (ValidateException|PDOException|Exception $e) { } catch (ValidateException|PDOException|Exception $e) {

View File

@ -25,6 +25,7 @@ return [
'Company_refund_amount' => '公司退款金额', 'Company_refund_amount' => '公司退款金额',
'Worker_refund_amount' => '师傅退款金额', 'Worker_refund_amount' => '师傅退款金额',
'Refund_type' => '退款方式', 'Refund_type' => '退款方式',
'Refund_type 0' => '无',
'Refund_type 1' => '微信支付', 'Refund_type 1' => '微信支付',
'Refund_type 2' => '平台退款', 'Refund_type 2' => '平台退款',
'Worker_refund_entry' => '师傅退款入账', 'Worker_refund_entry' => '师傅退款入账',

View File

@ -51,7 +51,7 @@ class Aftersale extends Model
public function getRefundTypeList() public function getRefundTypeList()
{ {
return ['1' => __('Refund_type 1'), '2' => __('Refund_type 2')]; return ['0' => __('Refund_type 0'),'1' => __('Refund_type 1'), '2' => __('Refund_type 2')];
} }
public function getWorkerRefundEntryList() public function getWorkerRefundEntryList()

View File

@ -38,7 +38,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'refund_amount', title: __('Refund_amount'), operate:false}, {field: 'refund_amount', title: __('Refund_amount'), operate:false},
{field: 'company_refund_amount', title: __('Company_refund_amount'), operate:false}, {field: 'company_refund_amount', title: __('Company_refund_amount'), operate:false},
{field: 'worker_refund_amount', title: __('Worker_refund_amount'), operate:false}, {field: 'worker_refund_amount', title: __('Worker_refund_amount'), operate:false},
{field: 'refund_type', title: __('Refund_type'), searchList: {"1":__('Refund_type 1'),"2":__('Refund_type 2')}, formatter: Table.api.formatter.normal}, {field: 'refund_type', title: __('Refund_type'), searchList: {"0":__('Refund_type 0'),"1":__('Refund_type 1'),"2":__('Refund_type 2')}, formatter: Table.api.formatter.normal},
{field: 'worker_refund_entry', title: __('Worker_refund_entry'), searchList: {"0":__('Worker_refund_entry 0'),"1":__('Worker_refund_entry 1')}, formatter: Table.api.formatter.normal}, {field: 'worker_refund_entry', title: __('Worker_refund_entry'), searchList: {"0":__('Worker_refund_entry 0'),"1":__('Worker_refund_entry 1')}, formatter: Table.api.formatter.normal},
{field: 'company_refund_time', title: __('Company_refund_time'), operate:false, addclass:'datetimerange', autocomplete:false}, {field: 'company_refund_time', title: __('Company_refund_time'), operate:false, addclass:'datetimerange', autocomplete:false},
{field: 'worker_refund_time', title: __('Worker_refund_time'), operate:false, addclass:'datetimerange', autocomplete:false}, {field: 'worker_refund_time', title: __('Worker_refund_time'), operate:false, addclass:'datetimerange', autocomplete:false},
@ -68,12 +68,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
//title: __('Edit'), //title: __('Edit'),
extend: 'data-toggle="tooltip" data-container="body"', extend: 'data-toggle="tooltip" data-container="body"',
classname: 'btn btn-xs btn-success btn-editone', classname: 'btn btn-xs btn-success btn-editone',
/*visible:function(row){ visible:function(row){
if(row.status == 50){ if(row.status === 1){
return true; return true;
} }
return false; return false;
}*/ }
} }
], ],
} }