From 6cedbc26af4978f24d20bdb8cd2a7642e1c9a220 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期日, 29 九月 2024 15:17:05 +0800 Subject: [PATCH] # --- zy-acs-flow/src/page/mission/TaskList.jsx | 55 +++++++++++++++++++++++++++ zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MissionVo.java | 2 + zy-acs-flow/src/page/segment/SegmentPanel.jsx | 2 zy-acs-flow/src/page/agv/show/AgvShowTask.jsx | 5 +- zy-acs-flow/src/page/mission/MissionShow.jsx | 7 ++- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java | 1 6 files changed, 65 insertions(+), 7 deletions(-) diff --git a/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx b/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx index fb7af4a..c5474b4 100644 --- a/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx +++ b/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx @@ -171,15 +171,14 @@ <List> {records.map(record => { return ( - <> + <React.Fragment key={record.id}> <TaskItem key={record.id} record={record} now={now} /> <Divider /> - </> - + </React.Fragment> ) })} {currCount < total && ( diff --git a/zy-acs-flow/src/page/mission/MissionShow.jsx b/zy-acs-flow/src/page/mission/MissionShow.jsx index 451db8c..00c4c62 100644 --- a/zy-acs-flow/src/page/mission/MissionShow.jsx +++ b/zy-acs-flow/src/page/mission/MissionShow.jsx @@ -28,6 +28,7 @@ import { blueGrey } from '@mui/material/colors'; import MoveToInboxIcon from '@mui/icons-material/MoveToInbox'; import { format } from 'date-fns'; +import { TaskList } from "./TaskList"; const MissionShow = ({ open, id }) => { const redirect = useRedirect(); @@ -157,7 +158,7 @@ </Box> </Box> - {!!record.contact_ids?.length && ( + {!!record.taskIds?.length && ( <Box m={2}> <Box display="flex" @@ -169,13 +170,13 @@ color="textSecondary" variant="caption" > - Contacts + Tasks </Typography> <ReferenceArrayField source="contact_ids" reference="contacts_summary" > - <ContactList /> + <TaskList taskIds={record.taskIds} /> </ReferenceArrayField> </Box> </Box> diff --git a/zy-acs-flow/src/page/mission/TaskList.jsx b/zy-acs-flow/src/page/mission/TaskList.jsx new file mode 100644 index 0000000..e537699 --- /dev/null +++ b/zy-acs-flow/src/page/mission/TaskList.jsx @@ -0,0 +1,55 @@ +import React, { useState, useRef, useEffect, useMemo, useCallback } from "react"; +import { Link, Stack, Typography, Avatar } from '@mui/material'; +import { + useDataProvider, + useTranslate, +} from 'react-admin'; +import { getTaskStsColor } from '@/utils/color-util'; + +export const TaskList = ({ taskIds }) => { + const dataProvider = useDataProvider(); + + const [tasks, setTasks] = useState([]); + + useEffect(() => { + if (taskIds?.length > 0) { + dataProvider.getMany('task', { ids: taskIds }).then(res => { + if (res.data?.length > 0) { + setTasks(res.data); + } + }) + } + }, [taskIds]) + + if (!taskIds?.length) return <div style={{ height: '2em' }} />; + + return ( + <Stack direction="row" flexWrap="wrap" gap={3} mt={1}> + {tasks.map(task => ( + <Stack direction="row" key={task.id} gap={1}> + <Avatar + alt={task.seqNum} + // variant="square" + sx={{ + '& img': { objectFit: 'contain' }, + fontSize: '1rem', + width: 55, + height: 40, + bgcolor: getTaskStsColor(task.taskSts$), + }} + > + {task.seqNum} + </Avatar> + <Stack> + <Typography variant="body2" color="inherit"> + {task.taskType$} + </Typography> + <Typography variant="caption" color="text.secondary"> + {task.oriDesc || ''} - {task.destDesc || ''} + </Typography> + </Stack> + </Stack> + ))} + </Stack> + ); +}; diff --git a/zy-acs-flow/src/page/segment/SegmentPanel.jsx b/zy-acs-flow/src/page/segment/SegmentPanel.jsx index 9a7bf71..c8eef12 100644 --- a/zy-acs-flow/src/page/segment/SegmentPanel.jsx +++ b/zy-acs-flow/src/page/segment/SegmentPanel.jsx @@ -23,7 +23,7 @@ overflow: 'hidden', textOverflow: 'ellipsis', }}> - {Common.camelToPascalWithSpaces(translate('table.field.segment.id'))}: {record.id} + {Common.camelToPascalWithSpaces(translate('common.field.id'))}: {record.id} </Typography> {/* inherit, primary, secondary, textPrimary, textSecondary, error */} <Typography variant="h6" gutterBottom align="right" > diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MissionVo.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MissionVo.java index dc6a829..87fdb8d 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MissionVo.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MissionVo.java @@ -22,6 +22,8 @@ private List<String> taskNos = new ArrayList<>(); + private List<Long> taskIds = new ArrayList<>(); + private Integer backpack; private String destCode; diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java index 9c6b1ba..f16c79c 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java @@ -94,6 +94,7 @@ // vo.setSendTime(action.getStartTime()); vo.setBusNo(task.getBusId$()); vo.setActionCount(actionList.size()); + vo.setTaskIds(list.stream().map(Segment::getTaskId).collect(Collectors.toList())); return vo; } -- Gitblit v1.9.1