Browse Source

一键签收修复传入值

dev-xx
马远东 1 year ago
parent
commit
45af9ba891
  1. 9
      src/api/aftersales/aftersalesWorkOrder.js
  2. 165
      src/views/aftersales/aftersalesWorkOrder.vue
  3. 55
      src/views/aftersales/aftersalesWorkOrderAdd.vue
  4. 242
      src/views/aftersales/aftersalesWorkOrderInfo.vue
  5. 63
      src/views/aftersales/aftersalesWorkOrderend.vue
  6. 70
      src/views/aftersales/aftersalesWorkOrdermodify.vue
  7. 2
      src/views/distribution/deliverylist/distributionDeliveryListedt.vue
  8. 245
      src/views/distribution/turndelivery/deliveryDiscuss.vue

9
src/api/aftersales/aftersalesWorkOrder.js

@ -372,4 +372,13 @@ export const $_updateWorkList = (data) => {
method: 'post',
data
})
}
// 处理结果存储
export const $_updateWorkOrderStatus = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/updateWorkOrderStatus',
method: 'put',
data
})
}

165
src/views/aftersales/aftersalesWorkOrder.vue

@ -81,7 +81,8 @@
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<!-- v-if="ButtonPermissions.add" -->
<el-button v-if="PermissionButton.workAdd" type="primary" @click="AddInfo">
<!-- v-if="PermissionButton.workAdd" -->
<el-button v-if="ButtonPermissions.add" type="primary" @click="AddInfo">
<el-icon><Plus /></el-icon> </el-button
>
<!-- <el-button type="primary" @click="BatchDelete">
@ -90,23 +91,37 @@
<!-- v-if="ButtonPermissions.batchReject" -->
<!-- v-if="PermissionButton.batch_return" -->
<el-button type="primary" @click="BatchReturn">批量打回</el-button>
<el-button
v-if="ButtonPermissions.batchReject"
type="primary"
@click="BatchReturn"
>批量打回</el-button
>
<!-- v-if="ButtonPermissions.assignment" -->
<!-- v-if="PermissionButton.assign" -->
<el-button type="primary" @click="assign">工单指派</el-button>
<!-- v-if="ButtonPermissions.applyArbitration" -->
<!-- v-if="PermissionButton.apply_arbitration" -->
<el-button type="primary" @click="arbitrate">客服介入</el-button>
<el-button
v-if="ButtonPermissions.applyArbitration"
type="primary"
@click="arbitrate"
>客服介入</el-button
>
<el-button type="primary" @click="DingTalk">钉钉号填写</el-button>
<!-- v-if="ButtonPermissions.batchFinish" -->
<!-- v-if="PermissionButton.batch_completion" -->
<el-button type="primary" @click="Batchcompletion">批量完结</el-button>
<el-button ButtonPermissions.batchFinish type="primary" @click="Batchcompletion"
>批量完结</el-button
>
<!-- v-if="ButtonPermissions.appeal" -->
<!-- v-if="PermissionButton.representations" -->
<el-button type="primary" @click="appeal">申诉</el-button>
<el-button v-if="ButtonPermissions.appeal" type="primary" @click="appeal"
>申诉</el-button
>
<!-- v-if="details.query.workOrderStatus == 30" -->
<!-- <el-button type="primary" @click="ProcessingParty"> 处理方信息</el-button> -->
</div>
@ -445,36 +460,34 @@
<!-- 钉钉号填写 -->
<el-dialog v-model="dialogDingTalk" title="钉钉号填写" width="30%">
<div class="el_DingTalk">
<el-form :model="DingTalkfilling" label-width="120px">
<el-form-item label="钉钉流程号">
<el-input v-model="DingTalkfilling.processNumber" placeholder="请填写钉钉号" />
</el-form-item>
<el-form-item label="审核人">
<el-input v-model="DingTalkfilling.reviewedBy" placeholder="请填写审核人" />
</el-form-item>
<el-form-item label="审核时间">
<el-date-picker
v-model="DingTalkfilling.auditTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择运损发现时间"
/>
</el-form-item>
<el-form :model="DingTalkfilling" label-width="120px">
<el-form-item label="钉钉流程号">
<el-input v-model="DingTalkfilling.processNumber" placeholder="请填写钉钉号" />
</el-form-item>
<el-form-item label="审核人">
<el-input v-model="DingTalkfilling.reviewedBy" placeholder="请填写审核人" />
</el-form-item>
<el-form-item label="审核时间">
<el-date-picker
v-model="DingTalkfilling.auditTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择运损发现时间"
/>
</el-form-item>
<el-form-item label="财务入账时间">
<el-date-picker
v-model="DingTalkfilling.entryTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择运损发现时间"
/>
</el-form-item>
</el-form>
</div>
<el-form-item label="财务入账时间">
<el-date-picker
v-model="DingTalkfilling.entryTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择运损发现时间"
/>
</el-form-item>
</el-form>
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogDingTalk = false">取消</el-button>
@ -652,13 +665,14 @@ const AppealStatus = ref(false); //申诉列表状态
const dialogModifyAmount = ref(false); //
const UserPermissions = ref('仓库客服'); //
const TabPermissions = ref(0); //
const AppealStatusT = ref(false); //
const TabList = ref([
{ name: 0, label: '全部' },
{ name: 3, label: '待处理' },
{ name: 8, label: '待回复' },
{ name: 1, label: '处理中' },
{ name: 2, label: '处理完毕' },
{ name: 9, label: '预订单' },
{ name: 6, label: '完结' },
{ name: 5, label: '仲裁中' },
{ name: 4, label: '理赔金额未出' },
@ -864,13 +878,13 @@ const ButtonPermissions = computed(() => {
batchReject: UserPermissions.value == '职能客服', //
assignment: UserPermissions.value == '客服经理', //
applyArbitration: UserPermissions.value == '仓库客服', //
batchFinish: UserPermissions.value != '仓库客服', //
batchFinish: UserPermissions.value == '职能客服' || UserPermissions.value == '客服经理', //
appeal: false, //
};
case 1: //
return {
add: false, //
batchReject: UserPermissions.value != '仓库客服', //
batchReject: UserPermissions.value == '职能客服' || UserPermissions.value == '客服经理', //
assignment: false, //
applyArbitration: UserPermissions.value == '仓库客服', //
batchFinish: UserPermissions.value != '仓库客服', //
@ -1964,24 +1978,16 @@ const tabChenge = val => {
ProcessingPartyState.value = false; //
ArbitrationStatus.value = false; //
} else if (val == 3) {
//
console.log(UserPermissions.value, '当前身份');
if (UserPermissions.value == '仓库客服') {
data.workOrderStatus = '';
details.query.workOrderStatus = '';
ArbitrationStatus.value = true; //
Tableheaderswitching(columnList);
empty();
ProcessingPartyFun(data); //
} else {
console.log('待处理');
ProcessingPartyState.value = true; //
data.workOrderStatus = 30;
details.query.workOrderStatus = 30;
ArbitrationStatus.value = true; //
Tableheaderswitching(columnList);
empty();
IndexTable(data);
}
console.log('待处理');
ProcessingPartyState.value = true; //
data.workOrderStatus = 10;
details.query.workOrderStatus = 10;
ArbitrationStatus.value = true; //
Tableheaderswitching(columnList);
empty();
IndexTable(data);
} else if (val == 4) {
ProcessingPartyState.value = false; //
//
@ -2017,6 +2023,24 @@ const tabChenge = val => {
Tableheaderswitching(timeoutList); //
empty();
TimeoutHandling(); //
} else if (val == 8) {
if (UserPermissions.value == '仓库客服') {
data.workOrderStatus = '';
details.query.workOrderStatus = '';
ArbitrationStatus.value = true; //
Tableheaderswitching(columnList);
empty();
ProcessingPartyFun(data); //
} else {
console.log('待处理');
ProcessingPartyState.value = true; //
data.workOrderStatus = 30;
details.query.workOrderStatus = 30;
ArbitrationStatus.value = true; //
Tableheaderswitching(columnList);
empty();
IndexTable(data);
}
}
};
/**
@ -2377,28 +2401,27 @@ const DingTalk = () => {
};
//
const DingTalkSubmit = () => {
let data={
assignList:[],
}
data.processNumber = DingTalkfilling.value.processNumber;//
data.reviewedBy = DingTalkfilling.value.reviewedBy;//
data.auditTime = DingTalkfilling.value.auditTime;//
data.entryTime = DingTalkfilling.value.entryTime;//
data['assignList']= details.selectionList.map(res=>res.id)//ID
console.log(data,'处理好的值');
$_updateWorkList(data).then(res=>{
console.log(res,'钉钉流程号填写');
if(res.data.code == 200){
let data = {
assignList: [],
};
data.processNumber = DingTalkfilling.value.processNumber; //
data.reviewedBy = DingTalkfilling.value.reviewedBy; //
data.auditTime = DingTalkfilling.value.auditTime; //
data.entryTime = DingTalkfilling.value.entryTime; //
data['assignList'] = details.selectionList.map(res => res.id); //ID
console.log(data, '处理好的值');
$_updateWorkList(data).then(res => {
console.log(res, '钉钉流程号填写');
if (res.data.code == 200) {
ElMessage({
message: res.data.msg,
type: 'success',
});
dialogDingTalk.value = false; //
empty();
PagerefreshPublic();//
PagerefreshPublic(); //
}
})
});
};
//
const PagerefreshPublic = () => {
@ -3090,8 +3113,8 @@ const CompletedSubmission = () => {
align-items: center;
justify-content: center;
}
.el_DingTalk{
:deep(.el-input--prefix){
.el_DingTalk {
:deep(.el-input--prefix) {
height: 32px !important;
width: 100%;
}

55
src/views/aftersales/aftersalesWorkOrderAdd.vue

@ -8,7 +8,13 @@
<span> {{ routerState ? '信息查看' : '工单新增' }}</span>
</el-divider> -->
<el-form :model="Indexform" label-width="100px" class="IndexFrom" ref="IndexForm" :rules="rules">
<el-form
:model="Indexform"
label-width="100px"
class="IndexFrom"
ref="IndexForm"
:rules="rules"
>
<el-form-item label="异常类型">
<el-select
v-model="Indexform.workOrderType"
@ -313,14 +319,13 @@
</el-select>
</el-form-item>
<el-form-item label="调查经过" prop="investigationPocess">
<el-form-item label="调查经过" style="height: auto">
<el-input
v-model="Indexform.investigationPocess"
placeholder="请输入调查经过"
clearable
:rows="2"
:rows="5"
type="textarea"
/>
</el-form-item>
@ -421,10 +426,12 @@
</div>
<div class="maxBox el_zb">
<span class="title">占比:</span>
<el-input
<el-input-number
:controls="false"
v-model="item.responsibilityRatio"
placeholder="占比 "
:rows="2"
:min="0"
:max="100"
v-percentage
@input="CompanyProportionInput"
/>
@ -647,7 +654,7 @@
<script setup>
import { ElMessage } from 'element-plus';
import { ElMessageBox} from 'element-plus';
import { ElMessageBox } from 'element-plus';
import { useRouter, useRoute } from 'vue-router';
import { getDictionaryBiz } from '@/api/system/dict'; //
import { getDetailWarehouse, getDeptWarehouse } from '@/api/basicdata/basicdataWarehouse'; //
@ -704,10 +711,8 @@ const ProcessingList = ref([]); //处理结果已经选择的列表
const Paymentmethod = ref([]); //
const rules = reactive({
investigationPocess: [
{ required: true, message: '请填写', trigger: 'change' },
],
})
investigationPocess: [{ required: true, message: '请填写', trigger: 'change' }],
});
const PackageInfo = ref([
//
@ -1049,7 +1054,18 @@ const CompanyProportionInput = () => {
//
const ConfirmForm = () => {
//
//
if(ProcessingList.value.length){
for (let item of ProcessingList.value) {
if (!item.payment) {
ElMessage({
message: `请选择${item.name}的支付方式`,
type: 'warning',
});
return;
}
}
}
console.log(Indexform.value.businessMame, '提货责任方');
let DataSubmit = {
personResponsibleDTO: [],
@ -1122,8 +1138,6 @@ const ConfirmForm = () => {
});
}
DataSubmit.processorEntityList = processorEntityList;
DataSubmit.decreaseImageEntityList = JSON.parse(
JSON.stringify(Indexform.value['decreaseImageEntityList'])
@ -1193,7 +1207,7 @@ const ConfirmForm = () => {
//
FangAddList.value.forEach(item => {
DataSubmit['personResponsibleDTO'].push({
businessName:responsible.value.find(obj => obj.value == item.businessName)?.label || null, //
businessName: responsible.value.find(obj => obj.value == item.businessName)?.label || null, //
businessId: responsible.value.find(obj => obj.value == item.businessName)?.value || null,
wordOrderId: Indexform.value.workOrderNumber, //ID
description: item.description,
@ -1215,8 +1229,10 @@ const ConfirmForm = () => {
FangAddList.value.forEach(item => {
console.log(item, 'item');
processorEntityList.push({
businessName:groundlineType.value != 1?
warehouseData.value.find(obj => obj.value == item.businessName)?.label || null:responsible.value.find(obj => obj.value == item.businessName)?.label || null,
businessName:
groundlineType.value != 1
? warehouseData.value.find(obj => obj.value == item.businessName)?.label || null
: responsible.value.find(obj => obj.value == item.businessName)?.label || null,
businessId: item.businessName,
conditions: 1,
typesOf: 1,
@ -1260,12 +1276,11 @@ const ConfirmForm = () => {
})
.filter(item => item !== null);
DataSubmit.aftersalesProcessingResultsDTO['compensationMethod'] = ProcessingList.value
DataSubmit.aftersalesProcessingResultsDTO['compensationMethod'] = ProcessingList.value
.map(item => item.text)
.join(',');
DataSubmit.aftersalesProcessingResultsDTO['resultType'] = ProcessingList.value
DataSubmit.aftersalesProcessingResultsDTO['resultType'] = ProcessingList.value
.map(item => item.name)
.join(','); //
}

242
src/views/aftersales/aftersalesWorkOrderInfo.vue

@ -114,11 +114,7 @@
</el-form-item>
<el-form-item label="车辆路线" v-if="groundlineSet || groundlineType == 3">
<el-input
v-model="Indexform.vehicleRoute"
placeholder="请输入车辆路线车次号"
clearable
/>
<el-input v-model="Indexform.vehicleRoute" placeholder="请输入车辆路线车次号" clearable />
</el-form-item>
<el-form-item label="发货时间">
@ -274,9 +270,7 @@
/>
</el-select>
</el-form-item>
<el-form-item>
</el-form-item>
<el-form-item> </el-form-item>
</el-form>
<div class="ProcessingResults" v-if="ProcessingList.length">
@ -294,26 +288,21 @@
<div class="Paymentname">
{{ item.payment ? item.text : '支付方式' }}
</div>
<el-date-picker
disabled
v-model="item.compensationTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="理赔支付时间"
/>
</div>
</div>
<div class="el_tool">
<span>总金额:{{ TotalClaimAmount }}</span>
</div>
<el-divider>
<span class="ZFname">理赔支付时间</span>
</el-divider>
<div class="lptime">
<el-date-picker
disabled
v-model="Indexform.compensationTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择运理赔支付时间"
/>
</div>
</div>
<!-- 处理结果说明 -->
<el-form-item label="处理结果说明" class="el_resj">
@ -452,12 +441,13 @@
v-if="PermissionButton.repulse"
v-if="PermissionButton.arbitration_completed"
v-if="PermissionButton.information_editing" -->
<el-button type="primary" @click="addireply">回复</el-button>
<el-button type="primary" @click="addingRecord">处理结果</el-button>
<el-button type="primary" @click="EndJump">完结 </el-button>
<el-button type="primary" @click="BatchReturn">打回 </el-button>
<el-button type="primary" @click="CustomerServiceCompleted">客服仲裁完结 </el-button>
<el-button type="primary" @click="EditInformation">信息编辑</el-button>
<el-button v-if="ButtonPermissions.reply" type="primary" @click="addireply">回复</el-button>
<el-button v-if="ButtonPermissions.ProcessingResults" type="primary" @click="addingRecord">处理结果</el-button>
<el-button v-if="ButtonPermissions.end" type="primary" @click="EndJump">完结 </el-button>
<el-button v-if="ButtonPermissions.repulse" type="primary" @click="BatchReturn">打回 </el-button>
<el-button v-if="ButtonPermissions.ArbitrationCompleted" type="primary" @click="CustomerServiceCompleted">客服仲裁完结 </el-button>
<el-button v-if="ButtonPermissions.edit" type="primary" @click="EditInformation">信息编辑</el-button>
</div>
</el-card>
<!-- 批量打回弹窗 -->
@ -507,7 +497,7 @@ import { useRouter, useRoute } from 'vue-router';
import { getDictionaryBiz } from '@/api/system/dict'; //
import { getDetailWarehouse, getDeptWarehouse } from '@/api/basicdata/basicdataWarehouse'; //
import { AddressClosed } from '@/utils/util';
import { useStore } from "vuex";
import { useStore } from 'vuex';
import {
$_getList,
$_submit,
@ -556,17 +546,17 @@ const HistoricalPackageList = ref([]); //历史包件数组
const HistorIndex = ref(0); //
const TotalClaimAmount = ref(0); //
const dialogReturn = ref(false); //
const ProcessingRecords =ref([]);//
const ProcessingRecordsName=ref([]);//
const ProcessingRecords = ref([]); //
const ProcessingRecordsName = ref([]); //
const repulse = ref(false); //
const amplifyurl = ref(''); //
const amplifysrcList = ref([]); //
const RouteIndexs = ref(''); //
const UserPermissions = ref('');//
const warehouseInfo=ref('');//
const warehouseState=ref(false);//
const UserPermissions = ref(''); //
const warehouseInfo = ref(''); //
const warehouseState = ref(false); //
const $useStore = useStore();
const accessControl= $useStore.getters.permission
const accessControl = $useStore.getters.permission;
const PackageInfo = ref([
//
{ packageCode: '', orderCode: '', waybillNumber: '', brandName: '' },
@ -620,23 +610,22 @@ function updateDictionary(targetArray, dictionaryType) {
});
}
//
getDictionaryBiz('after_sales_visits').then(res => {
console.log(res, '角色字典');
const matchingItem = res.data.data.find(
item => item.dictValue == JSON.parse(localStorage.getItem('TWMS-userInfo')).content.role_name
);
if (matchingItem) {
UserPermissions.value = matchingItem.dictValue;
} else {
UserPermissions.value = '仓库客服';
}
console.log(UserPermissions.value, '当前角色权限');
});
//
getDictionaryBiz('after_sales_visits').then(res => {
console.log(res, '角色字典');
const matchingItem = res.data.data.find(
item => item.dictValue == JSON.parse(localStorage.getItem('TWMS-userInfo')).content.role_name
);
if (matchingItem) {
UserPermissions.value = matchingItem.dictValue;
} else {
UserPermissions.value = '仓库客服';
}
console.log(UserPermissions.value, '当前角色权限');
});
warehouseInfo.value = localStorage.getItem('WarehouseName');
// TOKEN
const headers = computed(() => {
return { 'Blade-Auth': 'Bearer ' + getToken() };
@ -659,52 +648,51 @@ const ImgSuccess = (response, uploadFile) => {
}
};
//
const PermissionButton = computed(() => {
return {
workAdd:accessControl.workAdd,//
batch_return:accessControl.batch_return,//
assign:accessControl.assign,//
apply_arbitration:accessControl.apply_arbitration,//
batch_completion:accessControl.batch_completion,//
representations:accessControl.representations,//
reply:accessControl.reply,//
processing_completed:accessControl.processing_completed,//
work_order_completion:accessControl.work_order_completion,//
repulse:accessControl.repulse,//
arbitration_completed:accessControl.arbitration_completed,//
information_editing:accessControl.information_editing,//
}
});
// const PermissionButtonS = computed(() => {
// return {
// workAdd:accessControl.workAdd,//
// batch_return:accessControl.batch_return,//
// assign:accessControl.assign, //
// apply_arbitration:accessControl.apply_arbitration,//
// batch_completion:accessControl.batch_completion,//
// representations:accessControl.representations,//
// reply:accessControl.reply,//
// processing_completed:accessControl.processing_completed,//
// work_order_completion:accessControl.work_order_completion,//
// repulse:accessControl.repulse,//
// arbitration_completed:accessControl.arbitration_completed,//
// information_editing:accessControl.information_editing,//
// }
// });
return {
workAdd: accessControl.workAdd, //
batch_return: accessControl.batch_return, //
assign: accessControl.assign, //
apply_arbitration: accessControl.apply_arbitration, //
batch_completion: accessControl.batch_completion, //
representations: accessControl.representations, //
reply: accessControl.reply, //
processing_completed: accessControl.processing_completed, //
work_order_completion: accessControl.work_order_completion, //
repulse: accessControl.repulse, //
arbitration_completed: accessControl.arbitration_completed, //
information_editing: accessControl.information_editing, //
};
});
// const PermissionButtonS = computed(() => {
// return {
// workAdd:accessControl.workAdd,//
// batch_return:accessControl.batch_return,//
// assign:accessControl.assign, //
// apply_arbitration:accessControl.apply_arbitration,//
// batch_completion:accessControl.batch_completion,//
// representations:accessControl.representations,//
// reply:accessControl.reply,//
// processing_completed:accessControl.processing_completed,//
// work_order_completion:accessControl.work_order_completion,//
// repulse:accessControl.repulse,//
// arbitration_completed:accessControl.arbitration_completed,//
// information_editing:accessControl.information_editing,//
// }
// });
//
const ButtonPermissions = computed(() => {
// TabPermissions
switch (RouteIndexs.value !='null') {
switch (RouteIndexs.value != 'null') {
case RouteIndexs.value == 0: //
return {
reply: false, //()
ProcessingResults:false, //
ProcessingResults: false, //
end: false, //
repulse: false, //
ArbitrationCompleted:false, //
edit:false, //
ArbitrationCompleted: false, //
edit: false, //
};
case RouteIndexs.value == 1: //
return {
@ -731,7 +719,7 @@ const ButtonPermissions = computed(() => {
end: UserPermissions.value != '仓库客服', //
repulse: UserPermissions.value != '仓库客服', //
ArbitrationCompleted: false, //
edit:UserPermissions.value == '仓库客服', //
edit: UserPermissions.value == '仓库客服', //
};
case RouteIndexs.value == 4: //
return {
@ -769,6 +757,16 @@ const ButtonPermissions = computed(() => {
ArbitrationCompleted: false, //
edit: false, //
};
case RouteIndexs.value == 8: //
return {
reply: UserPermissions.value == '仓库客服', //
ProcessingResults: UserPermissions.value == '仓库客服', //
end: UserPermissions.value != '仓库客服', //
repulse: UserPermissions.value != '仓库客服', //
ArbitrationCompleted: false, //
edit: UserPermissions.value == '仓库客服', //
};
//
default:
return {
@ -820,7 +818,15 @@ const changeProcessingResults = val => {
//
val.forEach(num => {
let newItem = { input: 0, min: 0, max: 9999999999999, state: num + 1, payment: '', text: '' };
let newItem = {
input: 0,
min: 0,
max: 9999999999999,
state: num + 1,
payment: '',
text: '',
compensationTime: '',
};
// numnewItemname
switch (num) {
case '1':
@ -866,10 +872,10 @@ const ResponsiblePartychange = (val, index) => {
});
};
const onLoad = () => {
if($route.query.RouteIndexs!='null'){
RouteIndexs.value = $route.query.RouteIndexs;//
if ($route.query.RouteIndexs != 'null') {
RouteIndexs.value = $route.query.RouteIndexs; //
}
console.log($route.query.id, '页面初始化');
routerState.value = $route.query.routerState;
updateDictionary(IndexException.value, 'pc_work_order'); //
@ -895,13 +901,13 @@ const onLoad = () => {
PackageInfo.value = res.data.data.abnormalPackageVOList;
console.log(res.data.data.abnormalPackageVOList, '包件信息');
//
FangAddList.value = res.data.data.processorVOList
.filter(item => item.typesOf == '1')
.map(res => {
return {
businessName: res.businessId,
};
.filter(item => item && item.typesOf && item.typesOf == '1')
.map(item => {
return { businessName: item.businessId };
});
//
let sum = 0;
res.data.data.personResponsibleVOS.forEach(item => {
@ -916,18 +922,21 @@ const onLoad = () => {
};
});
res.data.data.processorVOList.forEach(item => {
if (item.typesOf == 2) {
//
ProcessingRecords.value.push(item.businessId)
Indexform.value.processor.push(item.businessId);
}
});
if (item) {
if (item.typesOf == 2) {
//
Indexform.value.processor.push(item.businessId);
}
}
});
// let a=['','']
// let b=['']
// let result = b.some(item => a.includes(item));
companyProportion.value = 100 - sum;
ProcessingRecordsName.value = ProcessingRecords.value.filter(item => warehouseData.value.includes(item.value)).label;
console.log( ProcessingRecordsName.value ,'匹配到的中文处理方');
ProcessingRecordsName.value = ProcessingRecords.value.filter(item =>
warehouseData.value.includes(item.value)
).label;
console.log(ProcessingRecordsName.value, '匹配到的中文处理方');
// updateDictionary(columnList[2].checkarr, 'pc_work_order'); //
// updateDictionary(columnList[3].checkarr, 'pc_discovery_node'); //
getDictionaryBiz('result_handling').then(res => {
@ -947,6 +956,7 @@ const onLoad = () => {
payment: item.compensationMethod,
name: item.resultTypeName,
text: item.compensationMethodName,
compensationTime: item.compensationTime,
};
}
);
@ -958,7 +968,6 @@ const onLoad = () => {
//
Indexform.value.resultDescription = res.data.data.processingResultsVO.resultDescription;
});
};
onLoad(); //
//
@ -1535,7 +1544,7 @@ const EndJump = () => {
}
}
.foot_btn {
width: 100%;
width: 100%;
position: fixed;
bottom: 0;
left: 50%;
@ -1577,11 +1586,15 @@ width: 100%;
margin-bottom: 20px;
height: 30px;
width: 30%;
margin-right: 38px;
span {
display: block;
width: 30%;
color: #606266;
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
}
}
}
@ -1592,13 +1605,14 @@ width: 100%;
.name {
width: 10%;
color: #606266;
:deep(.el-input--prefix) {
width: 200px;
}
}
.el-input {
:deep(.el-input) {
width: auto;
}
:deep(.el-input--prefix) {
width: 200px;
}
}
.ZFlptime {
margin: 10px 0;
@ -1615,8 +1629,8 @@ width: 100%;
font-size: 14px;
padding: 10px;
cursor: pointer;
width: 100px;
margin-left: 14px;
width: 180px;
margin: 0 10px;
}
.Paymentname:hover {
border: 1px solid #172e60;
@ -1632,12 +1646,12 @@ width: 100%;
}
.lptime {
height: 30px !important;
:deep(.el-input) {
height: 30px !important;
}
}
:deep(.el-image) {
width: 100% !important;
height: 300px !important;
}
:deep(.el-input) {
height: 100% !important;
}
</style>

63
src/views/aftersales/aftersalesWorkOrderend.vue

@ -548,10 +548,7 @@
>提交</el-button
>
<el-button
v-if="$route.query.index != '0'"
type="primary"
class="button"
<el-button @click="DetermineStorage" v-if="$route.query.index != '0'" type="primary" class="button"
>确定</el-button
>
@ -801,6 +798,7 @@ import {
$_accounting,
$_getList,
$_getProcessor,
$_updateWorkOrderStatus,
} from '@/api/aftersales/aftersalesWorkOrder';
import { columnList, recordList } from '@/option/aftersales/vueTvemp.js';
import { getToken } from '@/utils/auth';
@ -1031,10 +1029,10 @@ const onLoad = () => {
//
//
FangAddList.value = res.data.data.processorVOList
.filter(item => item && item.typesOf && item.typesOf === '1')
.map(item => {
return { businessName: item.businessId };
});
.filter(item => item && item.typesOf && item.typesOf === '1')
.map(item => {
return { businessName: item.businessId };
});
FangAddList.value = res.data.data.personResponsibleVOS.map(res => {
console.log(groundlineType.value, '当前责任方状态');
@ -1047,14 +1045,13 @@ const onLoad = () => {
});
//
res.data.data.processorVOList.forEach(item => {
if(item){
if (item) {
if (item.typesOf == 2) {
//
endFrom.value.processor.push(item.businessId);
MessageResponsibility.value.push(item.businessId);
}
//
endFrom.value.processor.push(item.businessId);
MessageResponsibility.value.push(item.businessId);
}
}
});
console.log(JSON.parse(localStorage.getItem('my_data')).id);
MessageResponsibility.value.push(JSON.parse(localStorage.getItem('my_data')).id);
@ -1096,6 +1093,7 @@ const onLoad = () => {
payment: item.compensationMethod,
name: item.resultTypeName,
text: item.compensationMethodName,
compensationTime: item.compensationTime,
};
}
);
@ -1104,7 +1102,7 @@ const onLoad = () => {
//
TotalClaimAmount.value = res.data.data.processingResultsVO.money;
//
endFrom.value.compensationTime = res.data.data.processingResultsVO.compensationTime;
// endFrom.value.compensationTime = res.data.data.processingResultsVO.compensationTime;
//
endFrom.value.resultDescription = res.data.data.processingResultsVO.resultDescription;
@ -1348,6 +1346,7 @@ const fellSuccess = (response, uploadFile) => {
}
};
//
const ViodSuccess = response => {
if (response.success == true) {
@ -1620,8 +1619,28 @@ const PaymentConfirmation = val => {
console.log(ProcessingList.value, '选择好的支付列表');
};
//
const DetermineStorage=()=>{
$_updateWorkOrderStatus().then(res=>{
console.log(res,'确定提交存储');
})
}
//
const submit = () => {
//
if (ProcessingList.value.length) {
for (let item of ProcessingList.value) {
if (!item.payment) {
ElMessage({
message: `请选择${item.name}的支付方式`,
type: 'warning',
});
return;
}
}
}
console.log(UserPermissions.value, '当前角色');
//
//
@ -1831,15 +1850,15 @@ const replyMessage = () => {
});
};
//
const Nextjump = (res) => {
const Nextjump = res => {
if (res.data) {
if (res.data.data.records.length) {
let dataInfo=res.data.data.records[0]
let dataInfo = res.data.data.records[0];
$router.push({
path: '/aftersales/aftersalesWorkOrderend',
query: {
id: dataInfo.id,
name:dataInfo.workOrderNumber + '-回复',
name: dataInfo.workOrderNumber + '-回复',
businessId: dataInfo.workOrderNumber,
RouterState: 'determine',
index: '0',
@ -1858,7 +1877,7 @@ const ProcessingPartyFun = val => {
data.size = 1; //
$_getProcessor(data).then(res => {
console.log(res, '点击下一条');
Nextjump(res)
Nextjump(res);
});
};
//
@ -1870,7 +1889,7 @@ const IndexTable = val => {
data.size = 1; //
$_getList(data).then(res => {
console.log(res, '点击下一条返回值');
Nextjump(res)
Nextjump(res);
});
};
const Nextpage = ref(0);
@ -2297,6 +2316,10 @@ const CustomerServiceCompleted = () => {
}
}
.el_tool {
display: flex;
align-items: center;
font-size: 16px;
font-weight: bold;
span {
font-size: 14px;
}

70
src/views/aftersales/aftersalesWorkOrdermodify.vue

@ -384,26 +384,20 @@
<div class="Paymentname" @click="PaymentSelection(item)">
{{ item.payment ? item.text : '支付方式' }}
</div>
<el-date-picker
disabled
v-model="item.compensationTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="理赔支付时间"
/>
</div>
</div>
<div class="el_tool">
<span>总金额:{{ TotalClaimAmount }}</span>
</div>
<el-divider>
<span class="ZFname">理赔支付时间</span>
</el-divider>
<div class="lptime">
<!-- <span class="name">理赔支付时间</span> -->
<el-date-picker
v-model="Indexform.compensationTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择运理赔支付时间"
/>
</div>
</div>
<el-tabs type="border-card" class="demo-tabs">
@ -887,11 +881,9 @@ const onLoad = () => {
console.log(unPackageInfo.value, '包件信息');
//
FangAddList.value = res.data.data.processorVOList
.filter(item => item.typesOf == '1')
.map(res => {
return {
businessName: res.businessId,
};
.filter(item => item && item.typesOf && item.typesOf == '1')
.map(item => {
return { businessName: item.businessId };
});
FangAddList.value = res.data.data.personResponsibleVOS.map(res => {
@ -906,12 +898,14 @@ const onLoad = () => {
InitialresponsibleParty.value = JSON.parse(JSON.stringify(FangAddList.value)); //
res.data.data.processorVOList.forEach(item => {
if (item.typesOf == 2) {
//
ProcessingpartyData.value.push(item); //ID
Indexform.value.processor.push(item.businessId);
}
});
if (item) {
if (item.typesOf == 2) {
//
endFrom.value.processor.push(item.businessId);
MessageResponsibility.value.push(item.businessId);
}
}
});
ProcessingParty.value = JSON.parse(JSON.stringify(Indexform.value.processor)); //
console.log(ProcessingParty.value, '拷贝的处理方');
@ -953,6 +947,7 @@ const onLoad = () => {
payment: item.compensationMethod,
name: item.resultTypeName,
text: item.compensationMethodName,
compensationTime:item.compensationTime,
};
}
);
@ -1138,7 +1133,7 @@ const changeProcessingResults = val => {
//
val.forEach(num => {
let newItem = { input: 0, min: 0, max: 9999999999999, state: num + 1, payment: '', text: '' };
let newItem = { input: 0, min: 0, max: 9999999999999, state: num + 1, payment: '', text: '',compensationTime:'' };
// numnewItemname
switch (num) {
case '1':
@ -1311,7 +1306,18 @@ function removeEmptyProperties(obj) {
//
const ConfirmForm = () => {
console.log(ProcessingpartyData.value, '处理方信息');
//
if(ProcessingList.value.length){
for (let item of ProcessingList.value) {
if (!item.payment) {
ElMessage({
message: `请选择${item.name}的支付方式`,
type: 'warning',
});
return;
}
}
}
// console.log(oldData.value,'');
// ...Indexform.value
let DataSubmit = {
@ -2187,7 +2193,8 @@ const ViewPackageDetails = val => {
margin: 10px 0;
}
.Paymentname {
margin-left: 30px;
width: 180px;
margin: 0 10px ;
}
}
.el_handle {
@ -2198,9 +2205,7 @@ const ViewPackageDetails = val => {
}
.lptime {
height: 30px;
:deep(.el-input) {
height: 30px;
}
}
.Paymentname {
display: flex;
@ -2275,4 +2280,7 @@ const ViewPackageDetails = val => {
align-items: center;
justify-content: center;
}
:deep(.el-input) {
height:100% !important;
}
</style>

2
src/views/distribution/deliverylist/distributionDeliveryListedt.vue

@ -3756,7 +3756,7 @@ export default {
handleSign(row) {
this.reservationId = row.id;
let data={
signingId: row.id,
signingId: row.signingId,
}
$_isSignt(data).then(res=>{
console.log(res,'复核预请求');

245
src/views/distribution/turndelivery/deliveryDiscuss.vue

@ -421,80 +421,77 @@
<el-dialog v-model="AddLalog" :title="wrapLoading ? '包件信息' : '在库订单信息'">
<!-- 表格列开始 -->
<!-- data 订单信息 wrapData包件信息 -->
<div v-if="!wrapLoading">
<div class="SoInput" v-if="searchSo" ref="SoHeight">
<el-form label-width="100px" :model="parameter">
<el-form-item label="商场名称:">
<el-input
v-model="parameter.mallName"
clearable
placeholder="请输入商场名称"
/>
</el-form-item>
<el-form-item label="货物名称:">
<el-input
v-model="parameter.descriptionGoods"
placeholder="请输入货物名称"
/>
</el-form-item>
<el-form-item label="运单号:">
<el-input
v-model="parameter.waybillNumber"
clearable
placeholder="请输入运单号"
/>
</el-form-item>
<el-form-item label="订单自编号:">
<el-input
v-model="parameter.orderCode"
clearable
placeholder="请输入订单自编号"
/>
</el-form-item>
<el-form-item label="服务号:">
<el-input
v-model="parameter.serviceNumber"
clearable
placeholder="请输入服务号"
/>
</el-form-item>
<el-form-item label="运单收货单位:">
<el-input
v-model="parameter.consigneeUnit"
clearable
placeholder="请输入运单收货人"
/>
</el-form-item>
<el-form-item label="运单收货人:">
<el-input
v-model="parameter.consigneePerson"
clearable
placeholder="请输入运单收货人"
/>
</el-form-item>
<el-form-item label="顾客地址:">
<el-input
v-model="parameter.customerAddress"
clearable
placeholder="请输入顾客地址"
/>
</el-form-item>
<el-form-item> </el-form-item>
</el-form>
<!-- <div class="SoBtn">
<div v-if="!wrapLoading">
<div class="SoInput" v-if="searchSo" ref="SoHeight">
<el-form label-width="100px" :model="parameter">
<el-form-item label="商场名称:">
<el-input
v-model="parameter.mallName"
clearable
placeholder="请输入商场名称"
/>
</el-form-item>
<el-form-item label="货物名称:">
<el-input
v-model="parameter.descriptionGoods"
placeholder="请输入货物名称"
/>
</el-form-item>
<el-form-item label="运单号:">
<el-input
v-model="parameter.waybillNumber"
clearable
placeholder="请输入运单号"
/>
</el-form-item>
<el-form-item label="订单自编号:">
<el-input
v-model="parameter.orderCode"
clearable
placeholder="请输入订单自编号"
/>
</el-form-item>
<el-form-item label="服务号:">
<el-input
v-model="parameter.serviceNumber"
clearable
placeholder="请输入服务号"
/>
</el-form-item>
<el-form-item label="运单收货单位:">
<el-input
v-model="parameter.consigneeUnit"
clearable
placeholder="请输入运单收货人"
/>
</el-form-item>
<el-form-item label="运单收货人:">
<el-input
v-model="parameter.consigneePerson"
clearable
placeholder="请输入运单收货人"
/>
</el-form-item>
<el-form-item label="顾客地址:">
<el-input
v-model="parameter.customerAddress"
clearable
placeholder="请输入顾客地址"
/>
</el-form-item>
<el-form-item> </el-form-item>
</el-form>
<!-- <div class="SoBtn">
搜索菜单预留按钮
</div> -->
</div>
</div>
</div>
<!-- 包件搜索 -->
<div v-else class="el_package">
<el-form :model="PackageFrom">
<!-- 包件搜索 -->
<div v-else class="el_package">
<el-form :model="PackageFrom">
<el-form-item label="运单号:">
<el-input
v-model="PackageFrom.waybillNumber"
@ -511,7 +508,6 @@
</el-form>
</div>
<!-- 顶部开始 -->
<div class="el-Cart-button">
<!-- 表格顶部左侧按钮 -->
@ -582,7 +578,9 @@
align="center"
>
<template #default="props">
<span>{{ props.row[item.prop] !=null? props.row[item.prop] : '/' }}</span>
<span>{{
props.row[item.prop] != null ? props.row[item.prop] : '/'
}}</span>
</template>
</el-table-column>
</template>
@ -843,7 +841,7 @@ const route = useRoute();
const router = useRouter();
// vuex
const $store = useStore();
console.log($store,'仓库');
console.log($store, '仓库');
//
const numTab = ref([
@ -864,7 +862,7 @@ const pageList = ref([5, 10, 50, 100, 200]); // 选择每页显示多少条
const background = ref(true); //
const disabled = ref(false); // 使
const data = ref([]); //
const PackageFrom=ref({});//
const PackageFrom = ref({}); //
const wrapData = ref([]); //
const wrapLoading = ref(false); //
const dataInfo = ref([]); //
@ -1758,8 +1756,8 @@ async function OrderSelection(id, DataParameter) {
current: currentPage.value, //
size: pageSize.value, //
...DataParameter, //
...PackageFrom.value,//
...parameter.value,//
...PackageFrom.value, //
...parameter.value, //
}).then(res => {
loading.value = false; //
data.value = res.data.data.records;
@ -1778,10 +1776,7 @@ async function OrderSelection(id, DataParameter) {
//
// toggleSelection(false, dataId, data.value);
console.log(
res.data.data.records,
'在库订单信息'
);
console.log(res.data.data.records, '在库订单信息');
total.value = res.data.data.total; //
});
}
@ -1797,9 +1792,9 @@ function dataTabInfo() {
}
//
const AddInfo = () => {
PackageFrom.value={};//
parameter.value={};//
currentPage.value=1;//
PackageFrom.value = {}; //
parameter.value = {}; //
currentPage.value = 1; //
// if (soInpuState.value) {
// ElMessage({
// showClose: true,
@ -1938,7 +1933,6 @@ const soclear = () => {
SearchFu();
};
function scrollToElementWithinTableRow(partialIdString) {
//
const tableRows = document.querySelectorAll('tr');
@ -2128,14 +2122,13 @@ const findIndexById = id => {
};
//
const PackageFn=()=>{
const PackageFn = () => {
//;
//
if (RouteId.value) {
console.log(wrapLoading.value, '当前为编辑状态');
$_getPackageListByDeliveryIdAndOrderId({
...PackageFrom.value,//
...PackageFrom.value, //
current: 1,
size: 100,
deliveryId: RouteId.value,
@ -2168,7 +2161,7 @@ const PackageFn=()=>{
//
//
$_getPackageListByStockArticleId({
...PackageFrom.value,//
...PackageFrom.value, //
id: Packageow.value.id,
current: 1,
size: 100,
@ -2185,7 +2178,7 @@ const PackageFn=()=>{
console.log(res.data.data.records, '查看下面的包件');
});
//
console.log('当前为新增状态');
console.log(Packageow.value, Packageow.value.id, '查看包件事件');
//
@ -2194,17 +2187,14 @@ const PackageFn=()=>{
console.log(wrapDataInfo, '订单');
}
editLoading.value = false; //
}
};
//
const ViewEvent = val => {
wrapData.value=[]
loading.value = true; //
PackageFrom.value={}//
parameter.value={}//
PackageFrom.value = {}; //
parameter.value = {}; //
Packageow.value = val;
wrapLoading.value = true; //
AddLalog.value = true; //
@ -2212,8 +2202,8 @@ const ViewEvent = val => {
dataId.value = findIndexById(val.id);
//;
//
PackageFn()
return
PackageFn();
return;
if (RouteId.value) {
console.log(wrapLoading.value, '当前为编辑状态');
$_getPackageListByDeliveryIdAndOrderId({
@ -2423,33 +2413,32 @@ const search = () => {
//
const SoInput = () => {
loading.value = true; //
currentPage.value = 1;//
currentPage.value = 1; //
console.log('点击了搜索功能');
if(!wrapLoading.value){
if (kind.value) {
OrderSelection(0, parameter.value);
if (!wrapLoading.value) {
if (kind.value) {
OrderSelection(0, parameter.value);
} else {
OrderSelection(1, parameter.value);
}
} else {
OrderSelection(1, parameter.value);
PackageFn();
}
}else{
PackageFn()
}
};
//
const SoEmpty = () => {
if(!wrapLoading.value){
if (!wrapLoading.value) {
parameter.value = {};
if (kind.value) {
OrderSelection(0);
if (kind.value) {
OrderSelection(0);
} else {
OrderSelection(1);
}
} else {
OrderSelection(1);
}
}else{
PackageFrom.value={}
PackageFn()
PackageFrom.value = {};
PackageFn();
}
};
// ID
@ -2638,6 +2627,13 @@ const merge = (val, kindS) => {
});
return;
}
if (!DataSubmit.value.taskTime) {
ElMessage({
message: '请填写配送日期',
type: 'warning',
});
return;
}
//
//
@ -2691,8 +2687,6 @@ const moveUpVehictle = row => {
//
const SubmitCommercial = () => {
// kind
console.log(kind.value);
if (kind.value) {
@ -2714,7 +2708,7 @@ const SubmitCommercial = () => {
DataSubmit.value.stockArticle = dataInfo.value; //
//
//
editLoading.value = true;//
editLoading.value = true; //
if (RouteId.value) {
if (!kind.value) {
delete DataSubmit.value.allocationInfo; //
@ -2724,21 +2718,20 @@ const SubmitCommercial = () => {
DataSubmitRenamed.stockupInfo = DataSubmit.value.stockup; //,
DataSubmitRenamed.id = RouteId.value; //ID
updateDeliveryList(DataSubmitRenamed).then(res => {
editLoading.value = false;//
editLoading.value = false; //
console.log(res, '修改之后提交的返回值');
$store.commit('DEL_TAG_CURRENT'); //
router.push('/distribution/inventory/distrilbutionBillLadingList');
});
} else {
//
deliveryBusinessTask(DataSubmit.value).then(res => {
console.log(res, '新增之后的返回值');
//
editLoading.value = false;//
editLoading.value = false; //
$store.commit('DEL_TAG_CURRENT'); //
router.push('/distribution/inventory/distrilbutionBillLadingList');
});
}
@ -3301,8 +3294,8 @@ const SubmitCommercial = () => {
background-color: #ff0000;
color: #fff;
}
.el_package{
:deep(.el-form){
.el_package {
:deep(.el-form) {
justify-content: flex-start !important;
}
}

Loading…
Cancel
Save