From 0453a0bc5329d3bd4ff6d731d4bbd64890f722b3 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期六, 21 九月 2024 14:52:36 +0800 Subject: [PATCH] # --- zy-acs-flow/src/page/agv/show/AgvShowTask.jsx | 97 +++++++++++++++++++++++++++++------------------- zy-acs-flow/src/utils/common.js | 21 ++++++++++ 2 files changed, 79 insertions(+), 39 deletions(-) diff --git a/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx b/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx index 391fc0c..d9ddbb4 100644 --- a/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx +++ b/zy-acs-flow/src/page/agv/show/AgvShowTask.jsx @@ -1,6 +1,6 @@ import React, { useState, useRef, useEffect, useMemo } from "react"; import { - ShowBase, + useTranslate, TabbedShowLayout, useShowContext, } from 'react-admin'; @@ -14,9 +14,36 @@ Avatar, Skeleton, Divider, + List, + ListItem, } from '@mui/material'; import { formatDistance } from 'date-fns'; import request from '@/utils/request'; +import { useTheme } from '@mui/material/styles'; +import { getTaskStsColor } from '@/utils/common'; + +const TaskItem = ({ record }) => { + const translate = useTranslate(); + const theme = useTheme(); + return ( + <> + <ListItem disableGutters> + <Stack direction="row" spacing={1} alignItems="center" width="100%"> + <Avatar + alt={record.seqNum} + sx={{ + '& img': { objectFit: 'contain' }, + fontSize: '0.9rem', + bgcolor: getTaskStsColor(record.taskSts$), + }} + > + {record.seqNum} + </Avatar> + </Stack> + </ListItem> + </> + ) +} export const AgvShowTask = ({ agvId, pageSize = 20 }) => { const [currCount, setCurrCount] = useState(pageSize); @@ -25,16 +52,21 @@ useEffect(() => { const http = async () => { - const res = await request.post('task/page', { agvId: agvId, pageSize: currCount }); + const res = await request.post('task/page', { + agvId: agvId, + pageSize: currCount, + orderBy: 'create_time desc', + }); const { code, msg, data } = res.data; if (code === 200) { setTotal(data.total); setRecords(data.records); } else { + setTotal(0); setRecords(null); } } - if (agvId) { http(); } + if (agvId) { http() } }, [agvId, currCount]); if (!records) { @@ -65,28 +97,30 @@ return ( <> {records.length > 0 ? ( - <Box> - {records.map(record => { - return ( - <TaskItem - key={record.id} - record={record} - /> - ) - })} - {currCount < total && ( - <Button - onClick={() => - setCurrCount( - currCount => - currCount + pageSize - ) - } - fullWidth - > - Load more activity - </Button> - )} + <Box m={2}> + <List> + {records.map(record => { + return ( + <TaskItem + key={record.id} + record={record} + /> + ) + })} + {currCount < total && ( + <Button + onClick={() => + setCurrCount( + currCount => + currCount + pageSize + ) + } + fullWidth + > + Load more activity + </Button> + )} + </List> </Box> ) : ( <Typography> @@ -97,16 +131,3 @@ </> ) } - -const TaskItem = ({ record }) => { - - return ( - <> - <Typography - - > - {record.seqNum} - </Typography> - </> - ) -} \ No newline at end of file diff --git a/zy-acs-flow/src/utils/common.js b/zy-acs-flow/src/utils/common.js index a3a8fce..790d6e3 100644 --- a/zy-acs-flow/src/utils/common.js +++ b/zy-acs-flow/src/utils/common.js @@ -1,3 +1,4 @@ +import * as Colors from '@mui/material/colors'; export const extractNavMenus = (data) => { if (!data) { @@ -49,4 +50,22 @@ } }); return result; -}; \ No newline at end of file +}; + +export const getTaskStsColor = (taskStatus) => { + if (!taskStatus) { + return Colors.grey[500]; + } + switch (taskStatus) { + case '绛夊緟涓�': + return Colors.amber[500]; + case '宸插垎閰�': + return Colors.blue[500]; + case '杩涜涓�': + return Colors.green[500]; + case '宸插畬鎴�': + return Colors.blueGrey[500]; + default: + return Colors.amber[500]; + } +} \ No newline at end of file -- Gitblit v1.9.1