Browse Source

修复客服已知bug

pre-production
马远东 4 months ago
parent
commit
e7e8780fd6
  1. 21
      src/views/aftersales/aftersalesWorkOrder.vue
  2. 15
      src/views/aftersales/aftersalesWorkOrderAdd.vue
  3. 62
      src/views/aftersales/aftersalesWorkOrderInfo.vue
  4. 66
      src/views/aftersales/aftersalesWorkOrderend.vue
  5. 240
      src/views/aftersales/aftersalesWorkOrdermodify.vue
  6. 20
      src/views/waybill/orderPackageList.vue

21
src/views/aftersales/aftersalesWorkOrder.vue

@ -934,7 +934,7 @@
default-first-option
:reserve-keyword="false"
placeholder="请选择客服"
collapse-tags
collapse-tags
:max-collapse-tags="2"
>
<el-option
@ -1579,7 +1579,7 @@ const ButtonPermissions = computed(() => {
Batchdetermination: false, //
ManagerConfirmed: false, //
ArbitrationDetermination: false, //
Financial_accounting: UserPermissions.value != '仓库客服' && !AppealStatusT.value, //
Financial_accounting: UserPermissions.value != '仓库客服' && !AppealStatusT.value, //
defaultassignments: false, //
export_Report: true, //
Timed_outexport: false, //
@ -1792,9 +1792,16 @@ const IndexTable = (val, Refresh) => {
updateDictionary(columnList[10].checkarr, 'work_order_status'); //
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
//
const roleNames = JSON.parse(localStorage.getItem('TWMS-userInfo')).content.role_name.split(
','
);
//
const matchingItem = res.data.data.find(item => roleNames.includes(item.dictValue));
console.log(matchingItem, 'matchingItem');
if (matchingItem) {
UserPermissions.value = matchingItem.dictValue;
@ -2510,6 +2517,8 @@ const DetermineClaims = val => {
})
.catch(res => {
details.loadingObj.list = false; //
}).finally(()=>{
pageLoad.value = false;
});
})
@ -3234,7 +3243,7 @@ const DataRendering = (val, input, Refresh) => {
ArbitrationStatus.value = false; //
IndexTable(data, Refresh);
} else if (val == 6 && arbitrationTemp.value==1) {
} else if (val == 6 && arbitrationTemp.value == 1) {
//
console.log('申诉列表');
data.workOrderStatus = null;
@ -5034,7 +5043,7 @@ const AssignSubmission = () => {
}
}
.el_Customer {
width: 440px;
width: 440px;
#bodys {
height: 300px !important;
}

15
src/views/aftersales/aftersalesWorkOrderAdd.vue

@ -833,7 +833,7 @@ const ruleForm = reactive({
brandName: [{ required: false, message: '请输入品牌', trigger: ['bulr', 'change'] }],
businessId: [{ required: true, message: '请选择责任方', trigger: ['bulr', 'change'] }],
personResponsibleId: [{ required: true, message: '请输入责任人', trigger: ['bulr', 'change'] }],
responsibilityRatio: [{ required: true, message: '请输入占比', trigger: ['bulr', 'change'] }],
responsibilityRatio: [{ required: false, message: '请输入占比', trigger: ['bulr', 'change'] }],
tripartite: [{ required: false, message: '请输入三方责任人', trigger: ['bulr', 'change'] }],
description: [{ required: true, message: '请输入说明', trigger: ['bulr', 'change'] }],
money: [{ required: true, message: '请输入金额', trigger: ['bulr', 'change'] }],
@ -1569,20 +1569,23 @@ const onSubmit = () => {
Responsibleperson = item.ResponsibleoNameptions.find(
res => res.id == item.personResponsibleId
);
if (form.value.groundlineType == '1') {
data.personResponsibleName = item.personResponsibleId; //
data.businessName = item.Processingoptions.find(
res => res.value == item.businessId
).label; //
data.businessId = item.businessId; //id
} else {
data.personResponsibleId = Responsibleperson ? item.personResponsibleId : ''; //id
} else {
data.personResponsibleId = Responsibleperson ? Responsibleperson.id : null; //id
data.personResponsibleName = Responsibleperson
? Responsibleperson.name
: item.personResponsibleId; //
data.businessName = item.Responsibleoptions.find(
res => res.value == item.businessId
).label; //
)?.label || ''; //
data.businessId = item.businessId; //id
}
// ID
@ -1664,7 +1667,11 @@ const onSubmit = () => {
//()
if (form.value.Processed) {
submitData.workOrderStatus = 30;
submitData.resultIdentification=1;
}else{
submitData.resultIdentification=2;
}
delete submitData.result; //
//()
delete submitData.processor;

62
src/views/aftersales/aftersalesWorkOrderInfo.vue

@ -590,7 +590,7 @@
type="primary"
v-if="PermissionButton.information_editing"
@click="EditInformation"
>修改提交</el-button
>修改内部责任划分</el-button
>
<el-button
type="primary"
@ -853,6 +853,7 @@ const msgHight = ref(100); //聊天框消息高度
const msgTop = ref(0); //
const msgState = ref(0);
const Msgloading = ref(false);
const founderform = ref({}); //
const TotalamountCompensation = ref(0); //
const TotalamountReceived = ref(0); //
const BatchFrom = ref({}); //
@ -1076,7 +1077,7 @@ const pictureList = val => {
amplifyurl.value = val.url;
};
//
const displaySettings = computed(() => {
const displaySettings = computed(() => {
return {
trainNumber: ['3', '5', '7', '6'].includes(Indexform.value.discoveryNode), //
deliveryTime: ['5', '7', '6'].includes(Indexform.value.discoveryNode), //
@ -1110,10 +1111,9 @@ const Completionpermissions = computed(() => {
Mydata.value = JSON.parse(myDataStr);
}
if (CompensationParty.value && CompensationParty.value.length) {
if (CompletedView.value.includes(Mydata.value.id) || UserPermissions.value != '仓库客服') {
return true;
}
}
}
return false;
});
@ -1123,9 +1123,16 @@ const onLoad = async () => {
Mydata.value = await JSON.parse(localStorage.getItem('my_data')); //
}
getDictionaryBiz('after_sales_visits').then(async res => {
const matchingItem = res.data.data.find(
item => item.dictValue == JSON.parse(localStorage.getItem('TWMS-userInfo')).content.role_name
console.log(res, 'res====>');
let userInfo = JSON.parse(localStorage.getItem('TWMS-userInfo')); //
//
const roleNames = JSON.parse(localStorage.getItem('TWMS-userInfo')).content.role_name.split(
','
);
//
const matchingItem = res.data.data.find(item => roleNames.includes(item.dictValue));
console.log(matchingItem, 'matchingItem'); //
if (matchingItem) {
UserPermissions.value = matchingItem.dictValue; //
} else {
@ -1139,6 +1146,9 @@ const onLoad = async () => {
await handle(); //
$_getInfo({ id: $route.query.id }).then(res => {
console.log(res, '信息res==》');
console.log(Mydata.value, 'Mydata.value');
pageState.value = false; //
if ($route.query.Routstate) {
appeal.value = true;
@ -1148,10 +1158,16 @@ const onLoad = async () => {
console.log(res, '回显返回值参数');
Indexform.value = res.data.data;
if (res.data.data.warehouseId == Mydata.value.id) {
if (res.data.data.createUser == userInfo.content.user_id) {
//
warehouseIdState.value = true;
} else {
warehouseIdState.value = false;
}
console.log(res.data.data.createUser,'工单创建人');
console.log(userInfo.content.user_id,'系统登录人');
Indexform.value['result'] = [];
Indexform.value['processor'] = [];
Indexform.value['processorEntityList'] = []; //
@ -1217,11 +1233,11 @@ const onLoad = async () => {
console.log(res, '发现环节');
ProcessingResults.value = res.data.data;
});
//
//
if (res.data.data.processingResultsVO.processingMoneyEntityList) {
ProcessingList.value = res.data.data.processingResultsVO.processingMoneyEntityList.map(
item => {
Indexform.value.result.push(item.resultType);
Indexform.value.result.push(item.resultType);
return {
money: item.money + '元',
state: item.resultType,
@ -1307,18 +1323,18 @@ const onLoad = async () => {
};
onLoad(); //
const isAppeal = appeal.value;
const userRole = UserPermissions.value; //
const routeIndex = $route.query.RouteIndexs; //
const workOrderStatus = $route.query.workOrderStatus; //
const isWarehouseCustomerService = userRole === '仓库客服'; //
const isHeadquarterCustomerServiceManager = userRole === '总部客服经理'; //
const isWarehouseIdState = warehouseIdState.value;
let isAppeal = appeal.value;
let userRole = UserPermissions.value; //
let routeIndex = $route.query.RouteIndexs; //
let workOrderStatus = $route.query.workOrderStatus; //
let isWarehouseCustomerService = userRole === '仓库客服'; //
let isHeadquarterCustomerServiceManager = userRole === '总部客服经理'; //
//
const isProcessingResults = () => {
if (workOrderStatus == '10' || workOrderStatus == '20') {
return true;
}
return false;
};
//
@ -1328,6 +1344,7 @@ const isWorkOrderCompletion = () => {
return true;
}
}
return false;
};
//
@ -1337,6 +1354,7 @@ const isRepulse = () => {
return true;
}
}
return false;
};
//
@ -1346,6 +1364,7 @@ const Resultreturned = () => {
return true;
}
}
return false;
};
//
@ -1355,10 +1374,16 @@ const isApplyArbitration = () => {
return true;
}
}
return false;
};
//
const isInformationEditing = () => {
if (UserPermissions.value == '仓库客服' && warehouseIdState.value) {
if (['10', '20', '90'].includes(workOrderStatus)) {
return true;
}
}
return false;
};
@ -1369,6 +1394,7 @@ const isProcessingConfirmation = () => {
return true;
}
}
return false;
};
//
@ -1376,6 +1402,7 @@ const isResultDetermination = () => {
if (workOrderStatus == '21') {
return true;
}
return false;
};
//
@ -1385,6 +1412,7 @@ const isConfirmReview = () => {
return true;
}
}
return false;
};
//
const Appealestablished = () => {
@ -1393,6 +1421,7 @@ const Appealestablished = () => {
return true;
}
}
return false;
};
//
@ -1402,6 +1431,7 @@ const Appealrejection = () => {
return true;
}
}
return false;
};
//

66
src/views/aftersales/aftersalesWorkOrderend.vue

@ -223,7 +223,7 @@
label="调查经过"
v-if="displaySettings.investigationProcess"
>
<el-input v-model="endFrom.typeServiceName" disabled />
<el-input v-model="endFrom.investigationProcess" disabled />
</el-form-item>
</div>
</div>
@ -231,7 +231,7 @@
</el-tabs>
<el-tabs type="border-card" class="Responsible_box" v-if="FangAddList.length">
<el-tab-pane label="责任方信息">
<el-tab-pane label="内部责任划分">
<div class="ResponsibilityBox">
<div></div>
<div class="el_btbox" v-for="(item, index) in FangAddList" :key="index">
@ -452,7 +452,12 @@
:class="{ payanindemnity_title: item.state == 0 }"
:label="item.state == 0 ? '赔款方' : '受款方'"
>
<el-select style="width: 200px;" v-model="item.warehouseId" filterable placeholder="请选择仓库">
<el-select
style="width: 200px"
v-model="item.warehouseId"
filterable
placeholder="请选择仓库"
>
<el-option
v-for="item in warehouseData"
:key="item.value"
@ -617,7 +622,12 @@
@click="submitresults(4)"
>处理结果修改保存</el-button
>
<el-button
type="primary"
v-if="PermissionButton.information_editing"
@click="EditInformation"
>修改内部责任划分</el-button
>
<!-- <el-button
@click="DetermineStorage"
v-if="$route.query.RouteIndexs != '0'"
@ -1101,6 +1111,7 @@ const details = reactive({
const TransportChange = val => {
console.log(val, '运损触发事件');
};
const warehouseIdState = ref(false); //
//
async function updateDictionary(targetArray, dictionaryType) {
await getDictionaryBiz(dictionaryType).then(res => {
@ -1136,7 +1147,7 @@ const Saveresults = () => {
};
//
const Processingresultmodification = () => {
if (['90'].includes($route.query.workOrderStatus)) {
if (['90','21'].includes($route.query.workOrderStatus)) {
return true;
}
};
@ -1156,6 +1167,15 @@ const Processingresultdisabled = () => {
return true;
}
};
//
const isInformationEditing = () => {
if (UserPermissions.value == '仓库客服' && warehouseIdState.value) {
if (['10', '20', '90'].includes($route.query.workOrderStatus)) {
return true;
}
}
return false;
};
//
const PermissionButton = computed(() => ({
@ -1165,6 +1185,7 @@ const PermissionButton = computed(() => ({
Arbitration_completed: Arbitrationcompleted(), //
Processing_result_modification: Processingresultmodification(), //
Processing_result_disabled: Processingresultdisabled(), //
information_editing:isInformationEditing(), //
}));
//
@ -1181,12 +1202,14 @@ const onLoad = async () => {
}); //
//
getDictionaryBiz('after_sales_visits')
.then(res => {
.then( async res => {
console.log(res, '角色字典');
const matchingItem = res.data.data.find(
item =>
item.dictValue == JSON.parse(localStorage.getItem('TWMS-userInfo')).content.role_name
//
const roleNames = JSON.parse(localStorage.getItem('TWMS-userInfo')).content.role_name.split(
','
);
//
const matchingItem = res.data.data.find(item => roleNames.includes(item.dictValue));
if (matchingItem) {
UserPermissions.value = matchingItem.dictValue;
} else {
@ -1196,6 +1219,7 @@ const onLoad = async () => {
Chathistory(); //
//
if ($route.query.id) {
let userInfo = await JSON.parse(localStorage.getItem('TWMS-userInfo')); //
console.log($route.query);
routerState.value = $route.query.RouterState; //
console.log(routerState.value, '当前状态');
@ -1206,7 +1230,12 @@ const onLoad = async () => {
endFrom.value.result = [];
endFrom.value.processor = [];
endFrom.value.packageImage = [];
if (res.data.data.createUser == userInfo.content.user_id) {
//
warehouseIdState.value = true;
} else {
warehouseIdState.value = false;
}
//
if (res.data.data.discoveryNode == '1') {
groundlineType.value = '1';
@ -1263,7 +1292,7 @@ const onLoad = async () => {
//
res.data.data.processorVOList.forEach(item => {
if (item) {
if (item.typesOf == '2' && item.processingStatus == '1') {
if (item.typesOf == '2') {
//
endFrom.value.processor.push(item.businessId);
MessageResponsibility.value.push(item.businessId);
@ -2120,7 +2149,20 @@ const Nextjump = res => {
}
}
};
const EditInformation = () => {
$router.push({
path: '/aftersales/aftersalesWorkOrdermodify',
query: {
id: $route.query.id,
name: $route.query.workOrderNumber + '-编辑',
businessId: $route.query.businessId,
warehouseId: $route.query.warehouseId,
workOrderNumber: $route.query.workOrderNumber,
RouterState: 'Infoedit',
workOrderStatus: $route.query.workOrderStatus, //
},
});
};
//
const ProcessingPartyFun = val => {
let data = {

240
src/views/aftersales/aftersalesWorkOrdermodify.vue

@ -31,7 +31,7 @@
placeholder="请选择异常类型"
style="width: 100%"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
>
<el-option
v-for="item in Exceptionoptions"
@ -50,7 +50,7 @@
style="width: 100%"
@change="DiscoveringNodesChange"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
>
<el-option
v-for="item in Discoveringoptions"
@ -94,7 +94,7 @@
v-model="item.packageCode"
placeholder="请输入包条码"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
@ -107,7 +107,7 @@
v-model="item.waybillNumber"
placeholder="请输入运单号"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
@ -120,7 +120,7 @@
v-model="item.orderCode"
placeholder="请输入订单自编号"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
@ -129,12 +129,7 @@
:prop="`PackageList[${index}.first]`"
:rules="ruleForm.first"
>
<el-input
v-model="item.first"
placeholder="请输入一级品"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
/>
<el-input v-model="item.first" placeholder="请输入一级品" clearable disabled />
</el-form-item>
<el-form-item
@ -146,7 +141,7 @@
v-model="item.secondary"
placeholder="请输入二级品"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
@ -160,13 +155,10 @@
placeholder="品牌(有则自动带出)"
disabled
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
/>
</el-form-item>
<div
v-if="['3', '5', '6'].includes(form.basis.discoveryNode)"
style="width: 20%; display: flex"
>
<!-- v-if="['3', '5', '6'].includes(form.basis.discoveryNode)" -->
<div v-if="false" style="width: 20%; display: flex">
<el-button
v-if="!index && workOrderStatus == NumberState.Numbe_ten"
type="primary"
@ -225,7 +217,7 @@
style="width: 100%"
clearable
@change="DeliveryTrainnumber"
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
>
<template v-if="form.basis.discoveryNode == 3">
<el-option
@ -262,7 +254,7 @@
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择配送时间"
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
@ -275,7 +267,7 @@
v-model="form.basis.deliveryDriver"
placeholder="请输配送司机"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
@ -288,7 +280,7 @@
v-model="form.basis.vehicleRoute"
placeholder="请输入车辆线路"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
@ -304,7 +296,7 @@
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择发货时间"
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
@ -320,7 +312,7 @@
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择入库时间"
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
@ -336,7 +328,7 @@
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择发现时间"
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
<!-- 初始必填 -->
@ -349,7 +341,7 @@
v-model="form.basis.waybillMall"
placeholder="请输入运单商场"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
<!-- 初始必填 -->
@ -363,7 +355,6 @@
placeholder="合作模式(有则自动带出)"
disabled
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
/>
</el-form-item>
<!-- 初始必填 -->
@ -381,7 +372,7 @@
multiple
filterable
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
>
<el-option
v-for="item in Processingoptions"
@ -405,7 +396,7 @@
type="textarea"
:autosize="{ minRows: 1, maxRows: 10 }"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
disabled
/>
</el-form-item>
</div>
@ -438,7 +429,7 @@
style="width: 100%"
clearable
filterable
:disabled="workOrderStatus != NumberState.Numbe_ten"
:disabled="item.inputDisplay"
>
<el-option
v-for="items in item.Processingoptions"
@ -455,7 +446,7 @@
clearable
filterable
@change="ResponsiblePartychange(item)"
:disabled="workOrderStatus != NumberState.Numbe_ten"
:disabled="item.inputDisplay"
>
<el-option
v-for="items in item.Responsibleoptions"
@ -477,7 +468,7 @@
v-model="item.personResponsibleId"
placeholder="请输入责任人"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
:disabled="item.inputDisplay"
/>
<el-select
v-else
@ -487,7 +478,7 @@
clearable
allow-create
default-first-option
:disabled="workOrderStatus != NumberState.Numbe_ten"
:disabled="item.inputDisplay"
>
<el-option
v-for="items in item.ResponsibleoNameptions"
@ -510,7 +501,6 @@
:max="item.ProportionMax"
:controls="false"
:value-on-clear="0"
:disabled="workOrderStatus != NumberState.Numbe_ten"
/>
</el-form-item>
<el-form-item
@ -522,7 +512,7 @@
v-model="item.tripartite"
placeholder="请输入三方责任人"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
:disabled="item.inputDisplay"
/>
</el-form-item>
<el-form-item
@ -538,12 +528,12 @@
type="textarea"
:autosize="{ minRows: 1, maxRows: 4 }"
clearable
:disabled="workOrderStatus != NumberState.Numbe_ten"
:disabled="item.inputDisplay"
/>
</el-form-item>
<el-button
v-if="!index && workOrderStatus == NumberState.Numbe_ten"
v-if="!index"
type="primary"
class="el_addPackage"
@click="AddResponsible"
@ -553,7 +543,7 @@
>
<el-button
style="margin-top: 2px"
v-if="index && workOrderStatus == NumberState.Numbe_ten"
v-if="!item.inputDisplay"
type="primary"
@click="Responsemoval(index)"
>
@ -576,6 +566,7 @@
v-model="form.ProcessingTab"
class="demo-tabs Processingresults"
v-loading="form.Packageloading"
v-if="form.basis.result?.length"
>
<el-tab-pane
label="处理结果-理赔金额"
@ -590,7 +581,7 @@
clearable
multiple
@change="Claimssettlement"
:disabled="workOrderStatus != NumberState.twenty_one"
disabled
>
<el-option
v-for="item in Processingresultsoptions"
@ -977,7 +968,7 @@ const ruleForm = reactive({
investigationProcess: [
{ required: true, message: '请输入调查经过', trigger: ['bulr', 'change'] },
],
result: [{ required: true, message: '请输选择处理结果', trigger: ['bulr'] }],
result: [{ required: false, message: '请输选择处理结果', trigger: ['bulr'] }],
processor: [{ required: true, message: '请输入处理方', trigger: ['bulr'] }],
},
@ -990,14 +981,14 @@ const ruleForm = reactive({
businessId: [{ required: true, message: '请选择责任方', trigger: ['bulr', 'change'] }],
personResponsibleId: [{ required: true, message: '请输入责任人', trigger: ['bulr', 'change'] }],
responsibilityRatio: [{ required: true, message: '请输入占比', trigger: ['bulr', 'change'] }],
tripartite: [{ required: true, message: '请输入三方责任人', trigger: ['bulr', 'change'] }],
responsibilityRatio: [{ required: false, message: '请输入占比', trigger: ['bulr', 'change'] }],
tripartite: [{ required: false, message: '请输入三方责任人', trigger: ['bulr', 'change'] }],
description: [{ required: true, message: '请输入说明', trigger: ['bulr', 'change'] }],
money: [{ required: true, message: '请输入金额', trigger: ['bulr', 'change'] }],
paymentUnit: [{ required: true, message: '请输入支付单位', trigger: ['bulr', 'change'] }],
compensationTime: [{ required: true, message: '请输选择支付时间', trigger: ['bulr', 'change'] }],
money: [{ required: false, message: '请输入金额', trigger: ['bulr', 'change'] }],
paymentUnit: [{ required: false, message: '请输入支付单位', trigger: ['bulr', 'change'] }],
compensationTime: [{ required: false, message: '请输选择支付时间', trigger: ['bulr', 'change'] }],
compensationMethod: [
{ required: true, message: '请输选择支付方式', trigger: ['bulr', 'change'] },
{ required: false, message: '请输选择支付方式', trigger: ['bulr', 'change'] },
],
});
const ResponsibleParty = ref([]); //
@ -1019,9 +1010,10 @@ const workOrderStatus = computed(() => {
//
const Modificationsubmission = () => {
if ($route.query.workOrderStatus == '10') {
return true;
}
if (['10','90'].includes($route.query.workOrderStatus)) {
return true;
}
return false
};
//
const Appealestablished = () => {
@ -1030,12 +1022,14 @@ const Appealestablished = () => {
return true;
}
}
return false
};
//
const resultmodification = () => {
if ($route.query.workOrderStatus == '21') {
return true;
}
return false
};
//
const NumberState = computed(() => {
@ -1241,6 +1235,7 @@ const getPageData = async () => {
description: item.description, //
tripartite: item.tripartite, //
ProportionMax: 100, //
inputDisplay: true,
valueId: item.id,
Processingoptions: [
//
@ -1486,6 +1481,7 @@ const AddResponsible = () => {
description: '', //
tripartite: '', //
ProportionMax: 100, //
inputDisplay: false, //
Processingoptions: [
//
...ResponsibleParty.value,
@ -1939,28 +1935,28 @@ const onSubmit = () => {
});
return;
}
//
if (form.value.groundlineType == '1') {
if (form.value.fileList.length < 2) {
ElMessage({
message: '请上传最低2张图片附件',
type: 'warning',
});
return;
}
}
//
if (form.value.groundlineType == '3') {
if (!form.value.fileList.length) {
ElMessage({
message: '请上传图片附件',
type: 'warning',
});
return;
}
}
// //
// if (form.value.groundlineType == '1') {
// if (form.value.fileList.length < 2) {
// ElMessage({
// message: '2',
// type: 'warning',
// });
// return;
// }
// }
// //
// if (form.value.groundlineType == '3') {
// if (!form.value.fileList.length) {
// ElMessage({
// message: '',
// type: 'warning',
// });
// return;
// }
// }
const message = `注意信息填写正确!点击确定将<span style="color: red;">提交工单</span>是否继续?`;
const message = `注意信息填写正确!点击确定将<span style="color: red;">提交修改工单</span>是否继续?`;
ElMessageBox.confirm(message, '提示', {
dangerouslyUseHTMLString: true, // HTML
confirmButtonText: '确认',
@ -2044,6 +2040,12 @@ const onSubmit = () => {
tripartite: item.tripartite, //
description: item.description, //
};
//
let Responsibleperson = item.ResponsibleoNameptions.find(
res => res.id == item.personResponsibleId
);
console.log(Responsibleperson,'Responsibleperson');
if (form.value.groundlineType == '1') {
data.personResponsibleName = item.personResponsibleId; //
data.businessName = item.Processingoptions.find(
@ -2051,15 +2053,17 @@ const onSubmit = () => {
).label; //
data.businessId = item.businessId; //id
} else {
data.personResponsibleId = item.personResponsibleId; //id
(data.personResponsibleName = item.ResponsibleoNameptions.find(
res => res.id == item.personResponsibleId
).name), //
(data.businessName = item.Responsibleoptions.find(
res => res.value == item.businessId
).label); //
data.personResponsibleId = Responsibleperson? Responsibleperson.id:null; //id
data.personResponsibleName = item.ResponsibleoNameptions.find(res => res.id == item.personResponsibleId)?.name || item.personResponsibleId; //
data.businessName = item.Responsibleoptions.find(
res => res.value == item.businessId
).label; //
data.businessId = item.businessId; //id
}
// ID
if (!data.personResponsibleId) {
delete data.personResponsibleId;
}
submitData['personResponsibleDTO'].push(data);
});
}
@ -2091,17 +2095,19 @@ const onSubmit = () => {
};
let PlayName = []; //
form.value.Claimamount.forEach(item => {
PlayName.push(item.Paymentmethod.find(res => res.value == item.compensationMethod).label);
PlayName.push(
item.Paymentmethod.find(res => res.value == item.compensationMethod)?.label || ''
);
submitData.aftersalesProcessingResultsDTO['processingMoneyEntityList'].push({
compensationMethodName: item.Paymentmethod.find(
res => res.value == item.compensationMethod
).label, //
compensationMethodName:
item.Paymentmethod.find(res => res.value == item.compensationMethod)?.label || '', //
compensationMethod: item.compensationMethod, //value
compensationTime: item.compensationTime, //
money: item.money, //
paymentUnit: item.paymentUnit, //
resultName: item.title, //
resultType: Processingresultsoptions.value.find(res => res.label == item.title).value, // value
resultType:
Processingresultsoptions.value.find(res => res.label == item.title)?.value || '', // value
typesOf: 1, //
});
});
@ -2128,36 +2134,42 @@ const onSubmit = () => {
//
if (form.value.Processed) {
submitData.workOrderStatus = 30;
submitData.resultIdentification=1;
}else{
submitData.resultIdentification=2;
}
$_modifyData(submitData)
.then(res => {
ElMessage({
message: res.data.msg || '创建成功',
type: 'success',
});
if (res.data.code == 200) {
form.value.Pageloading = false; //
ElMessageBox.confirm('当前工单操作成功,是否继续操作?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '返回',
type: 'warning',
})
.then(async () => {
form.value = await deepClone(formCopy.value); //
await PageState();
await ruleFormRef.value.resetFields();
form.value.Pageloading = false; //
})
.catch(() => {
$useStore.commit('DEL_TAG_CURRENT'); //
$router.push({
path: '/aftersales/aftersalesWorkOrder',
});
});
ElMessage({
message: res.data.msg,
type: 'success',
});
$useStore.commit('DEL_TAG_CURRENT'); //
$router.push('/aftersales/aftersalesWorkOrder');
// ElMessageBox.confirm(',?', '', {
// confirmButtonText: '',
// cancelButtonText: '',
// type: 'warning',
// })
// .then(async () => {
// form.value = await deepClone(formCopy.value); //
// await PageState();
// await ruleFormRef.value.resetFields();
// form.value.Pageloading = false; //
// })
// .catch(() => {
// $useStore.commit('DEL_TAG_CURRENT'); //
// $router.push({
// path: '/aftersales/aftersalesWorkOrder',
// });
// });
}
})
.catch(error => {
console.log(error, 'error');
})
.finally(() => {
form.value.Pageloading = false; //
});
});
@ -2174,13 +2186,13 @@ const AppealEditor = () => {
console.log(form.value.completion);
let completion = form.value;
let _warehouseId = form.value.completion.find(res => res.state == 1 && !res.warehouseId);
if (_warehouseId) {
ElMessage({
message: `有赔款方仓库未选择`,
type: 'warning',
});
return;
}
if (_warehouseId) {
ElMessage({
message: `有赔款方仓库未选择`,
type: 'warning',
});
return;
}
ElMessageBox.confirm('是否提交完结信息?', '完结', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -2658,4 +2670,12 @@ const TabactiveClick = (a, b) => {
font-weight: bold;
}
}
:deep(.placeholder) {
.el-tabs {
height: 100%;
.el-tabs__content {
display: none;
}
}
}
</style>

20
src/views/waybill/orderPackageList.vue

@ -103,6 +103,7 @@
>
批量入库
</el-button>
<el-button type="primary" icon="Download" @click="ExportData"> 导出 </el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -314,7 +315,12 @@
width="780px"
:html="details.html"
/>
<el-dialog v-model="tcTableexport" title="导出" width="40%">
<Tableexportcomponent
:menuData="details.packageListColumnList"
:data="details.packageListData"
></Tableexportcomponent>
</el-dialog>
<!-- 列表配置显示 -->
<edittablehead
@closce="showdrawer"
@ -325,7 +331,7 @@
</template>
<script setup lang="ts">
import { ref, reactive, toRefs, computed, onMounted, nextTick } from 'vue';
import { ref, reactive, toRefs, computed, onMounted, nextTick, defineAsyncComponent } from 'vue';
import functions from '@/utils/functions.js';
import dayjs from 'dayjs';
import { mapGetters, useStore } from 'vuex';
@ -353,7 +359,10 @@ import { flowNodeColumnList } from '@/option/waybill/orderPackageListDetails.js'
import { useRouter } from 'vue-router';
import print from '@/utils/print';
import { ElMessage, ElMessageBox } from 'element-plus';
const Tableexportcomponent = defineAsyncComponent(
() => import('@/components/Tableexportcomponent/Tableexportcomponent.vue')
);
const tcTableexport = ref(false);
//
const $router = useRouter();
const $store = useStore();
@ -695,7 +704,10 @@ const printTemplate = () => {
const orderNodeList = document.querySelectorAll('.el-dialog-QRCode .el-dialog__body>div>div>div');
print(orderNodeList);
};
//
const ExportData = () => {
tcTableexport.value = true;
};
/** 入库 */
const handlePutInStorage = ({ row }) => {
ElMessageBox.confirm('确认直接入库吗?', '警告', {

Loading…
Cancel
Save