From c4ffccd2536be747500e6ac7800200284dc7220f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 14 十月 2024 10:19:02 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/batch/index.jsx |   44 +++++++++++++++++++++
 zy-acs-flow/src/map/MapPage.jsx     |   18 ++++++++-
 2 files changed, 59 insertions(+), 3 deletions(-)

diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx
index 2d5e439..9d35888 100644
--- a/zy-acs-flow/src/map/MapPage.jsx
+++ b/zy-acs-flow/src/map/MapPage.jsx
@@ -136,7 +136,7 @@
                 player.hideStarryBackground();
 
                 player.activateMapMultiSelect((selectedSprites, restartFn) => {
-                    console.log(selectedSprites);
+                    setBatchSprites(selectedSprites);
                 });
 
                 break
@@ -159,7 +159,7 @@
                 player.showStarryBackground(); // 0x2f68ac
 
                 player.activateMapMultiSelect((selectedSprites, restartFn) => {
-                    console.log(selectedSprites);
+                    setBatchSprites(selectedSprites);
                 });
 
                 mapContainer.children.forEach(child => {
@@ -205,6 +205,19 @@
         }
     }, [spriteSettings, mapContainer])
     const prevSpriteSettings = prevSpriteSettingsRef.current;
+
+    // watch batchSprites
+    React.useEffect(() => {
+        if (!mapContainer) {
+            return;
+        }
+        if (batchSprites?.length > 0) {
+            setBatchSelectionVisible(true)
+        } else {
+            player.clearSelectedSprites();
+            setBatchSelectionVisible(false)
+        }
+    }, [batchSprites])
 
     const actions = [
         { icon: <FileCopyIcon />, name: '澶嶅埗' },
@@ -430,6 +443,7 @@
                 onCancel={() => {
                     setBatchSelectionVisible(false);
                 }}
+                width={570}
             />
 
         </Box>
diff --git a/zy-acs-flow/src/map/batch/index.jsx b/zy-acs-flow/src/map/batch/index.jsx
index c05bf1c..26cb832 100644
--- a/zy-acs-flow/src/map/batch/index.jsx
+++ b/zy-acs-flow/src/map/batch/index.jsx
@@ -1,7 +1,49 @@
+import React, { useState, useRef, useEffect } from 'react';
+import { useTranslate } from "react-admin";
+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';
 
+const Batch = (props) => {
+    const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH, title } = props;
+    const theme = useTheme();
+    const themeMode = theme.palette.mode;
+    const translate = useTranslate();
 
-const Batch = () => {
+    const handleClose = () => {
+        onCancel();
+    }
 
+    useEffect(() => {
+    }, [])
+
+    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">
+                                {title || translate('page.map.settings.title')}
+                            </Typography>
+                            <IconButton onClick={handleClose} size="small">
+                                <CloseIcon />
+                            </IconButton>
+                        </Stack>
+                        <Box p={3}>
+                        </Box>
+                    </Box>
+                )}
+            </Drawer>
+        </>
+    )
 }
 
 export default Batch;
\ No newline at end of file

--
Gitblit v1.9.1