From a68b7f0d46a830f338217c72c22d7e63d219e5b4 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 17 二月 2025 14:41:12 +0800 Subject: [PATCH] #移库任务 --- zy-asrs-flow/src/pages/map/utils.js | 115 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 92 insertions(+), 23 deletions(-) diff --git a/zy-asrs-flow/src/pages/map/utils.js b/zy-asrs-flow/src/pages/map/utils.js index 62d5468..cefb134 100644 --- a/zy-asrs-flow/src/pages/map/utils.js +++ b/zy-asrs-flow/src/pages/map/utils.js @@ -59,6 +59,7 @@ TRACK: 3, LIFT: 67, CHARGE: 5, + CONVEYOR: 4, DISABLE: -1, }) @@ -562,6 +563,9 @@ case SHELF_TYPE.CHARGE: showColor = '#D4EFDF'; break; + case SHELF_TYPE.CONVEYOR: + showColor = '#54FF9F'; + break; case SHELF_TYPE.DISABLE: showColor = '#ffc8c8'; break; @@ -621,6 +625,7 @@ } showLockPath(mapVo.lockPath, curFloor, setCurSPrite); + showConveyorSta(mapVo.conveyorSta, curFloor, setCurSPrite); } export const drawTravelPath = (shuttleVo, curFloor) => { @@ -684,36 +689,100 @@ }).start(); } -export const showLockPath = (nodes, curFloor, setCurSPrite) => { - const pathLineName = 'lockPath-' + curFloor; +export const showLockPath = (lockPath, curFloor, setCurSPrite) => { + const pathLineName = 'lockPath'; let pathLine = mapContainer.getChildByName(pathLineName); if (pathLine) { mapContainer.removeChild(pathLine); } - pathLine = new PIXI.Graphics(); - pathLine.name = pathLineName; - pathLine.lineStyle(3 * (1 / mapContainer.scale.x), 0xff0000, 0.8); - pathLine.zIndex = SENSOR_ZINDEX.TRAVEL_PATH; - let firstNode = true; + for (let i = 0; i < lockPath.length; i++) { + const item = lockPath[i] + if(item.lev != curFloor) {continue} + const nodes = item.path; - for(let i = 0; i < nodes.length; i++) { - const node = nodes[i]; - if (node.z !== curFloor) { continue } - const shelf = querySprite(SENSOR_TYPE.SHELF, node.x + '-' + node.y); - if (!shelf) { continue } - - let position = shelf.position; - let x = position.x; - let y = position.y; - if (firstNode) { - pathLine.moveTo(x, y); - firstNode = false; - } else { - pathLine.lineTo(x, y); + pathLine = new PIXI.Graphics(); + pathLine.name = pathLineName; + pathLine.lineStyle(3 * (1 / mapContainer.scale.x), 0xff0000, 0.8); + pathLine.zIndex = SENSOR_ZINDEX.TRAVEL_PATH; + let firstNode = true; + + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + const shelf = querySprite(SENSOR_TYPE.SHELF, node.x + '-' + node.y); + if (!shelf) { continue } + + let position = shelf.position; + let x = position.x; + let y = position.y; + if (firstNode) { + pathLine.moveTo(x, y); + firstNode = false; + } else { + pathLine.lineTo(x, y); + } + } - + + mapContainer.addChild(pathLine); } +} - mapContainer.addChild(pathLine); +export const showConveyorSta = (conveyorSta, curFloor, setCurSPrite) => { + for (let i = 0; i < conveyorSta.length; i++) { + const sta = conveyorSta[i]; + if (!sta.locNo) { continue } + const { row, bay, lev } = parseLocNo(sta.locNo); + if (Number(lev) !== curFloor) { continue } + const sprite = querySprite(SENSOR_TYPE.SHELF, row + '-' + bay); + if (!sprite) { continue } + if (sprite.data.conveyorNo !== sta.siteNo) { continue } + + const conveyorName = 'conveyorSta-' + sprite.data.conveyorNo; + let conveyorChild = sprite.getChildByName(conveyorName); + if (conveyorChild) { + sprite.removeChild(conveyorChild); + } + + let textColor; + let staText; + let positionX = -11; + let positionY = -6; + if (sta.siteStatusType$ == 'site-auto-run') { + textColor = 0xfa51f6; + staText = sprite.data.conveyorNo; + } else if (sta.siteStatusType$ == 'site-unauto') { + textColor = 0xb8b8b8; + staText = sprite.data.conveyorNo; + } else if (sta.siteStatusType$ == 'site-auto-id') { + textColor = 0xc4c40; + staText = sprite.data.conveyorNo + '(' + sta.taskNo + ')'; + positionX = -20; + positionY = -6; + } else if (sta.siteStatusType$ == 'site-auto-run-id') { + textColor = 0xfc3030; + staText = sprite.data.conveyorNo + '(' + sta.taskNo + ')'; + positionX = -20; + positionY = -6; + }else { + textColor = '#54FF9F'; + staText = sprite.data.conveyorNo; + } + + const text = new PIXI.Text(staText, { + fill: 0x000000, + fontSize: 13, + fontFamily: 'MicrosoftYaHei', + }); + text.name = conveyorName; + text.position.set(positionX, positionY); + sprite.addChild(text); + sprite.textObj = text; + sprite.tint = textColor; + // sprite.tint = showColor; + // let position = shelf.position; + // let x = position.x; + // let y = position.y; + // conveyorChild.lineTo(x, y); + } } \ No newline at end of file -- Gitblit v1.9.1