Browse Source

reactor:流程调整;

zhangchong 6 months ago
parent
commit
baad2c9494
1 changed files with 50 additions and 22 deletions
  1. 50 22
      src/components/ProcessAudit/ZGProcess.vue

+ 50 - 22
src/components/ProcessAudit/ZGProcess.vue

@@ -116,15 +116,15 @@
 					<!-- 话务部到一级部门  派单组到一级部门	-->
 					<template v-if="seatToOrgOne || paidanToOrgOne">
 						<el-col :span="24">
-							<el-form-item label="派单类型" prop="dispatchType" :rules="[{ required: true, message: '请选择派单类型', trigger: 'change' }]">
-								<el-radio-group v-model="state.ruleForm.dispatchType" @change="selectDispatchType">
+							<el-form-item label="派单类型" prop="orderAssignMode" :rules="[{ required: true, message: '请选择派单类型', trigger: 'change' }]">
+								<el-radio-group v-model="state.ruleForm.orderAssignMode" @change="selectDispatchType">
 									<el-radio value="0">逐级派单</el-radio>
 									<el-radio value="1">跨级派单</el-radio>
 									<el-radio value="2">主协办</el-radio>
 								</el-radio-group>
 							</el-form-item>
 						</el-col>
-						<el-col :span="24" v-if="state.ruleForm.dispatchType === '0'">
+						<el-col :span="24" v-if="state.ruleForm.orderAssignMode === '0'">
 							<el-row class="w100">
 								<el-col :span="12">
 									<el-form-item label="接办部门" prop="nextHandlers" :rules="[{ required: true, message: '请选择接办部门', trigger: 'change' }]">
@@ -165,13 +165,24 @@
 								</el-col>
 							</el-row>
 						</el-col>
-						<el-col :span="24" v-if="state.ruleForm.dispatchType === '1'">
+						<el-col :span="24" v-if="state.ruleForm.orderAssignMode === '1'">
 							<el-form-item label="接办部门" prop="paidanObj" :rules="[{ required: true, message: '请选择接办部门', trigger: 'change' }]">
 								<el-row class="w100" :gutter="10">
 									<el-col :span="12">
-										<el-select v-model="state.ruleForm.paidanObj" placeholder="一级部门" class="w100" filterable>
-											<el-option v-for="item in state.paidanObjOptions" :key="item.key" :label="item.value" :value="item.key" />
-										</el-select>
+										<el-select-v2
+											v-model="state.ruleForm.nextHandlers"
+											:options="state.handlerOptions"
+											placeholder="请选择接办部门"
+											class="w100"
+											multiple
+											clearable
+											collapse-tags
+											collapse-tags-tooltip
+											filterable
+											value-key="key"
+											@change="selectHandlers"
+											:multiple-limit="multipleLimit"
+										/>
 									</el-col>
 									<el-col :span="12">
 										<el-select v-model="state.ruleForm.paidanObj" placeholder="下级部门" class="w100" filterable multiple>
@@ -181,7 +192,7 @@
 								</el-row>
 							</el-form-item>
 						</el-col>
-						<el-col :span="24" v-if="state.ruleForm.dispatchType === '2'">
+						<el-col :span="24" v-if="state.ruleForm.orderAssignMode === '2'">
 							<el-form-item label="主办部门" prop="paidanObj" :rules="[{ required: true, message: '请选择主办部门', trigger: 'change' }]">
 								<el-row class="w100" :gutter="20">
 									<el-col :span="18">
@@ -255,9 +266,9 @@
 					</template>
 					<!-- 派单组到一级部门  -->
 					<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12" v-if="paidanToOrgOne">
-						<el-form-item label="领导短信" prop="paidanObj" :rules="[{ required: false, message: '请选择领导短信', trigger: 'change' }]">
-							<el-select v-model="state.ruleForm.paidanObj" placeholder="请选择领导短信" class="w100" filterable>
-								<el-option v-for="item in state.paidanObjOptions" :key="item.key" :label="item.value" :value="item.key" />
+						<el-form-item label="领导短信" prop="leaderSMSKey" :rules="[{ required: false, message: '请选择领导短信', trigger: 'change' }]">
+							<el-select v-model="state.ruleForm.leaderSMSKey" placeholder="请选择领导短信" class="w100" filterable clearable>
+								<el-option v-for="item in leaderSMS" :key="item.key" :label="item.value" :value="item.key" />
 							</el-select>
 						</el-form-item>
 					</el-col>
@@ -281,8 +292,9 @@
 										class="w100"
 										value-key="dicDataValue"
 										@change="changeTranspondCity"
+										clearable
 									>
