Pārlūkot izejas kodu

Merge branch 'fix/production-safety' into 'dev'

fix:修复当危险作业类别为动火作业时,动火级别参数选择一级或二级或三级,审批流程参数也要选对应的一级或二级或三级,并增加对应提示

See merge request product-group-fe/sfy-safety-group/sfy-safety!385
ai0197(吴云丰) 3 nedēļas atpakaļ
vecāks
revīzija
041b65bae4

+ 22 - 1
src/views/production-safety/risk-identification-and-control/hazard-approval-manage/add.vue

@@ -722,13 +722,34 @@
         hotWorkDialogVisible.value = true
     }
   }
+  // 筛选审批流程参数
+  const filterApprovalOptions = () => {
+    const filteredOptions = approvalOptions.value.filter((option: any) => option.id === formValue.templateId);
+    return filteredOptions.length > 0 ? filteredOptions[0] : {};
+  };
 
   const handleSave = () => {
+
     formRef.value.validate((valid: boolean) => {
       if (!valid) return ElMessage.error('请完善表单必填信息');
 
       loading.value = true;
-
+      const filteredApproval = filterApprovalOptions();
+      // 当危险作业类别为动火作业时,动火级别参数选择一级或二级或三级,审批流程参数也要选对应的一级或二级或三级,否则无法提交成功,提示用户选择对应的审批流程。
+      if(formValue.hazardOperationType === 4) {
+        if(formValue.hot.hotWorkLevel === 1 && filteredApproval.templateName !== '一级动火') {
+          loading.value = false;
+          return ElMessage.error('您的一级动火作业审批流程选择错了,请重新选择');
+        }
+        if(formValue.hot.hotWorkLevel === 2 && filteredApproval.templateName !== '二级动火') {
+          loading.value = false;
+          return ElMessage.error('您的二级动火作业审批流程选择错了,请重新选择');
+        }
+        if(formValue.hot.hotWorkLevel === 3 && filteredApproval.templateName !== '三级动火') {
+          loading.value = false;
+          return ElMessage.error('您的三级动火作业审批流程选择错了,请重新选择');
+        }
+      }
       // 1. 深拷贝表单数据
       const submitData = JSON.parse(JSON.stringify(formValue));
 

+ 21 - 2
src/views/production-safety/risk-identification-and-control/hazard-approval-manage/edit.vue

@@ -1120,7 +1120,11 @@ const rules = reactive({
       ElMessage.error('详情回显失败');
     }
   };
-
+  // 筛选审批流程参数
+  const filterApprovalOptions = () => {
+    const filteredOptions = approvalOptions.value.filter((option: any) => option.id === formValue.templateId);
+    return filteredOptions.length > 0 ? filteredOptions[0] : {};
+  };
   /**
    * 5. 提交保存
    */
@@ -1129,7 +1133,22 @@ const rules = reactive({
     if (!valid) return ElMessage.error('请检查表单必填项');
 
     loading.value = true;
-
+    const filteredApproval = filterApprovalOptions();
+      // 当危险作业类别为动火作业时,动火级别参数选择一级或二级或三级,审批流程参数也要选对应的一级或二级或三级,否则无法提交成功,提示用户选择对应的审批流程。
+      if(formValue.hazardOperationType === 4) {
+        if(formValue.hot.hotWorkLevel === 1 && filteredApproval.templateName !== '一级动火') {
+          loading.value = false;
+          return ElMessage.error('您的一级动火作业审批流程选择错了,请重新选择');
+        }
+        if(formValue.hot.hotWorkLevel === 2 && filteredApproval.templateName !== '二级动火') {
+          loading.value = false;
+          return ElMessage.error('您的二级动火作业审批流程选择错了,请重新选择');
+        }
+        if(formValue.hot.hotWorkLevel === 3 && filteredApproval.templateName !== '三级动火') {
+          loading.value = false;
+          return ElMessage.error('您的三级动火作业审批流程选择错了,请重新选择');
+        }
+      }
     // 深度克隆,避免操作原对象
     const submitData = JSON.parse(JSON.stringify(formValue));