From 7f70cb15d035f0c233b9e62b9e43aa985317c908 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 04 十一月 2024 10:22:45 +0800 Subject: [PATCH] # --- zy-acs-flow/src/page/agv/AgvCard.jsx | 51 +++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 37 insertions(+), 14 deletions(-) diff --git a/zy-acs-flow/src/page/agv/AgvCard.jsx b/zy-acs-flow/src/page/agv/AgvCard.jsx index 53e4a00..04e7e75 100644 --- a/zy-acs-flow/src/page/agv/AgvCard.jsx +++ b/zy-acs-flow/src/page/agv/AgvCard.jsx @@ -1,11 +1,8 @@ import * as React from 'react'; import { useState } from 'react'; import { Paper, Typography, Box, AvatarGroup, Avatar } from '@mui/material'; -import ContactsIcon from '@mui/icons-material/AccountCircle'; -import DealIcon from '@mui/icons-material/MonetizationOn'; import { useCreatePath, - SelectField, useRecordContext, Link, useResourceContext, @@ -13,7 +10,7 @@ } from 'react-admin'; import PulseSignal from '../components/PulseSignal'; import { AgvAvatar } from './AgvAvatar'; -import { red } from '@mui/material/colors'; +import { red, blue, blueGrey } from '@mui/material/colors'; export const AgvCard = (props) => { const resource = useResourceContext(); @@ -21,7 +18,7 @@ const createPath = useCreatePath(); const record = useRecordContext(props); if (!record) return null; - console.log(record); + return ( <Link to={createPath({ @@ -40,12 +37,26 @@ flexDirection: 'column', justifyContent: 'space-between', padding: '1em', + ...(!record.online && { + animation: 'cardBorderPulse 2s infinite', + '@keyframes cardBorderPulse': { + '0%': { + boxShadow: '0 0 2px 1px rgba(255, 0, 0, 0.1)', + }, + '50%': { + boxShadow: '0 0 3px 2px rgba(255, 0, 0, 0.3)', + }, + '100%': { + boxShadow: '0 0 2px 1px rgba(255, 0, 0, 0.1)', + }, + }, + }) }} elevation={elevation} > <Box display="flex" flexDirection="row" alignItems="center" justifyContent='space-between'> <PulseSignal - flag={true} + flag={record.online} /> <Typography variant="caption" > vol: @@ -61,7 +72,12 @@ <Box display="flex" flexDirection="column" alignItems="center"> <AgvAvatar /> <Box textAlign="center" marginTop={2}> - <Typography variant="subtitle2"> + <Typography + variant="subtitle2" + color="textSecondary" + component="div" + sx={{ fontWeight: 'bold' }} + > {record.agvStatus} </Typography> <Typography variant="overline" sx={{ opacity: .7 }}> @@ -108,14 +124,21 @@ }, }} > - {data.map((record) => ( - <Avatar - key={record.id} - title={`${record.seqNum}`} - > - {record.seqNum} + {data.length > 0 ? ( + data.map((record) => ( + <Avatar + key={record.id} + title={`${record.seqNum}`} + sx={{ bgcolor: blueGrey[500] }} + > + {record.seqNum.slice(0, 4)} + </Avatar> + )) + ) : ( + <Avatar title="No tasks" > + N/A </Avatar> - ))} + )} </AvatarGroup> ); } -- Gitblit v1.9.1