Browse Source

Merge branch 'master' into release

# Conflicts:
#	src/components/ProcessAudit/index.vue
zhangchong 9 tháng trước cách đây
mục cha
commit
cda90038a0
1 tập tin đã thay đổi với 285 bổ sung273 xóa
  1. 285 273
      src/components/ProcessAudit/index.vue

+ 285 - 273
src/components/ProcessAudit/index.vue

@@ -422,13 +422,13 @@
 								<annex-list :name="state.annexName" :businessId="state.orderDetail.id" :classify="state.classify" v-model:format="handleFiles" />
 							</el-form-item>
 						</el-col>
-						<el-col v-if="state.dialogTitle === '工单受理'" :span="24" :class="{ mb20: isOverdueTips }">
-							<el-alert type="warning" show-icon title="注意">
-								<template #title> 打开办理弹窗后如有修改工单信息,请关闭本弹窗后重新打开 </template>
-							</el-alert>
-						</el-col>
-						<el-col v-if="isOverdueTips" :span="24">
-							<el-alert type="warning" show-icon title="注意"> 该工单属于超期状态,若符合延期要求,请延期通过后办结,是否继续办理 </el-alert>
+						<el-col v-if="state.dialogTitle === '工单受理'" :span="24">
+							<el-form-item>
+								<template #label>
+									<span class="color-danger">注意</span>
+								</template>
+								<span class="color-danger">打开办理弹窗后如有修改工单信息,请关闭本弹窗后重新打开!</span>
+							</el-form-item>
 						</el-col>
 					</template>
 				</template>
