|
|
@@ -7,11 +7,23 @@
|
|
|
<div id="form_div" style="min-width: 1220px;"></div>
|
|
|
<div class="form-inline mt-1" id="btn">
|
|
|
@can('订单管理-订单问题件生成')
|
|
|
- <span class="ml-1">
|
|
|
+ <span class="ml-1">
|
|
|
<button type="button" class="btn btn-outline-dark btn-sm form-control-sm tooltipTarget"
|
|
|
- @click="createOrderIssue(null,false)" style="background: #dad7e8;">生成问题件</button>
|
|
|
+ @click="createOrderIssue(null,false)" style="background: #dad7e8;">生成问题件</button>
|
|
|
</span>
|
|
|
- @endcan
|
|
|
+ @endcan
|
|
|
+ @can('订单管理-订单问题件生成')
|
|
|
+ <span class="ml-1">
|
|
|
+ <button type="button" class="btn btn-outline-primary btn-sm form-control-sm tooltipTarget"
|
|
|
+ @click="interceptMessage()">拦截导出</button>
|
|
|
+ </span>
|
|
|
+ @endcan
|
|
|
+ @can('订单管理-订单问题件生成')
|
|
|
+ <span class="ml-1">
|
|
|
+ <button type="button" class="btn btn-outline-primary btn-sm form-control-sm tooltipTarget"
|
|
|
+ @click="modificationMessage()">信息修改导出</button>
|
|
|
+ </span>
|
|
|
+ @endcan
|
|
|
</div>
|
|
|
|
|
|
<div>
|
|
|
@@ -44,10 +56,7 @@
|
|
|
</template>
|
|
|
</td>
|
|
|
<td>@{{item.type ? item.type.name : '' }}</td>
|
|
|
- <td class="text-center">@{{ item.status }}</td>
|
|
|
- <td class="text-center">@{{ item.creator.name }}</td>
|
|
|
- <td class="text-center">@{{ item.created_at }}</td>
|
|
|
- <td class="text-center">@{{ item.remark }}</td>
|
|
|
+ <td>@{{item.order ? (item.order.logistic ? item.order.logistic.name : '') : '' }}</td>
|
|
|
<td class="text-center">
|
|
|
<template v-if="item.order">
|
|
|
<template v-if="item.order.packages && item.order.packages.length === 1">
|
|
|
@@ -73,6 +82,8 @@
|
|
|
|
|
|
</template>
|
|
|
</td>
|
|
|
+ <td class="text-center">@{{ item.remark }}</td>
|
|
|
+ <td class="text-center">@{{ item.status }}</td>
|
|
|
<td class="text-center">
|
|
|
<template v-if="item.review_at">
|
|
|
<div v-if="item.order && item.order.packages">
|
|
|
@@ -87,9 +98,12 @@
|
|
|
</template>
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
- @{{ package.transfer_status[0]['accept_time']+':'+package.transfer_status[0]['accept_address'] }}
|
|
|
+ @{{
|
|
|
+ package.transfer_status[0]['accept_time']+':'+package.transfer_status[0]['accept_address']
|
|
|
+ }}
|
|
|
</div>
|
|
|
- <button class="btn btn-sm btn-outline-primary" v-if="selectOrderPackage !== package.id"
|
|
|
+ <button class="btn btn-sm btn-outline-primary"
|
|
|
+ v-if="selectOrderPackage !== package.id"
|
|
|
@click="selectOrderPackage = package.id">展开
|
|
|
</button>
|
|
|
<button class="btn btn-sm btn-outline-primary" v-else
|
|
|
@@ -100,20 +114,26 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</td>
|
|
|
+ <td class="text-center">@{{ item.creator.name }}</td>
|
|
|
+ <td class="text-center">@{{ item.created_at }}</td>
|
|
|
<td>@{{ item.reviewer ? item.reviewer.name : ''}}</td>
|
|
|
<td>@{{ item.review_at }}</td>
|
|
|
<td class="text-center">
|
|
|
|
|
|
@can('订单管理-订单问题件生成')
|
|
|
- <template v-if="item.type && item.type.name === '订单拦截' && item.status !== '已处理' ">
|
|
|
- <button class="btn btn-sm btn-outline-primary" @click="createOrderIssue(item,true)" v-if="item.order && item.order.issue === null">
|
|
|
+ <template
|
|
|
+ v-if="item.type && item.type.name === '订单拦截' && item.status !== '已处理' ">
|
|
|
+ <button class="btn btn-sm btn-outline-primary"
|
|
|
+ @click="createOrderIssue(item,true)"
|
|
|
+ v-if="item.order && item.order.issue === null">
|
|
|
生成问题件
|
|
|
</button>
|
|
|
</template>
|
|
|
@endcan
|
|
|
|
|
|
@can('订单管理-工单处理-审核')
|
|
|
- <button class="btn btn-sm btn-outline-success" v-if="item.status !== '已处理'" @click="review(item,i)">
|
|
|
+ <button class="btn btn-sm btn-outline-success" v-if="item.status !== '已处理'"
|
|
|
+ @click="review(item,i)">
|
|
|
审核
|
|
|
</button>
|
|
|
@endcan
|
|
|
@@ -141,7 +161,9 @@
|
|
|
form: null,
|
|
|
logistics: [
|
|
|
@foreach($logistics as $logistic)
|
|
|
- {name:{{$logistic->id}}, value: '{{$logistic->name}}'},
|
|
|
+ {
|
|
|
+ name: {{$logistic->id}}, value: '{{$logistic->name}}'
|
|
|
+ },
|
|
|
@endforeach
|
|
|
],
|
|
|
selectOrderPackage: null,
|
|
|
@@ -155,7 +177,7 @@
|
|
|
{
|
|
|
name: 'logistic',
|
|
|
type: 'select_multiple_select',
|
|
|
- data:this.logistics,
|
|
|
+ data: this.logistics,
|
|
|
tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的承运商'],
|
|
|
placeholder: ['承运商', '定位或多选承运商']
|
|
|
},
|
|
|
@@ -171,12 +193,13 @@
|
|
|
{name: 'no', value: '序号', neglect: true},
|
|
|
{name: 'grad', value: '工单等级'},
|
|
|
{name: 'type', value: '相关类型'},
|
|
|
+ {name: 'logisticName', value: '承运商'},
|
|
|
+ {name: 'logisticNumber', value: '快递单号'},
|
|
|
+ {name: 'workOrderInfo', value: '问题描述'},
|
|
|
{name: 'status', value: '状态', neglect: true},
|
|
|
+ {name: 'Info', value: '物流跟踪信息', neglect: true},
|
|
|
{name: 'creator', value: '创建人'},
|
|
|
{name: 'submit_at', value: '提交时间'},
|
|
|
- {name: 'workOrderInfo', value: '问题描述'},
|
|
|
- {name: 'logisticNumber', value: '快递单号'},
|
|
|
- {name: 'Info', value: '物流跟踪信息', neglect: true},
|
|
|
{name: 'reviewer', value: '审核人'},
|
|
|
{name: 'review_at', value: '审核时间'},
|
|
|
{name: 'operation', value: '操作', neglect: true},
|
|
|
@@ -245,11 +268,11 @@
|
|
|
|
|
|
window.axios.post(url, data).then(res => {
|
|
|
if (res.data.success) {
|
|
|
- if(res.data.data ){
|
|
|
- $.each(res.data.data,(i,data)=>{
|
|
|
- $.each(_this.workOrders,(index,item)=>{
|
|
|
- if (item.id === data.id){
|
|
|
- _this.$set(this.workOrders,index,data);
|
|
|
+ if (res.data.data) {
|
|
|
+ $.each(res.data.data, (i, data) => {
|
|
|
+ $.each(_this.workOrders, (index, item) => {
|
|
|
+ if (item.id === data.id) {
|
|
|
+ _this.$set(this.workOrders, index, data);
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
@@ -263,7 +286,76 @@
|
|
|
window.tempTip.show(err)
|
|
|
});
|
|
|
},
|
|
|
+ getMessageWorkOrder(){
|
|
|
+ let selected = checkData;
|
|
|
+ if (!selected){
|
|
|
+ window.tempTip.show('未选中任何信息');
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return this.workOrders.filter((item) =>{
|
|
|
+ return selected.includes(item.id+'');
|
|
|
+ });
|
|
|
+ },
|
|
|
+ interceptMessage() {
|
|
|
+ let selectItems = this.getMessageWorkOrder();
|
|
|
+ if (selectItems === null )return ;
|
|
|
+ let zto_and_sf = '';
|
|
|
+ let rest_logistic = '';
|
|
|
+ selectItems.forEach(item=>{
|
|
|
+ // 中通、顺丰
|
|
|
+ if (item.order.logistic.code.includes('SF') ||item.order.logistic.code.includes('ZTO') ){
|
|
|
+ item.order.packages.forEach(node=>{
|
|
|
+ zto_and_sf += node.logistic_number + '\n';
|
|
|
+ });
|
|
|
+ } else{
|
|
|
+ let item_order_logistic_name = item.order.logistic.name;
|
|
|
+ let item_order_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=>{
|
|
|
+ rest_logistic += item_order_logistic_name +' ' + node.logistic_number + ' '+item_order_adder + '——拦截\n';
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ let text = zto_and_sf.trim('\n') + '——拦截' + '\n';
|
|
|
+ text += rest_logistic;
|
|
|
+ this.copyText(text);
|
|
|
+ },
|
|
|
+ modificationMessage(){
|
|
|
+ let selectItems = this.getMessageWorkOrder();
|
|
|
+ if (selectItems === null) return ;
|
|
|
+ let zto = '';
|
|
|
+ let sf = '';
|
|
|
+ let rest_logistic = '';
|
|
|
+ selectItems.forEach(item=>{
|
|
|
+ let logistic_code = item.order.logistic.code;
|
|
|
+ item.order.packages.forEach(node=> {
|
|
|
+ if (logistic_code.includes('SF')) { // 顺丰订单
|
|
|
+ sf += node.logistic_number +' 改信息: ' + item.remark + ',运费到付或月结'+'\n';
|
|
|
+ } else if (logistic_code.includes('ZTO')){
|
|
|
+ zto += node.logistic_number + ' 改信息' +item.remark+'\n';
|
|
|
+ } else {
|
|
|
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ copyText(text){
|
|
|
+ let ele = document.querySelector('#copy_text');
|
|
|
+ if (ele == null ){
|
|
|
+ ele = document.createElement("textarea");
|
|
|
+ ele.setAttribute('id','copy_text')
|
|
|
+ ele.style.opacity=0;
|
|
|
+ document.querySelector('body').append(ele);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ $("#copy_text").text(text).select().focus();
|
|
|
+ document.execCommand("Copy");
|
|
|
+ tempTip.showSuccess('复制成功')
|
|
|
+ } catch (e) {
|
|
|
+ tempTip.showSuccess('复制失败:' + e)
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
});
|
|
|
</script>
|