Browse Source

排序条件节点

Renxy 2 years ago
parent
commit
05f6a46aab

+ 1 - 1
src/components/Flow/components/judgeComponent/index.tsx

@@ -233,4 +233,4 @@ const RenderJudge = (props: any) => {
   return <>{formData.map(item => RenderComp(item))}</>;
   return <>{formData.map(item => RenderComp(item))}</>;
 };
 };
 
 
-export default connect(({ user }) => ({ depUserTree: user.depUserTree }))(RenderJudge);
+export default connect(({ flow }) => ({ depUserTree: flow.depUserTree }))(RenderJudge);

+ 6 - 2
src/components/Flow/index.tsx

@@ -71,13 +71,17 @@ export const Demo: React.FC<IProps> = props => {
           saveGraphDataService: (meta, graphData) => {
           saveGraphDataService: (meta, graphData) => {
             let data = JSON.parse(JSON.stringify(graphData));
             let data = JSON.parse(JSON.stringify(graphData));
             let simpleNodes = data?.nodes?.map(curNode => {
             let simpleNodes = data?.nodes?.map(curNode => {
-              let children = data.edges
+              let childrenNodes = data.edges
                 .map(edge => {
                 .map(edge => {
                   if (edge.source?.cell == curNode.id) {
                   if (edge.source?.cell == curNode.id) {
-                    return edge.target?.cell;
+                    return data.nodes.find(item => item.id == edge.target?.cell);
                   }
                   }
                 })
                 })
                 .filter(item => item);
                 .filter(item => item);
+              //按优先级排序子节点
+              const children = childrenNodes
+                .sort((a, b) => a.priority - b.priority)
+                .map(item => item.id);
               const node = {
               const node = {
                 id: curNode.id,
                 id: curNode.id,
                 type: curNode.type,
                 type: curNode.type,

+ 4 - 4
src/components/Flow/node/auditNode/index.tsx

@@ -53,7 +53,7 @@ const CustomRect = props => {
         return text;
         return text;
       }
       }
     }
     }
-  }, [audits, type]);
+  }, [audits, type, roleID]);
 
 
   // const type: TYPE = 0;
   // const type: TYPE = 0;
   const titleDom = () => {
   const titleDom = () => {
@@ -111,9 +111,9 @@ const CustomRect = props => {
   );
   );
 };
 };
 
 
-export default connect(({ user }) => ({
-  depUserTree: user.depUserTree,
-  roleList: user.roleList,
+export default connect(({ flow }) => ({
+  depUserTree: flow.depUserTree,
+  roleList: flow.roleList,
 }))(CustomRect);
 }))(CustomRect);
 
 
 const enum COLOR {
 const enum COLOR {

+ 3 - 3
src/components/Flow/node/auditNode/mapServe.tsx

@@ -188,7 +188,7 @@ const Component = (props: any) => {
               style={{ width: '100%' }}
               style={{ width: '100%' }}
               filterOption={(input, option) => option.props.children.indexOf(input) >= 0}
               filterOption={(input, option) => option.props.children.indexOf(input) >= 0}
               onChange={value => {
               onChange={value => {
-                onNodeConfigChange('roleID', value);
+                onNodeConfigChange('roleID', Number(value));
               }}
               }}
             >
             >
               {roleList &&
               {roleList &&
@@ -219,6 +219,6 @@ function RecthServe(props: any) {
 
 
 export default connect(({ xflow, flow, user }) => ({
 export default connect(({ xflow, flow, user }) => ({
   auditList: xflow.auditList,
   auditList: xflow.auditList,
-  depUserTree: user.depUserTree,
-  roleList: user.roleList,
+  depUserTree: flow.depUserTree,
+  roleList: flow.roleList,
 }))(RecthServe);
 }))(RecthServe);

+ 5 - 16
src/components/Flow/node/judgeNode/index.tsx

@@ -1,10 +1,9 @@
 import React, { useEffect, useMemo } from 'react';
 import React, { useEffect, useMemo } from 'react';
 judgeServe;
 judgeServe;
-import judgeServe, { ComponentName, FormItem, TYPE } from './mapServe';
-// import { Badge } from 'antd';
-import { useXFlowApp, XFlowNodeCommands } from '@antv/xflow';
+import judgeServe, { ComponentName, FormItem } from './mapServe';
 import { JudgeType, JudgeOptions, SiginOptions } from '../../components/judgeComponent';
 import { JudgeType, JudgeOptions, SiginOptions } from '../../components/judgeComponent';
 import { connect } from 'dva';
 import { connect } from 'dva';
+import { flow } from 'lodash';
 export { judgeServe };
 export { judgeServe };
 
 
 const JudgeRect = props => {
 const JudgeRect = props => {
@@ -88,6 +87,7 @@ const JudgeRect = props => {
           height: `${height - 32}px`,
           height: `${height - 32}px`,
           overflow: 'hidden',
           overflow: 'hidden',
           textOverflow: 'ellipsis',
           textOverflow: 'ellipsis',
+          fontSize,
         }}
         }}
       >
       >
         {(contentText || []).map((text, index) => (
         {(contentText || []).map((text, index) => (
@@ -108,17 +108,6 @@ const JudgeRect = props => {
   );
   );
 };
 };
 
 
-export default connect(({ user }) => ({
-  depUserTree: user.depUserTree,
+export default connect(({ flow }) => ({
+  depUserTree: flow.depUserTree,
 }))(JudgeRect);
 }))(JudgeRect);
-
-const enum COLOR {
-  AUDIT = '#FF943E',
-  INITIATOR = '#576A95',
-  COPYMAN = '#3296FA',
-}
-const enum TITLETEXT {
-  AUDIT = '审批人',
-  INITIATOR = '发起人',
-  COPYMAN = '抄送人',
-}

+ 14 - 1
src/models/user.js

@@ -5,8 +5,8 @@ import {
   queryUserRole,
   queryUserRole,
   queryUnreadNotification,
   queryUnreadNotification,
   SetNotificationRead,
   SetNotificationRead,
-  queryDepV2,
 } from '@/services/user';
 } from '@/services/user';
+import { queryDepV2 } from '@/services/approval';
 import { ShowUnreadNotification } from '@/utils/utils';
 import { ShowUnreadNotification } from '@/utils/utils';
 import { queryDeviceItemRealtimeData } from '@/services/DeviceAdmin';
 import { queryDeviceItemRealtimeData } from '@/services/DeviceAdmin';
 import { queryUserList } from '@/services/plant';
 import { queryUserList } from '@/services/plant';
@@ -164,6 +164,19 @@ export default {
         });
         });
       }
       }
     },
     },
+    *fetchDepV2({ payload, callback }, { call, put }) {
+      const response = yield call(queryDepV2, { pageSize: 999999 });
+      if (response) {
+        // const depUserTree = response.data?.list;
+        const depUserTree = response.data.list.map(item => {
+          return getDepUserTree(item);
+        });
+        yield put({
+          type: 'save',
+          payload: { depUserTree },
+        });
+      }
+    },
   },
   },
 
 
   reducers: {
   reducers: {

+ 0 - 13
src/models/xflow.js

@@ -38,19 +38,6 @@ export default {
         });
         });
       }
       }
     },
     },
