Prechádzať zdrojové kódy

1. 修复表单没获取到最新的值
2. 修复切换清单没正确使用新的id

xujunjie 1 rok pred
rodič
commit
b45c6cb291

+ 10 - 8
src/pages/Detail/CommitAuditModal.js

@@ -193,8 +193,8 @@ function CommitAuditModal(props) {
     setAuditId(node?.node_id);
   };
 
-  const getFromData = idList => {
-    const data = JSON.parse(JSON.stringify(formComponentValues));
+  const getFromData = (idList, newFormValues) => {
+    const data = JSON.parse(JSON.stringify(newFormValues));
     const result = [];
     // 获取流转节点的层级关系
     let len = 0;
@@ -242,7 +242,7 @@ function CommitAuditModal(props) {
   };
 
   // 填写表单实时计算审批流程
-  const advanceSubmit = async () => {
+  const advanceSubmit = async newFormValues => {
     // console.log('重重新计算审批流程');
     const fieldsValue = await form.validateFields();
     let hasFlowId = true; //是否都绑定审批节点
@@ -252,7 +252,7 @@ function CommitAuditModal(props) {
         if (item && Array.isArray(item)) return item;
       })
       .filter(item => item);
-    const formList = await getFromData(result);
+    const formList = await getFromData(result, newFormValues);
     let params = {
       desc: fieldsValue.desc,
       // 审核流程id
@@ -327,7 +327,7 @@ function CommitAuditModal(props) {
       setFormComponentValues([]);
     });
     setAuditList(addAuditList);
-    advanceSubmit();
+    // advanceSubmit();
   };
 
   const onChange = async (value, approvalProcess) => {
@@ -621,12 +621,14 @@ function CommitAuditModal(props) {
         value: [changedFields[currentFieldID]],
       });
     }
-    setFormComponentValues({
+    let newFormValues = {
       ...formComponentValues,
       [currentNodeID]: componentValue,
-    });
+    }
+    setFormComponentValues(newFormValues);
+    console.log(formComponentValues);
     formValueRef.current.form[currentNodeID] = [...componentValue];
-    advanceSubmit();
+    advanceSubmit(newFormValues);
   };
 
   // const getFlowPath = node => {

+ 8 - 8
src/pages/Detail/Index.js

@@ -409,7 +409,7 @@ function Detail(props) {
       localStorage.excelId = version.id;
       localStorage.excelItem = JSON.stringify(version);
     } else {
-      version = await getVersionDetail({ excelID });
+      version = await getVersionDetail({ excelID: id });
       if (!version) {
         const excelId = localStorage.excelItem
           ? JSON.parse(localStorage.excelItem)
@@ -533,13 +533,13 @@ function Detail(props) {
 
   useEffect(() => {
     // if (versionList.length == 0) return;
-    if (!currentUser.ID) return;
-    if (!version.id) {
-      changeVersion(excelID);
-    } else {
-      changeVersion(version.id);
-    }
-  }, [versionList, currentUser]);
+    // if (!currentUser.ID) return;
+    // if (!version.id) {
+    changeVersion(excelID);
+    // } else {
+    //   changeVersion(version.id);
+    // }
+  }, []);
 
   return (
     <>