import React, { useState, useEffect } from 'react'; import { Modal, Table } from 'antd'; import { connect } from 'dva'; import moment from 'moment'; import { set } from 'lodash'; function DepCompareModal(props) { const { dispatch, visible, onOk, onCancel, depCompare, depUserProject, depUser, filter, loading, } = props; const [userVisible, setUserVisible] = useState(false); //本部门 const columns = [ { title: '用户名称', dataIndex: 'c_name' }, { title: '员工号', dataIndex: 'user_name' }, { title: '执行项目人日', dataIndex: 'type_project_cnt' }, { title: '售前支持', dataIndex: 'type_sale_cnt' }, { title: '市场品牌', dataIndex: 'type_market_cnt' }, { title: '日常', dataIndex: 'type_normal_cnt' }, { title: '标准化', dataIndex: 'type_standardize_cnt' }, { title: '研发', dataIndex: 'type_rd_cnt' }, // { title: '漏填工时', dataIndex: 'type_lost_cnt' }, { title: '应填报总工时', dataIndex: 'total_cnt' }, { title: '有效利用率', dataIndex: 'usage_percent', render: (percent = 0) => (percent * 100).toFixed(2) + '%', }, ]; // 其他部门 const columnsDep = [ { width: 350, render: record => // record.dep_name || onClickUser(record)}>{record.c_name}, record.dep_name || record.c_name, }, { title: '执行项目', dataIndex: 'type_project_cnt' }, { title: '售前项目', dataIndex: 'type_sale_cnt' }, { title: '研发项目', dataIndex: 'type_rd_cnt' }, { title: '运营项目', dataIndex: 'type_opt_cnt' }, { title: '质保项目', dataIndex: 'type_wty_cnt' }, { title: '总计', dataIndex: 'total_cnt' }, ]; const columnsUser = [ { title: '项目名称', dataIndex: 'project_name' }, { title: '总工时', dataIndex: 'total_cnt' }, ]; const onChangePage = pagination => { dispatch({ type: 'report/queryUserReport', payload: { ...filter, currentPage: pagination.current, }, }); }; const onExpand = (expanded, record) => { if (expanded && !record.isLoad) { dispatch({ type: 'report/queryDepCompareUser', payload: { s_time: filter.s_time, e_time: filter.e_time, project_dep_id: filter.dep_id, record: record, }, }); } }; const onClickUser = user => { dispatch({ type: 'report/queryDepUserProject', payload: { s_time: filter.s_time, e_time: filter.e_time, project_dep_id: filter.dep_id, dep_id: user.dep_id, user_id: user.user_id, }, }); setUserVisible(true); }; useEffect(() => { if (!filter?.dep_id) return; dispatch({ type: 'report/queryUserReport', payload: filter, }); // dispatch({ // type: 'report/queryDepCompare', // payload: filter, // }); }, [filter]); return ( <> '本部门工时详情'} columns={columns} loading={loading} dataSource={depUser.list} pagination={depUser.pagination} onChange={onChangePage} >
{/* '本部门在所属项目下产生的工时'} columns={columns} loading={loading} dataSource={depCompare.length == 0 ? [] : [depCompare[0]]} rowKey="key" childrenColumnName="child" pagination={false} onExpand={onExpand} /> */} {/* {depCompare.length > 0 && (
'其他部门在所属项目下产生的工时'} columns={columnsDep} loading={loading} dataSource={depCompare} rowKey="key" childrenColumnName="child" pagination={false} onExpand={onExpand} /> )} */} {/* setUserVisible(false)} footer={false} destroyOnClose >
*/} ); } export default connect(({ report, loading }) => ({ depCompare: report.depCompare, depUserProject: report.depUserProject, depUser: report.depUser, loading: loading.models.report, }))(DepCompareModal);