From d72ce3e344369726424ddab1d29cb46f5e7b20d3 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 21 三月 2024 16:03:57 +0800
Subject: [PATCH] #

---
 zy-asrs-flow/src/pages/map/index.jsx |   51 ++++++++++++++++++++-------------------------------
 1 files changed, 20 insertions(+), 31 deletions(-)

diff --git a/zy-asrs-flow/src/pages/map/index.jsx b/zy-asrs-flow/src/pages/map/index.jsx
index 852c7ea..de233f9 100644
--- a/zy-asrs-flow/src/pages/map/index.jsx
+++ b/zy-asrs-flow/src/pages/map/index.jsx
@@ -131,53 +131,43 @@
         }
     }, [app, mapContainer, windowSize])
 
-    // model
-    React.useEffect(() => {
-        if (!mapContainer && !dataFetched) {
-            return;
-        }
+    // fn switch model
+    const switchModel = (model) => {
+        Utils.removeSelectedEffect();
+
+        setCurSPrite(null);
+        setDrawerVisible(false);
+        setSpriteBySettings(null);
+        setSettingsVisible(false);
+
         switch (model) {
             case MapModel.OBSERVER_MODEL:
-
                 player.hideGridlines();
                 player.hideStarryBackground();
 
                 player.activateMapEvent(null);
-
-                Utils.removeSelectedEffect();
-                setCurSPrite(null);
                 setDeviceVisible(false);
-                setSettingsVisible(false);
-
+             
                 mapContainer.children.forEach(child => {
                     Utils.viewFeature(child, setCurSPrite);
                 })
                 break
             case MapModel.MOVABLE_MODEL:
-
                 player.showGridlines();
                 player.hideStarryBackground();
 
                 player.activateMapEvent(Utils.MapEvent.SELECTION_BOX, model);
-
-                Utils.removeSelectedEffect();
-                setSpriteBySettings(null);
-                setSettingsVisible(false);
-                setDrawerVisible(false);
 
                 mapContainer.children.forEach(child => {
                     Utils.beMovable(child, setDidClickSprite);
                 })
                 break
             case MapModel.SETTINGS_MODEL:
-
                 player.showGridlines();
                 player.showStarryBackground();
 
                 player.activateMapEvent(Utils.MapEvent.SELECTION_BOX, model);
-
                 setDeviceVisible(false);
-                setDrawerVisible(false);
 
                 mapContainer.children.forEach(child => {
                     Utils.beSettings(child, setSpriteBySettings);
@@ -186,6 +176,14 @@
             default:
                 break
         }
+    }
+
+    // model
+    React.useEffect(() => {
+        if (!mapContainer && !dataFetched) {
+            return;
+        }
+        switchModel(model);
     }, [model]);
 
     // Add New Device
@@ -223,16 +221,7 @@
     const switchFloor = async (floor) => {
         await Utils.fetchMapData(floor);
 
-        Utils.removeSelectedEffect();
-        
-        setCurSPrite(null);
-        setDrawerVisible(false);
-        setSpriteBySettings(null);
-        setSettingsVisible(false);
-
-        mapContainer.children.forEach(child => {
-            Utils.viewFeature(child, setCurSPrite);
-        })
+        switchModel(model);
 
         setTimeout(() => {
             player.adaptScreen();
@@ -393,8 +382,8 @@
                                 if (deviceVisible) {
                                     setDeviceVisible(false);
                                 } else {
-                                    setDeviceVisible(true);
                                     setModel(MapModel.MOVABLE_MODEL);
+                                    setDeviceVisible(true);
                                 }
                             }}
                         />

--
Gitblit v1.9.1