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/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