|
|
@@ -92,16 +92,25 @@
|
|
|
<input id="all" type="checkbox" @click="checkAll($event)"/>
|
|
|
</label>
|
|
|
</th>
|
|
|
- <th style="min-width: 120px">工单号</th>
|
|
|
- <th style="min-width: 120px">操作</th>
|
|
|
- <th style="min-width: 200px">创建时间</th>
|
|
|
- <th style="min-width: 120px">工单类型</th>
|
|
|
- <th style="min-width: 200px">当前进度</th>
|
|
|
- <th style="min-width: 120px">客户</th>
|
|
|
- <th style="min-width: 200px">店铺名称</th>
|
|
|
- <th style="min-width: 200px">客户单号</th>
|
|
|
- <th style="min-width: 120px">承运人</th>
|
|
|
+ <th style="min-width: 80px">工单号</th>
|
|
|
+ <th style="min-width: 100px">操作</th>
|
|
|
+ <th style="min-width: 100px">创建时间</th>
|
|
|
+ <th style="min-width: 100px">工单类型</th>
|
|
|
+ <th style="min-width: 160px">当前进度</th>
|
|
|
+ <th style="min-width: 90px">客户</th>
|
|
|
+ <th style="min-width: 160px">店铺名称</th>
|
|
|
+ <th style="min-width: 180px">客户单号</th>
|
|
|
+ <th style="min-width: 100px">承运人</th>
|
|
|
<th style="min-width: 120px">快递单号</th>
|
|
|
+ <th style="min-width: 35px;max-width: 35px" v-text="receivingInfo ? '隐藏' :'展开' ">展开</th>
|
|
|
+ <template v-if="receivingInfo">
|
|
|
+ <th style="max-width: 120px">收货人名称</th>
|
|
|
+ <th style="min-width: 120px">收货人电话</th>
|
|
|
+ <th style="min-width: 120px">省</th>
|
|
|
+ <th style="min-width: 120px">市</th>
|
|
|
+ <th style="min-width: 120px">区</th>
|
|
|
+ <th style="min-width: 120px">收货人地址</th>
|
|
|
+ </template>
|
|
|
<th style="min-width: 120px">当前处理人</th>
|
|
|
<th style="min-width: 150px">情况说明</th>
|
|
|
<th style="min-width: 50px;max-width: 50px" v-text="hideRejectedBills ? '隐藏' :'展开' ">展开</th>
|
|
|
@@ -284,6 +293,7 @@
|
|
|
</td>
|
|
|
<td>
|
|
|
<span v-text="item['last_handler_name'] + ':' + item.process_progress"></span>
|
|
|
+ <br/>
|
|
|
<span class="badge badge-warning" v-if="'快递异常' === item.issue_type_name"
|
|
|
v-text="item.type"></span>
|
|
|
</td>
|
|
|
@@ -296,6 +306,31 @@
|
|
|
v-for="logistic_number in item.logistic_numbers"
|
|
|
v-text="logistic_number"></span>
|
|
|
</td>
|
|
|
+ <td class="p-0 m-0" style="width:30px;" v-if="i===0"
|
|
|
+ :rowspan="workOrders.length">
|
|
|
+ <span class="btn"
|
|
|
+ id="rejected_bill_btn"
|
|
|
+ style="max-width: 50px"
|
|
|
+ :class="receivingInfo ? 'btn-outline-info':'btn-outline-secondary'"
|
|
|
+ @click="toggleReceivingInfo()" :style="{'min-height':toggleBtnHeight+'px'}"
|
|
|
+ v-text="receivingInfo ? '隐藏收货信息' : '展开收货信息'">
|
|
|
+ </span>
|
|
|
+ </td>
|
|
|
+ <template v-if="receivingInfo">
|
|
|
+ <td class="text-muted text-wrap text-letter"
|
|
|
+ >
|
|
|
+ <div class="text-overflow-warp-200 warp-min-200" v-text="item.consignee_name">
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td class="text-muted text-wrap text-letter">
|
|
|
+ <div class="text-overflow-warp-200 warp-min-200"
|
|
|
+ v-text="item.consignee_phone"></div>
|
|
|
+ </td>
|
|
|
+ <td v-text="item.province"></td>
|
|
|
+ <td v-text="item.city"></td>
|
|
|
+ <td v-text="item.district"></td>
|
|
|
+ <td v-text="item.address"></td>
|
|
|
+ </template>
|
|
|
<td v-text="item.status"></td>
|
|
|
<td v-text="item.result_explain ? item.result_explain: item.remark"></td>
|
|
|
<td class="p-0 m-0 w-50" style="width:30px;" v-if="i===0"
|
|
|
@@ -405,6 +440,7 @@
|
|
|
<select class="form-control form-control-sm"
|
|
|
v-model="item.logistic_express_remission"
|
|
|
@change="changeWorkOrderInfo(item,'logistic_express_remission',$event)">
|
|
|
+ <option value></option>
|
|
|
<option v-for="type in workOrderRemissionType" :value="type.name"
|
|
|
v-text="type.name"></option>
|
|
|
</select>
|
|
|
@@ -419,6 +455,7 @@
|
|
|
class="form-control form-control-sm"
|
|
|
v-model="item.bao_shi_express_remission"
|
|
|
@change="changeWorkOrderInfo(item,'bao_shi_express_remission',$event)">
|
|
|
+ <option value></option>
|
|
|
<option v-for="type in workOrderRemissionType" :value="type.name"
|
|
|
v-text="type.name"></option>
|
|
|
</select>
|
|
|
@@ -773,6 +810,7 @@
|
|
|
],
|
|
|
commodityEqualsMap: [],
|
|
|
hideRejectedBills: false,
|
|
|
+ receivingInfo: false,
|
|
|
tableHeader: null,
|
|
|
toggleBtnHeight: 0,
|
|
|
batchOthers: {
|
|
|
@@ -807,163 +845,430 @@
|
|
|
name: '92',
|
|
|
value: '近三月'
|
|
|
}, {name: '183', value: '近半年'}, {name: '366', value: '近一年'}, {name: '0', value: '不限'},];
|
|
|
- let data = [[
|
|
|
- {name: 'created_at_start', type: 'time', tip: ['工单创建开始日期', '时间']},
|
|
|
- {name: 'created_at_end', type: 'time', tip: ['工单创建结束日期', '时间']},
|
|
|
- {
|
|
|
- name: 'logistic',
|
|
|
- type: 'select_multiple_select',
|
|
|
- data: this.logistics,
|
|
|
- tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的承运商'],
|
|
|
- placeholder: ['承运商', '定位或多选承运商']
|
|
|
- },
|
|
|
- @can('订单管理-订单问题件生成')
|
|
|
- {
|
|
|
- name: 'owner',
|
|
|
- type: 'select_multiple_select',
|
|
|
- data: this.owners,
|
|
|
- tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的商家'],
|
|
|
- placeholder: ['商家', '定位或多选商家']
|
|
|
- },
|
|
|
- @endcan
|
|
|
- {
|
|
|
- name: 'order_issue_type',
|
|
|
- type: 'select_multiple_select',
|
|
|
- tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的问题件类型'],
|
|
|
- placeholder: ['问题件类型', '定位或多选问题件类型'],
|
|
|
- data: this.orderIssueTypes
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'user_work_group_id', type: 'select_multiple_select',
|
|
|
- tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的仓库责任方'],
|
|
|
- placeholder: ['仓库责任方', '定位或多选仓库责任方'], data: this.userWorkgroup
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'status', type: 'select_multiple_select',
|
|
|
- tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的工单当前处理人'],
|
|
|
- placeholder: ['工单当前处理人', '定位或多选工单当前处理人'],
|
|
|
- data: [{name: '宝时处理', value: '宝时处理'},
|
|
|
- {name: '货主处理', value: '货主处理'},
|
|
|
- {name: '承运商处理', value: '承运商处理'},]
|
|
|
- },
|
|
|
- ], [
|
|
|
- {name: 'review_at_start', type: 'time', tip: ['终审开始日期', '时间']},
|
|
|
- {name: 'review_at_end', type: 'time', tip: ['终审结束日期', '时间']},
|
|
|
- {
|
|
|
- name: 'logistic_number', type: 'input', placeholder: '快递单号'
|
|
|
- },
|
|
|
- {name: 'client_code', type: 'input', placeholder: '客户订单号'},
|
|
|
- {name: 'creator', type: 'input', placeholder: '创建人'},
|
|
|
- {
|
|
|
- name: 'process_progress', type: 'select', placeholder: '当前进度',
|
|
|
- data: [
|
|
|
- {name: '商家创建', value: '商家创建'},
|
|
|
- {name: '宝时创建', value: '宝时创建'},
|
|
|
- {name: '承运商处理中', value: '承运商处理中'},
|
|
|
- {name: '成功已退回,不赔偿', value: '成功已退回,不赔偿'},
|
|
|
- {name: '拦截在途丢件,赔偿', value: '拦截在途丢件,赔偿'},
|
|
|
- {name: '无法拦截', value: '无法拦截'},
|
|
|
- {name: '已签收', value: '已签收'},
|
|
|
- {name: '已退回', value: '已退回'},
|
|
|
- {name: '更改成功', value: '更改成功'},
|
|
|
- {name: '更改失败', value: '更改失败'},
|
|
|
- {name: '丢件赔偿', value: '丢件赔偿'},
|
|
|
- {name: '签收成功', value: '签收成功'},
|
|
|
- {name: '已补发', value: '已补发'},
|
|
|
- {name: '已入库', value: '已入库'},
|
|
|
- {name: '全部赔偿', value: '全部赔偿'},
|
|
|
- {name: '部分赔偿', value: '部分赔偿'},
|
|
|
- {name: '不赔偿', value: '不赔偿'},
|
|
|
- {name: '拦截失败', value: '拦截失败'},
|
|
|
- {name: '拦截退回中', value: '拦截退回中'},
|
|
|
- {name: '已处理', value: '已处理'},
|
|
|
- {name: '无法更改', value: '无法更改'},
|
|
|
- {name: '已处理', value: '已处理'},
|
|
|
- {name: '已拦截', value: '已拦截'},
|
|
|
- {name: '核实全部破损', value: '核实全部破损'},
|
|
|
- {name: '核实部分破损', value: '核实部分破损'},
|
|
|
- {name: '核实未破损', value: '核实未破损'},
|
|
|
- {name: '正常派送', value: '正常派送'},
|
|
|
- {name: '无法取消拦截', value: '无法取消拦截'},
|
|
|
- {name: '宝时创建', value: '宝时创建'},
|
|
|
- {name: '待终审', value: '待终审'},
|
|
|
- {name: '终审完成', value: '终审完成'},
|
|
|
- ]
|
|
|
- },
|
|
|
- {name: 'is_end', type: 'checkbox', tip: '是否已拦截', data: [{name: 'ture', value: '已完成'}]},
|
|
|
- ], [
|
|
|
- {name: 'logistic_indemnity_money', type: 'input', placeholder: '承运商赔偿金额'},
|
|
|
- {
|
|
|
- name: 'logistic_express_remission',
|
|
|
- type: 'select',
|
|
|
- placeholder: '承运商快递减免',
|
|
|
- data: this.workOrderRemissionType
|
|
|
- },
|
|
|
- {name: 'bao_shi_indemnity_money', type: 'input', placeholder: '宝时赔偿金额'},
|
|
|
- {
|
|
|
- name: 'bao_shi_express_remission',
|
|
|
- type: 'select',
|
|
|
- placeholder: '宝时快递减免',
|
|
|
- data: this.workOrderRemissionType
|
|
|
- },
|
|
|
+ let data = [];
|
|
|
+ @if(\Illuminate\Support\Facades\Gate::check('订单管理-工单处理-宝时编辑'))
|
|
|
+ data = [
|
|
|
+ [
|
|
|
+ // 客户
|
|
|
+ {
|
|
|
+ name: 'owner',
|
|
|
+ type: 'select_multiple_select',
|
|
|
+ data: this.owners,
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的商家'],
|
|
|
+ placeholder: ['商家', '定位或多选商家']
|
|
|
+ },
|
|
|
+ // 创建时间
|
|
|
+ {name: 'created_at_start', type: 'time', tip: ['工单创建开始日期', '时间']},
|
|
|
+ {name: 'created_at_end', type: 'time', tip: ['工单创建结束日期', '时间']},
|
|
|
+ // 问题件类型
|
|
|
+ {
|
|
|
+ name: 'order_issue_type',
|
|
|
+ type: 'select_multiple_select',
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的问题件类型'],
|
|
|
+ placeholder: ['问题件类型', '定位或多选问题件类型'],
|
|
|
+ data: this.orderIssueTypes
|
|
|
+ },
|
|
|
+ // 当前进度
|
|
|
+ {
|
|
|
+ name: 'process_progress', type: 'select', placeholder: '当前进度',
|
|
|
+ data: [
|
|
|
+ {name: '商家创建', value: '商家创建'},
|
|
|
+ {name: '宝时创建', value: '宝时创建'},
|
|
|
+ {name: '承运商处理中', value: '承运商处理中'},
|
|
|
+ {name: '成功已退回,不赔偿', value: '成功已退回,不赔偿'},
|
|
|
+ {name: '拦截在途丢件,赔偿', value: '拦截在途丢件,赔偿'},
|
|
|
+ {name: '无法拦截', value: '无法拦截'},
|
|
|
+ {name: '已签收', value: '已签收'},
|
|
|
+ {name: '已退回', value: '已退回'},
|
|
|
+ {name: '更改成功', value: '更改成功'},
|
|
|
+ {name: '更改失败', value: '更改失败'},
|
|
|
+ {name: '丢件赔偿', value: '丢件赔偿'},
|
|
|
+ {name: '签收成功', value: '签收成功'},
|
|
|
+ {name: '已补发', value: '已补发'},
|
|
|
+ {name: '已入库', value: '已入库'},
|
|
|
+ {name: '全部赔偿', value: '全部赔偿'},
|
|
|
+ {name: '部分赔偿', value: '部分赔偿'},
|
|
|
+ {name: '不赔偿', value: '不赔偿'},
|
|
|
+ {name: '拦截失败', value: '拦截失败'},
|
|
|
+ {name: '拦截退回中', value: '拦截退回中'},
|
|
|
+ {name: '已处理', value: '已处理'},
|
|
|
+ {name: '无法更改', value: '无法更改'},
|
|
|
+ {name: '已处理', value: '已处理'},
|
|
|
+ {name: '已拦截', value: '已拦截'},
|
|
|
+ {name: '核实全部破损', value: '核实全部破损'},
|
|
|
+ {name: '核实部分破损', value: '核实部分破损'},
|
|
|
+ {name: '核实未破损', value: '核实未破损'},
|
|
|
+ {name: '正常派送', value: '正常派送'},
|
|
|
+ {name: '无法取消拦截', value: '无法取消拦截'},
|
|
|
+ {name: '宝时创建', value: '宝时创建'},
|
|
|
+ {name: '待终审', value: '待终审'},
|
|
|
+ {name: '终审完成', value: '终审完成'},
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ // 商铺
|
|
|
+ {name: 'shop_name', type: 'input', placeholder: '商铺名'},
|
|
|
+ // 客户订单号
|
|
|
+ {name: 'client_code', type: 'input', placeholder: '客户订单号'},
|
|
|
+ //
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ // 承运人
|
|
|
+ {
|
|
|
+ name: 'logistic',
|
|
|
+ type: 'select_multiple_select',
|
|
|
+ data: this.logistics,
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的承运商'],
|
|
|
+ placeholder: ['承运商', '定位或多选承运商']
|
|
|
+ },
|
|
|
+ // 快递单号
|
|
|
+ {
|
|
|
+ name: 'logistic_number', type: 'input', placeholder: '快递单号'
|
|
|
+ },
|
|
|
+ // 当前处理人
|
|
|
+ {
|
|
|
+ name: 'status', type: 'select_multiple_select',
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的工单当前处理人'],
|
|
|
+ placeholder: ['工单当前处理人', '定位或多选工单当前处理人'],
|
|
|
+ data: [{name: '宝时处理', value: '宝时处理'},
|
|
|
+ {name: '货主处理', value: '货主处理'},
|
|
|
+ {name: '承运商处理', value: '承运商处理'},]
|
|
|
+ },
|
|
|
+ // 创建人
|
|
|
+ {name: 'creator', type: 'input', placeholder: '创建人'},
|
|
|
+ // 标记
|
|
|
+ {
|
|
|
+ name: 'tags', type: 'select', placeholder: '`新`,`滞`,`无`标签筛选',
|
|
|
+ data: [
|
|
|
+ {name: 3, value: '新'},
|
|
|
+ {name: 2, value: '滞'},
|
|
|
+ {name: 1, value: '无'},
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ // 工单处理日志
|
|
|
+ {name: 'work_order_process_log', type: 'input', placeholder: '工单处理日志'},
|
|
|
+ // 问题件处理日志
|
|
|
+ {name: 'order_issue_log', type: 'input', placeholder: '问题件处理日志'},
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ // 承运商赔偿金额
|
|
|
+ {name: 'logistic_indemnity_money', type: 'input', placeholder: '承运商赔偿金额'},
|
|
|
+ // 承运商快递减免
|
|
|
+ {
|
|
|
+ name: 'logistic_express_remission',
|
|
|
+ type: 'select',
|
|
|
+ placeholder: '承运商快递减免',
|
|
|
+ data: this.workOrderRemissionType
|
|
|
+ },
|
|
|
+ // 宝时赔偿金额
|
|
|
+ {name: 'bao_shi_indemnity_money', type: 'input', placeholder: '宝时赔偿金额'},
|
|
|
+ // 宝时快递减免
|
|
|
+ {
|
|
|
+ name: 'bao_shi_express_remission',
|
|
|
+ type: 'select',
|
|
|
+ placeholder: '宝时快递减免',
|
|
|
+ data: this.workOrderRemissionType
|
|
|
+ },
|
|
|
+ // 仓库责任方
|
|
|
+ {
|
|
|
+ name: 'user_work_group_id', type: 'select_multiple_select',
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的仓库责任方'],
|
|
|
+ placeholder: ['仓库责任方', '定位或多选仓库责任方'], data: this.userWorkgroup
|
|
|
+ },
|
|
|
+ // 项目责任方
|
|
|
+ {name: 'user_owner_group_id', type: 'select', placeholder: '项目责任方', data: this.userOwnerGroup},
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ // 退回标记
|
|
|
+ {
|
|
|
+ name: 'custom_rejected_status', type: 'select', placeholder: '退回标记',
|
|
|
+ data: [
|
|
|
+ {name: '无', value: '无'},
|
|
|
+ {name: '待退回', value: '待退回'},
|
|
|
+ {name: '退回中', value: '退回中'},
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ // 退回状态
|
|
|
+ {name: 'rejecting_status', type: 'select', placeholder: '退回状态', data: this.rejectingStatus},
|
|
|
+ // 是否问题件
|
|
|
+ {
|
|
|
+ name: 'is_issue_order',
|
|
|
+ type: 'select',
|
|
|
+ placeholder: '问题件',
|
|
|
+ data: [{name: 'true', value: '有'}, {name: 'false', value: '无'}]
|
|
|
+ },
|
|
|
+ // 处理结果
|
|
|
+ {
|
|
|
+ name: ['log_content', 'addtime'],
|
|
|
+ type: 'input_select',
|
|
|
+ tip: ['处理结果:前或后加 百分号为单个模糊搜索,否则为多条件精确搜索', '查询范围越短,搜索速度越快'],
|
|
|
+ placeholder: ['处理结果', ''],
|
|
|
+ data: log_content_range,
|
|
|
+ rules: [{
|
|
|
+ son: {
|
|
|
+ addtime: {
|
|
|
+ default: '31',
|
|
|
+ required_without_all_if: ['created_at_start', 'created_at_end']
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }],
|
|
|
+ },
|
|
|
+ // 已完成
|
|
|
+ {name: 'is_end', type: 'checkbox', tip: '是否已拦截', data: [{name: 'ture', value: '已完成'}]},
|
|
|
+ // 结束时间
|
|
|
+ {name: 'review_at_start', type: 'time', tip: ['终审开始日期', '时间']},
|
|
|
+ {name: 'review_at_end', type: 'time', tip: ['终审结束日期', '时间']},
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ // // 问题件
|
|
|
+ // {
|
|
|
+ // name: 'is_issue_order',
|
|
|
+ // type: 'select',
|
|
|
+ // placeholder: '问题件',
|
|
|
+ // data: [{name: 'true', value: '有'}, {name: 'false', value: '无'}]
|
|
|
+ // },
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+ @elseif(\Illuminate\Support\Facades\Gate::check('订单管理-工单处理-货主编辑'))
|
|
|
+ data = [
|
|
|
+ [
|
|
|
+ // 创建时间
|
|
|
+ {name: 'created_at_start', type: 'time', tip: ['工单创建开始日期', '时间']},
|
|
|
+ {name: 'created_at_end', type: 'time', tip: ['工单创建结束日期', '时间']},
|
|
|
+ //
|
|
|
+ {
|
|
|
+ name: 'order_issue_type',
|
|
|
+ type: 'select_multiple_select',
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的问题件类型'],
|
|
|
+ placeholder: ['问题件类型', '定位或多选问题件类型'],
|
|
|
+ data: this.orderIssueTypes
|
|
|
+ },
|
|
|
+ // 当前进度
|
|
|
+ {
|
|
|
+ name: 'process_progress', type: 'select', placeholder: '当前进度',
|
|
|
+ data: [
|
|
|
+ {name: '商家创建', value: '商家创建'},
|
|
|
+ {name: '宝时创建', value: '宝时创建'},
|
|
|
+ {name: '承运商处理中', value: '承运商处理中'},
|
|
|
+ {name: '成功已退回,不赔偿', value: '成功已退回,不赔偿'},
|
|
|
+ {name: '拦截在途丢件,赔偿', value: '拦截在途丢件,赔偿'},
|
|
|
+ {name: '无法拦截', value: '无法拦截'},
|
|
|
+ {name: '已签收', value: '已签收'},
|
|
|
+ {name: '已退回', value: '已退回'},
|
|
|
+ {name: '更改成功', value: '更改成功'},
|
|
|
+ {name: '更改失败', value: '更改失败'},
|
|
|
+ {name: '丢件赔偿', value: '丢件赔偿'},
|
|
|
+ {name: '签收成功', value: '签收成功'},
|
|
|
+ {name: '已补发', value: '已补发'},
|
|
|
+ {name: '已入库', value: '已入库'},
|
|
|
+ {name: '全部赔偿', value: '全部赔偿'},
|
|
|
+ {name: '部分赔偿', value: '部分赔偿'},
|
|
|
+ {name: '不赔偿', value: '不赔偿'},
|
|
|
+ {name: '拦截失败', value: '拦截失败'},
|
|
|
+ {name: '拦截退回中', value: '拦截退回中'},
|
|
|
+ {name: '已处理', value: '已处理'},
|
|
|
+ {name: '无法更改', value: '无法更改'},
|
|
|
+ {name: '已处理', value: '已处理'},
|
|
|
+ {name: '已拦截', value: '已拦截'},
|
|
|
+ {name: '核实全部破损', value: '核实全部破损'},
|
|
|
+ {name: '核实部分破损', value: '核实部分破损'},
|
|
|
+ {name: '核实未破损', value: '核实未破损'},
|
|
|
+ {name: '正常派送', value: '正常派送'},
|
|
|
+ {name: '无法取消拦截', value: '无法取消拦截'},
|
|
|
+ {name: '宝时创建', value: '宝时创建'},
|
|
|
+ {name: '待终审', value: '待终审'},
|
|
|
+ {name: '终审完成', value: '终审完成'},
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ // 商铺
|
|
|
+ {name: 'shop_name', type: 'input', placeholder: '商铺名'},
|
|
|
+ // 客户订单号
|
|
|
+ {name: 'client_code', type: 'input', placeholder: '客户订单号'},
|
|
|
|
|
|
- {name: 'user_owner_group_id', type: 'select', placeholder: '项目责任方', data: this.userOwnerGroup},
|
|
|
- {name: 'rejecting_status', type: 'select', placeholder: '退回状态', data: this.rejectingStatus},
|
|
|
- {
|
|
|
- name: 'is_issue_order',
|
|
|
- type: 'select',
|
|
|
- placeholder: '问题件',
|
|
|
- data: [{name: 'true', value: '有'}, {name: 'false', value: '无'}]
|
|
|
- },
|
|
|
- ], [
|
|
|
- {name: 'order_issue_log', type: 'input', placeholder: '问题件处理日志'},
|
|
|
- {
|
|
|
- name: ['log_content', 'addtime'],
|
|
|
- type: 'input_select',
|
|
|
- tip: ['处理结果:前或后加 百分号为单个模糊搜索,否则为多条件精确搜索', '查询范围越短,搜索速度越快'],
|
|
|
- placeholder: ['处理结果', ''],
|
|
|
- data: log_content_range,
|
|
|
- rules: [{
|
|
|
- son: {
|
|
|
- addtime: {
|
|
|
- default: '31',
|
|
|
- required_without_all_if: ['created_at_start', 'created_at_end']
|
|
|
+ ], [
|
|
|
+ // 承运商
|
|
|
+ {
|
|
|
+ name: 'logistic',
|
|
|
+ type: 'select_multiple_select',
|
|
|
+ data: this.logistics,
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的承运商'],
|
|
|
+ placeholder: ['承运商', '定位或多选承运商']
|
|
|
+ },
|
|
|
+ // 快递单号
|
|
|
+ {name: 'logistic_number', type: 'input', placeholder: '快递单号'},
|
|
|
+ // 当前处理人
|
|
|
+ {
|
|
|
+ name: 'status', type: 'select_multiple_select',
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的工单当前处理人'],
|
|
|
+ placeholder: ['工单当前处理人', '定位或多选工单当前处理人'],
|
|
|
+ data: [{name: '宝时处理', value: '宝时处理'},
|
|
|
+ {name: '货主处理', value: '货主处理'},
|
|
|
+ {name: '承运商处理', value: '承运商处理'},]
|
|
|
+ },
|
|
|
+ // 创建人
|
|
|
+ {name: 'creator', type: 'input', placeholder: '创建人'},
|
|
|
+ {name: 'work_order_process_log', type: 'input', placeholder: '工单处理日志'},
|
|
|
+ ],
|
|
|
+ ];
|
|
|
+ @elseif(\Illuminate\Support\Facades\Gate::check('订单管理-工单处理-承运商编辑'))
|
|
|
+ data = [
|
|
|
+ [
|
|
|
+ {name: 'created_at_start', type: 'time', tip: ['工单创建开始日期', '时间']},
|
|
|
+ {name: 'created_at_end', type: 'time', tip: ['工单创建结束日期', '时间']},
|
|
|
+ {
|
|
|
+ name: 'logistic',
|
|
|
+ type: 'select_multiple_select',
|
|
|
+ data: this.logistics,
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的承运商'],
|
|
|
+ placeholder: ['承运商', '定位或多选承运商']
|
|
|
+ },
|
|
|
+ @can('订单管理-订单问题件生成')
|
|
|
+ {
|
|
|
+ name: 'owner',
|
|
|
+ type: 'select_multiple_select',
|
|
|
+ data: this.owners,
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的商家'],
|
|
|
+ placeholder: ['商家', '定位或多选商家']
|
|
|
+ },
|
|
|
+ @endcan
|
|
|
+ {
|
|
|
+ name: 'order_issue_type',
|
|
|
+ type: 'select_multiple_select',
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的问题件类型'],
|
|
|
+ placeholder: ['问题件类型', '定位或多选问题件类型'],
|
|
|
+ data: this.orderIssueTypes
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'user_work_group_id', type: 'select_multiple_select',
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的仓库责任方'],
|
|
|
+ placeholder: ['仓库责任方', '定位或多选仓库责任方'], data: this.userWorkgroup
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'status', type: 'select_multiple_select',
|
|
|
+ tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的工单当前处理人'],
|
|
|
+ placeholder: ['工单当前处理人', '定位或多选工单当前处理人'],
|
|
|
+ data: [{name: '宝时处理', value: '宝时处理'},
|
|
|
+ {name: '货主处理', value: '货主处理'},
|
|
|
+ {name: '承运商处理', value: '承运商处理'},]
|
|
|
+ },
|
|
|
+ ], [
|
|
|
+ {name: 'review_at_start', type: 'time', tip: ['终审开始日期', '时间']},
|
|
|
+ {name: 'review_at_end', type: 'time', tip: ['终审结束日期', '时间']},
|
|
|
+ {
|
|
|
+ name: 'logistic_number', type: 'input', placeholder: '快递单号'
|
|
|
+ },
|
|
|
+ {name: 'client_code', type: 'input', placeholder: '客户订单号'},
|
|
|
+ {name: 'creator', type: 'input', placeholder: '创建人'},
|
|
|
+ {
|
|
|
+ name: 'process_progress', type: 'select', placeholder: '当前进度',
|
|
|
+ data: [
|
|
|
+ {name: '商家创建', value: '商家创建'},
|
|
|
+ {name: '宝时创建', value: '宝时创建'},
|
|
|
+ {name: '承运商处理中', value: '承运商处理中'},
|
|
|
+ {name: '成功已退回,不赔偿', value: '成功已退回,不赔偿'},
|
|
|
+ {name: '拦截在途丢件,赔偿', value: '拦截在途丢件,赔偿'},
|
|
|
+ {name: '无法拦截', value: '无法拦截'},
|
|
|
+ {name: '已签收', value: '已签收'},
|
|
|
+ {name: '已退回', value: '已退回'},
|
|
|
+ {name: '更改成功', value: '更改成功'},
|
|
|
+ {name: '更改失败', value: '更改失败'},
|
|
|
+ {name: '丢件赔偿', value: '丢件赔偿'},
|
|
|
+ {name: '签收成功', value: '签收成功'},
|
|
|
+ {name: '已补发', value: '已补发'},
|
|
|
+ {name: '已入库', value: '已入库'},
|
|
|
+ {name: '全部赔偿', value: '全部赔偿'},
|
|
|
+ {name: '部分赔偿', value: '部分赔偿'},
|
|
|
+ {name: '不赔偿', value: '不赔偿'},
|
|
|
+ {name: '拦截失败', value: '拦截失败'},
|
|
|
+ {name: '拦截退回中', value: '拦截退回中'},
|
|
|
+ {name: '已处理', value: '已处理'},
|
|
|
+ {name: '无法更改', value: '无法更改'},
|
|
|
+ {name: '已处理', value: '已处理'},
|
|
|
+ {name: '已拦截', value: '已拦截'},
|
|
|
+ {name: '核实全部破损', value: '核实全部破损'},
|
|
|
+ {name: '核实部分破损', value: '核实部分破损'},
|
|
|
+ {name: '核实未破损', value: '核实未破损'},
|
|
|
+ {name: '正常派送', value: '正常派送'},
|
|
|
+ {name: '无法取消拦截', value: '无法取消拦截'},
|
|
|
+ {name: '宝时创建', value: '宝时创建'},
|
|
|
+ {name: '待终审', value: '待终审'},
|
|
|
+ {name: '终审完成', value: '终审完成'},
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {name: 'is_end', type: 'checkbox', tip: '是否已拦截', data: [{name: 'ture', value: '已完成'}]},
|
|
|
+ ], [
|
|
|
+ {name: 'logistic_indemnity_money', type: 'input', placeholder: '承运商赔偿金额'},
|
|
|
+ {
|
|
|
+ name: 'logistic_express_remission',
|
|
|
+ type: 'select',
|
|
|
+ placeholder: '承运商快递减免',
|
|
|
+ data: this.workOrderRemissionType
|
|
|
+ },
|
|
|
+ {name: 'bao_shi_indemnity_money', type: 'input', placeholder: '宝时赔偿金额'},
|
|
|
+ {
|
|
|
+ name: 'bao_shi_express_remission',
|
|
|
+ type: 'select',
|
|
|
+ placeholder: '宝时快递减免',
|
|
|
+ data: this.workOrderRemissionType
|
|
|
+ },
|
|
|
+
|
|
|
+ {name: 'user_owner_group_id', type: 'select', placeholder: '项目责任方', data: this.userOwnerGroup},
|
|
|
+ {name: 'rejecting_status', type: 'select', placeholder: '退回状态', data: this.rejectingStatus},
|
|
|
+ {
|
|
|
+ name: 'is_issue_order',
|
|
|
+ type: 'select',
|
|
|
+ placeholder: '问题件',
|
|
|
+ data: [{name: 'true', value: '有'}, {name: 'false', value: '无'}]
|
|
|
+ },
|
|
|
+ ], [
|
|
|
+ {name: 'order_issue_log', type: 'input', placeholder: '问题件处理日志'},
|
|
|
+ {
|
|
|
+ name: ['log_content', 'addtime'],
|
|
|
+ type: 'input_select',
|
|
|
+ tip: ['处理结果:前或后加 百分号为单个模糊搜索,否则为多条件精确搜索', '查询范围越短,搜索速度越快'],
|
|
|
+ placeholder: ['处理结果', ''],
|
|
|
+ data: log_content_range,
|
|
|
+ rules: [{
|
|
|
+ son: {
|
|
|
+ addtime: {
|
|
|
+ default: '31',
|
|
|
+ required_without_all_if: ['created_at_start', 'created_at_end']
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'tags', type: 'select', placeholder: '`新`,`滞`,`无`标签筛选',
|
|
|
- data: [
|
|
|
- {name: 3, value: '新'},
|
|
|
- {name: 2, value: '滞'},
|
|
|
- {name: 1, value: '无'},
|
|
|
- ],
|
|
|
- },
|
|
|
- {name: 'shop_name', type: 'input', placeholder: '商铺名'},
|
|
|
- {name: 'work_order_process_log', type: 'input', placeholder: '工单处理日志'},
|
|
|
- {
|
|
|
- name: "rejectingStatus", type: 'select', placeholder: '退单状态',
|
|
|
- data: [
|
|
|
- {name: '无', value: '无'},
|
|
|
- {name: '未退回', value: '未退回'},
|
|
|
- {name: '全部退回', value: '全部退回'},
|
|
|
- {name: '部分退回', value: '部分退回'},
|
|
|
- {name: '差异退回', value: '差异退回'},
|
|
|
- {name: '超量退回', value: '超量退回'},
|
|
|
- ]
|
|
|
- }
|
|
|
- ], [
|
|
|
- {
|
|
|
- name: 'custom_rejected_status', type: 'select', placeholder: '退回标记',
|
|
|
- data: [
|
|
|
- {name: '无', value: '无'},
|
|
|
- {name: '待退回', value: '待退回'},
|
|
|
- {name: '退回中', value: '退回中'},
|
|
|
- ]
|
|
|
- },
|
|
|
- ]];
|
|
|
- this.form = new query({
|
|
|
+ }],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'tags', type: 'select', placeholder: '`新`,`滞`,`无`标签筛选',
|
|
|
+ data: [
|
|
|
+ {name: 3, value: '新'},
|
|
|
+ {name: 2, value: '滞'},
|
|
|
+ {name: 1, value: '无'},
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {name: 'shop_name', type: 'input', placeholder: '商铺名'},
|
|
|
+ {name: 'work_order_process_log', type: 'input', placeholder: '工单处理日志'},
|
|
|
+ {
|
|
|
+ name: "rejectingStatus", type: 'select', placeholder: '退单状态',
|
|
|
+ data: [
|
|
|
+ {name: '无', value: '无'},
|
|
|
+ {name: '未退回', value: '未退回'},
|
|
|
+ {name: '全部退回', value: '全部退回'},
|
|
|
+ {name: '部分退回', value: '部分退回'},
|
|
|
+ {name: '差异退回', value: '差异退回'},
|
|
|
+ {name: '超量退回', value: '超量退回'},
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ], [
|
|
|
+ {
|
|
|
+ name: 'custom_rejected_status', type: 'select', placeholder: '退回标记',
|
|
|
+ data: [
|
|
|
+ {name: '无', value: '无'},
|
|
|
+ {name: '待退回', value: '待退回'},
|
|
|
+ {name: '退回中', value: '退回中'},
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ ]];
|
|
|
+ @endif
|
|
|
+ this.form = new query({
|
|
|
el: '#form_div',
|
|
|
condition: data,
|
|
|
appendDom: "btn",
|
|
|
@@ -1077,6 +1382,12 @@
|
|
|
workOrder.owner_name = workOrder.owner ? workOrder.owner.name : '';
|
|
|
workOrder.logisitc_name = workOrder.logistic ? workOrder.logistic.name : '';
|
|
|
workOrder.order_client_code = workOrder.order ? workOrder.order.client_code : '';
|
|
|
+ workOrder.consignee_name = workOrder.order ? workOrder.order.consignee_name : '';
|
|
|
+ workOrder.consignee_phone = workOrder.order ? workOrder.order.consignee_phone : '';
|
|
|
+ workOrder.province = workOrder.order ? workOrder.order.province : '';
|
|
|
+ workOrder.city = workOrder.order ? workOrder.order.city : '';
|
|
|
+ workOrder.district = workOrder.order ? workOrder.order.district : '';
|
|
|
+ workOrder.address = workOrder.order ? workOrder.order.address : '';
|
|
|
workOrder.order_commodities = this.groupOrderPackageCommodities(workOrder);
|
|
|
workOrder.is_issue_order = workOrder.order_issue !== null;
|
|
|
if (workOrder.order_issue !== null) workOrder.order_issue.log_is_show = 'order_issue' in workOrder;
|
|
|
@@ -1150,7 +1461,7 @@
|
|
|
item.issue_type_name = detail.issue_type ? detail.issue_type.name : '';
|
|
|
return item;
|
|
|
});
|
|
|
- commodities.push(...(commodity_items ?commodity_items: []))
|
|
|
+ commodities.push(...(commodity_items ? commodity_items : []))
|
|
|
});
|
|
|
return commodities.filter(item => {
|
|
|
if (!isCurrent) {
|
|
|
@@ -1536,8 +1847,8 @@
|
|
|
if (process_result_info && (
|
|
|
process_result_info.indexOf('商家做入库单') >= 0 ||
|
|
|
process_result_info.indexOf('商家做出库单') >= 0 ||
|
|
|
- process_result_info.indexOf('不入库') >= 0 ||
|
|
|
- process_result_info.indexOf('不出库') >= 0)) {
|
|
|
+ process_result_info.indexOf('不入库') >= 0 ||
|
|
|
+ process_result_info.indexOf('不出库') >= 0)) {
|
|
|
isAddRow = true;
|
|
|
}
|
|
|
if (cur_logistic_number === logistic_number) {
|
|
|
@@ -1887,25 +2198,25 @@
|
|
|
getBaoShiEndHandleResult(commodity) {
|
|
|
let {process_result} = commodity;
|
|
|
let items = [
|
|
|
- {process_result: '多发,客户买下', option: ['已完成出库','完成']},
|
|
|
- {process_result: '多发,客户退回', option: ['已退回仓库' ]},
|
|
|
+ {process_result: '多发,客户买下', option: ['已完成出库', '完成']},
|
|
|
+ {process_result: '多发,客户退回', option: ['已退回仓库']},
|
|
|
{process_result: '少发,宝时补发', option: ['宝时补发']},
|
|
|
- {process_result: '少发,不补发', option: ['已完成入库','完成']},
|
|
|
+ {process_result: '少发,不补发', option: ['已完成入库', '完成']},
|
|
|
{process_result: '核实未错漏发', option: ['确认未错漏发']},
|
|
|
];
|
|
|
- let shift = items.filter(e => process_result === e.process_result).map(e => e.option).shift() ;
|
|
|
+ let shift = items.filter(e => process_result === e.process_result).map(e => e.option).shift();
|
|
|
return shift ? shift : [];
|
|
|
},
|
|
|
getOwnerMistakeProcessResultInfo(process_result, item) {
|
|
|
let items = [
|
|
|
{process_result: "少发,宝时补发", option: ['商家不做单'],},
|
|
|
- {process_result: "多发,客户买下", option: ['商家做出库单(物流选自提,宝时不发货)','不出库'],},
|
|
|
+ {process_result: "多发,客户买下", option: ['商家做出库单(物流选自提,宝时不发货)', '不出库'],},
|
|
|
{process_result: "多发,客户退回", option: ['客户自行退回(提供退回单号)', '宝时上门取件(提供寄件信息,地址,联系人,电话)'],},
|
|
|
- {process_result: "少发,不补发", option: ['商家做入库单,选择明细和数量','不入库'],},
|
|
|
+ {process_result: "少发,不补发", option: ['商家做入库单,选择明细和数量', '不入库'],},
|
|
|
{process_result: "核实未错漏发", option: ['确认未错漏发'],},
|
|
|
];
|
|
|
let shift = items.filter(e => e.process_result === process_result).map(e => e.option).shift();
|
|
|
- let options = shift ? shift : []
|
|
|
+ let options = shift ? shift : []
|
|
|
if (options.length === 0) {
|
|
|
item.process_result_info = options[0];
|
|
|
}
|
|
|
@@ -2778,12 +3089,12 @@
|
|
|
message = '出库订单号不能为空';
|
|
|
} else if ('商家做入库单,选择明细和数量' === e.process_result_info && !e.store_in_amount) {
|
|
|
message = '入库单不能为空';
|
|
|
- } else if (['不入库','不出库'].includes(e.process_result_info) && !e.remark){
|
|
|
+ } else if (['不入库', '不出库'].includes(e.process_result_info) && !e.remark) {
|
|
|
message = '不入库,不出库原因不能为空';
|
|
|
}
|
|
|
});
|
|
|
if (message) return {success: false, message: message};
|
|
|
- return {success:true};
|
|
|
+ return {success: true};
|
|
|
} else if ('快递异常' === issue_type_name) {
|
|
|
if (is_edit) {
|
|
|
let {type, commodities, dealImages} = this.ownerEditWorkOrder;
|
|
|
@@ -3492,7 +3803,7 @@
|
|
|
this.successTempTip('处理完成');
|
|
|
this.showAddDiv('addWorkOrderProcessLogForm' + work_order_detail_id);
|
|
|
document.getElementById('addWorkOrderProcessLogFormInput_' + work_order_detail_id).value = '';
|
|
|
- if(tagDoc)tagDoc = false;
|
|
|
+ if (tagDoc) tagDoc = false;
|
|
|
this.$forceUpdate();
|
|
|
return;
|
|
|
}
|
|
|
@@ -3764,6 +4075,10 @@
|
|
|
axios.post(url, data).then(res => {
|
|
|
window.tempTip.cancelWaitingTip();
|
|
|
if (res.data.success) {
|
|
|
+ for (const resKey in res.data.data) {
|
|
|
+ console.log(resKey,res.data.data[resKey]);
|
|
|
+ this.reckonStatus(res.data.data[resKey]);
|
|
|
+ }
|
|
|
this.commodityEqualsMap = res.data.data;
|
|
|
this.dialogCommoditiesEqualsVisible = true;
|
|
|
return;
|
|
|
@@ -3786,6 +4101,9 @@
|
|
|
toggleRejectedBill() {
|
|
|
this.hideRejectedBills = !this.hideRejectedBills;
|
|
|
},
|
|
|
+ toggleReceivingInfo() {
|
|
|
+ this.receivingInfo = !this.receivingInfo;
|
|
|
+ },
|
|
|
showBatchCustomRejectedStatus() {
|
|
|
if (this.checkData.length === 0) {
|
|
|
this.errorTempTip('请勾选需要修改的工单')
|
|
|
@@ -3891,9 +4209,46 @@
|
|
|
window.tempTip.cancelWaitingTip()
|
|
|
this.errorTempTip(err)
|
|
|
})
|
|
|
+ },
|
|
|
+ reckonStatus(item) {
|
|
|
+ let {
|
|
|
+ order_commodity_sku,
|
|
|
+ rejected_item_sku,
|
|
|
+ order_commodity_amount,
|
|
|
+ rejected_item_quality_label
|
|
|
+ } = item;
|
|
|
+ if (order_commodity_sku == null || order_commodity_amount === '') {
|
|
|
+ item.status = "差异退回";
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ for (const key in rejected_item_quality_label) {
|
|
|
+ let date = rejected_item_quality_label[key];
|
|
|
+ let amount = Number(date.amount);
|
|
|
+ let order_amount = Number(order_commodity_amount);
|
|
|
+ if(key === "正品"){
|
|
|
+ if( amount === order_amount ){
|
|
|
+ item.status = "全部退回";
|
|
|
+ } else if(amount > order_amount){
|
|
|
+ item.status = "超量退回";
|
|
|
+ } else {
|
|
|
+ item.status = "部分退回";
|
|
|
+ }
|
|
|
+ return;
|
|
|
+ } else if(key === "残次"){
|
|
|
+ item.status = "差异退回";
|
|
|
+ return;
|
|
|
+ } else if(key === "未知"){
|
|
|
+ item.status = "差异退回";
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (rejected_item_sku == null || rejected_item_sku === '') {
|
|
|
+ return item.status = "未退回";
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
});
|
|
|
</script>
|
|
|
@endsection
|