From 2a2949d61c2d4ff2cd3261ee61c065bba019b31a Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期六, 12 十月 2024 15:56:08 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/MapPage.jsx | 63 ++++++++++++++++++++++++++----- 1 files changed, 52 insertions(+), 11 deletions(-) diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx index cf185ce..37d3550 100644 --- a/zy-acs-flow/src/map/MapPage.jsx +++ b/zy-acs-flow/src/map/MapPage.jsx @@ -1,5 +1,5 @@ import React, { useState, useRef, useEffect, useMemo } from "react"; -import { useTranslate } from "react-admin"; +import { useTranslate, useRefresh, useSidebarState } from "react-admin"; import { TextField, Select, @@ -34,6 +34,7 @@ const Map = () => { const notify = useNotification(); + const [sidebarOpen] = useSidebarState(); const translate = useTranslate(); const theme = useTheme(); const themeMode = theme.palette.mode; @@ -56,6 +57,12 @@ return storedValue !== null ? JSON.parse(storedValue) : null; }); + const handleResize = () => { + const width = contentRef.current.offsetWidth; + const height = contentRef.current.offsetHeight; + player.resize(width, height); + }; + useEffect(() => { Tool.patchRaLayout('0px'); const initialize = async () => { @@ -66,9 +73,16 @@ Tool.setMapContainer(player.mapContainer); Tool.setThemeMode(themeMode); Http.setNotify(notify); + Http.setMapContainer(player.mapContainer); // websocket = new WebSocketClient('/ws/map/websocket'); - await Http.fetchMapData(0); + await Http.fetchMapData(); + + setTimeout(() => { + player.adaptScreen(); + notify.info('Welcome to Rcs'); + }, 200) + // websocket.connect(); // websocket.onMessage = (data) => { // Tool.updateMapStatusInRealTime(data, () => curFloorRef.current, setCurSPrite); @@ -78,16 +92,8 @@ initialize(); // resize - const handleResize = () => { - const width = contentRef.current.offsetWidth; - const height = contentRef.current.offsetHeight; - - player.resize(width, height); - }; handleResize(); window.addEventListener('resize', handleResize); - - notify.info('Welcome to Rcs'); return () => { if (websocket) { @@ -99,6 +105,10 @@ Tool.patchRaLayout(''); }; }, []) + + useEffect(() => { + setTimeout(handleResize, 300) + }, [sidebarOpen]); useEffect(() => { player.setTheme(themeMode); @@ -132,6 +142,10 @@ restartFn(); }); }); + + mapContainer.children.forEach(child => { + Tool.beMovable(child); + }) break case MapMode.SETTINGS_MODE: player.hideGridLines(); @@ -196,6 +210,7 @@ return ( <Box sx={{ + width: '100%', height: '100%', display: 'flex', flexDirection: 'column', @@ -244,6 +259,23 @@ {mode === MapMode.MOVABLE_MODE && ( <> <Button + variant="outlined" + sx={{ mr: 2 }} + onClick={() => { + Tool.clearMapData(); + }} + > + {translate('page.map.action.clear')} + </Button> + <ConfirmButton + label="page.map.action.save" + variant="contained" + sx={{ mr: 2 }} + onConfirm={() => { + Http.saveMapData(curZone); + }} + /> + <Button variant="contained" color="primary" sx={{ mr: 1 }} @@ -256,11 +288,20 @@ {mode === MapMode.SETTINGS_MODE && ( <> + <Button + variant="outlined" + sx={{ mr: 2 }} + onClick={() => { + Tool.clearMapData(); + }} + > + {translate('page.map.action.clear')} + </Button> <ConfirmButton label="page.map.action.save" variant="contained" onConfirm={() => { - Http.saveMapData(curZone, mapContainer); + Http.saveMapData(curZone); }} /> </> -- Gitblit v1.9.1