diff --git a/src/router/views/index.js b/src/router/views/index.js index 61ee401f..9ff46ad4 100644 --- a/src/router/views/index.js +++ b/src/router/views/index.js @@ -1282,6 +1282,24 @@ export default [ ], }, + + { + path: '/aftersales/aftersalesWorkOrderInfoEnxt', + component: Layout, + redirect: '/aftersales/aftersalesWorkOrderInfoEnxt', + children: [ + { + meta: { + i18n: 'dict', + keepAlive: false, + }, + path: '/aftersales/aftersalesWorkOrderInfoEnxt', + name: '编辑重构', + component: () => import('@/views/aftersales/aftersalesWorkOrderInfoEnxt.vue'), + }, + ], + }, + { path: '/aftersales/aftersalesWorkOrderend', component: Layout, diff --git a/src/views/aftersales/aftersalesWorkOrderInfo.vue b/src/views/aftersales/aftersalesWorkOrderInfo.vue index 05dcb5e7..4be73b01 100644 --- a/src/views/aftersales/aftersalesWorkOrderInfo.vue +++ b/src/views/aftersales/aftersalesWorkOrderInfo.vue @@ -1236,8 +1236,6 @@ const ConfirmReturn = () => { console.log(data, '处理好的值'); $_batchReturn(data) .then(res => { - repulse.value = false; //关闭加载并关闭按钮 - dialogReturn.value = false; //关闭打回弹窗 if (res.data.code == 200) { ElMessage({ message: res.data.msg, @@ -1247,6 +1245,9 @@ const ConfirmReturn = () => { } }) .catch(error => { + console.log(error, '错误信息'); + }) + .finally(() => { repulse.value = false; //关闭加载并关闭按钮 dialogReturn.value = false; //关闭打回弹窗 }); @@ -1512,7 +1513,6 @@ const AppealRejection = () => { }; // 申诉成立 - const AppealEstablished = () => { // 编辑信息 $router.push({ diff --git a/src/views/aftersales/aftersalesWorkOrderInfoEnxt.vue b/src/views/aftersales/aftersalesWorkOrderInfoEnxt.vue new file mode 100644 index 00000000..89378eaa --- /dev/null +++ b/src/views/aftersales/aftersalesWorkOrderInfoEnxt.vue @@ -0,0 +1,2832 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + 添加信息 + + + + + + 包条码: + + + + + 订单自编码: + + + + + 运单号: + + + + + 品牌: + + + + + + + 查看历史包件 + + + 移除 + + + + + 总件数:{{ Indexform.number }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 添加信息 + + + + + + 责任方: + + + + + + + + + + + + + + 责任人: + + + + + + 占比: + + % + + + + + + + + + 说明: + + + + + + 移除 + + + + + 公司占比:{{ companyProportion }}% + + + + + + + + + + + + + 处理结果-理赔金额 + + + {{ item.name }}: + + + + + + {{ item.payment ? item.text : '支付方式' }} + + + + {{ item.payment ? item.text : '支付方式' }} + + + + 支付单位: + + + + + + + + 总金额:{{ TotalClaimAmount }}元 + + + + + + + + + + + + 完结信息 + + + + + 添加赔款方 + 添加受款方 + + + + + {{ item.state == 0 ? '赔款方' : '受款方' }}{{ item.cld }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 移除 + + + + + + + + 赔款金额总和:{{ TotalamountCompensation }} + + 收款金额总和:{{ TotalamountReceived }} + + + + + + + + + + + + 仲裁原因 + + + + + + + + + + + + + + + + + + + + + + + + 件数{{ item.number }} + + + + + 取消 + 确认信息 + + + + + + + + 件数{{ item.number }} + + + + + 取消 + 确认信息 + + + + + + + + + + 查看详情 + + + + 取消 + + 确定选择 + + + + + + + + + {{ item.dictValue }} + + + + 取消 + + 确定 + + + + + + + + + diff --git a/src/views/aftersales/aftersalesWorkOrderInfoTemp.vue b/src/views/aftersales/aftersalesWorkOrderInfoTemp.vue index ff38ae42..18557d7c 100644 --- a/src/views/aftersales/aftersalesWorkOrderInfoTemp.vue +++ b/src/views/aftersales/aftersalesWorkOrderInfoTemp.vue @@ -408,7 +408,7 @@ filterable default-first-option :reserve-keyword="false" - placeholder="请选择处理结果" + placeholder="暂无处理结果" disabled > 总金额:{{ TotalClaimAmount }}元 + + + + + @@ -488,26 +500,35 @@ + + + 原因 + + + 金额 + + + 仓库 + + 责任人 + + @@ -543,6 +568,32 @@ + + + + + + + + + + 仲裁原因 + + + + + + + + + + @@ -588,36 +639,40 @@ - - - - - - - - - 仲裁原因 - - - - - - @@ -632,10 +687,10 @@ > - + 刷新 - + {{ item.username }}【{{ item.name }}】 - - : - {{ item.time }} - + + : + {{ item.time }} + + + + + + + + + + + + + + + 取消 + 确定 + + + @@ -747,20 +842,17 @@ import { ElMessage, ElMessageBox } from 'element-plus'; import { useRouter, useRoute } from 'vue-router'; import { useStore } from 'vuex'; -const $store = useStore(); +const $useStore = useStore(); import { getDictionaryBiz } from '@/api/system/dict'; //字典 -import { getDetailWarehouse, getDeptWarehouse } from '@/api/basicdata/basicdataWarehouse'; //处理方 +import { getDeptWarehouse } from '@/api/basicdata/basicdataWarehouse'; //处理方 import { - $_submit, - $_getBusinessDepartmentUser, - $_getAbnormalPackage, - $_shippingInformation, $_getTrackRecord, $_getSurveyRecord, $_getInfo, + $_batchReturn, + $_Cancelappeal, } from '@/api/aftersales/aftersalesWorkOrder'; -import { computeNumber } from '@/utils/util'; -import { ref, reactive, toRefs, computed, onMounted, nextTick } from 'vue'; +import { ref, reactive, computed, onMounted } from 'vue'; import { getToken } from '@/utils/auth'; const $router = useRouter(); const $route = useRoute(); @@ -769,6 +861,7 @@ const Indexform = ref({ decreaseImageEntityList: [], //处理好的图片数据 discoveryNode: '1', }); //首页新增表单 +const pageState = ref(false); //页面加载状态 const ProcessingResults = ref([]); //处理结果列表选项 const IndexException = ref([]); //异常类型下拉选择 const ZFname = ref(''); //支付名字预留状态 @@ -815,6 +908,10 @@ const msgState = ref(0); const Msgloading = ref(false); const TotalamountCompensation = ref(0); //赔款总金额 const TotalamountReceived = ref(0); //受款总金额 +const BatchFrom = ref({}); //打回内容 +const dialogReturn = ref(false); //打回弹窗 +const appeal = ref(false); //工单申诉状态 +const AppealReview = ref(false); //申诉状态只能查看 const CompensationParty = ref([ { name: '', @@ -885,6 +982,20 @@ onMounted(() => { }, 0); }); +// 底部按钮权限 +const PermissionButton = computed(() => { + return { + reply: !appeal.value, //回复 + Processing_results: !appeal.value && $route.query.workOrderStatus != '21', //处理结果 + work_order_completion: !appeal.value, //完结 + repulse: !appeal.value, //打回 + apply_arbitration: !appeal.value, //客服仲裁完结 + information_editing: !appeal.value, //信息编辑 + Appeal_established: appeal.value && AppealReview.value, //申诉成立 + Appeal_rejection: appeal.value && AppealReview.value, //申诉驳回 + }; +}); + // 聊天记录获取 const Chathistory = res => { Msgloading.value = true; @@ -1206,9 +1317,177 @@ const isShowFormItem2 = computed(() => { return !['2', '5', '6', '7', '8'].includes(groundlineType.value); }); // 聊天刷新 -const Chatrefresh=()=>{ - Chathistory() -} +const Chatrefresh = () => { + Chathistory(); +}; + +// 底部按钮事件 +// 回复 +const addireply = () => { + $router.push({ + path: '/aftersales/aftersalesWorkOrderend', + query: { + id: $route.query.id, + name: $route.query.workOrderNumber + '-回复', + businessId: $route.query.workOrderNumber, + RouterState: 'determine', + index: '0', + }, + }); +}; + +// 处理结果 +const addingRecord = () => { + $router.push({ + path: '/aftersales/aftersalesWorkOrderend', + query: { + id: $route.query.id, + name: $route.query.workOrderNumber + '-添加异常记录', + businessId: $route.query.workOrderNumber, + RouterState: 'record', + index: '1', + }, + }); +}; + +// 完结 +const EndJump = () => { + $router.push({ + path: '/aftersales/aftersalesWorkOrderend', + query: { + id: $route.query.id, + name: $route.query.workOrderNumber + '-完结填写', + RouterState: 'end', + index: '2', + workOrderStatus: $route.query.workOrderStatus, //当前单子状态 + }, + }); +}; +// 打回 +const BatchReturn = () => { + BatchFrom.value.businessDepartment = []; + BatchFrom.value.txt = null; + dialogReturn.value = true; +}; +// 客服仲裁完结 +const CustomerServiceCompleted = () => { + $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: 'Kfend', + CompletedEditing: 'true', //可以编辑完结信息编辑 + index: '1', + }, + }); +}; + +// 信息编辑 +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', + ProcessType: $route.query.ProcessType, //类型 1 待处理 2 已处理 + }, + }); +}; +// 申诉成立 +const AppealEstablished = () => { + $router.push({ + path: '/aftersales/aftersalesWorkOrdermodify', + query: { + id: $route.query.id, //这里的id是workOrderId是有申诉列表带入的 + name: $route.query.workOrderNumber + '-申诉编辑', + businessId: $route.query.businessId, + warehouseId: $route.query.warehouseId, + workOrderNumber: $route.query.workOrderNumber, + RouterState: 'Kfend', + Appealeditor: 'appeal', //申诉编辑 + appealID: $route.query.appealID, //申诉ID + }, + }); +}; + +// 申诉驳回 +const AppealRejection = () => { + let data = { + id: $route.query.appeal, //取消申诉ID + typesOf: '2', //申诉状态 + workOrderId: $route.query.id, //异常工单ID + }; + $_Cancelappeal(data) + .then(res => { + console.log(res, '申诉驳回返回值'); + if (res.data.code == 200) { + ElMessage({ + showClose: true, + message: '申诉驳回成功', + type: 'success', + }); + $useStore.commit('DEL_TAG_CURRENT'); //关闭当前页面 + $router.push({ + path: '/aftersales/aftersalesWorkOrder', + }); + } + }) + .catch(res => { + ElMessage({ + showClose: true, + message: '操作失败', + type: 'success', + }); + }) + .finally(() => { + Pageloading.value = false; //关闭加载效果 + }); +}; + +// 工单打回确认按钮 +const ConfirmReturn = () => { + repulse.value = true; //开启加载并关闭按钮 + let data = { + processorList: [], + }; + // 过滤满足条件的对象 + let foundObjs = warehouseData.value.filter(obj => + BatchFrom.value.businessDepartment.includes(obj.value) + ); + data['businessId'] = foundObjs.map(item => item.value).join(','); + data['businessName'] = foundObjs.map(item => item.label).join(','); + // 营业部处理 + foundObjs.forEach(item => { + data['processorList'].push({ id: item.value, name: item.label }); + }); + data.reasonReturn = BatchFrom.value.txt; //打回原因 + data.workOrderIds = [$route.query.id]; //异常工单ID + console.log(data, '处理好的值'); + $_batchReturn(data) + .then(res => { + repulse.value = false; //关闭加载并关闭按钮 + dialogReturn.value = false; //关闭打回弹窗 + if (res.data.code == 200) { + ElMessage({ + message: res.data.msg, + type: 'success', + }); + $router.push('/aftersales/aftersalesWorkOrder'); //打回成功跳转到列表 + } + }) + .catch(error => { + repulse.value = false; //关闭加载并关闭按钮 + dialogReturn.value = false; //关闭打回弹窗 + }); +}; diff --git a/src/views/aftersales/aftersalesWorkOrderend.vue b/src/views/aftersales/aftersalesWorkOrderend.vue index 75211bf0..61f0b57e 100644 --- a/src/views/aftersales/aftersalesWorkOrderend.vue +++ b/src/views/aftersales/aftersalesWorkOrderend.vue @@ -637,10 +637,7 @@ {{ item.username }}【{{ item.name }}】 - - : - {{ item.time }} - + + + : + {{ item.time }} +
{{ item.time }}