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 ec213a8..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
-                                                sprite={sprite}
-                                            />
-                                        </>
-                                    )}
+                                    <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