|
@@ -18,7 +18,7 @@
|
|
<el-form :model="state.ruleForm" label-width="110px" ref="ruleFormRef" v-loading="state.loading">
|
|
<el-form :model="state.ruleForm" label-width="110px" ref="ruleFormRef" v-loading="state.loading">
|
|
<slot name="header"></slot>
|
|
<slot name="header"></slot>
|
|
<el-row :gutter="10">
|
|
<el-row :gutter="10">
|
|
-<!-- <el-col>
|
|
|
|
|
|
+ <!-- <el-col>
|
|
<el-form-item label="当前选择的流程">
|
|
<el-form-item label="当前选择的流程">
|
|
{{ seatTopaidan ? '话务部到派单组' : '' }}
|
|
{{ seatTopaidan ? '话务部到派单组' : '' }}
|
|
{{ seatToOrgOne ? '话务部到一级部门' : '' }}
|
|
{{ seatToOrgOne ? '话务部到一级部门' : '' }}
|
|
@@ -32,7 +32,7 @@
|
|
</el-col>-->
|
|
</el-col>-->
|
|
<!-- 退回流程 -->
|
|
<!-- 退回流程 -->
|
|
<template v-if="returnArr.includes(state.processType)">
|
|
<template v-if="returnArr.includes(state.processType)">
|
|
- <el-col v-if="isSmsSelectShow">
|
|
|
|
|
|
+ <el-col v-if="isShowReturnSms">
|
|
<el-form-item prop="isSms">
|
|
<el-form-item prop="isSms">
|
|
<el-checkbox v-model="state.ruleForm.isSms" label="短信通知" />
|
|
<el-checkbox v-model="state.ruleForm.isSms" label="短信通知" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -505,6 +505,7 @@ import {
|
|
orderFlowParams,
|
|
orderFlowParams,
|
|
orderHandle,
|
|
orderHandle,
|
|
orderProcessTempSave,
|
|
orderProcessTempSave,
|
|
|
|
+ orderReturnParams,
|
|
orderStartFlow,
|
|
orderStartFlow,
|
|
orderTimeConfig,
|
|
orderTimeConfig,
|
|
} from '@/api/business/order';
|
|
} from '@/api/business/order';
|
|
@@ -593,7 +594,9 @@ const openDialog = async (val: any) => {
|
|
const [orderStartWorkflowResponse] = await Promise.all([orderFlowParams(orderDetail.id)]); //获取开启流程参数
|
|
const [orderStartWorkflowResponse] = await Promise.all([orderFlowParams(orderDetail.id)]); //获取开启流程参数
|
|
handleResult(orderStartWorkflowResponse);
|
|
handleResult(orderStartWorkflowResponse);
|
|
break;
|
|
break;
|
|
- case '工单退回': // 工单退回
|
|
|
|
|
|
+ case '工单退回': // 退回流程
|
|
|
|
+ const workflowReturnResponse = await orderReturnParams(state.orderDetail.id);
|
|
|
|
+ handleResultReturn(workflowReturnResponse);
|
|
break;
|
|
break;
|
|
case '工单办理': // 工单办理
|
|
case '工单办理': // 工单办理
|
|
const [workflowNextStepsResponse] = await Promise.all([workflowNextStepsByOrder(state.orderDetail.id)]); // 获取下一节点和下一节点参数
|
|
const [workflowNextStepsResponse] = await Promise.all([workflowNextStepsByOrder(state.orderDetail.id)]); // 获取下一节点和下一节点参数
|
|
@@ -616,6 +619,19 @@ const openDialog = async (val: any) => {
|
|
state.loading = false;
|
|
state.loading = false;
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
+// 处理退回 currentBusinessType 表示选择节点到哪一步 0 坐席 1派单 2部门节点 3部门领导节点
|
|
|
|
+// targetBusinessType 0 坐席 1派单 2部门节点 3部门领导节点
|
|
|
|
+const isShowReturnSms = ref(false);
|
|
|
|
+const handleResultReturn = (res: any) => {
|
|
|
|
+ // 部门退部门需要默认选中短信
|
|
|
|
+ if (res.result.currentBusinessType === 2 && res.result.targetBusinessType === 2) {
|
|
|
|
+ isShowReturnSms.value = true;
|
|
|
|
+ state.ruleForm.isSms = true;
|
|
|
|
+ } else {
|
|
|
|
+ isShowReturnSms.value = false;
|
|
|
|
+ state.ruleForm.isSms = false;
|
|
|
|
+ }
|
|
|
|
+};
|
|
const isOrderAccept = computed(() => {
|
|
const isOrderAccept = computed(() => {
|
|
return state.processType === '工单受理';
|
|
return state.processType === '工单受理';
|
|
});
|
|
});
|
|
@@ -942,16 +958,16 @@ const selectHandlers = () => {
|
|
label: item.value,
|
|
label: item.value,
|
|
};
|
|
};
|
|
});
|
|
});
|
|
- if(res.result.steps.length === 1){
|
|
|
|
|
|
+ if (res.result.steps.length === 1) {
|
|
state.ruleForm.levelTwoStep = res.result.steps[0];
|
|
state.ruleForm.levelTwoStep = res.result.steps[0];
|
|
- levelTwoHandleOptions.value = state.ruleForm.levelTwoStep.items.map((item:any)=>{
|
|
|
|
|
|
+ levelTwoHandleOptions.value = state.ruleForm.levelTwoStep.items.map((item: any) => {
|
|
return {
|
|
return {
|
|
value: {
|
|
value: {
|
|
...item,
|
|
...item,
|
|
},
|
|
},
|
|
label: item.value,
|
|
label: item.value,
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ };
|
|
|
|
+ });
|
|
}
|
|
}
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
@@ -960,16 +976,16 @@ const selectHandlers = () => {
|
|
};
|
|
};
|
|
// 选择二级部门节点
|
|
// 选择二级部门节点
|
|
const selectOrgLevelTwo = (val: any) => {
|
|
const selectOrgLevelTwo = (val: any) => {
|
|
- if(val){
|
|
|
|
- levelTwoHandleOptions.value = state.ruleForm.levelTwoStep.items.map((item:any)=>{
|
|
|
|
|
|
+ if (val) {
|
|
|
|
+ levelTwoHandleOptions.value = state.ruleForm.levelTwoStep.items.map((item: any) => {
|
|
return {
|
|
return {
|
|
value: {
|
|
value: {
|
|
...item,
|
|
...item,
|
|
},
|
|
},
|
|
label: item.value,
|
|
label: item.value,
|
|
- }
|
|
|
|
- })
|
|
|
|
- }else{
|
|
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
levelTwoHandleOptions.value = [];
|
|
levelTwoHandleOptions.value = [];
|
|
state.ruleForm.levelTwoHandlers = [];
|
|
state.ruleForm.levelTwoHandlers = [];
|
|
state.ruleForm.levelThreeHandlers = [];
|
|
state.ruleForm.levelThreeHandlers = [];
|
|
@@ -984,7 +1000,7 @@ const levelThreeHandleOptions = ref<EmptyArrayType>([]); // 三级部门办理
|
|
// 选择二级部门办理对象 展示三级办理对象和节点
|
|
// 选择二级部门办理对象 展示三级办理对象和节点
|
|
const selectOrgLevelTwoHandler = (val: any) => {
|
|
const selectOrgLevelTwoHandler = (val: any) => {
|
|
const ids = val.map((item: any) => item.key);
|
|
const ids = val.map((item: any) => item.key);
|
|
- if(val && val.length){
|
|
|
|
|
|
+ if (val && val.length) {
|
|
const request = {
|
|
const request = {
|
|
WorkflowId: state.ruleForm.workflowId,
|
|
WorkflowId: state.ruleForm.workflowId,
|
|
StepCode: state.ruleForm.levelTwoStep.key,
|
|
StepCode: state.ruleForm.levelTwoStep.key,
|
|
@@ -1003,19 +1019,19 @@ const selectOrgLevelTwoHandler = (val: any) => {
|
|
label: item.value,
|
|
label: item.value,
|
|
};
|
|
};
|
|
});
|
|
});
|
|
- if(res.result.steps.length === 1){
|
|
|
|
|
|
+ if (res.result.steps.length === 1) {
|
|
state.ruleForm.levelThreeStep = res.result.steps[0];
|
|
state.ruleForm.levelThreeStep = res.result.steps[0];
|
|
- levelThreeHandleOptions.value = state.ruleForm.levelThreeStep.items.map((item:any)=>{
|
|
|
|
|
|
+ levelThreeHandleOptions.value = state.ruleForm.levelThreeStep.items.map((item: any) => {
|
|
return {
|
|
return {
|
|
value: {
|
|
value: {
|
|
...item,
|
|
...item,
|
|
},
|
|
},
|
|
label: item.value,
|
|
label: item.value,
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ };
|
|
|
|
+ });
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
state.ruleForm.levelThreeHandlers = [];
|
|
state.ruleForm.levelThreeHandlers = [];
|
|
levelThreeStepOptions.value = [];
|
|
levelThreeStepOptions.value = [];
|
|
levelThreeHandleOptions.value = [];
|
|
levelThreeHandleOptions.value = [];
|
|
@@ -1047,8 +1063,8 @@ const selectOrgLevelTwoHandler = (val: any) => {
|
|
});*/
|
|
});*/
|
|
};
|
|
};
|
|
// 选择三级部门节点
|
|
// 选择三级部门节点
|
|
-const selectOrgLevelThree = (val: any)=>{
|
|
|
|
- if(val){
|
|
|
|
|
|
+const selectOrgLevelThree = (val: any) => {
|
|
|
|
+ if (val) {
|
|
levelThreeHandleOptions.value = state.ruleForm.levelThreeStep.items.map((item: any) => {
|
|
levelThreeHandleOptions.value = state.ruleForm.levelThreeStep.items.map((item: any) => {
|
|
return {
|
|
return {
|
|
value: {
|
|
value: {
|
|
@@ -1057,12 +1073,12 @@ const selectOrgLevelThree = (val: any)=>{
|
|
label: item.value,
|
|
label: item.value,
|
|
};
|
|
};
|
|
});
|
|
});
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
state.ruleForm.levelThreeHandlers = [];
|
|
state.ruleForm.levelThreeHandlers = [];
|
|
levelThreeHandleOptions.value = [];
|
|
levelThreeHandleOptions.value = [];
|
|
}
|
|
}
|
|
-}
|
|
|
|
-const selectOrgLevelThreeHandler = ()=>{}
|
|
|
|
|
|
+};
|
|
|
|
+const selectOrgLevelThreeHandler = () => {};
|
|
// 办理对象是否必填
|
|
// 办理对象是否必填
|
|
const nextHandlersRequired = ref<Boolean>(false);
|
|
const nextHandlersRequired = ref<Boolean>(false);
|
|
/*watch(
|
|
/*watch(
|
|
@@ -1143,50 +1159,54 @@ const onSubmit = (formEl: FormInstance | undefined) => {
|
|
isPoliceReturn: state.ruleForm.isPoliceReturn,
|
|
isPoliceReturn: state.ruleForm.isPoliceReturn,
|
|
isResolved: state.ruleForm.isResolved,
|
|
isResolved: state.ruleForm.isResolved,
|
|
};
|
|
};
|
|
- let crossSteps:EmptyArrayType = [];
|
|
|
|
- if(state.ruleForm.orderAssignMode === 1){ // 如果选中了跨级派单
|
|
|
|
- const levelOneParams = { // 一级部门
|
|
|
|
- nextStepCode:state.ruleForm.nextStepCode,
|
|
|
|
- nextStepName:state.ruleForm.nextStepName,
|
|
|
|
- flowDirection:state.ruleForm.flowDirection,
|
|
|
|
- handlerType:state.ruleForm.handlerType,
|
|
|
|
- stepType:state.ruleForm.stepType,
|
|
|
|
- businessType:state.ruleForm.businessType,
|
|
|
|
- nextHandlers:state.ruleForm.nextHandlers,
|
|
|
|
- sort:1,
|
|
|
|
- }
|
|
|
|
|
|
+ let crossSteps: EmptyArrayType = [];
|
|
|
|
+ if (state.ruleForm.orderAssignMode === 1) {
|
|
|
|
+ // 如果选中了跨级派单
|
|
|
|
+ const levelOneParams = {
|
|
|
|
+ // 一级部门
|
|
|
|
+ nextStepCode: state.ruleForm.nextStepCode,
|
|
|
|
+ nextStepName: state.ruleForm.nextStepName,
|
|
|
|
+ flowDirection: state.ruleForm.flowDirection,
|
|
|
|
+ handlerType: state.ruleForm.handlerType,
|
|
|
|
+ stepType: state.ruleForm.stepType,
|
|
|
|
+ businessType: state.ruleForm.businessType,
|
|
|
|
+ nextHandlers: state.ruleForm.nextHandlers,
|
|
|
|
+ sort: 1,
|
|
|
|
+ };
|
|
crossSteps.push(levelOneParams);
|
|
crossSteps.push(levelOneParams);
|
|
- if(state.ruleForm.levelTwoHandlers && state.ruleForm.levelTwoHandlers.length){ // 二级部门
|
|
|
|
|
|
+ if (state.ruleForm.levelTwoHandlers && state.ruleForm.levelTwoHandlers.length) {
|
|
|
|
+ // 二级部门
|
|
const levelTwoParams = {
|
|
const levelTwoParams = {
|
|
- nextStepCode:state.ruleForm.levelTwoStep.key,
|
|
|
|
- nextStepName:state.ruleForm.levelTwoStep.value,
|
|
|
|
- flowDirection:state.ruleForm.levelTwoStep.flowDirection,
|
|
|
|
- handlerType:state.ruleForm.levelTwoStep.handlerType,
|
|
|
|
- stepType:state.ruleForm.levelTwoStep.stepType,
|
|
|
|
- businessType:state.ruleForm.levelTwoStep.businessType,
|
|
|
|
- nextHandlers:state.ruleForm.levelTwoHandlers,
|
|
|
|
- sort:2,
|
|
|
|
- }
|
|
|
|
|
|
+ nextStepCode: state.ruleForm.levelTwoStep.key,
|
|
|
|
+ nextStepName: state.ruleForm.levelTwoStep.value,
|
|
|
|
+ flowDirection: state.ruleForm.levelTwoStep.flowDirection,
|
|
|
|
+ handlerType: state.ruleForm.levelTwoStep.handlerType,
|
|
|
|
+ stepType: state.ruleForm.levelTwoStep.stepType,
|
|
|
|
+ businessType: state.ruleForm.levelTwoStep.businessType,
|
|
|
|
+ nextHandlers: state.ruleForm.levelTwoHandlers,
|
|
|
|
+ sort: 2,
|
|
|
|
+ };
|
|
crossSteps.push(levelTwoParams);
|
|
crossSteps.push(levelTwoParams);
|
|
}
|
|
}
|
|
- if(state.ruleForm.levelThreeHandlers && state.ruleForm.levelThreeHandlers.length){ // 三级部门
|
|
|
|
|
|
+ if (state.ruleForm.levelThreeHandlers && state.ruleForm.levelThreeHandlers.length) {
|
|
|
|
+ // 三级部门
|
|
const levelThreeParams = {
|
|
const levelThreeParams = {
|
|
- nextStepCode:state.ruleForm.levelThreeStep.key,
|
|
|
|
- nextStepName:state.ruleForm.levelThreeStep.value,
|
|
|
|
- flowDirection:state.ruleForm.levelThreeStep.flowDirection,
|
|
|
|
- handlerType:state.ruleForm.levelThreeStep.handlerType,
|
|
|
|
- stepType:state.ruleForm.levelThreeStep.stepType,
|
|
|
|
- businessType:state.ruleForm.levelThreeStep.businessType,
|
|
|
|
- nextHandlers:state.ruleForm.levelThreeHandlers,
|
|
|
|
- sort:3,
|
|
|
|
- }
|
|
|
|
|
|
+ nextStepCode: state.ruleForm.levelThreeStep.key,
|
|
|
|
+ nextStepName: state.ruleForm.levelThreeStep.value,
|
|
|
|
+ flowDirection: state.ruleForm.levelThreeStep.flowDirection,
|
|
|
|
+ handlerType: state.ruleForm.levelThreeStep.handlerType,
|
|
|
|
+ stepType: state.ruleForm.levelThreeStep.stepType,
|
|
|
|
+ businessType: state.ruleForm.levelThreeStep.businessType,
|
|
|
|
+ nextHandlers: state.ruleForm.levelThreeHandlers,
|
|
|
|
+ sort: 3,
|
|
|
|
+ };
|
|
crossSteps.push(levelThreeParams);
|
|
crossSteps.push(levelThreeParams);
|
|
}
|
|
}
|
|
- };
|
|
|
|
|
|
+ }
|
|
switch (state.processType) {
|
|
switch (state.processType) {
|
|
case '工单受理':
|
|
case '工单受理':
|
|
const request = {
|
|
const request = {
|
|
- data: { orderId: state.orderDetail.id, ...submitObj,crossSteps },
|
|
|
|
|
|
+ data: { orderId: state.orderDetail.id, ...submitObj, crossSteps },
|
|
workflow: { ...submitObj, files: handleFiles.value },
|
|
workflow: { ...submitObj, files: handleFiles.value },
|
|
};
|
|
};
|
|
orderStartFlow(request)
|
|
orderStartFlow(request)
|
|
@@ -1200,7 +1220,7 @@ const onSubmit = (formEl: FormInstance | undefined) => {
|
|
case '工单办理': // 工单办理流程
|
|
case '工单办理': // 工单办理流程
|
|
case '工单代办': // 工单代办流程
|
|
case '工单代办': // 工单代办流程
|
|
const requestHandle = {
|
|
const requestHandle = {
|
|
- data: { orderId: state.orderDetail.id, ...submitObj,crossSteps },
|
|
|
|
|
|
+ data: { orderId: state.orderDetail.id, ...submitObj, crossSteps },
|
|
workflow: { ...submitObj, files: handleFiles.value },
|
|
workflow: { ...submitObj, files: handleFiles.value },
|
|
};
|
|
};
|
|
orderHandle(requestHandle)
|
|
orderHandle(requestHandle)
|
|
@@ -1226,7 +1246,7 @@ const onSubmit = (formEl: FormInstance | undefined) => {
|
|
break;
|
|
break;
|
|
default: // 默认工单办理
|
|
default: // 默认工单办理
|
|
const requestDefault = {
|
|
const requestDefault = {
|
|
- data: { orderId: state.orderDetail.id, ...submitObj,crossSteps },
|
|
|
|
|
|
+ data: { orderId: state.orderDetail.id, ...submitObj, crossSteps },
|
|
workflow: { ...submitObj, files: handleFiles.value },
|
|
workflow: { ...submitObj, files: handleFiles.value },
|
|
};
|
|
};
|
|
orderHandle(requestDefault)
|
|
orderHandle(requestDefault)
|