|
|
@@ -71,7 +71,7 @@
|
|
|
@can('订单管理-工单处理-承运商编辑')
|
|
|
<button class="btn btn-sm btn-outline-secondary" @click="showEditLog(item,i,2)" v-if="['快递丢件','破损'].includes(item['issue_type']['name'])">快递处理</button>
|
|
|
@endcan
|
|
|
- @can('订单管理-工单处理-宝时处理')
|
|
|
+ @can('订单管理-工单处理-宝时编辑')
|
|
|
<button class="btn btn-sm btn-outline-secondary" @click="showEditLog(item,i,1)" v-if="['快递丢件','破损'].includes(item['issue_type']['name'])">宝时处理</button>
|
|
|
@endcan
|
|
|
</td>
|
|
|
@@ -369,37 +369,38 @@
|
|
|
$("#list").removeClass("d-none");
|
|
|
},
|
|
|
created() {
|
|
|
- let self = this;
|
|
|
- $.each(this.workOrders, function (index, workOrder) {
|
|
|
- if (!workOrder.order) return;
|
|
|
- if (!workOrder.order.packages) return;
|
|
|
- self.sortOrder(workOrder);
|
|
|
+ this.workOrders.forEach(item=>{
|
|
|
+ if (!item.order) return;
|
|
|
+ if (!item.order.packages) return;
|
|
|
+ this.sortOrder(item);
|
|
|
});
|
|
|
},
|
|
|
methods: {
|
|
|
sortOrder(workOrder) {
|
|
|
- let self = this;
|
|
|
if (!workOrder.order) return;
|
|
|
- if (workOrder.order_issue) {
|
|
|
- workOrder.result_explain = workOrder.order_issue.result_explain;
|
|
|
- if (workOrder.order_issue.issue_type) {
|
|
|
- workOrder.issue_order_type = workOrder.order_issue.issue_type.name;
|
|
|
+ if (workOrder['order_issue']) {
|
|
|
+ workOrder.result_explain = workOrder['order_issue'].result_explain;
|
|
|
+ if (workOrder['order_issue']['issue_type']) {
|
|
|
+ workOrder.issue_order_type = workOrder['order_issue']['issue_type']['name'];
|
|
|
}
|
|
|
- if (workOrder.order_issue.logs) {
|
|
|
- workOrder.issue_logs = workOrder.order_issue.logs.map(item => {
|
|
|
- return {
|
|
|
- username: item.user ? item.user.name : '',
|
|
|
- content: item.content,
|
|
|
- created_at: item.created_at
|
|
|
- };
|
|
|
- });
|
|
|
+ if (workOrder['order_issue'].logs) {
|
|
|
+ workOrder.issue_logs = this.mapLogs(workOrder['order_issue'].logs);
|
|
|
}
|
|
|
}
|
|
|
if (!workOrder.order.packages) return;
|
|
|
- $.each(workOrder.order.packages, function (i, item) {
|
|
|
- self.sortTransfer(item);
|
|
|
+ workOrder.order.packages.forEach(item=>{
|
|
|
+ this.sortTransfer(item)
|
|
|
})
|
|
|
},
|
|
|
+ mapLogs(logs){
|
|
|
+ return logs.map(item=>{
|
|
|
+ return {
|
|
|
+ username: item.user ? item.user.name : '',
|
|
|
+ content: item.content,
|
|
|
+ created_at: item.created_at
|
|
|
+ };
|
|
|
+ });
|
|
|
+ },
|
|
|
sortTransfer(item) {
|
|
|
if (!("transfer_status" in item)) return;
|
|
|
if (item.transfer_status == null || !(item.transfer_status instanceof Array)) return;
|
|
|
@@ -417,8 +418,8 @@
|
|
|
window.axios.post(url, data).then(res => {
|
|
|
if (res.data.success) {
|
|
|
res.data.data.is_issue_order = item.is_issue_order;
|
|
|
- this.$set(this.workOrders, i, res.data.data);
|
|
|
this.sortOrder(res.data.data);
|
|
|
+ this.$set(this.workOrders, i, res.data.data);
|
|
|
window.tempTip.showSuccess("审核完成");
|
|
|
} else {
|
|
|
window.tempTip.show(res.data.message ? res.data.message : '审核异常');
|
|
|
@@ -433,18 +434,10 @@
|
|
|
if (tag) data.ids = [item.id];
|
|
|
else data.ids = checkData;
|
|
|
if (!confirm('是否生成对应的问题件')) return;
|
|
|
- let _this = this;
|
|
|
window.tempTip.waitingTip('生成中........');
|
|
|
window.axios.post(url, data).then(res => {
|
|
|
if (res.data.success) {
|
|
|
- res.data.data.forEach(item => {
|
|
|
- this.workOrders.forEach((workOrder, i) => {
|
|
|
- if (item.id === workOrder.id) {
|
|
|
- _this.sortOrder(item);
|
|
|
- _this.$set(_this.workOrders, i, item);
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
+ this.replaceWorkOrder(res.data.data);
|
|
|
this.$forceUpdate();
|
|
|
window.tempTip.cancelWaitingTip();
|
|
|
window.tempTip.showSuccess('已生成对应的问题件');
|
|
|
@@ -457,6 +450,18 @@
|
|
|
window.tempTip.show(err)
|
|
|
});
|
|
|
},
|
|
|
+ replaceWorkOrder(workOrders){
|
|
|
+ let data = [];
|
|
|
+ workOrders.forEach(workOrder=>{data[workOrder.id] = workOrder;});
|
|
|
+ this.workOrders.forEach((workOrder,i)=>{
|
|
|
+ if (data[workOrder.id]){
|
|
|
+ let item = data[workOrder.id];
|
|
|
+ this.sortOrder(item);
|
|
|
+ this.$set(this.workOrders,i,item);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.$forceUpdate();
|
|
|
+ },
|
|
|
getMessageWorkOrder() {
|
|
|
let selected = checkData;
|
|
|
if (!selected) {
|
|
|
@@ -482,7 +487,7 @@
|
|
|
if (!item.order) return '';
|
|
|
if (!item.order.packages) return '';
|
|
|
let message = '';
|
|
|
- let issue_type = item.issue_type? item.issue_type.name : '';
|
|
|
+ let issue_type = item['issue_type']? item['issue_type'].name : '';
|
|
|
switch (issue_type) {
|
|
|
case '拦截':
|
|
|
message = this.interceptMessage(item);
|
|
|
@@ -498,15 +503,15 @@
|
|
|
},
|
|
|
interceptMessage(item) {
|
|
|
let message = '';
|
|
|
- if (item.order.logistic.code.includes('SF') || item.order.logistic.code.includes('ZTO')) {
|
|
|
+ if (item.order['logistic']['code'].includes('SF') || item.order['logistic'].code.includes('ZTO')) {
|
|
|
item.order.packages.forEach(node => {
|
|
|
message += node.logistic_number + '\n';
|
|
|
});
|
|
|
message = message.trim('\n') + ' ——拦截\n';
|
|
|
} else {
|
|
|
- let item_order_logistic_name = item.order.logistic.name;
|
|
|
- let item_order_adder = item.order.consignee_name + ' '
|
|
|
- + item.order.consignee_phone + ' '
|
|
|
+ let item_order_logistic_name = item.order['logistic']['name'];
|
|
|
+ let item_order_adder = item.order['consignee_name'] + ' '
|
|
|
+ + item.order['consignee_phone'] + ' '
|
|
|
+ ' ' + item.order.address;
|
|
|
item.order.packages.forEach(p => {
|
|
|
if (p) message += item_order_logistic_name + ' ' + p.logistic_number + ' ' + item_order_adder + '\n';
|
|
|
@@ -517,17 +522,16 @@
|
|
|
},
|
|
|
modificationMessage(item) {
|
|
|
let message = '';
|
|
|
- let logistic_code = item.order.logistic.code;
|
|
|
- let adder = item.order.consignee_name + ' ' + item.order.consignee_phone + ' '
|
|
|
+ let logistic_code = item.order['logistic']['code'];
|
|
|
+ let adder = item.order['consignee_name'] + ' ' + item.order['consignee_phone'] + ' '
|
|
|
+ item.order.province + ' ' + item.order.city + ' ' + item.order.district + ' ' + item.order.address;
|
|
|
-
|
|
|
item.order.packages.forEach(node => {
|
|
|
if (logistic_code.includes('SF')) { // 顺丰订单
|
|
|
- message += node.logistic_number + ' ——改信息: ' + item.remark + ',运费到付或月结' + '\n';
|
|
|
+ message += node['logistic_number'] + ' ——改信息: ' + item.remark + ',运费到付或月结' + '\n';
|
|
|
} else if (logistic_code.includes('ZTO')) {
|
|
|
- message += node.logistic_number + ' ——改信息:' + item.remark + '\n';
|
|
|
+ message += node['logistic_number'] + ' ——改信息:' + item.remark + '\n';
|
|
|
} else {
|
|
|
- message += node.logistic_number + ' ' + adder + ' ——改地址' + item.remark + '\n';
|
|
|
+ message += node['logistic_number'] + ' ' + adder + ' ——改地址' + item.remark + '\n';
|
|
|
}
|
|
|
});
|
|
|
return message;
|
|
|
@@ -535,7 +539,7 @@
|
|
|
getMessage(item) {
|
|
|
let message = '';
|
|
|
if (!item.order.packages) return message;
|
|
|
- let adder = item.order.consignee_name + ' ' + item.order.consignee_phone + ' '
|
|
|
+ let adder = item.order['consignee_name'] + ' ' + item.order['consignee_phone'] + ' '
|
|
|
+ item.order.province + ' ' + item.order.city + ' ' + item.order.district + ' ' + item.order.address;
|
|
|
item.order.packages.forEach(p => {
|
|
|
message += p.logistic_number + ' ' + adder + ' ——描述 ' + item.remark + '\n';
|
|
|
@@ -561,19 +565,12 @@
|
|
|
batchReview() {
|
|
|
let url = '{{route('workOrder.batchReviewApi')}}';
|
|
|
let data = {ids: checkData};
|
|
|
- let _this = this;
|
|
|
window.tempTip.setIndex('1999');
|
|
|
if (!confirm('是否对当前选中订单进行审核')) return;
|
|
|
window.tempTip.waitingTip('审核中........');
|
|
|
window.axios.post(url, data).then(res => {
|
|
|
if (res.data.success) {
|
|
|
- $.each(res.data.data, (i, data) => {
|
|
|
- $.each(_this.workOrders, (index, item) => {
|
|
|
- if (item.id === data.id) {
|
|
|
- _this.$set(this.workOrders, index, data);
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
+ this.replaceWorkOrder(res.data.data);
|
|
|
this.$forceUpdate();
|
|
|
window.tempTip.cancelWaitingTip();
|
|
|
window.tempTip.showSuccess('审核完成');
|
|
|
@@ -624,20 +621,11 @@
|
|
|
editOrderIssueType() {
|
|
|
let url = '{{route('workOrder.batchUpdateIssueTypeApi')}}'
|
|
|
let data = {ids: checkData, type: this.selectIssueType};
|
|
|
- let _this = this;
|
|
|
window.tempTip.setIndex(1999);
|
|
|
window.axios.post(url, data).then(res => {
|
|
|
if (res.data.success) {
|
|
|
window.tempTip.showSuccess('修改问题件类型成功');
|
|
|
- res.data.data.forEach(item => {
|
|
|
- _this.sortOrder(item);
|
|
|
- _this.workOrders.forEach((workOrder, i, array) => {
|
|
|
- if (workOrder.id === item.id) {
|
|
|
- array[i] = item;
|
|
|
- }
|
|
|
- })
|
|
|
- });
|
|
|
- this.$forceUpdate();
|
|
|
+ this.replaceWorkOrder(res.data.data);
|
|
|
$("#edit-issue-type-type-modal").modal('hide');
|
|
|
return;
|
|
|
}
|
|
|
@@ -723,9 +711,7 @@
|
|
|
fillLossWorkOrder(data){
|
|
|
let url = "{{route('workOrder.lossApi')}}";
|
|
|
window.tempTip.setIndex(1999);
|
|
|
- window.axios.post(url,data,{
|
|
|
- 'Content-Type': 'multipart/form-data',
|
|
|
- }).then(res=>{
|
|
|
+ window.axios.post(url,data,{'Content-Type': 'multipart/form-data',}).then(res=>{
|
|
|
if (res.data.success){
|
|
|
this.sortOrder(res.data.data);
|
|
|
this.$set(this.workOrders,this.workOrder.index,res.data.data);
|
|
|
@@ -800,9 +786,13 @@
|
|
|
window.tempTip.show(err);
|
|
|
});
|
|
|
},
|
|
|
- verifiedProcessLog(){
|
|
|
+ verifiedProcessLog(){ // 校验处理信息
|
|
|
window.tempTip.setIndex(1999);
|
|
|
window.tempTip.setDuration(2000);
|
|
|
+ if(this.processLog.is_indemnity === null){
|
|
|
+ window.tempTip.show('选择处理方式');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
if(this.processLog.is_indemnity === '1'){
|
|
|
if (!this.processLog.indemnity ){
|
|
|
window.tempTip.show('填写赔偿金额');
|