import PageContent from '@/components/PageContent'; import PageTitle from '@/components/PageTitle'; import { IMandateDetailType, IUserType, IWorkOrderType, } from '@/pages/TaskManage/Detail/TaskList/taskList.types'; import { MandateClass, MandateStatus, MandateType, OrderStatus, OrderType, } from '@/pages/TaskManage/constent'; import { getMandateDetail } from '@/services/TaskManage'; import { useLocation } from '@@/exports'; import { connect, useRequest } from '@umijs/max'; import { Button, Col, Divider, Row } from 'antd'; import { useEffect, useState } from 'react'; import { useNavigate } from 'umi'; import styles from './taskDetail.less'; interface IPropsType { userList: IUserType[]; dispatch: (args: { type: string; payload: object }) => void; } function TaskDetail(props: IPropsType) { const { userList, dispatch } = props; const location = useLocation(); const queryParams = new URLSearchParams(location.search); const project_id = Number(queryParams.get('project_id')); const mandate_id = Number(queryParams.get('mandate_id')); const navigate = useNavigate(); const [mandateDetail, setMandateDetail] = useState(); const [handledWorkOrder, setHandledWorkOrder] = useState( [], ); const { refresh: refreshDetail } = useRequest(getMandateDetail, { defaultParams: [ { mandate_id, project_id, }, ], formatResult: (result) => { const tempMandate: IMandateDetailType = { ...result.data, Status: MandateStatus.find((item) => item.value === result.data.Status), MandateClass: MandateClass.find( (item) => item.value === result.data.MandateClass, ), MandateType: MandateType.find( (item) => item.value === result.data.MandateType, ), ResponsiblePeople: userList.find( (item) => item.ID === result.data.ResponsiblePeople, ), }; const workOrder = result.data.Records; const tempOrder = workOrder.map((record: IWorkOrderType) => { return { ...record, RecordType: OrderType.find( (item) => item.value === record.RecordType, ), Status: OrderStatus.find((item) => item.value === record.Status), Responsible: userList.find((item) => item.ID === record.Responsible), }; }); setMandateDetail(tempMandate); setHandledWorkOrder(tempOrder); }, }); useEffect(() => { if (userList.length === 0) { dispatch({ type: 'taskUser/fetchUserList', payload: { project_id }, }); } }, []); const goTaskOrder = (orderID: number, orderType: number) => { navigate( `/task-manage/list/order-detail?project_id=${project_id}&order_id=${orderID}&order_type=${orderType}`, ); }; return ( 任务详情
时间:{mandateDetail?.CreateTime} {/*// @ts-ignore*/} {/*//@ts-ignore*/} 任务类别:{mandateDetail?.MandateClass?.label} {/*//@ts-ignore*/} 任务状态:{mandateDetail?.Status?.label} {/*// @ts-ignore*/} 任务负责人:{mandateDetail?.ResponsiblePeople?.CName}
任务总结 {mandateDetail?.Summary} 任务内容 {mandateDetail?.Detail} {/**/}
关联工单
{handledWorkOrder.map((order) => { return (
工单编号:{order.Id} 时间:{order.CreateTime} 工单状态: {/*// @ts-ignore*/} {order.Status?.label} {/*// @ts-ignore*/} 工单负责人:{order.Responsible?.CName}
); })} ); } export default connect(({ taskUser }: any): { userList: IUserType[] } => { return { userList: taskUser.userList, }; })(TaskDetail);