@@ -706,10 +706,6 @@ watchEffect(() => {
 // 流程选择下一环节
 const fastStepCode = ref(''); // 推荐派单处理对象code
 const fastStepName = ref(''); // 推荐派单处理对象
-// expiredStatus 超期状态(0正常 1即将超期  2已超期)  工单流转选择“结束”节点,点击“办理”时需验证该工单是否处于已超期状态
-const isOverdueTips = computed(() => {
-	return state.orderDetail.expiredStatus === 2 && state.ruleForm.nextStepCode === 'end';
-});
 const selectNextStep = (val: any) => {
 	ruleFormRef.value?.resetFields('nextHandlers');
 	ruleFormRef.value?.resetFields('nextMainHandler');
@@ -731,6 +727,7 @@ const selectNextStep = (val: any) => {
 	});
 	fastStepName.value = next.recommendOrgName; // 推荐派单处理对象
 	fastStepCode.value = next.recommendOrgId; // 推荐派单处理对象code
+
 	if (items.length === 1) {
 		// 如果办理对象只有一个默认选中
 		state.ruleForm.nextHandlers = [items[0]];
@@ -961,275 +958,290 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 		if (!valid) return;
 		let isAuditText = '确认办理';
 		// expiredStatus 超期状态(0正常 1即将超期  2已超期)  工单流转选择“结束”节点,点击“办理”时需验证该工单是否处于已超期状态
-
-		state.loading = true;
-		let submitObj = other.deepClone(state.ruleForm);
-		if (submitObj.nextHandlers && submitObj.nextHandlers.length) {
-			if (submitObj.nextHandlers.length === 1) {
-				submitObj.nextMainHandler = submitObj.nextHandlers[0].key;
-			}
+		if (state.orderDetail.expiredStatus === 2 && state.ruleForm.nextStepCode === 'end') {
+			isAuditText = '该工单属于超期状态,若符合延期要求,请延期通过后办结,是否继续办理';
 		}
-		if (!flowDirection.value) {
-			// 需要填写办理时限
-			Reflect.deleteProperty(submitObj, 'timeLimit');
-			Reflect.deleteProperty(submitObj, 'timeLimitUnit');
-		} else {
-			submitObj.external = {
-				timeLimit: state.ruleForm.timeLimit,
-				timeLimitUnit: state.ruleForm.timeLimitUnit,
-			};
-		}
-		Reflect.deleteProperty(submitObj, 'isPoliceReturn');
-		Reflect.deleteProperty(submitObj, 'isResolved');
-		submitObj.external = {
-			isPoliceReturn: state.ruleForm.isPoliceReturn,
-			isResolved: state.ruleForm.isResolved,
-		};
-		// submitObj.stepExpiredTime = submitObj.expiredTime; //节点过期时间
-		switch (state.processType) {
-			case '工单受理':
-				const request = {
-					data: { ...state.orderDetail },
-					workflow: { ...submitObj, files: handleFiles.value },
-				};
-				orderStartFlow(request)
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true);
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			case '工单撤回':
-				workflowRecall({ ...submitObj, files: handleFiles.value })
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true);
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			case '延期申请':
-				const requestDelay = {
-					data: {
-						orderId: state.orderDetail.id,
-						delayNum: state.delayForm.timeLimitCount,
-						delayUnit: state.delayForm.timeLimitUnit,
-						delayReason: state.delayForm.content,
-						files: handleFilesDelay.value,
-					},
-					workflow: {
-						...submitObj,
-						opinion: state.delayForm.content,
-						files: handleFilesDelay.value,
-					},
-				};
-				delayApply(requestDelay)
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true, '延期申请成功');
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			case '延期退回':
-				workflowPrevious({ ...submitObj, files: handleFiles.value })
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true);
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			case '延期审批':
-				if (state.ruleForm.isPass) {
-					// 审批通过 下一步
-					workflowNext({ ...submitObj, reviewResult: 1, files: handleFiles.value })
-						.then(() => {
-							afterSubmit('orderProcessSuccess', true);
-						})
-						.catch(() => {
-							afterSubmit('orderProcessFailed');
-						});
-				} else {
-					// 审批拒绝
-					const requestDelayAudit = {
-						opinion: state.ruleForm.opinion,
-						workflowId: state.workflowId,
-						files: handleFiles.value,
-					};
-					workflowReject(requestDelayAudit)
-						.then(() => {
-							afterSubmit('orderProcessSuccess', true);
-						})
-						.catch(() => {
-							afterSubmit('orderProcessFailed');
-						});
+		ElMessageBox.confirm(`${isAuditText}?`, '提示', {
+			confirmButtonText: '确认',
+			cancelButtonText: '取消',
+			type: 'warning',
+			draggable: true,
+			cancelButtonClass: 'default-button',
+			autofocus: false,
+		})
+			.then(() => {
+				state.loading = true;
+				let submitObj = other.deepClone(state.ruleForm);
+				if (submitObj.nextHandlers && submitObj.nextHandlers.length) {
+					if (submitObj.nextHandlers.length === 1) {
+						submitObj.nextMainHandler = submitObj.nextHandlers[0].key;
+					}
 				}
-				break;
-			case '甄别申请':
-				const requestDiscern = {
-					data: {
-						no: state.orderDetail.no,
-						visitId: state.orderDetail.visitId,
-						visitDetailId: state.orderDetail.visitDetailId,
-						orderId: state.orderDetail.id,
-						typeDicId: state.discernForm.type.dicDataValue,
-						typeDicName: state.discernForm.type.dicDataName,
-						content: state.discernForm.content,
-						files: handleFilesDiscern.value,
-					},
-					workflow: { ...submitObj, files: handleFilesDiscern.value, opinion: state.discernForm.content },
-				};
-				discernApply(requestDiscern)
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true, '甄别申请成功');
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			case '甄别退回':
-				workflowPrevious({ ...submitObj, files: handleFiles.value })
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true);
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			case '甄别审批':
-				if (state.ruleForm.isPass) {
-					// 审批通过 下一步
-					workflowNext({ ...submitObj, reviewResult: 1, files: handleFiles.value })
-						.then(() => {
-							afterSubmit('orderProcessSuccess', true);
-						})
-						.catch(() => {
-							afterSubmit('orderProcessFailed');
-						});
+				if (!flowDirection.value) {
+					// 需要填写办理时限
+					Reflect.deleteProperty(submitObj, 'timeLimit');
+					Reflect.deleteProperty(submitObj, 'timeLimitUnit');
 				} else {
-					// 审批拒绝
-					const requestDiscernAudit = {
-						opinion: state.ruleForm.opinion,
-						workflowId: state.workflowId,
-						files: handleFiles.value,
+					submitObj.external = {
+						timeLimit: state.ruleForm.timeLimit,
+						timeLimitUnit: state.ruleForm.timeLimitUnit,
 					};
-					workflowReject(requestDiscernAudit)
-						.then(() => {
-							afterSubmit('orderProcessSuccess', true);
-						})
-						.catch(() => {
-							afterSubmit('orderProcessFailed');
-						});
 				}
-				break;
-			case '工单退回':
-				orderPrevious({ ...submitObj, files: handleFiles.value })
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true, '退回申请成功');
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			case '工单办理': // 工单办理流程
-				orderHandle({ ...submitObj, files: handleFiles.value })
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true);
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			case '新增知识':
-				const KnowledgeAddRequest = {
-					data: { ...state.orderDetail },
-					workflow: { ...submitObj, files: handleFiles.value },
+				Reflect.deleteProperty(submitObj, 'isPoliceReturn');
+				Reflect.deleteProperty(submitObj, 'isResolved');
+				submitObj.external = {
+					isPoliceReturn: state.ruleForm.isPoliceReturn,
+					isResolved: state.ruleForm.isResolved,
 				};
-				KnowledgeAdd(KnowledgeAddRequest)
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true, '新增知识成功');
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			case '知识审批':
-				if (state.ruleForm.isPass) {
-					// 审批通过 下一步
-					workflowNext({ ...submitObj, reviewResult: 1, files: handleFiles.value })
-						.then(() => {
-							afterSubmit('orderProcessSuccess', true);
-						})
-						.catch(() => {
-							afterSubmit('orderProcessFailed');
-						});
-				} else {
-					// 审批拒绝
-					const requestDiscernAudit = {
-						opinion: state.ruleForm.opinion,
-						workflowId: state.workflowId,
-						files: handleFiles.value,
-					};
-					workflowReject(requestDiscernAudit)
-						.then(() => {
-							afterSubmit('orderProcessSuccess', true);
-						})
-						.catch(() => {
-							afterSubmit('orderProcessFailed');
-						});
+				// submitObj.stepExpiredTime = submitObj.expiredTime; //节点过期时间
+				switch (state.processType) {
+					case '工单受理':
+						const request = {
+							data: { ...state.orderDetail },
+							workflow: { ...submitObj, files: handleFiles.value },
+						};
+						orderStartFlow(request)
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true);
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					case '工单撤回':
+						workflowRecall({ ...submitObj, files: handleFiles.value })
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true);
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					case '延期申请':
+						const requestDelay = {
+							data: {
+								orderId: state.orderDetail.id,
+								delayNum: state.delayForm.timeLimitCount,
+								delayUnit: state.delayForm.timeLimitUnit,
+								delayReason: state.delayForm.content,
+								files: handleFilesDelay.value,
+							},
+							workflow: {
+								...submitObj,
+								opinion: state.delayForm.content,
+								files: handleFilesDelay.value,
+							},
+						};
+						delayApply(requestDelay)
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true, '延期申请成功');
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					case '延期退回':
+						workflowPrevious({ ...submitObj, files: handleFiles.value })
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true);
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					case '延期审批':
+						if (state.ruleForm.isPass) {
+							// 审批通过 下一步
+							workflowNext({ ...submitObj, reviewResult: 1, files: handleFiles.value })
+								.then(() => {
+									afterSubmit('orderProcessSuccess', true);
+								})
+								.catch(() => {
+									afterSubmit('orderProcessFailed');
+								});
+						} else {
+							// 审批拒绝
+							const requestDelayAudit = {
+								opinion: state.ruleForm.opinion,
+								workflowId: state.workflowId,
+								files: handleFiles.value,
+							};
+							workflowReject(requestDelayAudit)
+								.then(() => {
+									afterSubmit('orderProcessSuccess', true);
+								})
+								.catch(() => {
+									afterSubmit('orderProcessFailed');
+								});
+						}
+						break;
+					case '甄别申请':
+						const requestDiscern = {
+							data: {
+								no: state.orderDetail.no,
+								visitId: state.orderDetail.visitId,
+								visitDetailId: state.orderDetail.visitDetailId,
+								orderId: state.orderDetail.id,
+								typeDicId: state.discernForm.type.dicDataValue,
+								typeDicName: state.discernForm.type.dicDataName,
+								content: state.discernForm.content,
+								files: handleFilesDiscern.value,
+							},
+							workflow: { ...submitObj, files: handleFilesDiscern.value, opinion: state.discernForm.content },
+						};
+						discernApply(requestDiscern)
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true, '甄别申请成功');
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					case '甄别退回':
+						workflowPrevious({ ...submitObj, files: handleFiles.value })
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true);
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					case '甄别审批':
+						if (state.ruleForm.isPass) {
+							// 审批通过 下一步
+							workflowNext({ ...submitObj, reviewResult: 1, files: handleFiles.value })
+								.then(() => {
+									afterSubmit('orderProcessSuccess', true);
+								})
+								.catch(() => {
+									afterSubmit('orderProcessFailed');
+								});
+						} else {
+							// 审批拒绝
+							const requestDiscernAudit = {
+								opinion: state.ruleForm.opinion,
+								workflowId: state.workflowId,
+								files: handleFiles.value,
+                stepId: state.ruleForm.stepId
+							};
+							workflowReject(requestDiscernAudit)
+								.then(() => {
+									afterSubmit('orderProcessSuccess', true);
+								})
+								.catch(() => {
+									afterSubmit('orderProcessFailed');
+								});
+						}
+						break;
+					case '工单退回':
+						orderPrevious({ ...submitObj, files: handleFiles.value })
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true, '退回申请成功');
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					case '工单办理': // 工单办理流程
+						orderHandle({ ...submitObj, files: handleFiles.value })
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true);
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					case '新增知识':
+						const KnowledgeAddRequest = {
+							data: { ...state.orderDetail },
+							workflow: { ...submitObj, files: handleFiles.value },
+						};
+						KnowledgeAdd(KnowledgeAddRequest)
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true, '新增知识成功');
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					case '知识审批':
+						if (state.ruleForm.isPass) {
+							// 审批通过 下一步
+							workflowNext({ ...submitObj, reviewResult: 1, files: handleFiles.value })
+								.then(() => {
+									afterSubmit('orderProcessSuccess', true);
+								})
+								.catch(() => {
+									afterSubmit('orderProcessFailed');
+								});
+						} else {
+							// 审批拒绝
+							const requestDiscernAudit = {
+								opinion: state.ruleForm.opinion,
+								workflowId: state.workflowId,
+								files: handleFiles.value,
+                stepId: state.ruleForm.stepId
+							};
+							workflowReject(requestDiscernAudit)
+								.then(() => {
+									afterSubmit('orderProcessSuccess', true);
+								})
+								.catch(() => {
+									afterSubmit('orderProcessFailed');
+								});
+						}
+						break;
+					case '更新新增知识':
+						const KnowledgeAddUpdateRequest = {
+							data: { ...state.orderDetail },
+							workflow: { ...submitObj, files: handleFiles.value },
+						};
+						KnowledgeUpdate(KnowledgeAddUpdateRequest)
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true);
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					case '更新知识':
+						const KnowledgeUpdateRequest = {
+							data: { ...state.orderDetail },
+							workflow: { ...submitObj, files: handleFiles.value },
+						};
+						KnowledgeUpdate(KnowledgeUpdateRequest)
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true);
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					case '删除知识':
+						const KnowledgeRemoveRequest = {
+							data: { ...state.orderDetail },
+							workflow: { ...submitObj, files: handleFiles.value },
+						};
+						KnowledgeDel(KnowledgeRemoveRequest)
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true, '删除知识申请成功');
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
+					default: // 默认工单办理
+						orderHandle({ ...submitObj, files: handleFiles.value })
+							.then(() => {
+								afterSubmit('orderProcessSuccess', true);
+							})
+							.catch(() => {
+								afterSubmit('orderProcessFailed');
+							});
+						break;
 				}
-				break;
-			case '更新新增知识':
-				const KnowledgeAddUpdateRequest = {
-					data: { ...state.orderDetail },
-					workflow: { ...submitObj, files: handleFiles.value },
-				};
-				KnowledgeUpdate(KnowledgeAddUpdateRequest)
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true);
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			case '更新知识':
-				const KnowledgeUpdateRequest = {
-					data: { ...state.orderDetail },
-					workflow: { ...submitObj, files: handleFiles.value },
-				};
-				KnowledgeUpdate(KnowledgeUpdateRequest)
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true);
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			case '删除知识':
-				const KnowledgeRemoveRequest = {
-					data: { ...state.orderDetail },
-					workflow: { ...submitObj, files: handleFiles.value },
-				};
-				KnowledgeDel(KnowledgeRemoveRequest)
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true, '删除知识申请成功');
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-			default: // 默认工单办理
-				orderHandle({ ...submitObj, files: handleFiles.value })
-					.then(() => {
-						afterSubmit('orderProcessSuccess', true);
-					})
-					.catch(() => {
-						afterSubmit('orderProcessFailed');
-					});
-				break;
-		}
+			})
+			.catch(() => {});
 	});
 };
 // 暴露变量