#
luxiaotao1123
2024-10-18 0e6d97436f58866063736781061c22b1cc4f5e6e
zy-acs-flow/src/map/tool.js
@@ -408,6 +408,17 @@
    effectHalfCircle.position.set(sprite.x, sprite.y);
}
export const multipleSelectEnhancer = (selectedSprites, setCurSprite, setBatchSprites) => {
    selectedSprites = selectedSprites.filter(sprite => sprite.data?.type);
    if (selectedSprites.length === 1) {
        unMarkSprite(selectedSprites[0]);
        setCurSprite(selectedSprites[0]);
    } else {
        setBatchSprites(selectedSprites);
    }
}
export const rotationToNum = (rotation) => {
    let res = rotation * 180 / Math.PI;
    if (res < 0) {
@@ -495,35 +506,32 @@
// dynamic graphic ----------------
let isFirstRender = true;
export const generateDynamicGraphic = (curZone, data, callback) => {
export const generateDynamicGraphic = (curZone, data, setCurSprite) => {
    // console.log("ws", curZone, data);
    for (const agvVo of data.agvVos) {
        showAgvSprite(curZone, agvVo)
    for (const agv of data.agvVos) {
        showAgvSprite(curZone, agv, setCurSprite)
    }
    if (isFirstRender) {
        isFirstRender = false;
        callback();
    }
}
const showAgvSprite = (curZone, agvVo) => {
    const { agvNo, code, direction, backpack, battery, ...rest } = agvVo;
const showAgvSprite = (curZone, agv, setCurSprite) => {
    const { agvNo, code, direction, backpack, battery, ...rest } = agv;
    if (!code) { return }
    const codeSprite = querySprite(DEVICE_TYPE.POINT, code);
    if (!codeSprite) { return }
    let agvSprite = querySprite(DEVICE_TYPE.AGV, agvNo);
    if (!agvSprite) {
        agvSprite = generateSprite(DEVICE_TYPE.AGV, generateAgvSpriteTexture(getAgvStatusMode(backpack, battery)));
        agvSprite = generateSprite(DEVICE_TYPE.AGV,
            generateAgvSpriteTexture(getAgvStatusMode(backpack.filter(item => item.loaded === true).length, battery))
        );
        initSprite(agvSprite, DEVICE_TYPE.AGV);
        agvSprite.data.no = agvNo;
        agvSprite.position.set(codeSprite.position.x, codeSprite.position.y);
        agvSprite.rotation = rotationParseNum(direction);
        mapContainer.addChild(agvSprite);
        // viewFeature(shuttle, setCurSPrite); // todo
        beInsight(agvSprite, setCurSprite);
        // agv no on sprite
    }
}