#
vincentlu
2026-01-05 efabc6ba991acfd01d38bb0bf4e8cfd772416617
zy-acs-flow/src/map/tool.js
@@ -29,6 +29,13 @@
import ctuLoadedNoBattery from '/map/agv/ctuLoadedNoBattery.svg';
import ctuLoadedHalfBattery from '/map/agv/ctuLoadedHalfBattery.svg';
import ctuLoadedFullBattery from '/map/agv/ctuLoadedFullBattery.svg';
// asr
import ASREmptyNoBattery from '/map/asr/ASREmptyNoBattery.svg';
import ASREmptyHalfBattery from '/map/asr/ASREmptyHalfBattery.svg';
import ASREmptyFullBattery from '/map/asr/ASREmptyFullBattery.svg';
import ASRLoadedNoBattery from '/map/asr/ASRLoadedNoBattery.svg';
import ASRLoadedHalfBattery from '/map/asr/ASRLoadedHalfBattery.svg';
import ASRLoadedFullBattery from '/map/asr/ASRLoadedFullBattery.svg';
let app, mapContainer, themeMode;
let selectedSprite, effectOverlay, effectTicker;
@@ -114,6 +121,11 @@
            sprite.width = 750;
            sprite.height = 1300;
            sprite.zIndex = DEVICE_Z_INDEX.AGV;
            // // sprite.width = 750;
            // // sprite.height = 1300;
            // sprite.zIndex = DEVICE_Z_INDEX.AGV;
            // sprite.scale.set(12, 10)
            break
        case DEVICE_TYPE.POINT:
            sprite = new PIXI.Sprite(PIXI.Texture.from(point, { resourceOptions: { scale: 1 } }));
@@ -597,6 +609,12 @@
    if (!mapContainer || !sprite) {
        return;
    }
    const data = sprite.data || (sprite.data = {});
    if (data.rotationTween) {
        data.rotationTween.stop();
        data.rotationTween = null;
    }
    // origin
    let currentRotation = sprite.rotation + rotationOffset;
    // target
@@ -612,7 +630,7 @@
    // destination
    const endRotation = sprite.rotation + rotationDifference;
    new TWEEDLE.Tween(sprite)
    const rotationTween = new TWEEDLE.Tween(sprite)
        .to({ rotation: endRotation }, ANIMATE_DURING_TIME)
        .easing(TWEEDLE.Easing.Linear.None)
        .onUpdate(() => {
@@ -622,6 +640,12 @@
            }
        })
        .start();
    data.rotationTween = rotationTween;
    rotationTween.onComplete(() => {
        if (data.rotationTween === rotationTween) {
            data.rotationTween = null;
        }
    });
};
export const incrementSpriteNo = (str, incrementValue) => {
@@ -693,6 +717,25 @@
            return;
    }
}
// export const generateAgvSpriteTexture = (agvStatusMode) => {
//     switch (agvStatusMode) {
//         case AGV_STATUS_MODE.EMPTY_NO_BATTERY:
//             return ASREmptyNoBattery;
//         case AGV_STATUS_MODE.EMPTY_HALF_BATTERY:
//             return ASREmptyHalfBattery;
//         case AGV_STATUS_MODE.EMPTY_FULL_BATTERY:
//             return ASREmptyFullBattery;
//         case AGV_STATUS_MODE.LOADED_NO_BATTERY:
//             return ASRLoadedNoBattery;
//         case AGV_STATUS_MODE.LOADED_HALF_BATTERY:
//             return ASRLoadedHalfBattery;
//         case AGV_STATUS_MODE.LOADED_FULL_BATTERY:
//             return ASRLoadedFullBattery;
//         default:
//             return;
//     }
// }
export function createAgvJobPanel(parentContainer, text) {
    const panelScale = 4;
@@ -788,12 +831,14 @@
        });
        agvText.anchor.set(0.5, 0.5);
        agvText.position.set(0, 8);
        // agvText.position.set(0, 18);
        agvText.scale.set(MAP_MIRROR ? -1 : 1, 1)
        agvSprite.addChild(agvText);
        agvSprite.updateTextRotation = () => {
            if (agvText && agvSprite) {
                agvText.rotation = -agvSprite.rotation - rotationParseNum(MAP_DEFAULT_ROTATION);
                // agvText.rotation = -agvSprite.rotation - rotationParseNum(MAP_DEFAULT_ROTATION + 180);
            }
        };
        agvSprite.updateTextRotation();
@@ -843,13 +888,24 @@
    beInsight(agvSprite, setCurSprite);
    new TWEEDLE.Tween(agvSprite.position)
    if (agvSprite.data.moveTween) {
        agvSprite.data.moveTween.stop();
        agvSprite.data.moveTween = null;
    }
    const moveTween = new TWEEDLE.Tween(agvSprite.position)
        .to({
            x: codeSprite.position.x,
            y: codeSprite.position.y
        }, ANIMATE_DURING_TIME)
        .easing(TWEEDLE.Easing.Linear.None)
        .start();
    agvSprite.data.moveTween = moveTween;
    moveTween.onComplete(() => {
        if (agvSprite.data?.moveTween === moveTween) {
            agvSprite.data.moveTween = null;
        }
    });
}
const drawerAgvPath = (curZone, agvVo) => {
@@ -900,6 +956,14 @@
    for (let i = mapContainer.children.length - 1; i >= 0; i--) {
        const child = mapContainer.children[i];
        if (child?.data?.type === DEVICE_TYPE.AGV) {
            if (child.data.moveTween) {
                child.data.moveTween.stop();
                child.data.moveTween = null;
            }
            if (child.data.rotationTween) {
                child.data.rotationTween.stop();
                child.data.rotationTween = null;
            }
            if (child.data.jobEffect) {
                app?.ticker.remove(child.data.jobEffect._onTick);
                child.removeChild(child.data.jobEffect);
@@ -943,7 +1007,7 @@
    const label = new PIXI.Text(text ?? '', labelStyle);
    label.anchor.set(0.5);
    label.position.set(centerX, centerY);
    label.rotation = rotationParseNum(MAP_DEFAULT_ROTATION);
    label.rotation = -rotationParseNum(MAP_DEFAULT_ROTATION);
    label.scale.set(MAP_MIRROR ? -1 : 1, 1);
    draft.addChild(label);
};
@@ -1203,4 +1267,4 @@
        .easing(TWEEDLE.Easing.Quadratic.Out)
        .to(targetPos, 500)
        .start();
};
};