Forráskód Böngészése

部门报表 环形图默认选择

XuZinan 2 éve
szülő
commit
f57b5fb937

+ 7 - 7
src/pages/PurchaseAdmin/PurchaseList/Report/Department.js

@@ -22,11 +22,12 @@ const initData = [
 ];
 
 function Department(props) {
-  const { dispatch, loading, dep, depUserTree } = props;
+  const { dispatch, loading, dep } = props;
   const [form] = Form.useForm();
   const [visible, setVisible] = useState(false);
   const [modalFilter, setModalFilter] = useState({});
   const [current, setCurrent] = useState(null);
+  const [currentDep, setCurrentDep] = useState(null);
   const chartRef = useRef(null);
   const columns = [
     {
@@ -98,6 +99,7 @@ function Department(props) {
       payload: {
         filter: filterRef.current,
       },
+      callback: list => handleChangeCurrent(list[0]),
     });
   };
   const handleDownload = () => {
@@ -140,7 +142,7 @@ function Department(props) {
     });
   };
   const showUserModal = item => {
-  // const showDepCompare = item => {
+    // const showDepCompare = item => {
     const { s_time, e_time } = filterRef.current;
     setModalFilter({
       s_time: s_time,
@@ -192,6 +194,7 @@ function Department(props) {
       { value: item.type_standardize_cnt, name: '标准化' },
       { value: item.type_rd_cnt, name: '研发' },
     ];
+    setCurrentDep(item.dep_id);
     // 过滤为0的值
     data = data.filter(item => item.value);
     if (data.length > 0) {
@@ -220,12 +223,13 @@ function Department(props) {
           value: 'dep_id',
         }}
         filterTreeNode={(input, option) => {
-          return option.props.title === input;
+          return option.props.dep_name.includes(input);
         }}
         onSelect={(_, node) => {
           handleChangeCurrent(node);
         }}
         loadData={node => onExpand(true, node)}
+        value={currentDep}
       />
     );
   };
@@ -234,9 +238,6 @@ function Department(props) {
     // dispatch({
     //   type: 'report/queryUserReport',
     // });
-    dispatch({
-      type: 'report/fetchDepV2',
-    });
     handleSearch();
     chartRef.current = echarts.init(document.getElementById('chart'));
   }, []);
@@ -288,6 +289,5 @@ function Department(props) {
 
 export default connect(({ report, loading }) => ({
   dep: report.dep,
-  depUserTree: report.depUserTree,
   loading: loading.models.report,
 }))(Department);

+ 1 - 32
src/pages/PurchaseAdmin/PurchaseList/Report/models/report.js

@@ -12,26 +12,10 @@ import {
   queryUserProject,
   queryProjectReportNew,
 } from '@/services/workHours';
-import { queryDepV2 } from '@/services/approval';
 import { queryRole } from '@/services/SysAdmin';
 import { message } from 'antd';
 import moment from 'moment';
 
-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, map);
-    });
-  }
-  return data;
-}
-
 export default {
   namespace: 'report',
   state: {
@@ -62,7 +46,6 @@ export default {
     },
     depCompare: [],
     depUserProject: [],
-    depUserTree: [],
     projectList: [],
     projectNew: [],
   },
@@ -148,7 +131,7 @@ export default {
           payload: { dep: data },
         });
       }
-      callback?.();
+      callback?.(data.list);
     },
     *queryProjectReport({ payload }, { call, put }) {
       const { data } = yield call(queryProjectReport, {
@@ -324,20 +307,6 @@ export default {
         payload: { projectNew: res.data.child || [] },
       });
     },
-
-    *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, depUserMap);
-        });
-        yield put({
-          type: 'save',
-          payload: { depUserTree },
-        });
-      }
-    },
   },
 
   reducers: {