xjj 2 yıl önce
ebeveyn
işleme
2d795cb465

+ 1 - 4
src/pages/Detail/ApprovalProcess.tsx

@@ -73,8 +73,7 @@ const ApprovalProcess = props => {
           <Step
             key={item[0]?.value}
             icon={
-              item[0].type != TYPR.USER || item[0].nowType == TYPR.USER ? (
-                <Popover
+              <Popover
                   placement="bottomLeft"
                   title={'选择审批人'}
                   content={content}
@@ -83,8 +82,6 @@ const ApprovalProcess = props => {
                 >
                   <PlusOutlined />
                 </Popover>
-              ) : null
-              // <PlusOutlined />
             }
             title={
               item[0]?.name || `从${roleList?.find(cur => cur.ID == item[0]?.value)?.Name}选择`

+ 37 - 35
src/pages/Detail/CommitAuditModal.js

@@ -68,30 +68,31 @@ function CommitAuditModal(props) {
   useEffect(() => {
     if (!visible) return;
     const { edges, nodes } = flowDetail;
-    initFormList();
-    let Id = version.template_node_id;
-    const currentId = flowDetail.nodes.find?.(item => item.Id == Id)?.node_id;
-    const data = treeData(currentId);
-    if (data.length <= 0) {
-      setAuditId(currentId);
-    } else {
-      let defaultValues = {};
-      if (data.length == 1) {
-        let value = getDataValue(data[0]);
-        defaultValues[`circle`] = value;
+    initFormList().then(approvalProcess => {
+      let Id = version.template_node_id;
+      const currentId = flowDetail.nodes.find?.(item => item.Id == Id)?.node_id;
+      const data = treeData(currentId);
+      if (data.length <= 0) {
+        setAuditId(currentId);
       } else {
-        data.forEach((item, index) => {
-          let value = getDataValue(item);
-          defaultValues[`circle${index}`] = value;
-        });
+        let defaultValues = {};
+        if (data.length == 1) {
+          let value = getDataValue(data[0]);
+          defaultValues[`circle`] = value;
+        } else {
+          data.forEach((item, index) => {
+            let value = getDataValue(item);
+            defaultValues[`circle${index}`] = value;
+          });
+        }
+        // 设置延迟,等待组件渲染
+        setTimeout(() => {
+          form.setFieldsValue(defaultValues);
+          Object.values(defaultValues).forEach(value => onChange(value, approvalProcess));
+        }, 200);
       }
-      // 设置延迟,等待组件渲染
-      setTimeout(() => {
-        form.setFieldsValue(defaultValues);
-        Object.values(defaultValues).forEach(value => onChange(value));
-      }, 200);
-    }
-    setData(data);
+      setData(data);
+    });
   }, [version.template_node_id, visible]);
 
   useEffect(() => {
@@ -107,14 +108,14 @@ function CommitAuditModal(props) {
     if (res.data) {
       const formList = JSON.parse(res.data.json);
 
-      const defaultApproval = {};
-      formList.forEach(item => {
-        const curItem = JSON.parse(item);
-        const audit_list = curItem.audit_list.map(audit => {
-          return [{ type: 'user', value: audit, name: null }];
-        });
-        defaultApproval[curItem.template_node_id] = audit_list;
-      });
+      // const defaultApproval = {};
+      // formList.forEach(item => {
+      //   const curItem = JSON.parse(item);
+      //   const audit_list = curItem.audit_list.map(audit => {
+      //     return [{ type: 'user', value: audit, name: null }];
+      //   });
+      //   defaultApproval[curItem.template_node_id] = audit_list;
+      // });
       // const defaultFormData = {};
       // formList.forEach(item => {
       //   const curItem = JSON.parse(item);
@@ -122,7 +123,8 @@ function CommitAuditModal(props) {
       // });
       // console.log('========defaultApproval==============', defaultApproval);
       // console.log('========defaultFormData==============', defaultFormData);
-      setApprovalProcess(defaultApproval);
+      setApprovalProcess(formList.approvalProcess);
+      return formList.approvalProcess;
       // setFormComponentValues(defaultFormData);
     }
   };
@@ -209,10 +211,10 @@ function CommitAuditModal(props) {
     setAuditId(node.node_id);
   };
 
-  const onChange = value => {
+  const onChange = (value, approvalProcess) => {
     if (!value) return;
     changeAudit(value[value.length - 1]);
-    setAuditListFun();
+    setAuditListFun(approvalProcess);
   };
 
   const getReComputeAudit = (items, changedValues) => {
@@ -263,7 +265,7 @@ function CommitAuditModal(props) {
   };
 
   //处理tabs页
-  const setAuditListFun = async () => {
+  const setAuditListFun = async (approvalProcess = {}) => {
     var fieldsValue = await form.validateFields();
     let addAuditList = [];
     let result = Object.values(fieldsValue)
@@ -486,7 +488,7 @@ function CommitAuditModal(props) {
     await querySaveBomForm({
       project_id: version.project_id,
       node_id: version.template_node_id,
-      json: JSON.stringify(formList),
+      json: JSON.stringify({approvalProcess}),
     });
     onOk(params);
   };