From cc91a835ff9fbf3e9e33ac5a9ea51432f9f3bf24 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 10 十月 2024 16:11:01 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/settings/index.jsx | 96 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 94 insertions(+), 2 deletions(-) diff --git a/zy-acs-flow/src/map/settings/index.jsx b/zy-acs-flow/src/map/settings/index.jsx index ddaed44..22a7176 100644 --- a/zy-acs-flow/src/map/settings/index.jsx +++ b/zy-acs-flow/src/map/settings/index.jsx @@ -1,15 +1,107 @@ - +import React, { useState, useRef, useEffect } from 'react'; +import { useTranslate } from "react-admin"; +import { Drawer, Box, Typography, Tabs, Tab, IconButton, Stack, useTheme, Card, CardContent, CardHeader, Divider } from '@mui/material'; +import CloseIcon from '@mui/icons-material/Close'; +import { PAGE_DRAWER_WIDTH } from '@/config/setting'; +import MapSettings from './MapSettings'; const Settings = (props) => { - const { open, onCancel } = props; + const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH, title } = props; + const theme = useTheme(); + const themeMode = theme.palette.mode; + const translate = useTranslate(); + const handleClose = () => { + onCancel(); + } + + const [activeTab, setActiveTab] = useState(0); + + const handleTabChange = (event, newValue) => { + setActiveTab(newValue); + }; + + useEffect(() => { + }, []) 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"> + {title || translate('page.map.settings.title')} + </Typography> + <IconButton onClick={handleClose} size="small"> + <CloseIcon /> + </IconButton> + </Stack> + <Box p={3}> + <Card sx={{ + transition: '0.3s', + boxShadow: '0px 2px 8px rgba(0, 0, 0, 0.1)', + '&:hover': { + boxShadow: '0px 4px 16px rgba(0, 0, 0, 0.2)', + }, + borderRadius: '8px', + }}> + <CardContent> + <Tabs + value={activeTab} + onChange={handleTabChange} + indicatorColor="primary" + textColor="primary" + variant="fullWidth" + sx={{ mb: 2 }} + > + <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} + onSubmit={() => { + alert('MapSettings') + }} + /> + )} + {activeTab === 1 && ( + <ConfigSettings + sprite={sprite} + onSubmit={() => { + alert('ConfigSettings') + }} + /> + )} + </Box> + </CardContent> + </Card> + </Box> + </Box> + )} + </Drawer> </> ) } +const ConfigSettings = () => { + + return ( + <h1>ConfigSettings</h1> + ) +} export default Settings; \ No newline at end of file -- Gitblit v1.9.1