import { dispatchOrder, ignoreTaskRequest, setTaskAutomation, } from '@/services/TaskManage'; import { UnityAction } from '@/utils/utils'; import { CloseCircleFilled } from '@ant-design/icons'; import { connect, useLocation, useParams, useRequest } from '@umijs/max'; import { Button, Divider, Tabs } from 'antd'; import { useEffect, useState } from 'react'; import MandateDetail from '../components/MandateDetail'; import styles from './index.less'; const TaskModal = (props) => { const { projectID } = useParams(); const location = useLocation(); const queryParams = new URLSearchParams(location.search); const mandateIDs = queryParams.get('mandate_id')?.split(',').length === 1 ? queryParams.get('mandate_id') : queryParams.get('mandate_id')?.split(','); const { userList, dispatch } = props; const [modalTitle, setModalTitle] = useState(null); const [tabItems, setTabItems] = useState([]); const [activeKey, setActiveKey] = useState(); const { run: runIgnore } = useRequest(ignoreTaskRequest, { manual: true, }); const { run: runDispatch } = useRequest(dispatchOrder, { manual: true, }); const { run: runAutomate } = useRequest(setTaskAutomation, { manual: true, }); const onTabChange = (key) => { setActiveKey(String(key)); }; const closePage = () => { // send message to unity close this modal page UnityAction.sendMsg('CloseTask'); }; // 忽略 const onIgnoreTaskConfirm = async (mandateID, reason) => { const params = { Id: mandateID, Status: 4, note: reason, }; const result = await runIgnore(params); if (result) { return true; } }; // 派单 const onDispatchTaskConfirm = async (params) => { const result = await runDispatch(params); if (result) { return true; } }; // 自动处理 const onAutoHandleTaskConfirm = async (pw, mandate) => { const params = { mandate_id: mandate.Id, pw, }; const result = runAutomate(params, mandate); if (result) { return true; } }; useEffect(() => { if (mandateIDs !== undefined) { if (Array.isArray(mandateIDs)) { setModalTitle(null); setTabItems( mandateIDs.map((item, index) => { return { key: String(item), label: 任务{index + 1}, children: ( ), }; }), ); } else { setModalTitle(
任务详情
); } } }, []); useEffect(() => { if (userList.length === 0) { dispatch({ type: 'taskUser/fetchUserList', payload: { project_id: projectID }, }); } }, []); return (
); }; export default connect(({ taskUser }) => { return { userList: taskUser.userList, }; })(TaskModal);