-    *fetchDepV2({ payload, callback }, { call, put }) {
-      const response = yield call(queryDepV2, { pageSize: 999999 });
-      if (response) {
-        // const depUserTree = response.data?.list;
-        const depUserTree = response.data.list.map(item => {
-          return getDepUserTree(item);
-        });
-        yield put({
-          type: 'save',
-          payload: { depUserTree },
-        });
-      }
-    },
   },
   },
 
 
   reducers: {
   reducers: {

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

@@ -150,16 +150,16 @@ function CommitAuditModal(props) {
       })
       })
       .filter(item => item)
       .filter(item => item)
       .flat(Infinity);
       .flat(Infinity);
-    let codeList = [...new Set(result)]
+    let nodeList = [...new Set(result)]
       .map(Id => {
       .map(Id => {
         return flowDetail.nodes.find?.(item => item.Id == Id);
         return flowDetail.nodes.find?.(item => item.Id == Id);
       })
       })
       .filter(item => item);
       .filter(item => item);
-    console.log('============', codeList);
-    let flowIds = [...new Set(codeList.map(item => item.flow_id))].join(',');
+    console.log('============', nodeList);
+    let flowIds = [...new Set(nodeList.map(item => item.flow_id))].join(',');
     let data = await queryProcessFlows({ ids: flowIds });
     let data = await queryProcessFlows({ ids: flowIds });
     if (data && data?.length > 0) {
     if (data && data?.length > 0) {
-      let newlist = codeList.map(node => {
+      let newlist = nodeList.map(node => {
         let curData = data.find(item => item.id == node.flow_id);
         let curData = data.find(item => item.id == node.flow_id);
         let newItem = {
         let newItem = {
           name: curData?.name,
           name: curData?.name,
@@ -219,14 +219,14 @@ function CommitAuditModal(props) {
       });
       });
     }
     }
     let firstList = [...new Set(list)];
     let firstList = [...new Set(list)];
-    let attachment = await upload();
+    // let attachment = await upload();
     firstList.forEach(id => {
     firstList.forEach(id => {
       let approvalNode = flowDetail.nodes.find?.(item => item.Id == id);
       let approvalNode = flowDetail.nodes.find?.(item => item.Id == id);
       let values = data[approvalNode.Id] || [];
       let values = data[approvalNode.Id] || [];
       const formItem = {
       const formItem = {
-        flow_id: `${approvalNode.flow_id}`,
-        template_node_id: `${approvalNode.Id}`,
-        formComponentValues: [...values, { name: '附件', value: JSON.stringify(attachment) }],
+        flow_id: approvalNode.flow_id,
+        template_node_id: approvalNode.Id,
+        formComponentValues: [...values], //{ name: '附件', value: JSON.stringify(attachment) }
       };
       };
       result.push(JSON.stringify(formItem));
       result.push(JSON.stringify(formItem));
     });
     });

+ 4 - 0
src/pages/PurchaseAdmin/PurchaseList/Flow/Audit.js

@@ -29,6 +29,10 @@ function Audit(props) {
     dispatch({
     dispatch({
       type: 'flow/fetchDepV2',
       type: 'flow/fetchDepV2',
     });
     });
+
+    // dispatch({
+    //   type: 'user/fetchDepV2',
+    // });
   }, []);
   }, []);
   const onChange = values => {
   const onChange = values => {
     dispatch({
     dispatch({

+ 3 - 4
src/pages/PurchaseAdmin/PurchaseList/Flow/List.js

@@ -50,10 +50,9 @@ function List(props) {
     dispatch({
     dispatch({
       type: 'flow/getRoleList',
       type: 'flow/getRoleList',
     });
     });
-
-    dispatch({
-      type: 'flow/fetchDepV2',
-    });
+    // dispatch({
+    //   type: 'user /fetchDepV2',
+    // });
     // dispatch({
     // dispatch({
     //   type: 'flow/queryDingTemplateList',
     //   type: 'flow/queryDingTemplateList',
     // });
     // });

+ 16 - 11
src/services/user.js

@@ -5,22 +5,22 @@ export async function query() {
 }
 }
 
 
 export async function queryCurrent() {
 export async function queryCurrent() {
-  return request('/user/current-user', {method: 'GET'});
+  return request('/user/current-user', { method: 'GET' });
 }
 }
 
 
 export async function queryCurrentV2() {
 export async function queryCurrentV2() {
-  return request('/api/v2/user/current-user', {method: 'GET'});
+  return request('/api/v2/user/current-user', { method: 'GET' });
 }
 }
 export async function queryUserRole(userId) {
 export async function queryUserRole(userId) {
-  return request('/api/v2/user/detail/'+userId, {method: 'GET'});
+  return request('/api/v2/user/detail/' + userId, { method: 'GET' });
 }
 }
 
 
 export async function queryUnreadNotification() {
 export async function queryUnreadNotification() {
-  return request('/notification/unread/', {method: 'GET'});
+  return request('/notification/unread/', { method: 'GET' });
 }
 }
 
 
 export async function SetNotificationRead(params) {
 export async function SetNotificationRead(params) {
-  return request(`/notification/read/${params.ID}`, {method: 'PUT'});
+  return request(`/notification/read/${params.ID}`, { method: 'PUT' });
 }
 }
 
 
 // export async function queryUserList(param) {
 // export async function queryUserList(param) {
@@ -28,14 +28,19 @@ export async function SetNotificationRead(params) {
 // }
 // }
 
 
 export async function bindQywxUserId(param) {
 export async function bindQywxUserId(param) {
-  return request(`/user/qywx-userId?code=${param.code}&JWT-TOKEN=${param.token}`)
+  return request(`/user/qywx-userId?code=${param.code}&JWT-TOKEN=${param.token}`);
 }
 }
 
 
 export async function updateUser(param) {
 export async function updateUser(param) {
-  return request(`/user/update`,{
-    method:"PUT",
+  return request(`/user/update`, {
+    method: 'PUT',
     body: {
     body: {
-    ...param,
-  }
-})
+      ...param,
+    },
+  });
+}
+
+//获取部门结构
+export async function queryDepV2(params) {
+  return request(`/api/v2/dep?${stringify(params)}`);
 }
 }