From 351f38c184563db544e272a8536f3b24cc0d8362 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 12 十二月 2025 14:38:21 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/tool.js | 16 ++++++++++++----
zy-acs-flow/src/map/MapPage.jsx | 5 +++--
2 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx
index 68e63c7..0ea4f77 100644
--- a/zy-acs-flow/src/map/MapPage.jsx
+++ b/zy-acs-flow/src/map/MapPage.jsx
@@ -175,7 +175,7 @@
case MAP_MODE.AREA_MODE:
Tool.removeAgvGraphics();
- Tool.loadAreas(curZone);
+ Tool.loadAreas(curZone, setCurSprite);
break
default:
break
@@ -367,7 +367,8 @@
},
onFinish: () => {
setAreaDrawing(false);
- }
+ },
+ setCurSprite,
});
if (started) {
setAreaDrawing(true);
diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js
index 1b0051f..d10ce0c 100644
--- a/zy-acs-flow/src/map/tool.js
+++ b/zy-acs-flow/src/map/tool.js
@@ -897,7 +897,7 @@
draft.addChild(label);
};
-export const loadAreas = (curZone) => {
+export const loadAreas = (curZone, setCurSprite) => {
if (!mapContainer) return;
clearAreas();
fetchAreaList(curZone).then((areas) => {
@@ -908,7 +908,7 @@
if (!start || !end || !name || !id) {
return;
}
- const graphics = createAreaGraphic({ name, start, end, color, id });
+ const graphics = createAreaGraphic({ name, start, end, color, id }, setCurSprite);
if (graphics) {
mapContainer.addChild(graphics);
}
@@ -927,7 +927,7 @@
}
};
-const createAreaGraphic = ({ name, start, end, color, id }) => {
+const createAreaGraphic = ({ name, start, end, color, id }, setCurSprite) => {
if (!mapContainer) return null;
const from = start || { x: 0, y: 0 };
const to = end || { x: 0, y: 0 };
@@ -949,10 +949,14 @@
draft.data = { ...(draft.data || {}), type: DEVICE_TYPE.AREA, name, color: areaColor, id };
draft.eventMode = 'static';
draft.cursor = 'pointer';
+ if (setCurSprite) {
+ draft.off('click');
+ draft.on('click', () => setCurSprite(draft));
+ }
return draft;
};
-export const startAreaDrawing = ({ promptText, onComplete, onFinish } = {}) => {
+export const startAreaDrawing = ({ promptText, onComplete, onFinish, setCurSprite } = {}) => {
if (!mapContainer || !mapContainer.parent) {
return false;
}
@@ -1035,6 +1039,10 @@
draft.data = { ...(draft.data || {}), type: DEVICE_TYPE.AREA, name: areaName, color: areaColor };
draft.eventMode = 'static';
draft.cursor = 'pointer';
+ if (setCurSprite) {
+ draft.off('click');
+ draft.on('click', () => setCurSprite(draft));
+ }
if (onComplete) {
onComplete({
--
Gitblit v1.9.1