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