浏览代码

缺陷 1639 新建清单增加loading

XuZinan 2 年之前
父节点
当前提交
1fc4e59d2f
共有 2 个文件被更改,包括 36 次插入11 次删除
  1. 25 5
      src/pages/Detail/FlowModal.js
  2. 11 6
      src/pages/List/List.js

+ 25 - 5
src/pages/Detail/FlowModal.js

@@ -1,5 +1,18 @@
 import React, { useEffect, useState, useRef, useMemo, memo } from 'react';
-import { Modal, Input, Select, List, Row, Col, Table, message, Steps, Space, Button, Popover } from 'antd';
+import {
+  Modal,
+  Input,
+  Select,
+  List,
+  Row,
+  Col,
+  Table,
+  message,
+  Steps,
+  Space,
+  Button,
+  Popover,
+} from 'antd';
 import Flow from '@/components/Flow/index';
 import { connect } from 'dva';
 import { GetTokenFromUrl, getToken } from '@/utils/utils';
@@ -29,6 +42,7 @@ function FlowModal(props) {
     dispatch,
     isOut,
     onCommit,
+    commitLoading,
     currentUser,
   } = props;
   const [data, setData] = useState([]);
@@ -232,9 +246,13 @@ function FlowModal(props) {
 
           // 显示拒绝原因
           if (item.audit_comment) {
-            dom = <Popover content={item.audit_comment} title="原因">{txt}</Popover>
+            dom = (
+              <Popover content={item.audit_comment} title="原因">
+                {txt}
+              </Popover>
+            );
           } else {
-            dom = txt
+            dom = txt;
           }
           return item.audit_status != 0 ? (
             <Button onClick={() => handleChangeClick(item)}>{dom}</Button>
@@ -328,9 +346,11 @@ function FlowModal(props) {
         visible={versionVisible}
         onClose={() => setVersionVisible(false)}
         onOk={values => {
-          onCommit?.(values);
-          setVersionVisible(false);
+          onCommit?.(values, null, () => {
+            setVersionVisible(false);
+          });
         }}
+        loading={commitLoading}
       />
     </>
   );

+ 11 - 6
src/pages/List/List.js

@@ -1,5 +1,5 @@
 import React, { useState, useEffect } from 'react';
-import { Table} from 'antd';
+import { Table } from 'antd';
 import { connect } from 'dva';
 import router from 'umi/router';
 import FlowModal from '../Detail/FlowModal';
@@ -13,6 +13,7 @@ function List(props) {
   const [versionVisible, setVersionVisible] = useState(false);
   const [flowDetail, setFlowDetail] = useState();
   const [loading2, setLoading2] = useState(false);
+  const [commitLoading, setCommitLoading] = useState(false);
 
   let token = getToken();
 
@@ -35,9 +36,9 @@ function List(props) {
       width: '35%',
       render: item => {
         if (!item.is_parent) return '';
-        let p = project.list.find(p => p.id == item.project_id)
-        if(p) return `${p.project_name}(${p.project_full_code})`
-      }
+        let p = project.list.find(p => p.id == item.project_id);
+        if (p) return `${p.project_name}(${p.project_full_code})`;
+      },
     },
     {
       title: '操作',
@@ -65,7 +66,7 @@ function List(props) {
       },
     },
   ];
-  console.log(project)
+  console.log(project);
   const queryList = page => {
     console.log(page);
     dispatch({
@@ -108,7 +109,7 @@ function List(props) {
     return !loadingVersion.effects['detail/queryComment'] && loadingVersion.models.detail;
   };
 
-  const onCommit = async (values, id) => {
+  const onCommit = async (values, id, callback) => {
     let currentNode = flowDetail.nodes.find?.(item => item.Id == version.template_node_id);
     let sheets = await queryRecordSheet({ gridKey: version.id, 'JWT-TOKEN': token });
     // if (!currentNode.muti_version) {
@@ -136,6 +137,7 @@ function List(props) {
       data: sheets,
       base_id: version.id,
     };
+    setCommitLoading(true);
     dispatch({
       type: 'list/commitSheet',
       payload: params,
@@ -144,6 +146,8 @@ function List(props) {
         const data = await queryBoomFlowDetail({ id: newVersion.template_id });
         console.log(data);
         setFlowDetail(data);
+        setCommitLoading(false);
+        callback && callback();
       },
     });
   };
@@ -166,6 +170,7 @@ function List(props) {
         version={version}
         onCommit={onCommit}
         onChangeVersion={version => changeVersion(version)}
+        commitLoading={commitLoading}
       />
     </div>
   );