From d03fa8926309e642ff793d58c2cf509ecd617888 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 26 三月 2026 12:43:04 +0800
Subject: [PATCH] Merge branch 'rcs_master' into jdxaj
---
zy-acs-flow/src/map/tool.js | 117 +++++++++++++++++++++++++++++++---------------------------
1 files changed, 63 insertions(+), 54 deletions(-)
diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js
index 32a05dc..6bad62e 100644
--- a/zy-acs-flow/src/map/tool.js
+++ b/zy-acs-flow/src/map/tool.js
@@ -13,6 +13,7 @@
POINT_ROUTE_DIRECTION,
ANIMATE_DURING_TIME,
AGV_ANGLE_OFFSET_VAL,
+ ROUTE_COLORS,
} from './constants';
import { getRouteList, fetchAreaList } from './http';
import PointRoute from "./PointRoute";
@@ -85,7 +86,7 @@
return { mapX: mapPoint.x, mapY: mapPoint.y };
}
-export const generateSprite = (deviceType, texture) => {
+export const generateSprite = (deviceType, texture, agvModel) => {
let sprite;
switch (deviceType) {
case DEVICE_TYPE.SHELF:
@@ -118,14 +119,14 @@
if (texture) {
sprite = new PIXI.Sprite(PIXI.Texture.from(texture, { resourceOptions: { scale: 1 } }));
}
- 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)
+ if (agvModel === 'HEAVY_LOAD_STACKING_ROBOT') {
+ sprite.scale.set(13, 11);
+ } else {
+ sprite.width = 750;
+ sprite.height = 1300;
+ }
break
case DEVICE_TYPE.POINT:
sprite = new PIXI.Sprite(PIXI.Texture.from(point, { resourceOptions: { scale: 1 } }));
@@ -140,7 +141,9 @@
tintType[deviceType] != null && (sprite.tint = tintType[deviceType]);
if (sprite && deviceType !== DEVICE_TYPE.AGV) {
- sprite.blendMode = PIXI.BLEND_MODES.MULTIPLY;
+ sprite.blendMode = themeMode === 'dark'
+ ? PIXI.BLEND_MODES.NORMAL
+ : PIXI.BLEND_MODES.MULTIPLY;
}
return sprite;
}
@@ -194,8 +197,8 @@
y: (event.global.y - batchMoveStartPos.y) / scaleY
};
for (let sprite of selectedSprites) {
- sprite.position.x = sprite.batchMoveStartPos.x - mouseMovement.x;
- sprite.position.y = sprite.batchMoveStartPos.y - mouseMovement.y;
+ sprite.position.x = sprite.batchMoveStartPos.x + mouseMovement.x;
+ sprite.position.y = sprite.batchMoveStartPos.y + mouseMovement.y;
}
}
}
@@ -699,43 +702,47 @@
}
}
-export const generateAgvSpriteTexture = (agvStatusMode) => {
- switch (agvStatusMode) {
- case AGV_STATUS_MODE.EMPTY_NO_BATTERY:
- return ctuEmptyNoBattery;
- case AGV_STATUS_MODE.EMPTY_HALF_BATTERY:
- return ctuEmptyHalfBattery;
- case AGV_STATUS_MODE.EMPTY_FULL_BATTERY:
- return ctuEmptyFullBattery;
- case AGV_STATUS_MODE.LOADED_NO_BATTERY:
- return ctuLoadedNoBattery;
- case AGV_STATUS_MODE.LOADED_HALF_BATTERY:
- return ctuLoadedHalfBattery;
- case AGV_STATUS_MODE.LOADED_FULL_BATTERY:
- return ctuLoadedFullBattery;
- default:
- return;
+export const generateAgvSpriteTexture = (agvModel, agvStatusMode) => {
+ if (!agvModel) {
+ console.error("failed to load agv model");
+ return;
+ }
+ if (agvModel === 'HEAVY_LOAD_STACKING_ROBOT') {
+ 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;
+ }
+ } else {
+ switch (agvStatusMode) {
+ case AGV_STATUS_MODE.EMPTY_NO_BATTERY:
+ return ctuEmptyNoBattery;
+ case AGV_STATUS_MODE.EMPTY_HALF_BATTERY:
+ return ctuEmptyHalfBattery;
+ case AGV_STATUS_MODE.EMPTY_FULL_BATTERY:
+ return ctuEmptyFullBattery;
+ case AGV_STATUS_MODE.LOADED_NO_BATTERY:
+ return ctuLoadedNoBattery;
+ case AGV_STATUS_MODE.LOADED_HALF_BATTERY:
+ return ctuLoadedHalfBattery;
+ case AGV_STATUS_MODE.LOADED_FULL_BATTERY:
+ return ctuLoadedFullBattery;
+ default:
+ 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;
@@ -797,26 +804,26 @@
}
}
-const agvRotationOffset = rotationParseNum(AGV_ANGLE_OFFSET_VAL);
-
const showAgvSprite = (curZone, agvVo, setCurSprite) => {
- const { agvNo, code, direction, battery, jobType, backpack: backpackCount, slots, error } = agvVo;
+ const { agvNo, agvModel, code, direction, battery, jobType, backpack: backpackCount, slots, error } = agvVo;
if (!code) { return; }
const codeSprite = querySprite(DEVICE_TYPE.POINT, code);
if (!codeSprite) { return; }
const targetRotation = rotationParseNum(direction);
+ const agvRotationOffset = rotationParseNum(AGV_ANGLE_OFFSET_VAL);
// const backpackCount = backpack?.filter(item => item.loaded === true).length || 0;
let agvSprite = querySprite(DEVICE_TYPE.AGV, agvNo);
if (!agvSprite) {
const agvStatusMode = getAgvStatusMode(backpackCount, battery);
- const agvTexture = generateAgvSpriteTexture(agvStatusMode);
- agvSprite = generateSprite(DEVICE_TYPE.AGV, agvTexture);
+ const agvTexture = generateAgvSpriteTexture(agvModel, agvStatusMode);
+ agvSprite = generateSprite(DEVICE_TYPE.AGV, agvTexture, agvModel);
initSprite(agvSprite, DEVICE_TYPE.AGV);
agvSprite.data.no = agvNo;
+ agvSprite.data.model = agvModel;
agvSprite.data.backpackCount = backpackCount;
agvSprite.data.battery = battery;
@@ -831,7 +838,9 @@
});
agvText.anchor.set(0.5, 0.5);
agvText.position.set(0, 8);
- // agvText.position.set(0, 18);
+ if (agvModel === 'HEAVY_LOAD_STACKING_ROBOT') {
+ agvText.position.set(0, 20);
+ }
agvText.scale.set(MAP_MIRROR ? -1 : 1, 1)
agvSprite.addChild(agvText);
@@ -849,7 +858,7 @@
if (backpackCount !== prevBackpackCount || battery !== prevBattery) {
const agvStatusMode = getAgvStatusMode(backpackCount, battery);
- const agvTexture = generateAgvSpriteTexture(agvStatusMode);
+ const agvTexture = generateAgvSpriteTexture(agvModel, agvStatusMode);
agvSprite.texture = PIXI.Texture.from(agvTexture, { resourceOptions: { scale: 1 } });
// update backpackCount and battery
agvSprite.data.backpackCount = backpackCount;
@@ -926,8 +935,8 @@
agvPath.name = agvPathName;
agvPath.lineStyle(
Math.max(200, 4 * (1 / mapContainer?.scale.x || 1)),
- themeMode === 'dark' ? 0x40739e : 0x2f68ac,
- 0.8,
+ ROUTE_COLORS[themeMode === 'dark' ? 'dark' : 'light'],
+ themeMode === 'dark' ? 0.75 : 0.8,
);
agvPath.zIndex = DEVICE_Z_INDEX.DYNAMIC_ROUTE;
// agvPath.blendMode = PIXI.BLEND_MODES.NORMAL;
--
Gitblit v1.9.1