ソースを参照

修改选择框value

Renxy 2 年 前
コミット
c5025dab75

+ 1 - 1
src/components/DDComponents/DDMultiSelectField/index.js

@@ -22,7 +22,7 @@ function DDSelectField(props) {
         }
 
         return (
-          <Option key={cur.key} value={cur.key}>
+          <Option key={cur.key} value={cur.value}>
             {cur.value}
           </Option>
         );

+ 1 - 1
src/components/DDComponents/index.js

@@ -62,7 +62,7 @@ export default function DDComponents(props) {
             }
 
             return (
-              <Option key={cur.key} value={cur.key}>
+              <Option key={cur.key} value={cur.value}>
                 {cur.value}
               </Option>
             );

+ 54 - 8
src/pages/PurchaseAdmin/PurchaseList/Detail/CommitAuditModal.js

@@ -263,18 +263,18 @@ function CommitAuditModal(props) {
             const { items } = props;
             console.log(props, allValues);
             let formData = formDataRef.current;
-            formData[index] = items
+            formData[item.formCode] = items
               .map(item => {
                 const itemProps = item.props;
                 if (!itemProps.label) return;
                 return {
                   name: itemProps.label,
-                  id: itemProps.id,
+                  // id: itemProps.id,
                   value: allValues[itemProps.id],
                 };
               })
               .filter(item => item);
-            console.log(formData[index]);
+            console.log(formData);
           },
         })(AuditDetailed);
 
@@ -285,6 +285,44 @@ function CommitAuditModal(props) {
       })
     );
   };
+
+  const getFromData = idList => {
+    const data = formDataRef.current;
+    const result = [];
+    //获取流转节点的层级关系
+    let len = 0;
+    let list = [];
+    idList.forEach(item => {
+      if (len < item.length) len = item.length;
+    });
+    for (let i = 0; i < len; i++) {
+      idList.forEach(item => {
+        if (item && item[i]) list.push(item[i]);
+      });
+    }
+    let firstList = [...new Set(list)];
+    // let firstList = idList[0];
+    // for (let i = 1; i < idList.length; i++) {
+    //   let item = idList[i];
+    //   item.forEach(itemId => {
+    //     let idx = firstList.findIndex(id => id == itemId);
+    //     if (idx > 0 && !firstList.find(cur => cur == item[idx - 1])) {
+    //       firstList.splice(idx, 0, item[i - 1]);
+    //     }
+    //   });
+    // }
+    firstList.forEach(id => {
+      let approvalNode = flowDetail.nodes.find?.(item => item.Id == id);
+      const formItem = {
+        processCode: approvalNode.process_code,
+        originatorUserId: '16569001414345099',
+        deptId: '14169890',
+        formComponentValues: data[approvalNode.process_code],
+      };
+      result.push(JSON.stringify(formItem));
+    });
+    return result;
+  };
   const onFinish = async () => {
     var fieldsValue = await form.validateFields();
     console.log(formDataRef.current);
@@ -325,6 +363,9 @@ function CommitAuditModal(props) {
       message.error('请选择需要流转的业务节点。');
       return;
     }
+
+    const flowPath = result.map(item => getFlowPath(item));
+    const formList = getFromData(result);
     let params = {
       desc: fieldsValue.desc,
       // 审核流程id
@@ -350,6 +391,7 @@ function CommitAuditModal(props) {
       params.flow_id = approvalNode?.flow_id || 0;
       params.node_level_id = approvalNode?.flow_id ? 1 : 0;
       params.template_node_id = result[0][0]; // 将要流转的节点审批节点
+      params.form_list = formList; //创建钉钉表单所需数据
       if (approvalNode?.Id) {
         if (!approvalNode?.flow_id) {
           hasFlowId = false;
@@ -358,12 +400,16 @@ function CommitAuditModal(props) {
     } else {
       //多节点审批
       params.template_node_id = result[0][0]; // 将要流转的节点审批节点
-      params.flow_path = result.map(item => getFlowPath(item));
+      params.flow_path = flowPath;
+      params.form_list = formList; //创建钉钉表单所需数据
     }
-    // if (!hasFlowId) {
-    //   message.error('当前存在审批节点未绑定审批流程!请联系管理员。');
-    //   return;
-    // }
+    if (!hasFlowId) {
+      message.error('当前存在审批节点未绑定审批流程!请联系管理员。');
+      return;
+    }
+
+    console.log(JSON.stringify(params));
+    console.log(params);
     onOk(params);
   };