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

View File

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

View File

@ -51,7 +51,7 @@ class Aftersale extends Model
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()

View File

@ -38,7 +38,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'refund_amount', title: __('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: '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: '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},
@ -68,12 +68,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
//title: __('Edit'),
extend: 'data-toggle="tooltip" data-container="body"',
classname: 'btn btn-xs btn-success btn-editone',
/*visible:function(row){
if(row.status == 50){
visible:function(row){
if(row.status === 1){
return true;
}
return false;
}*/
}
}
],
}