#
vincentlu
2025-12-12 351f38c184563db544e272a8536f3b24cc0d8362
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({