From 2a6e27f1c0064690d6fc6ab137d64c02fc0742da Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 16 六月 2025 16:16:09 +0800
Subject: [PATCH] 1
---
zy-acs-flow/src/map/settings/index.jsx | 71 ++++++++++++++++++++++++++++++++---
1 files changed, 64 insertions(+), 7 deletions(-)
diff --git a/zy-acs-flow/src/map/settings/index.jsx b/zy-acs-flow/src/map/settings/index.jsx
index 7c2bb80..f908153 100644
--- a/zy-acs-flow/src/map/settings/index.jsx
+++ b/zy-acs-flow/src/map/settings/index.jsx
@@ -1,22 +1,28 @@
import React, { useState, useRef, useEffect } from 'react';
import { useTranslate } from "react-admin";
-import { Drawer, Box, Typography, Grid, IconButton, Stack, useTheme } from '@mui/material';
+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, sprite, width = PAGE_DRAWER_WIDTH, title } = 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();
}
- useEffect(() => {
- }, [])
+ const [activeTab, setActiveTab] = useState(0);
+
+ const handleTabChange = (event, newValue) => {
+ setActiveTab(newValue);
+ };
return (
<>
@@ -32,13 +38,65 @@
}}>
<Stack direction="row" p={2}>
<Typography variant="h6" flex="1">
- {title || translate('page.map.settings.title')}
+ {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>
)}
@@ -46,6 +104,5 @@
</>
)
}
-
export default Settings;
\ No newline at end of file
--
Gitblit v1.9.1