import PageContent from '@/components/PageContent'; import TabsContent from '@/components/TabsContent'; import { MandateType, OrderType } from '@/pages/TaskManage/constent'; import { getMandateList } from '@/services/TaskManage'; import { CaretLeftFilled, CaretRightFilled } from '@ant-design/icons'; import { connect, history, useLocation, useNavigate, useParams, } from '@umijs/max'; import { List, Spin } from 'antd'; import { useEffect, useState } from 'react'; import styles from './index.less'; const MyTask = (props) => { const { userList, dispatch } = props; const { projectId } = useParams(); const project_id = Number(projectId === '' ? '0' : projectId); const location = useLocation(); const queryParams = new URLSearchParams(location.search); const userID = queryParams.get('user_id'); const navigate = useNavigate(); const [mandateCount, setMandateCount] = useState([0, 0, 0]); const [loading, setLoading] = useState(false); const [tab, setTab] = useState(localStorage.taskTab || '1'); useEffect(() => { const requests = []; for (let i = 0; i < 4; i++) { requests.push( getMandateList({ project_id, pageSize: 1, currentPage: 1, mandate_type: i + 1, responsible_people: userID !== null ? Number(userID) : '', }), ); } setLoading(true); Promise.all(requests) .then((resList) => { if (resList.filter((item) => item.code !== 200).length) { throw new Error('请求错误'); } const typeCount = [0, 0, 0, 0]; resList.forEach((item, index) => { typeCount[index] = item.data.pagination?.total; }); setMandateCount(typeCount); }) .catch((err) => { console.log(err); }) .finally(() => { setLoading(false); }); }, []); useEffect(() => { if (userList.length === 0) { dispatch({ type: 'taskUser/fetchUserList', payload: { project_id }, }); } }, []); const onTabChange = (key) => { setTab(key); localStorage.setItem('taskTab', key); }; const goTaskList = (item) => { navigate( `/center/my-task/task-list?project_id=${project_id}&mandateType=${item}${ userID !== null ? '&user_id=' + userID : '' }`, ); }; const goWorkOrderList = (item) => { navigate( `/center/my-task/work-order-list?project_id=${project_id}&order_type=${item}${ userID !== null ? '&user_id=' + userID : '' }`, ); }; const makeTaskList = (item, index) => { return ( { goTaskList(item.value); }} > {item.label}} /> {/*
{mandateCount[index]}
任务数量
*/}
); }; const makeWorkOrderList = (item) => { return ( { goWorkOrderList(item.value); }} > {item.label}} /> ); }; return ( history.back()} /> ), }, { label: `我的工单`, key: '2', children: (
), }, ]} />
); }; export default connect(({ taskUser }) => { return { userList: taskUser.userList, }; })(MyTask);