From 769669bf42ece51876ed7ec3433cb52c5e2a2509 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 09 十二月 2025 15:48:54 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/MapPage.jsx |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx
index 4684b02..5cc814a 100644
--- a/zy-acs-flow/src/map/MapPage.jsx
+++ b/zy-acs-flow/src/map/MapPage.jsx
@@ -49,6 +49,7 @@
     const [deviceVisible, setDeviceVisible] = useState(false);
     const [settingsVisible, setSettingsVisible] = useState(false);
     const [batchSelectionVisible, setBatchSelectionVisible] = useState(false);
+    const [zoneDrawing, setZoneDrawing] = useState(false);
 
     const [curSprite, setCurSprite] = useState(null);
     const [batchSprites, setBatchSprites] = useState([]);
@@ -346,18 +347,25 @@
                 {mode === MAP_MODE.ZONING_MODE && (
                     <>
                         <Button
-                            variant="contained"
+                            variant={zoneDrawing ? "outlined" : "contained"}
                             color="primary"
                             sx={{ mr: 2 }}
+                            disabled={zoneDrawing}
                             onClick={() => {
-                                Tool.startZoneDrawing({
+                                const started = Tool.startZoneDrawing({
                                     promptText: translate('page.map.prompt.zoneName'),
                                     onComplete: ({ name }) => {
                                         if (name) {
                                             notify.success(translate('page.map.msg.zoneCreated', { name }));
                                         }
+                                    },
+                                    onFinish: () => {
+                                        setZoneDrawing(false);
                                     }
                                 });
+                                if (started) {
+                                    setZoneDrawing(true);
+                                }
                             }}
                         >
                             {translate('page.map.action.addZone')}

--
Gitblit v1.9.1