diff --git a/src/api/aftersales/aftersalesWorkOrder.js b/src/api/aftersales/aftersalesWorkOrder.js index ab015a4d..fe4f68e6 100644 --- a/src/api/aftersales/aftersalesWorkOrder.js +++ b/src/api/aftersales/aftersalesWorkOrder.js @@ -382,7 +382,7 @@ export const $_updateWorkOrderStatus = (data) => { data }) } -// 完结结果确定 +// 处理结果完结结果确定 export const $_updateManagerConfirmed = (data) => { return request({ url: '/api/logpm-aftersales/aftersalesWorkOrder/updateManagerConfirmed', diff --git a/src/option/aftersales/vueTvemp.js b/src/option/aftersales/vueTvemp.js index c9080314..83b4e018 100644 --- a/src/option/aftersales/vueTvemp.js +++ b/src/option/aftersales/vueTvemp.js @@ -125,20 +125,8 @@ export const columnList = [ head: false, }, { - prop: 'trainNumber', - label: '车次号', - type: 2, - values: '', - width: '150', - checkarr: [], - fixed: false, - sortable: true, - head: false, - }, - - { - prop: 'vehicleRoute', - label: '车辆线路', + prop: 'customerServiceName', + label: '归属客服名称', type: 2, values: '', width: '150', @@ -147,6 +135,7 @@ export const columnList = [ sortable: true, head: false, }, + { prop: 'deliverGoodsTime', label: '送货时间', @@ -204,10 +193,21 @@ export const columnList = [ sortable: true, head: false, }, + { + prop: 'trainNumber', + label: '车次号', + type: 2, + values: '', + width: '150', + checkarr: [], + fixed: false, + sortable: true, + head: false, + }, { - prop: 'customerServiceName', - label: '归属客服名称', + prop: 'vehicleRoute', + label: '车辆线路', type: 2, values: '', width: '150', @@ -216,6 +216,9 @@ export const columnList = [ sortable: true, head: false, }, + + + { prop: 'overTime', label: '完结时间', @@ -811,18 +814,6 @@ export const timeoutList = [ }, - { - prop: 'workOrderId', - label: '异常工单ID', - type: 2, - values: '', - width: '130', - checkarr: [], - fixed: false, - sortable: true, - head: false, - }, - { prop: 'money', label: '金额', @@ -905,7 +896,7 @@ export const timeoutList = [ label: '操作', type: 6, values: '', - width: '220', + width: '120', checkarr: [], fixed: 'right', sortable: false, 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/aftersalesWorkOrder.vue b/src/views/aftersales/aftersalesWorkOrder.vue index d2ed5589..c6ed48b8 100644 --- a/src/views/aftersales/aftersalesWorkOrder.vue +++ b/src/views/aftersales/aftersalesWorkOrder.vue @@ -83,8 +83,6 @@
- - 新 增 @@ -92,42 +90,59 @@ 批量删除 --> - - 批量打回 - - - 工单指派 + + 批量确定 + + + + + + + 工单指派 - - 客服介入 - 钉钉号填写 + 钉钉号填写 - - - 批量完结 - 批量删除 - - + > --> + 申诉 @@ -177,26 +192,28 @@
- 查看 - + 查看 + + + + 确定 - - - 编辑 - + + 申诉 --> + 修改金额
- 修改金额
@@ -713,6 +740,23 @@ console.log(accessControl, '权限按钮'); // arbitration_completed;//仲裁完结 // information_editing;//信息编辑 console.log(accessControl.workAdd, '新增按钮权限'); +// 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 PermissionButton = computed(() => { return { workAdd: accessControl.workAdd, //新增 @@ -729,6 +773,7 @@ const PermissionButton = computed(() => { information_editing: accessControl.information_editing, //信息编辑 }; }); + const DingTalkfilling = ref({}); //钉钉号表单 const dialogDingTalk = ref(false); //钉钉号弹窗 const tabValue = ref(0); //侧边栏激活状态 @@ -1012,75 +1057,109 @@ const ButtonPermissions = computed(() => { switch (TabPermissions.value) { case 0: //全部 return { - add: UserPermissions.value == '仓库客服', //新增按钮 - batchReject: UserPermissions.value == '职能客服', //批量打回 - assignment: UserPermissions.value == '客服经理', //工单指派 - applyArbitration: UserPermissions.value == '仓库客服', //申请仲裁 - batchFinish: UserPermissions.value == '职能客服' || UserPermissions.value == '客服经理', //批量完结 + // add: true, //新增按钮 + // batchReject: true, //批量打回 + // assignment: true, //工单指派 + // applyArbitration:true, //客服介入 + // DingTalkNumber:true,//钉钉号填写 + // batchFinish:true, //批量完结 + // appeal: true, //申诉 + add:true, //新增按钮 + batchReject: UserPermissions.value != '仓库客服', //批量打回 + assignment: UserPermissions.value == '总部客服经理', //工单指派 + applyArbitration: UserPermissions.value == '仓库客服', //客服介入 + DingTalkNumber: UserPermissions.value == '总部客服经理', //钉钉号填写 + batchFinish: UserPermissions.value != '仓库客服', //批量完结 appeal: false, //申诉 + ManagerConfirmed:false,//处理完毕下面的客服经理批量确定 }; case 1: //处理中 return { add: false, //新增按钮 batchReject: UserPermissions.value == '职能客服' || UserPermissions.value == '客服经理', //批量打回 assignment: false, //工单指派 - applyArbitration: UserPermissions.value == '仓库客服', //申请仲裁 + applyArbitration: UserPermissions.value == '仓库客服', //客服介入 batchFinish: UserPermissions.value != '仓库客服', //批量完结 + Batchdetermination: UserPermissions.value != '仓库客服', //批量确定 appeal: false, //申诉 + ManagerConfirmed:false,//处理完毕下面的客服经理批量确定 }; case 2: //处理完毕 return { add: false, //新增按钮 batchReject: false, //批量打回 assignment: false, //工单指派 - applyArbitration: false, //申请仲裁 + applyArbitration: false, //客服介入 batchFinish: false, //批量完结 appeal: UserPermissions.value == '仓库客服' && AppealStatusT.value, //申诉 + Batchdetermination: UserPermissions.value == '仓库客服', //批量确定 + ManagerConfirmed:UserPermissions.value == '总部客服经理',//处理完毕下面的客服经理批量确定 }; case 3: //待处理 return { add: false, //新增按钮 - batchReject: UserPermissions.value == '职能客服', //批量打回 - assignment: UserPermissions.value == '客服经理', //工单指派 - applyArbitration: false, //申请仲裁 - batchFinish: false, //批量完结 + batchReject: UserPermissions.value == '总部客服', //批量打回 + assignment: UserPermissions.value == '总部客服经理', //工单指派 + applyArbitration: UserPermissions.value == '仓库客服', //客服介入 + batchFinish:UserPermissions.value != '仓库客服' , //批量完结 appeal: false, //申诉 + Batchdetermination: false, //批量确定 + ManagerConfirmed:false,//处理完毕下面的客服经理批量确定 }; case 4: //理赔金额未出 return { add: false, //新增按钮 batchReject: false, //批量打回 assignment: false, //工单指派 - applyArbitration: false, //申请仲裁 + applyArbitration: false, //客服介入 batchFinish: false, //批量完结 appeal: false, //申诉 + Batchdetermination: false, //批量确定 + ManagerConfirmed:false,//处理完毕下面的客服经理批量确定 }; case 5: //仲裁中 return { add: false, //新增按钮 batchReject: false, //批量打回 assignment: false, //工单指派 - applyArbitration: false, //申请仲裁 + applyArbitration: false, //客服介入 batchFinish: false, //批量完结 appeal: false, //申诉 + Batchdetermination: false, //批量确定 + ManagerConfirmed:false,//处理完毕下面的客服经理批量确定 }; case 6: //完结 return { add: false, //新增按钮 batchReject: false, //批量打回 assignment: false, //工单指派 - applyArbitration: false, //申请仲裁 + applyArbitration: false, //客服介入 batchFinish: false, //批量完结 - appeal: true, //申诉 + appeal: UserPermissions.value == '仓库客服', //申诉 + Batchdetermination: false, //批量确定 + ManagerConfirmed:false,//处理完毕下面的客服经理批量确定 }; case 7: //超时未处理 return { add: false, //新增按钮 batchReject: false, //批量打回 assignment: false, //工单指派 - applyArbitration: false, //申请仲裁 + applyArbitration: false, //客服介入 batchFinish: false, //批量完结 appeal: false, //申诉 + Batchdetermination: false, //批量确定 + ManagerConfirmed:false,//处理完毕下面的客服经理批量确定 + }; + case 8: //待回复 + return { + add: false, //新增按钮 + batchReject: false, //批量打回 + assignment: false, //工单指派 + applyArbitration: true, //客服介入 + batchFinish: false, //批量完结 + appeal: false, //申诉 + Batchdetermination: false, //批量确定 + ManagerConfirmed:false,//处理完毕下面的客服经理批量确定 }; // 其他任何情况下的默认情况 default: @@ -1091,6 +1170,8 @@ const ButtonPermissions = computed(() => { applyArbitration: false, batchFinish: false, appeal: false, + Batchdetermination: false, //批量确定 + ManagerConfirmed:false,//处理完毕下面的客服经理批量确定 }; } }); @@ -1137,7 +1218,7 @@ const TransportLossNode = ref([ ]); const Statusprocessing = val => { - console.log(columnList[10],'22212as'); + console.log(columnList[10], '22212as'); val.forEach(item => { console.log(item, 'item'); // 对为null的数据进行处理 @@ -1198,7 +1279,7 @@ const Statusprocessing = val => { item.workOrderStatusNameS = columnList[10].checkarr[9].label; //处理结果已提交 } else if (item.workOrderStatus == 100) { item.workOrderStatusNameS = columnList[10].checkarr[10].label; //已结束 - }else if (item.workOrderStatus == 110) { + } else if (item.workOrderStatus == 110) { item.workOrderStatusNameS = columnList[10].checkarr[11].label; //已结束 } }); @@ -1268,9 +1349,9 @@ const IndexTable = val => { }; // 表格切换 -const Tableheaderswitching = val => { +const Tableheaderswitching = val => { publicColumnList.value = val; //默认加载表格 - details.columnList = val;//列表配置项 + details.columnList = val; //列表配置项 }; // 页面初始化 @@ -1412,6 +1493,7 @@ const InformationViewing = val => { RouteIndexs: TabPermissions.value, //当前记录参数 Routstate: 'appeal', //申诉列表 AppealReview: val.row.typesOf == '0' ? 'true' : 'false', //当前只能查看申诉详情信息 + workOrderStatus: val.row.workOrderStatus, //工单状态 }, }); return; @@ -1437,6 +1519,23 @@ const InformationViewing = val => { }); return; } + if (TabPermissions.value == 7) { + console.log('当前在超时未处理未出'); + $router.push({ + path: '/aftersales/aftersalesWorkOrderInfo', + query: { + id: val.row.workOrderId, + appealID: val.row.id, //只有才需要的参数 + name: val.row.workOrderNumber + '-信息查看', + warehouseId: val.row.warehouseId, + workOrderNumber: val.row.workOrderNumber, //添加异常记录包条码 + businessId: val.row.businessId, + RouteIndexs: TabPermissions.value, //当前记录参数 + workOrderStatus: val.row.workOrderStatus, //订单状态 + }, + }); + return + } $router.push({ path: '/aftersales/aftersalesWorkOrderInfo', query: { @@ -1447,6 +1546,7 @@ const InformationViewing = val => { businessId: val.row.businessId, ProcessType: TabPermissions.value == 2 ? '2' : TabPermissions.value == 3 ? '1' : '', //类型 1 待处理 2 已处理 RouteIndexs: TabPermissions.value, //当前记录参数 + workOrderStatus: val.row.workOrderStatus, //工单状态 }, }); }; @@ -1466,16 +1566,15 @@ const view = val => { workOrderNumber: val.row.workOrderNumber, //添加异常记录包条码 businessId: val.row.businessId, ProcessType: TabPermissions.value == 2 ? '2' : TabPermissions.value == 3 ? '1' : '', //类型 1 待处理 2 已处理 - RouteIndexs: TabPermissions.value, //当前记录参数 + RouteIndexs: TabPermissions.value, //当前菜单 Routstate: 'appeal', //申诉列表 AppealReview: val.row.typesOf == '0' ? 'true' : 'false', //当前只能查看申诉详情信息 + workOrderStatus: val.row.workOrderStatus, //当前工单状态 }, }); return; } - - // 理赔查看 if (TabPermissions.value == 4) { $router.push({ @@ -1497,6 +1596,29 @@ const view = val => { }); return; } + if (TabPermissions.value == 7) { + console.log('当前在超时未处理未出'); + $router.push({ + path: '/aftersales/aftersalesWorkOrderInfo', + query: { + id: val.row.workOrderId, + appealID: val.row.id, //只有才需要的参数 + name: val.row.workOrderNumber + '-信息查看', + warehouseId: val.row.warehouseId, + workOrderNumber: val.row.workOrderNumber, //添加异常记录包条码 + businessId: val.row.businessId, + RouteIndexs: TabPermissions.value, //当前记录参数 + workOrderStatus: val.row.workOrderStatus, //订单状态 + }, + }); + return + } + + + + + + $router.push({ // AppealStatusT为真表示是申诉列表 @@ -1751,8 +1873,8 @@ const Resultediting = val => { }, }); }; -const ProcessedResultediting=(val)=>{ -console.log(val,'参数'); +const ProcessedResultediting = val => { + console.log(val, '参数'); // return $router.push({ path: '/aftersales/aftersalesWorkOrdermodify', @@ -1765,11 +1887,31 @@ console.log(val,'参数'); workOrderNumber: val.row.workOrderNumber, RouterState: 'Kfend', Processingresults: true, //处理结果编辑 - Processed:'true', + Processed: 'true', index: '1', }, }); -} +}; + +// 完结菜单的编辑 +const CompletedEditing = val => { + console.log(val); + $router.push({ + path: '/aftersales/aftersalesWorkOrdermodify', + query: { + id: val.row.workOrderId, + name: val.row.workOrderNumber + '-完结编辑', + businessId: val.row.businessId, + warehouseId: val.row.warehouseId, + workOrderNumber: val.row.workOrderNumber, + RouterState: 'Kfend', + CompletedEditing: 'true', //完结信息编辑 + Appealeditor: 'appeal', //只是编辑完结 + Processed: 'true', + index: '1', + }, + }); +}; // 工单申诉确认按钮 const Appealbutton = state => { if (UserPermissions.value == '仓库客服') { @@ -1866,8 +2008,8 @@ const inputsc = (index, row) => { processRowProperty(index, row, details); details.query[row.prop] = index; // tabChenge( TabPermissions.value,details.query) - DataRendering(TabPermissions.value,details.query) - return + DataRendering(TabPermissions.value, details.query); + return; console.log('没有执行'); if (TabPermissions.value == '4') { // 理赔金额未出 @@ -1887,7 +2029,7 @@ const inputsc = (index, row) => { } if (TabPermissions.value == '7') { TimeoutHandling(details.query); //超时未处理 - return + return; } IndexTable(details.query); //首页初始化信息 @@ -1922,9 +2064,8 @@ const inputsc = (index, row) => { }; // 网页顶部搜索按钮 const searchChange = () => { - - DataRendering(TabPermissions.value,details.query) - return + DataRendering(TabPermissions.value, details.query); + return; if (ClaimStatus.value) { // 表示这是理赔查询 @@ -1949,12 +2090,12 @@ const emptyvalues = data => { // 清空头部搜索条件 const empty = () => { -// 清空搜索参数 + // 清空搜索参数 for (let key in details.query) { - if (key !== 'workOrderStatus') { - delete details.query[key]; + if (key !== 'workOrderStatus') { + delete details.query[key]; + } } -} // let dataList = [columnList, recordList, Claimsfield, AppealList, timeoutList]; details.columnList.forEach(item => { item.values = ''; @@ -1996,8 +2137,8 @@ const selectsc = (index, row) => { console.log(details, '下拉的参数'); details.query.workOrderStatus = TabPermissions.value; - DataRendering(TabPermissions.value,details.query) - return + DataRendering(TabPermissions.value, details.query); + return; if (TimeoutStatus.value) { // 超时列表 @@ -2045,8 +2186,8 @@ const selectionChange = list => { /** 页码改变执行的回调 */ const currentChange = val => { page.value.currentPage = val; - DataRendering(TabPermissions.value,details.query) - return + DataRendering(TabPermissions.value, details.query); + return; // 超时 if (TimeoutStatus.value) { TimeoutHandling(details.query); @@ -2075,8 +2216,8 @@ const currentChange = val => { // 每页多少条 const sizeChange = val => { page.value.pageSize = val; - DataRendering(TabPermissions.value,details.query) - return + DataRendering(TabPermissions.value, details.query); + return; // 超时 if (TimeoutStatus.value) { TimeoutHandling(details.query); @@ -2277,11 +2418,12 @@ function AppealListFn(val) { // 超时金额修改 const BtnModifyAmount = val => { + console.log(val, '超时金额修改'); dialogModifyAmount.value = true; //开启超时金额弹窗修改 fromamount.value.title = val.row.workOrderNumber; //工单号 fromamount.value.ytimeout = val.row.money; //原本金额 - fromamount.value.id = val.row.lawoId; //id + fromamount.value.id = val.row.id; //id }; // 修改金额确定 const ModifyAmountFn = () => { @@ -2300,6 +2442,8 @@ const ModifyAmountFn = () => { }); } dialogModifyAmount.value = false; //关闭超时金额弹窗修改 + }).catch(res=>{ + dialogModifyAmount.value = false; //关闭超时金额弹窗修改 }); }; function getWinHight() { @@ -2346,11 +2490,11 @@ const TimeoutHandling = val => { }; // 数据渲染公共函数 -const DataRendering =(val,input)=>{ +const DataRendering = (val, input) => { // val:当前是在哪一个菜单下面 //input:当前传入的搜索参数 console.log('执行了公共函数'); - if(val !=6){ + if (val != 6) { AppealStatusT.value = false; //申诉列表关闭 } console.log(val, '触发了标签栏'); @@ -2421,12 +2565,12 @@ const DataRendering =(val,input)=>{ ArbitrationStatus.value = false; //不可以申请仲裁 Tableheaderswitching(columnList); //表头切换 IndexTable(data); - } else if(val == 6 && AppealStatusT.value){ + } else if (val == 6 && AppealStatusT.value) { console.log('申诉列表'); data.workOrderStatus = null; details.query.workOrderStatus = null; AppealListFn(data); //申诉列表函数 - } else if (val == 6) { + } else if (val == 6) { // 完结 ProcessingPartyState.value = false; //关闭处理方 data.workOrderStatus = 80; @@ -2459,16 +2603,14 @@ const DataRendering =(val,input)=>{ } } console.log('执行完毕'); -} - - +}; // 标签栏触发 const tabChenge = async (val, input) => { TabPermissions.value = val; //记录当前点击的菜单 - if(val !=6){ + if (val != 6) { AppealStatusT.value = false; //申诉列表关闭 } console.log(val, '触发了标签栏'); @@ -2476,8 +2618,8 @@ const tabChenge = async (val, input) => { ...input, //搜索输入框 }; await empty(); - DataRendering(TabPermissions.value,input) - return + DataRendering(TabPermissions.value, input); + return; if (val == 0) { ProcessingPartyState.value = false; //关闭处理方 ArbitrationStatus.value = true; //可以以申请仲裁 @@ -2541,12 +2683,12 @@ const tabChenge = async (val, input) => { ArbitrationStatus.value = false; //不可以申请仲裁 Tableheaderswitching(columnList); //表头切换 IndexTable(data); - } else if(val == 6 && AppealStatusT.value){ + } else if (val == 6 && AppealStatusT.value) { console.log('申诉列表'); data.workOrderStatus = null; details.query.workOrderStatus = null; AppealListFn(data); //申诉列表函数 - } else if (val == 6) { + } else if (val == 6) { // 完结 ProcessingPartyState.value = false; //关闭处理方 data.workOrderStatus = 80; @@ -2791,14 +2933,52 @@ const fellSuccess = (response, uploadFile) => { }; // 处理结果和理赔确定 const DetermineStorage = val => { + let data = { assignList: [], }; - let ID = {}; - ID = val.row.id; - data['assignList'].push(ID); + let ConfirmStatus = false; //批量确认状态 + if (!val.row) { + // 说明点击的批量确定 + console.log('当前点击的批量确定'); + if (!details.selectionList.length) { + ElMessage({ + message: '请勾选要处理的数据数据', + type: 'warning', + }); + return; + } else { + ConfirmStatus = true; //说明走的是批量 + data['assignList'] = details.selectionList.map(item => item.id); + console.log(data['assignList'], '批量确定处理好的参数'); + } + } else { + let ID = {}; + ID = val.row.id; + data['assignList'].push(ID); + } + + if (ConfirmStatus) { + // 走的批量确认 + let state = details.selectionList.every(item => item.workOrderStatus == '40'); + if (!state) { + ElMessage({ + message: '批量确认中状态只能为待审核', + type: 'warning', + }); + return; + } + }else{ + if(val.workOrderStatus != '40'){ + ElMessage({ + message: '状态错误,已经确认过', + type: 'warning', + }); + return + } + } + details.loadingObj.list = true; //开启加载效果 - if (UserPermissions.value == '总部客服经理' && TabPermissions.value == '1') { // 完结结果确定 $_updateManagerConfirmed(data) .then(res => { @@ -2812,36 +2992,146 @@ const DetermineStorage = val => { tabChenge(TabPermissions.value); }) .catch(res => { + console.log(res,'错误信息'); + }).finally(res=>{ details.loadingObj.list = false; //关闭加载效果 - }); + }) // 赔款方 console.log(data, '处理好的值'); +}; +// 处理完毕里面确定(仓库客服用的) - return; +const ResultConfirmation = (val) => { +if(UserPermissions.value == '仓库客服'){ //处理完毕菜单下面确定按钮用于确定处理结果(仓库客服用的) + let data = { + assignList: [], + }; + let ConfirmStatus = false; //批量确认状态 + if (!val.row) { + // 说明点击的批量确定 + console.log('当前点击的批量确定'); + if (!details.selectionList.length) { + ElMessage({ + message: '请勾选要处理的数据数据', + type: 'warning', + }); + return; + } else { + ConfirmStatus = true; //说明走的是批量 + data['assignList'] = details.selectionList.map(item => item.id); + console.log(data['assignList'], '批量确定处理好的参数'); + } + } else { + let ID = {}; + ID = val.row.id; + data['assignList'].push(ID); } + + // 仓库客服 - if ( - TabPermissions.value == '2' && UserPermissions.value == '仓库客服' && val.row.workOrderStatus != '30' - ) { - // 处理结果确定 - console.log(data, '处理好的数据'); - $_updateWorkOrderStatus(data) + + if (ConfirmStatus) { + // 走的批量确认 + let state = details.selectionList.every(item => item.workOrderStatus == '21'); + if (!state) { + ElMessage({ + message: '批量确认中有状态不符合的必须为处理结果已提交', + type: 'warning', + }); + return; + } + }else{ + if(val.workOrderStatus == '30'){ + ElMessage({ + message: '状态错误,已经确认过', + type: 'warning', + }); + return + } + } + details.loadingObj.list = true; //开启加载效果 + console.log(data, '处理好的数据'); + $_updateWorkOrderStatus(data) + .then(res => { + console.log(res, '确定提交存储'); + if (res.data.code == 200) { + ElMessage({ + message: res.data.msg, + type: 'success', + }); + } + tabChenge(TabPermissions.value); + }) + .catch(res => { + details.loadingObj.list = false; //关闭加载效果 + }); + }else{ + let data = { + assignList: [], + }; + let ConfirmStatus = false; //批量确认状态 + if (!val.row) { + // 说明点击的批量确定 + console.log('当前点击的批量确定'); + if (!details.selectionList.length) { + ElMessage({ + message: '请勾选要处理的数据数据', + type: 'warning', + }); + return; + } else { + ConfirmStatus = true; //说明走的是批量 + data['assignList'] = details.selectionList.map(item => item.id); + console.log(data['assignList'], '批量确定处理好的参数'); + } + } else { + let ID = {}; + ID = val.row.id; + data['assignList'].push(ID); + } + + if (ConfirmStatus) { + // 走的批量确认 + let state = details.selectionList.every(item => item.workOrderStatus == '40'); + if (!state) { + ElMessage({ + message: '批量确认中状态只能为待审核', + type: 'warning', + }); + return; + } + }else{ + if(val.workOrderStatus != '40'){ + ElMessage({ + message: '状态错误,已经确认过', + type: 'warning', + }); + return + } + } + + details.loadingObj.list = true; //开启加载效果 + // 完结结果确定 + $_updateManagerConfirmed(data) .then(res => { - console.log(res, '确定提交存储'); if (res.data.code == 200) { ElMessage({ message: res.data.msg, type: 'success', }); } + console.log(res, '处理完毕确定'); tabChenge(TabPermissions.value); }) .catch(res => { + console.log(res,'错误信息'); + }).finally(res=>{ details.loadingObj.list = false; //关闭加载效果 - }); + }) + // 赔款方 + console.log(data, '处理好的值'); } }; - // 批量打回 const BatchReturn = () => { BatchFrom.value.businessDepartment = []; diff --git a/src/views/aftersales/aftersalesWorkOrderInfo.vue b/src/views/aftersales/aftersalesWorkOrderInfo.vue index 66652bf5..79c51068 100644 --- a/src/views/aftersales/aftersalesWorkOrderInfo.vue +++ b/src/views/aftersales/aftersalesWorkOrderInfo.vue @@ -1,660 +1,925 @@ @@ -1537,8 +1634,7 @@ const AppealEstablished = () => { display: flex; flex-wrap: wrap; justify-content: flex-start; - border: 1px solid #dcdfe6; - + border: 1px solid #ccc; .el-form-item { height: 46px; display: flex; @@ -1546,15 +1642,15 @@ const AppealEstablished = () => { margin: 0; margin-bottom: 18px; flex: 1 0 30%; + margin-right: 16px; :deep(.el-form-item__label) { - width: 100px !important; + width: auto !important; justify-content: flex-start; } } :deep(.el-form-item__content) { height: 100%; width: 70% !important; - flex: none; .el-input { height: 100% !important; display: flex; @@ -1612,27 +1708,23 @@ const AppealEstablished = () => { } .Transport_damage_photos { display: flex; - padding: 0 15px; margin-top: 20px; + flex-direction: column; .title { width: 100px; display: block; margin-bottom: 10px; font-size: 14px; - } - :deep(.el-upload-dragger) { - display: flex; - justify-content: center; - align-items: center; + font-weight: bold; + color: #5b5b5b; } } .dialog-footer { width: 100%; display: flex; justify-content: flex-end; - padding: 0 10px; box-sizing: border-box; - padding-right: 36px; + margin-top: 10px; } .investigate { :deep(.el-form-item__content) { @@ -1675,17 +1767,37 @@ const AppealEstablished = () => { display: flex; flex-direction: column; .leftbox { - width: 80%; display: flex; justify-content: space-between; + .el_zb { + :deep(.el-input__inner) { + text-align: center; + } + width: 250px; + text-align: right; + :deep(.el-form-item__label) { + width: auto !important; + } + :deep(.el-input) { + margin-left: 10px; + text-align: right; + } + :deep(.el-form-item__content) { + flex-wrap: nowrap; + } + } } .maxBox { display: flex; align-items: center; width: 30%; margin-right: 16px; + font-size: 14px; + .brand { + margin-right: 0; + } .title { - width: 130px; + width: 120px; font-size: 14px; color: #606266; } @@ -1693,6 +1805,9 @@ const AppealEstablished = () => { width: 100%; } } + .brand { + margin-right: 0; + } .el-btn { margin-left: 5%; border: none; @@ -1707,17 +1822,28 @@ const AppealEstablished = () => { display: flex; flex-direction: column; margin-bottom: 10px; - .leftbox { - width: 80%; display: flex; justify-content: space-between; + width: 100%; } + .maxBox { display: flex; align-items: center; width: 30%; margin-right: 20px; + + :deep(.el-form-item) { + margin: 0; + margin-right: 10px; + + font-size: 12px; + .el-form-item__label { + margin: 0; + width: auto !important; + } + } .title { width: 140px; color: #606266; @@ -1726,57 +1852,104 @@ const AppealEstablished = () => { .el-select { width: 100%; } + :deep(.el-form-item) { + margin-right: 0; + } + } + .brand { + margin-right: 0; } .el-btn { margin-left: 5%; border: none; + display: flex; } .el_btbox { display: flex; - margin-top: 10px; + align-items: center; } } -.PackageInformation { +:deep(.PackageInformation) { margin-bottom: 10px; + width: 100%; + border-left: none; + border-right: none; + .el-tabs__header { + } + .el-tabs__content { + // padding-right: 0; + } + .is-active { + font-weight: bold; + } } .NumTotal { width: 30%; - margin-top: 16px; + margin-top: 10px; display: flex; align-items: center; span { width: 120px; font-size: 14px; + border: 1px solid #ccc; + display: flex; + width: auto; + padding: 4px 12px; } } .Proportion { margin-top: 16px; .title { font-size: 14px; - color: #606266; + border: 1px solid #ccc; + width: auto; + padding: 4px 12px; } } :deep(.is-active) { border-bottom: 1px solid #e4e7ed !important; } -.topClass { - :deep(.el-tabs__content) { +:deep(.topClass) { + border-bottom: none; + .el-tabs__content { padding: 0; } + .is-active { + font-weight: bold; + } } .foot_btn { - width: 100%; position: fixed; bottom: 0; left: 50%; + transform: translate(0, -50%); + width: 100%; height: 40px; + background-color: #ffffff; + border-top: 1px solid #fff; + box-shadow: 3px -1px 1px #ccc; display: flex; align-items: center; + padding-left: 10px; } :deep(.el-card__body) { - margin-bottom: 50px; } +:deep(.el-upload-dragger) { + display: flex; + align-items: center; + justify-content: center; +} +.box-card { + height: 100% !important; + overflow-y: scroll; +} +:deep(.selector) { + .el-select { + width: 100%; + } +} + .ProcessingResults { width: 100%; min-height: 260px; @@ -1806,19 +1979,30 @@ const AppealEstablished = () => { display: flex; margin-bottom: 20px; height: 30px; - width: 46%; - margin-right: 38px; - :deep(.el-input-number) { - width: 220px; + width: 100%; + justify-content: space-between; + .payment_right { + width: 100%; + display: flex; + :deep(.el-input) { + height: 100% !important; + } + :deep(.money) { + width: 100px; + } } span { - display: block; - width: 30%; - color: #606266; + color: #000000; font-size: 16px; + margin-right: 8px; display: flex; align-items: center; - justify-content: center; + justify-content: flex-end; + width: 80px; + margin-left: 10px; + } + .el_titleName { + display: flex; } } } @@ -1829,14 +2013,13 @@ const AppealEstablished = () => { .name { width: 10%; color: #606266; - - :deep(.el-input--prefix) { - width: 200px; - } } - :deep(.el-input) { + .el-input { width: auto; } + :deep(.el-input--prefix) { + width: 200px; + } } .ZFlptime { margin: 10px 0; @@ -1852,46 +2035,272 @@ const AppealEstablished = () => { font-size: 14px; padding: 10px; cursor: pointer; - width: 200px; + width: 140px; margin: 0 10px; + overflow: hidden; } .Paymentname:hover { border: 1px solid #172e60; } -.el_resj { - margin-top: 20px !important; - :deep(.el-form-item__label) { - justify-content: flex-start; - margin-left: 20px; +.el_Processingresults { + margin-top: 12px; + :deep(.is-active) { + font-weight: bold; + } +} +.el_PaymentUnit { + margin: 0 4px; +} +:deep(.el-input-number) { + width: 180px !important; +} +.Investigationprocess { + height: auto !important; + align-items: flex-start !important; + flex: 1 0 44% !important; + :deep(.el-form-item__content) { + width: 100% !important; + } +} +.el_tool { + display: flex; + align-items: center; + font-size: 16px; + font-weight: bold; + span { font-size: 14px; - width: 100px !important; + border: 1px solid #ccc; + padding: 4px 20px; + color: #000000; + font-weight: 600; } } -.lptime { - height: 30px !important; +.el_nint { + width: 100%; + border-right: none; + border-left: none; + border-bottom: none; + + :deep(.el-tabs__content) { + padding-right: 0; + } + :deep(.is-active) { + font-weight: bold; + } } -:deep(.el-image) { - width: 100% !important; - height: 300px !important; +:deep(.el_inputTop) { + margin-bottom: 0 !important; } -:deep(.el-input) { - height: 100% !important; +.content-max { + display: flex; + justify-content: space-between; + width: 100%; + background-color: #fff; + :deep(.el-card) { + width: 70%; + } + .el-affix { + flex: 1 1 0%; + margin-left: 10px; + } + .el_last { + display: flex; + height: 100%; + :deep(.el-card__body) { + display: flex; + flex-direction: column; + flex: 1; + } + :deep(.dialog-footer) { + flex: 1; + display: flex; + align-items: flex-end; + } + } } -.el_PaymentUnit { + +.right { + width: 100%; + :deep(.el-card__body) { + padding: 10px !important; + } + :deep(.el-timeline) { + padding: 0; + } + .ovhe { + padding: 6px; + .header { + display: flex; + justify-content: space-between; + align-items: center; + .el-tag { + width: 70px; + } + } + } + .content { + position: relative; + :deep(.el-card) { + width: 100%; + } + } + + :deep(.el-card__body:last-child) { + padding: 0px !important; + } + :deep(.el-timeline-item) { + padding-bottom: 30px; + } + :deep(.el-card) { + padding: 10px; + box-sizing: border-box; + } + .ovhe::-webkit-scrollbar { + width: 4px; + height: 0px; + } + .ovhe::-webkit-scrollbar-thumb { + background-color: #12b7f5; + background-image: -webkit-linear-gradient( + 45deg, + rgba(255, 93, 143, 1) 25%, + transparent 25%, + transparent 50%, + rgba(255, 93, 143, 1) 50%, + rgba(255, 93, 143, 1) 75%, + transparent 75%, + transparent + ); + } + + .ovhe::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); + background: #f6f6f6; + } + + .ovhe::-webkit-scrollbar-track { + background-color: #fff; /* 设置滚动条槽为透明 */ + } + :deep(.el-tabs__content) { + padding: 0; + } + :deep(.el-timeline-item__node) { + background-color: #8fa3ad; + } + :deep(.el-icon) { + font-size: 16px; + } +} + +.el_Processingparty { + width: 100%; display: flex; align-items: center; - margin-right: 6px; + justify-content: space-between; + font-size: 12px; + margin-bottom: 8px; + box-shadow: -1px 2px 2px 0px #f5f5f5; + padding: 0 4px; + box-sizing: border-box; + border-radius: 4px; + height: 40px; + span { + width: 40px; + } + :deep(.el-select) { + width: 100%; + } span { + font-size: 20px; + } + :deep(.el_Refresh) { + i { + font-size: 30px; + } + } +} + +.ovhe { + position: relative; + overflow-y: scroll; + scroll-behavior: smooth; + .e_ico { display: flex; - width: 80px !important; align-items: center; } - :deep(.el-input) { - width: 150px; + .img { + width: 50px; + height: 50px; + img { + width: 100%; + height: 100%; + } + } + .mp4 { + margin-top: 2px; + span { + display: flex; + align-items: center; + vertical-align: bottom; + cursor: pointer; + } + } + .tag { + display: flex; + justify-content: flex-end; + } + .file { + span { + display: flex; + align-items: center; + vertical-align: bottom; + cursor: pointer; + } + } + :deep(.el-timeline-item__timestamp) { + display: none !important; } } +.identifying { + display: flex; + align-items: center; + justify-content: space-between; + .el-tag { + width: 70px; + } +} +.identifyingC1 { + background-color: #409eff; + border-radius: 4px; + + border: none; +} +.identifyingC2 { + background-color: #10d070; + border: none; +} +.identifyingC3 { + background-color: #d3832a; + border: none; +} +.CardidentifyingC1, +.CardidentifyingC2, +.CardidentifyingC3 { + box-shadow: -1px -1px 4px 0px #e3e3e3; + border-top-left-radius: 20px; + border-bottom: 1px solid #d5d5d563 !important; + border-right: 1px solid #d5d5d563 !important; +} .el-endtabs { - margin-top: 26px; + margin-top: 10px; +} +:deep(.custom-tabs-label) { + font-weight: bold; + display: flex; + align-items: center; + .el-icon { + margin-right: 4px; + } } .payanindemnity { display: flex; @@ -1899,31 +2308,36 @@ const AppealEstablished = () => { margin-top: 20px; justify-content: space-between; .title { - width: 126px; + width: max-content; height: 100%; - display: flex; display: block; - align-items: center; + font-size: 14px; + font-weight: 500; } .sk_input { margin: 0 5px; - margin-left: 20px; + margin-left: 4px; width: 20%; + display: flex; + align-items: center; + span { + width: 100px; + margin-right: 4px; + display: flex; + justify-content: flex-end; + font-size: 14px; + font-weight: 400; + } } .el-button { border: none; } - .el_pkLi{ + .el_pkLi { display: flex; width: 100%; } } - -:deep(.custom-tabs-label) { - display: flex; - align-items: center; - } - .paySum { +.paySum { margin-top: 36px; font-size: 14px; display: flex; @@ -1933,4 +2347,58 @@ const AppealEstablished = () => { align-items: center; } } +:deep(.el-photo) { + margin-top: 10px; + .el-upload--picture-card { + display: none; + } + .Transport_damage_photos { + margin-top: 0; + .el-picture-card { + display: flex; + padding: 6px; + } + } + + .el-tabs__content { + padding: 0; + } + .el-upload-list__item { + margin: 0; + } +} +.arbitrate { + margin-top: 10px; +} +.el_BatchFrom { + width: 70%; +} +.el_form_BatchFrom { + display: flex; + justify-content: space-between; + :deep(.el-select-tags-wrapper) { + .el-tag { + width: 100%; + } + } +} +:deep(#avue-view) { + background-color: #fff; +} +:deep(.el_resj) { + flex-direction: column; + .el-form-item__label { + justify-content: center; + font-weight: 500; + border: 1px solid #dcdfe6; + width: fit-content; + display: flex; + align-items: center; + padding: 0; + padding: 0 4px; + border-bottom: 0; + color: #172e60; + border-radius: 2px; + } +} diff --git a/src/views/aftersales/aftersalesWorkOrderInfoEnxt.vue b/src/views/aftersales/aftersalesWorkOrderInfoEnxt.vue new file mode 100644 index 00000000..68897717 --- /dev/null +++ b/src/views/aftersales/aftersalesWorkOrderInfoEnxt.vue @@ -0,0 +1,2802 @@ + + + + + diff --git a/src/views/aftersales/aftersalesWorkOrderInfoTemp.vue b/src/views/aftersales/aftersalesWorkOrderInfoTemp.vue index 4ba91ee2..871842fd 100644 --- a/src/views/aftersales/aftersalesWorkOrderInfoTemp.vue +++ b/src/views/aftersales/aftersalesWorkOrderInfoTemp.vue @@ -1,771 +1,657 @@ diff --git a/src/views/basicdata/driverArtery/basicdataDriverArtery.vue b/src/views/basicdata/driverArtery/basicdataDriverArtery.vue index fbfa1e03..669e5f21 100644 --- a/src/views/basicdata/driverArtery/basicdataDriverArtery.vue +++ b/src/views/basicdata/driverArtery/basicdataDriverArtery.vue @@ -46,7 +46,7 @@ - +