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/map/insight/index.jsx | 65 ++++++++++++++++++++++---------- 1 files changed, 45 insertions(+), 20 deletions(-) diff --git a/zy-acs-flow/src/map/insight/index.jsx b/zy-acs-flow/src/map/insight/index.jsx index a601a51..3bc802c 100644 --- a/zy-acs-flow/src/map/insight/index.jsx +++ b/zy-acs-flow/src/map/insight/index.jsx @@ -6,14 +6,17 @@ import { DEVICE_TYPE, } from '../constants'; +import JsonShow from '../JsonShow'; import ShelfInsight from './shelf'; import AgvInsight from './agv'; +import PointInsight from './point'; const Insight = (props) => { - const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH, title } = props; + const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH } = props; const theme = useTheme(); const themeMode = theme.palette.mode; const translate = useTranslate(); + const [title, setTitle] = useState(null); const deviceType = sprite?.data?.type; @@ -22,7 +25,7 @@ } useEffect(() => { - }, []) + }, [sprite]) return ( <> @@ -36,15 +39,15 @@ {open && ( <Box pt={12} width={{ xs: '100vW', sm: width }} height={'calc(100vh - 100px);'} mt={{ xs: 2, sm: 1 }} sx={{ }}> - <Stack direction="row" p={2}> + <Stack direction="row" p={2} pt={3}> <Typography variant="h6" flex="1"> - {title || translate('page.map.insight.title')} + {title || ''} </Typography> <IconButton onClick={handleClose} size="small"> <CloseIcon /> </IconButton> </Stack> - <Box p={2} pt={1} height='100%'> + <Box p={2} pt={0} height='100%'> <Card sx={{ height: '100%', transition: '0.3s', @@ -59,21 +62,11 @@ borderRadius: '8px', }}> <CardContent sx={{ height: '100%' }}> - {deviceType === DEVICE_TYPE.SHELF && ( - <> - <ShelfInsight - sprite={sprite} - /> - </> - )} - - {deviceType === DEVICE_TYPE.AGV && ( - <> - <AgvInsight - - /> - </> - )} + <DeviceContent + deviceType={deviceType} + sprite={sprite} + setTitle={setTitle} + /> </CardContent> </Card> </Box> @@ -84,5 +77,37 @@ ) } +const DeviceContent = ({ deviceType, sprite, setTitle }) => { + switch (deviceType) { + case DEVICE_TYPE.SHELF: + return ( + <ShelfInsight + sprite={sprite} + setTitle={setTitle} + /> + ) + case DEVICE_TYPE.AGV: + return ( + <AgvInsight + sprite={sprite} + setTitle={setTitle} + /> + ) + case DEVICE_TYPE.POINT: + return ( + <PointInsight + sprite={sprite} + setTitle={setTitle} + /> + ) + default: + return ( + <JsonShow + data={sprite?.data} + height={550} + /> + ) + } +} export default Insight; \ No newline at end of file -- Gitblit v1.9.1