-										<el-option v-for="item in state.transpondCity" :key="item.dicDataValue" :label="item.dicDataName" :value="item" />
+										<el-option v-for="item in transpondCity" :key="item.dicDataValue" :label="item.dicDataName" :value="item" />
 									</el-select>
 								</el-form-item>
 							</el-col>
@@ -456,11 +468,9 @@ const state = reactive<any>({
 		transpondCityName: null, // 市州转办信息
 		transpondCityId: null, // 市州转办信息id
 		transpondCityValue: null, // 市州转办信息
-		dispatchType: '0', // 派单类型默认逐级派单
-	},
-	terminateForm: {
-		//终止表单
-		content: '', // 终止理由
+		orderAssignMode: '0', // 派单类型默认逐级派单
+		secondaryHandlers:[], // 跨级转派得下级办理对象/主协办得协办对象
+		copyToHandlers:[], // 抄送对象
 	},
 	nextStepOptions: [], // 下一节点
 	handlerOptions: [], // 办理对象
@@ -547,12 +557,16 @@ const timeTypeOptions = ref<EmptyArrayType>([]); // 办理时限单位
 const canStartCountersign = ref<boolean>(false); // 是否可以发起会签
 const isMainHandlerShow = ref<boolean>(false); // 是否展示主办人
 const currentParams = ref<EmptyObjectType>({}); // 当前获取到的参数(当前节点信息)
+const leaderSMS = ref<EmptyArrayType>([]); // 领导短信选择
+const transpondCity = ref<EmptyArrayType>([]); // 市州互转选择
 const handleResult = (res: any) => {
 	currentParams.value = res.result;
 	state.nextStepOptions = res.result.steps; //办理对象选择内容
 	timeTypeOptions.value = res.result.timeTypeOptions ?? []; // 办理时限申请单位
 	canStartCountersign.value = res.result.canStartCountersign ?? false; // 是否可以发起会签
 	isMainHandlerShow.value = res.result.isMainHandlerShow ?? false; // 是否展示主办人
+	leaderSMS.value = res.result.leaderSMS ?? []; // 领导短信选择
+	transpondCity.value = res.result.transpondCity ?? []; // 市州互转
 	if (handelArr.includes(state.processType)) {
 		// 办理才有期满时间
 		state.ruleForm.expiredTime = res.result.expiredTime ?? null; // 期满时间
@@ -757,6 +771,9 @@ const selectHandlers = () => {
 		// 如果只有一个办理对象就不需要发起会签
 		state.ruleForm.isStartCountersign = false;
 	}
+	if((seatToOrgOne.value || paidanToOrgOne.value) && state.ruleForm.orderAssignMode === '1'){
+
+	}
 };
 // 办理对象是否必填
 const nextHandlersRequired = ref<Boolean>(false);
@@ -838,11 +855,10 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 			isPoliceReturn: state.ruleForm.isPoliceReturn,
 			isResolved: state.ruleForm.isResolved,
 		};
-		// submitObj.stepExpiredTime = submitObj.expiredTime; //节点过期时间
 		switch (state.processType) {
 			case '工单受理':
 				const request = {
-					data: state.orderDetail.id,
+					data: { oderId: state.orderDetail.id, ...submitObj },
 					workflow: { ...submitObj, files: handleFiles.value },
 				};
 				orderStartFlow(request)
@@ -855,7 +871,11 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 				break;
 			case '工单办理': // 工单办理流程
 			case '工单代办': // 工单代办流程
-				orderHandle({ ...submitObj, files: handleFiles.value })
+				const requestHandle = {
+					data: { oderId: state.orderDetail.id, ...submitObj },
+					workflow: { ...submitObj, files: handleFiles.value },
+				};
+				orderHandle(requestHandle)
 					.then(() => {
 						afterSubmit('orderProcessSuccess', true);
 					})
@@ -864,7 +884,11 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 					});
 				break;
 			case '工单退回':
-				orderPrevious({ ...submitObj, files: handleFiles.value })
+				const requestReturn = {
+					data: { oderId: state.orderDetail.id, ...submitObj },
+					workflow: { ...submitObj, files: handleFiles.value },
+				};
+				orderPrevious(requestReturn)
 					.then(() => {
 						afterSubmit('orderProcessSuccess', true, '退回申请成功');
 					})
@@ -873,7 +897,11 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 					});
 				break;
 			default: // 默认工单办理
-				orderHandle({ ...submitObj, files: handleFiles.value })
+				const requestDefault = {
+					data: { oderId: state.orderDetail.id, ...submitObj },
+					workflow: { ...submitObj, files: handleFiles.value },
+				};
+				orderHandle(requestDefault)
 					.then(() => {
 						afterSubmit('orderProcessSuccess', true);
 					})