Sfoglia il codice sorgente

工时上报显示所属部门

hanxin 2 anni fa
parent
commit
86edb3f828

+ 1 - 1
src/pages/PurchaseAdmin/PurchaseList/WorkingHours/AddModal.js

@@ -190,7 +190,7 @@ function AddModal(props) {
         <TreeSelect
           showSearch
           allowClear
-          style={{ width: 240 }}
+          // style={{ width: 240 }}
           placeholder="请选择部门"
           multiple={false}
           treeData={depUserTree}

+ 3 - 3
src/pages/PurchaseAdmin/PurchaseList/WorkingHours/WorkList.js

@@ -2,7 +2,7 @@ import React, { useState, useEffect } from 'react';
 import { InputNumber, Popover, Divider, Table, message } from 'antd';
 
 function WorkList(props) {
-  const { list, onAuth, onSave, onDelete, allType } = props;
+  const { list, onAuth, onSave, onDelete, allType, depUserMap } = props;
   const [expandedRowKeys, setExpandedRowKeys] = useState([]);
   const [dataSource, setDataSource] = useState([]);
   let workHour = {};
@@ -14,11 +14,11 @@ function WorkList(props) {
       render: type_id => allType[type_id]?.name,
     },
     {
-      title: '所属项目',
+      title: '所属项目/所属部门',
       width: '30%',
       render: item => {
         if (item.zIndex === 0) return '';
-        return item.Project?.Name || '-';
+        return item.Project?.Name || depUserMap?.get(item.pay_dep_id)?.Name || '-';
       },
     },
     {

+ 5 - 3
src/pages/PurchaseAdmin/PurchaseList/WorkingHours/index.js

@@ -6,7 +6,7 @@ import { connect } from 'dva';
 import moment from 'moment';
 
 function List(props) {
-  const { typeList, dispatch, loading, dataList, projectList, currentUser, allType, depUserTree } = props;
+  const { typeList, dispatch, loading, dataList, projectList, currentUser, allType, depUserTree, depUserMap } = props;
   const [visible, setVisible] = useState(false);
   const [current, setCurrent] = useState({
     date: moment(),
@@ -347,7 +347,7 @@ function List(props) {
       type: 'workload/fetchDepV2',
     });
   }, []);
-
+  console.log(depUserMap);
   return (
     <div>
       <Spin spinning={loading}>
@@ -388,6 +388,7 @@ function List(props) {
               onAuth={onAuth}
               onSave={onSave}
               onDelete={onDelete}
+              depUserMap={depUserMap}
             />
           </Col>
         </Row>
@@ -411,5 +412,6 @@ export default connect(({ workload, user, loading }) => ({
   allType: workload.allType,
   currentUser: user.currentUser,
   loading: loading.models.workload,
-  depUserTree: workload.depUserTree
+  depUserTree: workload.depUserTree,
+  depUserMap: workload.depUserMap
 }))(List);

+ 6 - 4
src/pages/PurchaseAdmin/PurchaseList/WorkingHours/models/workingHours.js

@@ -13,15 +13,16 @@ import { queryDepV2 } from '@/services/approval';
 import { message } from 'antd';
 import moment from 'moment';
 
-function getDepUserTree(data) {
+function getDepUserTree(data, map) {
   data.title = `${data.Name}`;
   data.key = `${data.ID}`;
   data.value = `${data.ID}`;
+  map.set(data.ID, data);
   if (!data.children) data.children = new Array();
 
   if (data.children) {
     data.children.forEach(item => {
-      getDepUserTree(item);
+      getDepUserTree(item, map);
     });
   }
   return data;
@@ -214,12 +215,13 @@ export default {
     *fetchDepV2({ payload, callback }, { call, put }) {
       const response = yield call(queryDepV2, { pageSize: 999999 });
       if (response) {
+        const depUserMap = new Map();
         const depUserTree = response.data.list.map(item => {
-          return getDepUserTree(item);
+          return getDepUserTree(item, depUserMap);
         });
         yield put({
           type: 'save',
-          payload: { depUserTree },
+          payload: { depUserTree, depUserMap },
         });
       }
     },