소스 검색

Merge branch 'develop'

xujunjie 1 년 전
부모
커밋
7259d87dc5
4개의 변경된 파일73개의 추가작업 그리고 74개의 파일을 삭제
  1. 3 3
      src/pages/Auth/Auth.js
  2. 30 31
      src/pages/Detail/Index.js
  3. 22 24
      src/pages/List/List.js
  4. 18 16
      src/services/boom.js

+ 3 - 3
src/pages/Auth/Auth.js

@@ -58,16 +58,16 @@ function Auth(props) {
     if (item.type == 'checked') {
       version = checkedVersionList.find(v => v.id == item.id);
       localStorage.excelItem = JSON.stringify(version);
-      router.push(`/home/detail/${item.project_id}/${item.template_id}?version_id=${version.version_id}`);
+      router.push(`/home/detail/${item.project_id}/${item.template_id}?excel_id=${version.id}`);
     } else {
-      //调用接口获取version信息
+      // 调用接口获取version信息
       dispatch({
         type: 'auth/queryVersionByNode',
         payload: { template_node_id: item.node_id },
         callback: checkedVersionList => {
           let version = checkedVersionList.find(v => v.id == item.id) || {};
           localStorage.excelItem = JSON.stringify(version);
-          router.push(`/home/detail/${item.project_id}/${item.template_id}?version_id=${version.version_id}`);
+          router.push(`/home/detail/${item.project_id}/${item.template_id}?excel_id=${version.id}`);
         },
       });
     }

+ 30 - 31
src/pages/Detail/Index.js

@@ -1,7 +1,7 @@
-import React, {useEffect, useState, useRef, useMemo} from 'react';
-import {UnorderedListOutlined, PlusOutlined, InfoOutlined} from '@ant-design/icons';
-import {Button, Modal, message, Alert, Avatar} from 'antd';
-import {connect} from 'dva';
+import React, { useEffect, useState, useRef, useMemo } from 'react';
+import { UnorderedListOutlined, PlusOutlined, InfoOutlined } from '@ant-design/icons';
+import { Button, Modal, message, Alert, Avatar } from 'antd';
+import { connect } from 'dva';
 import styles from './Index.less';
 import LuckySheet from './LuckySheet';
 import AuditModal from './AuditModal';
@@ -18,7 +18,7 @@ import VersionModal from './VersionModal';
 import CommitAuditModal from './CommitAuditModal';
 import CommentContent from '@/components/CommentContent';
 import MergeModal from './MergeModal';
-import {GetTokenFromUrl, getToken} from '@/utils/utils';
+import { GetTokenFromUrl, getToken } from '@/utils/utils';
 import {
   getAuditDetail,
   queryDelSheetRecord,
@@ -28,15 +28,15 @@ import {
 } from '@/services/boom';
 import HistoryDrawer from './HistoryDrawer';
 import AuditFlow from './AuditFlow';
-import {getCurrentUser} from '@/utils/authority';
-import {async} from '@antv/x6/es/registry/marker/async';
+import { getCurrentUser } from '@/utils/authority';
+import { async } from '@antv/x6/es/registry/marker/async';
 import FileViewerModal from '@/components/FileViewer';
 import PreviewFile from '@/components/PreviewFile';
 import FormAndFilesNode from './FormAndFilesNode';
 import DropdownMenu from './DropdownMenu';
 import CurrentInfo from './CurrentInfo';
 import moment from 'moment';
-import {LocalStorage} from "@antv/x6";
+import { LocalStorage } from '@antv/x6';
 
 const LocalData = localStorage.luckysheet;
 
@@ -49,8 +49,8 @@ function Detail(props) {
     auditList,
     flowDetail,
     versionTree,
-    match: {params},
-    location: {query},
+    match: { params },
+    location: { query },
     instanceDetail,
     typeOptions,
     classifyList,
@@ -112,8 +112,8 @@ function Detail(props) {
 
   const projectId = parseInt(params.projectId);
   const templateId = parseInt(params.templateId);
-  const versionID = parseInt(query.version_id);
-  const TOKEN = query['JWT-TOKEN']
+  const excelID = parseInt(query.excel_id);
+  const TOKEN = query['JWT-TOKEN'];
   if (!localStorage.getItem('JWT-TOKEN')) {
     localStorage['JWT-TOKEN'] = TOKEN;
   }
@@ -273,7 +273,7 @@ function Detail(props) {
     await queryDelSheetRecord(params);
   };
 
-  const onAudit = ({audit_comment, audit_status}) => {
+  const onAudit = ({ audit_comment, audit_status }) => {
     const flowNode = flow.currentNode;
     dispatch({
       type: 'detail/approve',
@@ -309,7 +309,7 @@ function Detail(props) {
         } else {
           dispatch({
             type: 'authList/queryAuthList',
-            payloda: {user_id: currentUser.ID},
+            payloda: { user_id: currentUser.ID },
           });
           localStorage.excelId = newVersion.id;
           setVersion({
@@ -321,7 +321,7 @@ function Detail(props) {
         //更新未审批列表
         dispatch({
           type: 'authList/queryAuthList',
-          payloda: {user_id: currentUser.ID},
+          payloda: { user_id: currentUser.ID },
         });
       },
     });
@@ -406,13 +406,13 @@ function Detail(props) {
       localStorage.excelId = version.id;
       localStorage.excelItem = JSON.stringify(version);
     } else {
-      version = await getAuditDetail({userId: currentUser.ID, versionID})
+      version = await getAuditDetail({ userId: currentUser.ID, excelID });
       if (!version) {
         const excelId = localStorage.excelItem
           ? JSON.parse(localStorage.excelItem)
           : localStorage.excelId;
         if (typeof excelId === 'object') {
-          changeVersion(excelId)
+          changeVersion(excelId);
           return;
         }
       }
@@ -448,8 +448,7 @@ function Detail(props) {
         userRef.current = newUser;
         setUser(newUser);
       }
-    } catch (error) {
-    }
+    } catch (error) {}
   };
   const handleSubmitCell = (value, callback) => {
     if (!value) return;
@@ -505,7 +504,7 @@ function Detail(props) {
 
   useEffect(() => {
     if (compareList.length == 2) {
-      const callback = ({diff, add}) => {
+      const callback = ({ diff, add }) => {
         setUpdateCount(updateCount => {
           return {
             diff: diff.length,
@@ -520,9 +519,9 @@ function Detail(props) {
 
   useEffect(() => {
     // if (versionList.length == 0) return;
-    if (!currentUser.ID) return
+    if (!currentUser.ID) return;
     if (!version.id) {
-      changeVersion(versionID);
+      changeVersion(excelID);
     } else {
       changeVersion(version.id);
     }
@@ -532,7 +531,7 @@ function Detail(props) {
     <>
       <div className={styles.top}>
         <div>
-          <Button type="primary" style={{marginRight: 20}} onClick={() => setFlowVisible(true)}>
+          <Button type="primary" style={{ marginRight: 20 }} onClick={() => setFlowVisible(true)}>
             查看流程
           </Button>
 
@@ -542,10 +541,10 @@ function Detail(props) {
               新建清单
             </Button>
           )}
-          <CurrentInfo version={version} flowDetail={flowDetail}/>
+          <CurrentInfo version={version} flowDetail={flowDetail} />
         </div>
         <div className={styles.btns}>
-          {saveTime && <span style={{color: '#333', fontSize: 14}}>上次保存时间 {saveTime}</span>}
+          {saveTime && <span style={{ color: '#333', fontSize: 14 }}>上次保存时间 {saveTime}</span>}
           {version.audit_status === 0 && (
             <Button type="primary" loading={loading.effects['detail/saveSheet']} onClick={onUpdate}>
               保存
@@ -553,16 +552,16 @@ function Detail(props) {
           )}
           <Button
             type="primary"
-            style={{marginRight: 20}}
+            style={{ marginRight: 20 }}
             onClick={() => setVersionTreeVisible(true)}
           >
             历史版本
           </Button>
-          <Avatar.Group style={{marginRight: 20}}>
+          <Avatar.Group style={{ marginRight: 20 }}>
             {user.map((item, id) => (
               <Avatar
                 key={`${id}-${item.name}`}
-                style={{backgroundColor: '#008dff'}}
+                style={{ backgroundColor: '#008dff' }}
                 size="large"
               >
                 {item.Name}
@@ -586,11 +585,11 @@ function Detail(props) {
         <input
           type="file"
           ref={fileRef}
-          style={{display: 'none'}}
+          style={{ display: 'none' }}
           onChange={e => exportExcl(e.target.files)}
         />
       </div>
-      <div style={{display: 'flex'}}>
+      <div style={{ display: 'flex' }}>
         <div
           className={styles.content}
           style={{
@@ -726,7 +725,7 @@ function Detail(props) {
   );
 }
 
-export default connect(({detail, user, xflow, loading}) => ({
+export default connect(({ detail, user, xflow, loading }) => ({
   flowDetail: xflow.flowDetail,
   auditList: detail.auditList,
   instanceDetail: detail.dingInstanceDetail,

+ 22 - 24
src/pages/List/List.js

@@ -1,6 +1,6 @@
-import React, {useState, useEffect, useRef} from 'react';
-import {Button, Divider, Form, Input, message, Modal, Select, Table} from 'antd';
-import {connect} from 'dva';
+import React, { useState, useEffect, useRef } from 'react';
+import { Button, Divider, Form, Input, message, Modal, Select, Table } from 'antd';
+import { connect } from 'dva';
 import router from 'umi/router';
 import FlowModal from '../Detail/FlowModal';
 import {
@@ -10,14 +10,14 @@ import {
   queryDelPurchaseExcel,
   queryRecordSheet,
 } from '@/services/boom';
-import {getToken} from '@/utils/utils';
+import { getToken } from '@/utils/utils';
 import ClassifyModal from './ClassifyModal';
 import VersionModal from './VersionModal';
 
 let token = getToken();
 
 function List(props) {
-  const {excel, loading, project, dispatch, typeOptions, userList, versionList} = props;
+  const { excel, loading, project, dispatch, typeOptions, userList, versionList } = props;
   const [flowVisible, setFlowVisible] = useState(false);
   const [version, setVersion] = useState({});
   const [versionVisible, setVersionVisible] = useState(false);
@@ -49,7 +49,7 @@ function List(props) {
         if (p) {
           return `${p.project_name}(${p.project_full_code})`;
         }
-        return ''
+        return '';
       },
     },
     {
@@ -61,12 +61,11 @@ function List(props) {
             onClick={async () => {
               try {
                 setClassifyLoading(true);
-                const data = await queryBindClassify({project_id: record.project_id}); //record.project_id
+                const data = await queryBindClassify({ project_id: record.project_id }); //record.project_id
                 setClassifyLoading(false);
-                setData({project_id: record.project_id, classify: data});
+                setData({ project_id: record.project_id, classify: data });
                 setVisible(true);
-              } catch (error) {
-              }
+              } catch (error) {}
             }}
           >
             分类权限
@@ -77,7 +76,7 @@ function List(props) {
               localStorage.excelId = record.id;
               setLoading2(true);
               try {
-                const data = await queryBoomFlowDetail({id: record.template_id});
+                const data = await queryBoomFlowDetail({ id: record.template_id });
                 setFlowDetail(data);
                 setVersion(record);
                 setFlowVisible(true);
@@ -87,8 +86,7 @@ function List(props) {
                     project_id: record.project_id,
                   },
                 });
-              } catch (error) {
-              }
+              } catch (error) {}
               setLoading2(false);
               // router.push(`/home/detail/${record.project_id}/${record.template_id}`);
             }}
@@ -110,7 +108,7 @@ function List(props) {
   ];
 
   const queryList = filter => {
-    filter = {...filterRes.current, ...filter};
+    filter = { ...filterRes.current, ...filter };
     dispatch({
       type: 'list/queryProjectRecord',
       payload: {
@@ -149,7 +147,7 @@ function List(props) {
     if (typeof item === 'object') {
       localStorage.excelItem = JSON.stringify(item);
     }
-    router.push(`/home/detail/${item.project_id}/${item.template_id}?version_id=${item.version_id}`);
+    router.push(`/home/detail/${item.project_id}/${item.template_id}?excel_id=${item.id}`);
   };
 
   // const getLoading = () => {
@@ -159,7 +157,7 @@ function List(props) {
 
   const onCommit = async (values, callback) => {
     setCommitLoading(true);
-    let sheets = await queryRecordSheet({gridKey: version.id, 'JWT-TOKEN': token});
+    let sheets = await queryRecordSheet({ gridKey: version.id, 'JWT-TOKEN': token });
 
     let params = {
       ...values,
@@ -170,7 +168,7 @@ function List(props) {
       payload: params,
       callback: async newVersion => {
         // 更新flow流程图
-        const data = await queryBoomFlowDetail({id: newVersion.template_id});
+        const data = await queryBoomFlowDetail({ id: newVersion.template_id });
         // console.log(data);
         setFlowDetail(data);
         setCommitLoading(false);
@@ -193,7 +191,7 @@ function List(props) {
         const res = await queryDelPurchaseExcel(data);
         if (res.code == 200) {
           message.success('删除成功');
-          const data = await queryBoomFlowDetail({id: version.template_id});
+          const data = await queryBoomFlowDetail({ id: version.template_id });
           console.log(data);
           setFlowDetail(data);
         }
@@ -206,18 +204,18 @@ function List(props) {
       <Form
         form={form}
         layout="inline"
-        style={{marginBottom: 20}}
-        onFinish={filter => queryList({...filter, currentPage: 1})}
+        style={{ marginBottom: 20 }}
+        onFinish={filter => queryList({ ...filter, currentPage: 1 })}
       >
         <Form.Item label="流程名称" name="name">
-          <Input/>
+          <Input />
         </Form.Item>
         <Form.Item label="项目编号" name="project_full_code">
-          <Input/>
+          <Input />
         </Form.Item>
         <Form.Item label="所属项目" name="project_id">
           <Select
-            style={{width: 200}}
+            style={{ width: 200 }}
             showSearch
             allowClear
             options={project.list.map(item => ({
@@ -292,7 +290,7 @@ function List(props) {
   );
 }
 
-export default connect(({list, loading, user}) => ({
+export default connect(({ list, loading, user }) => ({
   excel: list.excel,
   versionList: list.versionList,
   project: list.project,

+ 18 - 16
src/services/boom.js

@@ -1,7 +1,7 @@
-import {message} from 'antd';
+import { message } from 'antd';
 import request from '@/utils/request';
-import {async} from '@antv/x6/lib/registry/marker/async';
-import {stringify} from 'qs';
+import { async } from '@antv/x6/lib/registry/marker/async';
+import { stringify } from 'qs';
 
 /**
  project_id
@@ -186,10 +186,10 @@ export async function queryVersionsList(params) {
 }
 
 export async function queryBoomFlowDetail(params) {
-  let {data} = await request(`/purchase/bom/flow/info?${stringify(params)}`);
+  let { data } = await request(`/purchase/bom/flow/info?${stringify(params)}`);
   const groups = {
     top: {
-      position: {name: 'top'},
+      position: { name: 'top' },
       attrs: {
         circle: {
           r: 4,
@@ -197,13 +197,13 @@ export async function queryBoomFlowDetail(params) {
           stroke: '#31d0c6',
           strokeWidth: 2,
           fill: '#fff',
-          style: {visibility: 'hidden'},
+          style: { visibility: 'hidden' },
         },
       },
       zIndex: 10,
     },
     right: {
-      position: {name: 'right'},
+      position: { name: 'right' },
       attrs: {
         circle: {
           r: 4,
@@ -211,13 +211,13 @@ export async function queryBoomFlowDetail(params) {
           stroke: '#31d0c6',
           strokeWidth: 2,
           fill: '#fff',
-          style: {visibility: 'hidden'},
+          style: { visibility: 'hidden' },
         },
       },
       zIndex: 10,
     },
     bottom: {
-      position: {name: 'bottom'},
+      position: { name: 'bottom' },
       attrs: {
         circle: {
           r: 4,
@@ -225,13 +225,13 @@ export async function queryBoomFlowDetail(params) {
           stroke: '#31d0c6',
           strokeWidth: 2,
           fill: '#fff',
-          style: {visibility: 'hidden'},
+          style: { visibility: 'hidden' },
         },
       },
       zIndex: 10,
     },
     left: {
-      position: {name: 'left'},
+      position: { name: 'left' },
       attrs: {
         circle: {
           r: 4,
@@ -239,7 +239,7 @@ export async function queryBoomFlowDetail(params) {
           stroke: '#31d0c6',
           strokeWidth: 2,
           fill: '#fff',
-          style: {visibility: 'hidden'},
+          style: { visibility: 'hidden' },
         },
       },
       zIndex: 10,
@@ -248,7 +248,7 @@ export async function queryBoomFlowDetail(params) {
   const attrs = {
     line: {
       stroke: '#A2B1C3',
-      targetMarker: {name: 'block', width: 12, height: 8},
+      targetMarker: { name: 'block', width: 12, height: 8 },
       strokeDasharray: '5 5',
       strokeWidth: 1,
     },
@@ -278,7 +278,7 @@ export async function queryBoomFlowDetail(params) {
         cell: item.target_cell,
         port: item.target_port,
       },
-      zIndex: 0
+      zIndex: 0,
     };
     try {
       edge.attrs = item.attr ? JSON.parse(item.attr) : attrs;
@@ -500,6 +500,8 @@ export async function setLastVersion(excelId) {
 }
 
 export async function getAuditDetail(params) {
-  const res = await request(`/purchase/bom/get-audit-detail/${params.userId}?version_id=${params.versionID}`)
-  return res.data
+  const res = await request(
+    `/purchase/bom/get-audit-detail/${params.userId}?excel_id=${params.excelID}`
+  );
+  return res.data;
 }