From 00b0ec55e1b0eef82b3a31166e8273ecea776568 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 19 十月 2024 14:34:51 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/insight/index.jsx |   80 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 78 insertions(+), 2 deletions(-)

diff --git a/zy-acs-flow/src/map/insight/index.jsx b/zy-acs-flow/src/map/insight/index.jsx
index 479dd9f..be7a97f 100644
--- a/zy-acs-flow/src/map/insight/index.jsx
+++ b/zy-acs-flow/src/map/insight/index.jsx
@@ -1,12 +1,88 @@
-
+import React, { useState, useRef, useEffect } from 'react';
+import { useTranslate } from "react-admin";
+import { Drawer, Box, Typography, Card, CardContent, IconButton, Stack, useTheme } from '@mui/material';
+import CloseIcon from '@mui/icons-material/Close';
+import { PAGE_DRAWER_WIDTH } from '@/config/setting';
+import {
+    DEVICE_TYPE,
+} from '../constants';
+import ShelfInsight from './shelf';
+import AgvInsight from './agv';
 
 const Insight = (props) => {
-    const { open, onCancel } = 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;
+
+    const handleClose = () => {
+        onCancel();
+    }
+
+    useEffect(() => {
+    }, [sprite])
 
     return (
         <>
+            <Drawer
+                variant="persistent"
+                open={open}
+                anchor="right"
+                onClose={handleClose}
+                sx={{ zIndex: 100, opacity: 1 }}
+            >
+                {open && (
+                    <Box pt={12} width={{ xs: '100vW', sm: width }} height={'calc(100vh - 100px);'} mt={{ xs: 2, sm: 1 }} sx={{
+                    }}>
+                        <Stack direction="row" p={2} pt={3}>
+                            <Typography variant="h6" flex="1">
+                                {title || ''}
+                            </Typography>
+                            <IconButton onClick={handleClose} size="small">
+                                <CloseIcon />
+                            </IconButton>
+                        </Stack>
+                        <Box p={2} pt={0} height='100%'>
+                            <Card sx={{
+                                height: '100%',
+                                transition: '0.3s',
+                                boxShadow: themeMode === 'light'
+                                    ? '0px 2px 8px rgba(0, 0, 0, 0.1)'
+                                    : '0px 2px 2px rgba(255, 255, 255, 0.1)',
+                                '&:hover': {
+                                    boxShadow: themeMode === 'light'
+                                        ? '0px 4px 16px rgba(0, 0, 0, 0.2)'
+                                        : '0px 4px 8px rgba(255, 255, 255, 0.2)',
+                                },
+                                borderRadius: '8px',
+                            }}>
+                                <CardContent sx={{ height: '100%' }}>
+                                    {deviceType === DEVICE_TYPE.SHELF && (
+                                        <>
+                                            <ShelfInsight
+                                                sprite={sprite}
+                                                setTitle={setTitle}
+                                            />
+                                        </>
+                                    )}
 
+                                    {deviceType === DEVICE_TYPE.AGV && (
+                                        <>
+                                            <AgvInsight
+                                                sprite={sprite}
+                                                setTitle={setTitle}
+                                            />
+                                        </>
+                                    )}
+                                </CardContent>
+                            </Card>
+                        </Box>
+                    </Box>
+                )}
+            </Drawer>
         </>
     )
 }

--
Gitblit v1.9.1