From e7e8780fd6362daaeef65fba80edc8dc9570a6fa Mon Sep 17 00:00:00 2001 From: xzg <4727863@qq.com> Date: Wed, 23 Oct 2024 01:43:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=A2=E6=9C=8D=E5=B7=B2?= =?UTF-8?q?=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/aftersales/aftersalesWorkOrder.vue | 21 +- .../aftersales/aftersalesWorkOrderAdd.vue | 15 +- .../aftersales/aftersalesWorkOrderInfo.vue | 62 +++-- .../aftersales/aftersalesWorkOrderend.vue | 66 ++++- .../aftersales/aftersalesWorkOrdermodify.vue | 240 ++++++++++-------- src/views/waybill/orderPackageList.vue | 20 +- 6 files changed, 272 insertions(+), 152 deletions(-) diff --git a/src/views/aftersales/aftersalesWorkOrder.vue b/src/views/aftersales/aftersalesWorkOrder.vue index 4a1bb89e..9022cff2 100644 --- a/src/views/aftersales/aftersalesWorkOrder.vue +++ b/src/views/aftersales/aftersalesWorkOrder.vue @@ -934,7 +934,7 @@ default-first-option :reserve-keyword="false" placeholder="请选择客服" - collapse-tags + collapse-tags :max-collapse-tags="2" > { 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; } diff --git a/src/views/aftersales/aftersalesWorkOrderAdd.vue b/src/views/aftersales/aftersalesWorkOrderAdd.vue index 639ced55..0a597cf3 100644 --- a/src/views/aftersales/aftersalesWorkOrderAdd.vue +++ b/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; diff --git a/src/views/aftersales/aftersalesWorkOrderInfo.vue b/src/views/aftersales/aftersalesWorkOrderInfo.vue index 2162c95e..503a7e43 100644 --- a/src/views/aftersales/aftersalesWorkOrderInfo.vue +++ b/src/views/aftersales/aftersalesWorkOrderInfo.vue @@ -590,7 +590,7 @@ type="primary" v-if="PermissionButton.information_editing" @click="EditInformation" - >修改提交修改内部责任划分 { 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; }; // 权限按钮 diff --git a/src/views/aftersales/aftersalesWorkOrderend.vue b/src/views/aftersales/aftersalesWorkOrderend.vue index 3d4c247e..594a0dd4 100644 --- a/src/views/aftersales/aftersalesWorkOrderend.vue +++ b/src/views/aftersales/aftersalesWorkOrderend.vue @@ -223,7 +223,7 @@ label="调查经过" v-if="displaySettings.investigationProcess" > - + @@ -231,7 +231,7 @@ - +
@@ -452,7 +452,12 @@ :class="{ payanindemnity_title: item.state == 0 }" :label="item.state == 0 ? '赔款方' : '受款方'" > - + 处理结果修改保存 - + 修改内部责任划分 +