From d2aa9473613af8cd99c3a6dea0331765ecb830dc Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 17 十二月 2024 13:57:20 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/settings/index.jsx | 99 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 96 insertions(+), 3 deletions(-)
diff --git a/zy-acs-flow/src/map/settings/index.jsx b/zy-acs-flow/src/map/settings/index.jsx
index ddaed44..f908153 100644
--- a/zy-acs-flow/src/map/settings/index.jsx
+++ b/zy-acs-flow/src/map/settings/index.jsx
@@ -1,15 +1,108 @@
-
+import React, { useState, useRef, useEffect } from 'react';
+import { useTranslate } from "react-admin";
+import { Drawer, Box, Typography, Tabs, Tab, IconButton, Stack, useTheme, Card, CardContent, Divider } from '@mui/material';
+import CloseIcon from '@mui/icons-material/Close';
+import { PAGE_DRAWER_WIDTH } from '@/config/setting';
+import MapSettings from './MapSettings';
+import ConfigSettings from './ConfigSettings';
const Settings = (props) => {
- const { open, onCancel } = props;
+ const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH, title, setSpriteSettings } = props;
+ const theme = useTheme();
+ const themeMode = theme.palette.mode;
+ const translate = useTranslate();
+ const [lastCopiedSprites, setLastCopiedSprites] = useState([]);
+
+ const handleClose = () => {
+ onCancel();
+ }
+
+ const [activeTab, setActiveTab] = useState(0);
+
+ const handleTabChange = (event, newValue) => {
+ setActiveTab(newValue);
+ };
return (
<>
+ <Drawer
+ variant="persistent"
+ open={open}
+ anchor="right"
+ onClose={handleClose}
+ sx={{ zIndex: 100, opacity: .8 }}
+ >
+ {open && (
+ <Box pt={12} width={{ xs: '100vW', sm: width }} height={'calc(100vh - 200px);'} mt={{ xs: 2, sm: 1 }} sx={{
+ }}>
+ <Stack direction="row" p={2}>
+ <Typography variant="h6" flex="1">
+ {sprite
+ ? translate(`page.map.devices.${sprite?.data?.type?.toLowerCase()}`) + ' - ' + sprite?.data?.uuid
+ : translate('page.map.settings.title')}
+ </Typography>
+ <IconButton onClick={handleClose} size="small">
+ <CloseIcon />
+ </IconButton>
+ </Stack>
+ <Box p={3}>
+ <Card sx={{
+ 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>
+ <Tabs
+ value={activeTab}
+ onChange={handleTabChange}
+ indicatorColor="primary"
+ textColor="primary"
+ variant="fullWidth"
+ sx={{ mb: 0 }}
+ >
+ <Tab label={translate('page.map.settings.map.title')} />
+ <Tab label={translate('page.map.settings.config.title')} />
+ </Tabs>
+
+ <Divider />
+
+ <Box p={3}>
+ {activeTab === 0 && (
+ <MapSettings
+ sprite={sprite}
+ setSpriteSettings={setSpriteSettings}
+ onSubmit={() => {
+ }}
+ width={width}
+ lastCopiedSprites={lastCopiedSprites}
+ setLastCopiedSprites={setLastCopiedSprites}
+ />
+ )}
+ {activeTab === 1 && (
+ <ConfigSettings
+ sprite={sprite}
+ onSubmit={() => {
+ }}
+ />
+ )}
+ </Box>
+ </CardContent>
+ </Card>
+ </Box>
+ </Box>
+ )}
+ </Drawer>
</>
)
}
-
export default Settings;
\ No newline at end of file
--
Gitblit v1.9.1