ソースを参照

Merge branch 'develop' of http://120.55.44.4:10080/xujunjie/BomWeb into develop

xujunjie 1 年間 前
コミット
8e0f6924f2

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

@@ -28,8 +28,28 @@ function DepartmentField(props) {
   //   }
   // };
 
+  const findDepName = (list, ID) => {
+    let result = '';
+    const dep = list.find(item => item.ID === ID);
+    if (dep) {
+      result = dep.Name;
+      return result;
+    }
+    for (let index = 0; index < list.length; index++) {
+      const element = list[index];
+      if (element?.children && element?.children.length) {
+        result = findDepName(element.children, ID);
+        if (result) {
+          break;
+        }
+      }
+    }
+    return result;
+  };
+
   const onChangeValue = newValue => {
-    onChange(newValue);
+    const depName = findDepName(depUserTree, newValue);
+    onChange(depName);
   };
 
   return (

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

@@ -43,7 +43,8 @@ function ManufacturerField(props) {
       disabled={disabled}
       defaultValue={value ? Number(value) : undefined}
       onChange={val => {
-        onChange(String(val));
+        const supplier = option.find(item => item.value === val).label;
+        onChange(supplier);
       }}
       filterOption={(input, opt) => (opt?.label ?? '').toLowerCase().includes(input.toLowerCase())}
       options={option}

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

@@ -32,7 +32,8 @@ function DDProjectField(props) {
       defaultValue={value ? Number(value) : undefined}
       onChange={val => {
         console.log(val);
-        onChange(String(val));
+        const project = projectList.find(item => item.id === val);
+        onChange(`${project.project_name}(${project.project_full_code})`);
       }}
       filterOption={(input, option) =>
         (option?.label ?? '').toLowerCase().includes(input.toLowerCase())

+ 7 - 1
src/pages/Detail/AuditDetailed.js

@@ -88,7 +88,13 @@ const AuditDetailed = props => {
     return (
       <>
         {item?.isTable === undefined ? (
-          <Form.Item key={id} name={id} label={formLabel} rules={[{ required }]}>
+          <Form.Item
+            key={id}
+            name={id}
+            label={formLabel}
+            rules={[{ required }]}
+            initialValue={item?.props?.defaultValue}
+          >
             {renderComponents()}
           </Form.Item>
         ) : (

+ 12 - 34
src/pages/Detail/CommitAuditModal.js

@@ -194,7 +194,7 @@ function CommitAuditModal(props) {
   };
 
   const getFromData = idList => {
-    const data = formComponentValues;
+    const data = JSON.parse(JSON.stringify(formComponentValues));
     const result = [];
     //获取流转节点的层级关系
     let len = 0;
@@ -216,6 +216,12 @@ function CommitAuditModal(props) {
         ? data.find(item => item.template_node_id === approvalNode.Id).formComponentValues
         : [];
       let values = data[approvalNode.Id] || prevValues || [];
+      values.forEach(tempValue => {
+        if (tempValue.type === 'DIYTable') {
+          tempValue.value = tempValue.value.map(item => JSON.stringify(item));
+        }
+      });
+
       let audit_list = [],
         cc_list = [];
       approvalProcess[approvalNode.Id]?.forEach(item => {
@@ -319,37 +325,6 @@ function CommitAuditModal(props) {
       }
       // 回填之前的值结束后需要把formComponentValues清空 防止提交之前的值
       setFormComponentValues([]);
-      // const tempFormComponentValues = JSON.parse(JSON.stringify(formComponentValues));
-      // const Components = Form3x.create({
-      //   onValuesChange: (props, changedValues, allValues) => {
-      //     const { items: allFormItem } = props;
-      //     tempFormComponentValues[addAuditItem.nodeId] = allFormItem
-      //       .map(formItem => {
-      //         const itemProps = formItem.props;
-      //         const val = allValues[itemProps.id];
-      //         if (!itemProps.label || val === '') return;
-      //         if (val instanceof Object) {
-      //           return {
-      //             name: itemProps.label,
-      //             id: itemProps.id,
-      //             value: [...val],
-      //           };
-      //         } else if (allValues[itemProps.id]) {
-      //           return {
-      //             name: itemProps.label,
-      //             id: itemProps.id,
-      //             value: [allValues[itemProps.id]] || undefined,
-      //           };
-      //         }
-      //       })
-      //       .filter(formItem => formItem);
-      //     if (getReComputeAudit(allFormItem, changedValues)) advanceSubmit();
-      //     console.log(tempFormComponentValues);
-      //     setFormComponentValues({ ...tempFormComponentValues });
-      //   },
-      // })(AuditDetailed);
-
-      // addAuditItem.FormComponents = <Components items={addAuditItem.items} />;
     });
     setAuditList(addAuditList);
     advanceSubmit();
@@ -591,6 +566,7 @@ function CommitAuditModal(props) {
       }
       // 没找到就给默认值
       if (!componentValue.find(item => item.id === tempFormItem.props.id)) {
+        // placeholder
         if (tempFormItem.componentName === 'TextNote') {
           componentValue.push({
             name: tempFormItem.props.label,
@@ -598,10 +574,12 @@ function CommitAuditModal(props) {
             value: [tempFormItem.props.placeholder],
           });
         } else {
+          const prevValue = allValues[tempFormItem.props.id];
+          // 从allValue中找到该值
           componentValue.push({
             name: tempFormItem.props.label,
             id: tempFormItem.props.id,
-            value: [],
+            value: Array.isArray(prevValue) ? [...prevValue] : [],
           });
         }
       }
@@ -740,7 +718,7 @@ function CommitAuditModal(props) {
         next_template_id: version.template_id,
       };
       if (serviceNode.node_type_psr == 3 || serviceNode.node_type_psr == 4) {
-        let project = projectList.find(item => item.id == version?.project_id)|| {};
+        let project = projectList.find(item => item.id == version?.project_id) || {};
         let sheetData = await uploadExcelByUrl(serviceNode.node_type_psr, version.id, project);
         params.data = JSON.stringify(sheetData);
       }

+ 9 - 4
src/pages/Detail/FormAndFilesNode.js

@@ -46,6 +46,11 @@ const renderFrom = data => {
   try {
     const ding_schema = JSON.parse(data)[0];
     const formData = JSON.parse(ding_schema)?.formComponentValues;
+    formData.forEach(item => {
+      if (item.type === 'DIYTable') {
+        item.value = item.value.map(row => JSON.parse(row));
+      }
+    });
     if (formData.length == 0) return <Empty description="没有表单信息" />;
     return (
       <>
@@ -54,8 +59,8 @@ const renderFrom = data => {
             return (
               <Form.Item
                 key={`FormAndFilesNode_${item.id}`}
-                labelCol={{ span: 4 }}
-                wrapperCol={{ span: 14 }}
+                labelCol={{ span: 5 }}
+                wrapperCol={{ span: 19 }}
                 label={item.name}
               >
                 <DIYTable key={item.id} table={item} columns={item.value} displayOnly />
@@ -67,8 +72,8 @@ const renderFrom = data => {
           return (
             <Form.Item
               key={`FormAndFilesNode_${item.id}`}
-              labelCol={{ span: 4 }}
-              wrapperCol={{ span: 14 }}
+              labelCol={{ span: 5 }}
+              wrapperCol={{ span: 18 }}
               label={item.name}
             >
               <div