zhangjie 1 year ago
parent
commit
1fcad88512
1 changed files with 25 additions and 3 deletions
  1. 25 3
      src/views/sop/sop-manage/quality-issue/index.vue

+ 25 - 3
src/views/sop/sop-manage/quality-issue/index.vue

@@ -256,6 +256,10 @@ const currFlowTaskResultSetup = ref(null);
 const curStepSetup = ref(1);
 const flowId = props.sop.flowId;
 const crmInfo = ref({});
+const approveRejectFormIds = {
+  f_usertask_quality_problem_check_3: ['approve_radio_3'],
+  f_usertask_quality_problem_third_check_4: ['approve_radio_4'],
+};
 
 const initNew = async () => {
   loading.value = true;
@@ -415,19 +419,37 @@ const getFormData = () => {
 
 // 填报-提交
 const submitHandle = async (flowApprove = 'START') => {
+  const curStepData = allSteps.value.find(
+    (item) => item.taskName === curStep.value
+  );
   if (flowApprove === 'START') {
     const valid = await form.value[0].validate();
     if (valid !== true) return;
 
-    flowApprove = curStepSetup.value === 1 ? 'START' : 'PASS';
+    if (curStepSetup.value !== 1) {
+      const rejectFormIds = approveRejectFormIds[curStepData.taskKey];
+      if (
+        rejectFormIds &&
+        rejectFormIds.some((fid) => formData.value[fid] === '0')
+      ) {
+        flowApprove = 'REJECT';
+      } else {
+        flowApprove = 'PASS';
+      }
+    }
   }
 
   if (IS_FILL_MODE.value) {
-    const res = await issuesFeedbackApproveApi({
+    let data = {
       taskId: props.sop.taskId,
       formProperties: getFormData(),
       approve: flowApprove,
-    }).catch(() => {});
+    };
+    if (flowApprove === 'REJECT') {
+      // 目前只打回给定的允许打回的第一个选项
+      data.setup = curStepData.approveRejectList[0].setup;
+    }
+    const res = await issuesFeedbackApproveApi(data).catch(() => {});
     if (!res) return;
   } else if (IS_NEW_MODE.value) {
     const res = await issuesFeedbackSaveApi({