Browse Source

reactor:部门退部门需要默认选中短信;

zhangchong 6 months ago
parent
commit
19da3ef72a
2 changed files with 89 additions and 59 deletions
  1. 10 0
      src/api/business/order.ts
  2. 79 59
      src/components/ProcessAudit/ZGProcess.vue

+ 10 - 0
src/api/business/order.ts

@@ -340,4 +340,14 @@ export const orderAssignParams = (params: object) => {
 		params,
 		params,
 		paramsSerializer: (params:any) => qs.stringify(params)
 		paramsSerializer: (params:any) => qs.stringify(params)
 	});
 	});
+};
+/**
+ * @description 查询工单退回目标节点信息
+ * @param {string} orderId
+ */
+export const orderReturnParams = (orderId: string | any) => {
+	return request({
+		url: `/api/v1/Order/previous/targetStep/${orderId}`,
+		method: 'get',
+	});
 };
 };

+ 79 - 59
src/components/ProcessAudit/ZGProcess.vue

@@ -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)