通知
This commit is contained in:
parent
f07ed061a8
commit
433f3bbce4
|
|
@ -255,15 +255,15 @@ class Aftersale extends Backend
|
|||
|
||||
$result = $row->allowField(true)->save($params);
|
||||
|
||||
if($params['handle_type'] == 1 && $params['status'] == 2){ //处理完成,重新计算利润
|
||||
/*if($params['handle_type'] == 1 && $params['status'] == 2){ //处理完成,重新计算利润
|
||||
|
||||
$row->refund_status = 1;
|
||||
$row->refund_status = 3;
|
||||
$row->save();
|
||||
$order = Order::get($row->order_id);
|
||||
//重新计算订单利润
|
||||
$orderLogic = new OrderLogic();
|
||||
$orderLogic->recacle($order,$row);
|
||||
}
|
||||
}*/
|
||||
Db::commit();
|
||||
} catch (ValidateException|PDOException|Exception $e) {
|
||||
Db::rollback();
|
||||
|
|
@ -276,4 +276,29 @@ class Aftersale extends Backend
|
|||
}
|
||||
|
||||
|
||||
public function delete($ids){
|
||||
$row = $this->model->get($ids);
|
||||
if(empty($row)){
|
||||
$this->error('售后不存在');
|
||||
}
|
||||
$order = Order::get($row->order_id);
|
||||
|
||||
if(empty($order)){
|
||||
$this->error('订单不存在');
|
||||
}
|
||||
if($row->handle_type == 1){ //退款
|
||||
if($row->status == 4){
|
||||
$this->error('退款已完成,不可撤销');
|
||||
}
|
||||
}else{
|
||||
if($row->status == 2){
|
||||
$this->error('售后已完成,不可撤销');
|
||||
}
|
||||
}
|
||||
$order->aftersale_id = 0;
|
||||
$order->save();
|
||||
$row->status = -1;
|
||||
$row->save();
|
||||
$this->success();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ class Aftersale2 extends Backend
|
|||
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
|
||||
|
||||
$builder = $this->model
|
||||
->where('refund_status','=',1)
|
||||
->whereIn('fa_aftersale.status',[3,4])
|
||||
->with(['order'])
|
||||
->where($where);
|
||||
|
||||
|
|
@ -224,6 +224,10 @@ class Aftersale2 extends Backend
|
|||
$this->view->assign('row', $row);
|
||||
return $this->view->fetch();
|
||||
}
|
||||
|
||||
if($row->status != 3 || $row->handle_type!= 1){
|
||||
$this->error('售后状态不是待退款,不可编辑');
|
||||
}
|
||||
$params = $this->request->post('row/a');
|
||||
if (empty($params)) {
|
||||
$this->error(__('Parameter %s can not be empty', ''));
|
||||
|
|
@ -254,15 +258,15 @@ class Aftersale2 extends Backend
|
|||
$params['worker_refund_time'] = date('Y-m-d H:i:s');
|
||||
}
|
||||
|
||||
$params['status'] = 4;
|
||||
$params['refund_time'] = date('Y-m-d H:i:s');
|
||||
$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);
|
||||
|
||||
$order = Order::get($row->order_id);
|
||||
//重新计算订单利润
|
||||
$orderLogic = new OrderLogic();
|
||||
$orderLogic->recacle($order,$row);
|
||||
}
|
||||
Db::commit();
|
||||
} catch (ValidateException|PDOException|Exception $e) {
|
||||
Db::rollback();
|
||||
|
|
|
|||
99
application/admin/lang/zh-cn/aftersales/aftersale2.php
Normal file
99
application/admin/lang/zh-cn/aftersales/aftersale2.php
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'Id' => 'ID',
|
||||
'Order_id' => '订单ID',
|
||||
'Status' => '状态',
|
||||
'Status 1' => '待处理',
|
||||
'Set status to 1' => '设为待处理',
|
||||
'Status 2' => '已办结',
|
||||
'Set status to 2' => '设为已办结',
|
||||
'Status 3' => '已退款',
|
||||
'Set status to 3' => '设为已退款',
|
||||
'Status -1' => '已作废',
|
||||
'Set status to -1' => '设为已作废',
|
||||
'Handle_type' => '办结方式',
|
||||
'Handle_type 1' => '退款',
|
||||
'Handle_type 2' => '返修',
|
||||
'Handle_type 3' => '客户无理取闹',
|
||||
'Handle_type 4' => '其它',
|
||||
'From' => '责任方',
|
||||
'From 1' => '师傅',
|
||||
'From 2' => '顾客',
|
||||
'From 3' => '平台',
|
||||
'Refund_amount' => '退款金额',
|
||||
'Company_refund_amount' => '公司退款金额',
|
||||
'Worker_refund_amount' => '师傅退款金额',
|
||||
'Refund_type' => '退款方式',
|
||||
'Refund_type 0' => '无',
|
||||
'Refund_type 1' => '微信支付',
|
||||
'Refund_type 2' => '平台退款',
|
||||
'Worker_refund_entry' => '师傅退款入账',
|
||||
'Worker_refund_entry 0' => '否',
|
||||
'Worker_refund_entry 1' => '是',
|
||||
'Refund_time' => '退款时间',
|
||||
'Customer_appeal' => '客户诉求',
|
||||
'Customer_qrcode' => '客户二维码',
|
||||
'Images' => '退款凭证',
|
||||
'Remark' => '情况说明',
|
||||
'Create_time' => '创建时间',
|
||||
'Update_time' => '编辑时间',
|
||||
'Company_refund_time' => '公司退款时间',
|
||||
'Worker_refund_time' => '师傅退款时间',
|
||||
'Admin_id' => '创建人',
|
||||
'Admin_user' => '创建人',
|
||||
'Handle_admin_id' => '处理人',
|
||||
'Handle_admin_user' => '处理人',
|
||||
'Star' => '评分',
|
||||
'Order.id' => 'ID',
|
||||
'Order.order_no' => '订单编号',
|
||||
'Order.customer' => '客户姓名',
|
||||
'Order.tel' => '客户电话',
|
||||
'Order.status' => '订单状态',
|
||||
'Order.status 10' => '未派单',
|
||||
'Order.status 20' => '已派单',
|
||||
'Order.status 30' => '已接单',
|
||||
'Order.status 40' => '处理中',
|
||||
'Order.status 50' => '已完成',
|
||||
'Order.status -10' => '取消',
|
||||
'Order.status -20' => '作废',
|
||||
'Order.status -30' => '已拒接',
|
||||
'Order.area_id' => '地域',
|
||||
'Order.address' => '详细地址',
|
||||
'Order.work_tel_id' => '工作机',
|
||||
'Order.worker_id' => '师傅ID',
|
||||
'Order.worker_name' => '师傅姓名',
|
||||
'Order.worker_tel' => '师傅手机',
|
||||
'Order.source' => '订单来源',
|
||||
'Order.source_uid' => '来源UID',
|
||||
'Order.service_id' => '服务ID',
|
||||
'Order.service_title' => '服务名称',
|
||||
'Order.detail' => '订单详情',
|
||||
'Order.remark' => '订单备注',
|
||||
'Order.images' => '图片',
|
||||
'Order.collect' => '是否收藏',
|
||||
'Order.collect 0' => '否',
|
||||
'Order.collect 1' => '是',
|
||||
'Order.collect_remark' => '收藏备注',
|
||||
'Order.enter_admin_id' => '录单员ID',
|
||||
'Order.dispatch_admin_id' => '派单员ID',
|
||||
'Order.dispatch_type' => '派单方式',
|
||||
'Order.dispatch_type 10' => '线上手动',
|
||||
'Order.dispatch_type 11' => '线上自动',
|
||||
'Order.dispatch_type 20' => '线下',
|
||||
'Order.total' => '总收款',
|
||||
'Order.cost' => '成本',
|
||||
'Order.performance' => '绩效',
|
||||
'Order.sb_amount' => '垫付',
|
||||
'Order.real_amount' => '实付',
|
||||
'Order.cancel_reason_id' => '取消原因',
|
||||
'Order.cancel_detail' => '取消详情',
|
||||
'Order.abolish_reason_id' => '作废原因',
|
||||
'Order.abolish_detail' => '作废详情',
|
||||
'Order.create_time' => '录单时间',
|
||||
'Order.update_time' => '更新时间',
|
||||
'Order.payment_time' => '付款时间',
|
||||
'Order.finishe_time' => '完成时间',
|
||||
'Order.dispatch_time' => '派单时间',
|
||||
'Order.delete_time' => '删除时间'
|
||||
];
|
||||
|
|
@ -39,7 +39,8 @@ class Aftersale extends Model
|
|||
{
|
||||
return ['1' => __('Status 1'),
|
||||
'2' => __('Status 2'),
|
||||
//'3' => __('Status 3'),
|
||||
'3' => __('待退款'),
|
||||
'4' => __('已退款'),
|
||||
'-1' => __('Status -1')];
|
||||
}
|
||||
|
||||
|
|
@ -116,9 +117,6 @@ class Aftersale extends Model
|
|||
return $list[$value] ?? '';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function order()
|
||||
{
|
||||
return $this->belongsTo('Order', 'order_id', 'id', [], 'LEFT')->setEagerlyType(0);
|
||||
|
|
|
|||
|
|
@ -47,18 +47,8 @@
|
|||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Handle_type')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
|
||||
<select id="c-handle_type" data-rule="required" class="form-control selectpicker" name="row[handle_type]">
|
||||
{foreach name="handleTypeList" item="vo"}
|
||||
<option value="{$key}" {in name="key" value="$row.handle_type"}selected{/in}>{$vo}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{if condition="$row.type eq 1"}
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
|
|
@ -117,12 +107,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Customer_appeal')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea class="form-control" id="c-customer_appeal" name="row[customer_appeal]" data-rule="required" placeholder="客户诉求">{$row.customer_appeal|htmlentities}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Customer_qrcode')}:</label>
|
||||
|
|
@ -153,6 +137,17 @@
|
|||
<ul class="row list-inline faupload-preview" id="p-images"></ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/if}
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Customer_appeal')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea class="form-control" id="c-customer_appeal" name="row[customer_appeal]" data-rule="required" placeholder="客户诉求">{$row.customer_appeal|htmlentities}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
|
|
@ -173,17 +168,39 @@
|
|||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
|
||||
<div class="radio">
|
||||
{foreach name="statusList" item="vo"}
|
||||
<label for="row[status]-{$key}"><input id="row[status]-{$key}" name="row[status]" type="radio" value="{$key}" {in name="key" value="$row.status"}checked{/in} /> {$vo}</label>
|
||||
{/foreach}
|
||||
</div>
|
||||
<label for="row[status]-1">
|
||||
<input id="row[status]-1" data-rule="required" name="row[status]" type="radio" value="-1" {eq name="row.status" value="-1"}checked{/eq} /> 取消
|
||||
</label>
|
||||
|
||||
{if condition='$row.type eq 1'}
|
||||
<label for="row[status]-3">
|
||||
<input id="row[status]-3" data-rule="required" name="row[status]" type="radio" value="3" {eq name="row.status" value="3"}checked{/eq} /> 已确认,待财务处理
|
||||
</label>
|
||||
{else /}
|
||||
<label for="row[status]-2">
|
||||
<input id="row[status]-2" data-rule="required" name="row[status]" type="radio" value="2" {eq name="row.status" value="2"}checked{/eq} /> 办结
|
||||
</label>
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">处理{:__('Handle_type')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
|
||||
<select id="c-handle_type" class="form-control selectpicker" name="row[handle_type]">
|
||||
{foreach name="handleTypeList" item="vo"}
|
||||
<option value="{$key}" {in name="key" value="4"}selected{/in}>{$vo}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{if condition='$row.status eq 1'}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,4 @@
|
|||
<div class="panel panel-default panel-intro">
|
||||
|
||||
<div class="panel-heading">
|
||||
{:build_heading(null,FALSE)}
|
||||
<ul class="nav nav-tabs" data-field="status">
|
||||
<li class="{:$Think.get.status === null ? 'active' : ''}"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a></li>
|
||||
{foreach name="statusList" item="vo"}
|
||||
<li class="{:$Think.get.status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="panel-body">
|
||||
|
|
|
|||
|
|
@ -32,9 +32,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
{field: 'order.order_no', title: __('Order.order_no'), operate: '='},
|
||||
{field: 'order.customer', title: __('Order.customer'), operate: false},
|
||||
{field: 'order.tel', title: __('Order.tel'), operate: '='},
|
||||
{field: 'type', title: __('售后类型'), searchList: {"1":__('退款'),"2":__('返修'),"3":__('其它')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2'),
|
||||
//"3":__('Status 3'),
|
||||
"3":__('Status 3'), "4":__('Status 4'),
|
||||
"-1":__('Status -1')}, formatter: Table.api.formatter.status},
|
||||
|
||||
{field: 'handle_type', title: __('Handle_type'), searchList: {"1":__('Handle_type 1'),"2":__('Handle_type 2'),"3":__('Handle_type 3'),"4":__('Handle_type 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'from', title: __('From'), searchList: {"1":__('From 1'),"2":__('From 2'),"3":__('From 3')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'refund_amount', title: __('Refund_amount'), operate:false},
|
||||
|
|
@ -78,6 +80,21 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
}
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'delete',
|
||||
text:"撤销",
|
||||
title:"撤销",
|
||||
icon: 'fa fa-trash red',
|
||||
//title: __('Edit'),
|
||||
extend: 'data-toggle="tooltip" data-container="body"',
|
||||
classname: 'btn btn-xs btn-danger btn-dialog',
|
||||
visible:function(row){
|
||||
if(row.status === 1 || (row.status === 2 && row.handle_type === 1 && row.return_status === 1)){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
],
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,10 +32,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
{field: 'order.order_no', title: __('Order.order_no'), operate: '='},
|
||||
{field: 'order.customer', title: __('Order.customer'), operate: false},
|
||||
{field: 'order.tel', title: __('Order.tel'), operate: '='},
|
||||
{field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2'),
|
||||
//"3":__('Status 3'),
|
||||
"-1":__('Status -1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'handle_type', title: __('Handle_type'), searchList: {"1":__('Handle_type 1'),"2":__('Handle_type 2'),"3":__('Handle_type 3'),"4":__('Handle_type 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'status', title: __('处理状态'), searchList: {"3":__('待退款'),"4":__('已退款')}, formatter: Table.api.formatter.status},
|
||||
// {field: 'handle_type', title: __('Handle_type'), searchList: {"1":__('Handle_type 1'),"2":__('Handle_type 2'),"3":__('Handle_type 3'),"4":__('Handle_type 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'from', title: __('From'), searchList: {"1":__('From 1'),"2":__('From 2'),"3":__('From 3')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'refund_amount', title: __('Refund_amount'), operate:false},
|
||||
{field: 'company_refund_amount', title: __('Company_refund_amount'), operate:false},
|
||||
|
|
@ -73,7 +71,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
extend: 'data-toggle="tooltip" data-container="body"',
|
||||
classname: 'btn btn-xs btn-success btn-editone',
|
||||
visible:function(row){
|
||||
if(row.status === 1){
|
||||
if(row.status === 3){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user