From ae9f5505eb01efdfd6a7a6ac9d84b77aa741052d Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 11 十月 2024 14:05:45 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/settings/index.jsx | 1 zy-acs-flow/src/map/settings/MapSettings.jsx | 19 ++++++++- zy-acs-flow/src/map/settings/CopyDrawer.jsx | 63 +++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+), 3 deletions(-) diff --git a/zy-acs-flow/src/map/settings/CopyDrawer.jsx b/zy-acs-flow/src/map/settings/CopyDrawer.jsx new file mode 100644 index 0000000..e880819 --- /dev/null +++ b/zy-acs-flow/src/map/settings/CopyDrawer.jsx @@ -0,0 +1,63 @@ +import React, { useEffect } from 'react'; +import { useForm, Controller } from 'react-hook-form'; +import { + Box, + Grid, + Typography, + TextField, + Slider, + Button, + Select, + MenuItem, + InputLabel, + FormControl, + Stack, + Divider, + Drawer, + IconButton, +} from '@mui/material'; +import CloseIcon from '@mui/icons-material/Close'; +import { useTranslate } from 'react-admin'; +import * as Tool from '../tool'; +import { PAGE_DRAWER_WIDTH } from '@/config/setting'; + + +const CopyDrawer = (props) => { + const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH, title } = props; + const translate = useTranslate(); + + const handleClose = () => { + onCancel(); + } + + 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 - 200px);'} mt={{ xs: 2, sm: 1 }} sx={{ + }}> + <Stack direction="row" p={2}> + <Typography variant="h6" flex="1"> + {translate('page.map.settings.map.copy.title')} + </Typography> + <IconButton onClick={handleClose} size="small"> + <CloseIcon /> + </IconButton> + </Stack> + + <Box p={3}> + </Box> + </Box> + )} + </Drawer> + </> + ) +} + +export default CopyDrawer; \ No newline at end of file diff --git a/zy-acs-flow/src/map/settings/MapSettings.jsx b/zy-acs-flow/src/map/settings/MapSettings.jsx index 6a24546..8770a27 100644 --- a/zy-acs-flow/src/map/settings/MapSettings.jsx +++ b/zy-acs-flow/src/map/settings/MapSettings.jsx @@ -1,4 +1,4 @@ -import React, { useEffect } from 'react'; +import React, { useEffect, useState } from 'react'; import { useForm, Controller } from 'react-hook-form'; import { Box, @@ -18,10 +18,12 @@ import { useTranslate } from 'react-admin'; import * as Tool from '../tool'; import ConfirmButton from '../../page/components/ConfirmButton'; +import CopyDrawer from './CopyDrawer'; const MapSettings = (props) => { - const { sprite, setSpriteSettings, onSubmit } = props; + const { sprite, setSpriteSettings, onSubmit, width } = props; const translate = useTranslate(); + const [copyVisible, setCopyVisible] = useState(false); const { control, handleSubmit, reset, watch } = useForm({ defaultValues: { @@ -39,6 +41,7 @@ useEffect(() => { if (sprite) { + setCopyVisible(false); reset({ x: sprite.position.x, y: sprite.position.y, @@ -304,7 +307,9 @@ </Grid> <Grid item xs={12}> <Stack direction="row" spacing={2}> - <Button variant="contained" color="primary"> + <Button variant="contained" color="primary" onClick={() => { + setCopyVisible(true); + }}> {translate('page.map.settings.map.copy.execute')} </Button> <Button variant="text" color="primary"> @@ -313,6 +318,14 @@ </Stack> </Grid> + <CopyDrawer + open={copyVisible} + onCancel={() => { + setCopyVisible(false); + }} + width={width} + /> + <Grid item xs={12}> <Divider /> </Grid> diff --git a/zy-acs-flow/src/map/settings/index.jsx b/zy-acs-flow/src/map/settings/index.jsx index 7e61e10..56096a3 100644 --- a/zy-acs-flow/src/map/settings/index.jsx +++ b/zy-acs-flow/src/map/settings/index.jsx @@ -81,6 +81,7 @@ setSpriteSettings={setSpriteSettings} onSubmit={() => { }} + width={width} /> )} {activeTab === 1 && ( -- Gitblit v1.9.1