From f375928943ad4b9fe6d8508e151971dcdc23e982 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期一, 05 一月 2026 16:18:36 +0800
Subject: [PATCH] #
---
src/main/webapp/views/locMap/locMap.html | 451 ++-----------------------------------------------------
1 files changed, 22 insertions(+), 429 deletions(-)
diff --git a/src/main/webapp/views/locMap/locMap.html b/src/main/webapp/views/locMap/locMap.html
index 2fcfd1d..5d34f56 100644
--- a/src/main/webapp/views/locMap/locMap.html
+++ b/src/main/webapp/views/locMap/locMap.html
@@ -69,21 +69,6 @@
</el-drawer>
<el-drawer
- title="灏忚溅淇℃伅"
- :visible.sync="drawerShuttle"
- :with-header="true"
- :modal="false"
- >
- <div v-if="drawerShuttleData!=null">
- <div style="margin: 10px;">
- <div style="margin-top: 5px;">灏忚溅锛歿{drawerShuttleData.shuttleNo}}</div>
- <div style="margin-top: 5px;">宸ヤ綔鍙凤細{{drawerShuttleData.wrkNo}}</div>
- <div style="margin-top: 5px;">鐘舵�侊細{{drawerShuttleData}}</div>
- </div>
- </div>
- </el-drawer>
-
- <el-drawer
title="绔欑偣淇℃伅"
:visible.sync="drawerSta"
:with-header="true"
@@ -108,35 +93,14 @@
</div>
</el-drawer>
- <el-drawer
- title="鎻愬崌鏈轰俊鎭�"
- :visible.sync="drawerLift"
- :with-header="true"
- :modal="false"
- >
- <div v-if="drawerLiftData!=null">
- <div style="margin: 10px;">
- <div style="margin-top: 5px;">鎻愬崌鏈猴細{{liftList[drawerLiftData-1].liftNo}}</div>
- <div style="margin-top: 5px;">宸ヤ綔鍙凤細{{liftList[drawerLiftData-1].taskNo}}</div>
- <div style="margin-top: 5px;">鐘舵�侊細{{liftList[drawerLiftData-1]}}</div>
- </div>
- </div>
- </el-drawer>
-
</div>
<script>
let width = 25;
let height = 25;
let pixiApp;
let pixiStageList = [];
- let pixiShuttleMap = new Map();
- let pixiShuttleMoveAdvancePathMap = new Map();
- let pixiShuttleMoveAdvancePathList = [];
- let pixiShuttleLockPathMap = new Map();
let pixiStaMap = new Map();
let objectsContainer;
- let objectsContainer2;
- let objectsContainer3;
let graphics0;
let graphics3;
let graphics4;
@@ -152,23 +116,15 @@
map: [],
currentLev: 1,
floorList: [], //褰撳墠椤圭洰妤煎眰
- currentLevShuttleList: [],//褰撳墠妤煎眰鍥涘悜绌挎杞﹂泦鍚�
- shuttleColorList: [],//鍥涘悜绌挎杞﹂鑹查泦鍚�
drawer: false,
drawerLocNo: false,
drawerLocNoData: null,
drawerLocDetls: [],
reloadMap: true,
mapFps: 0,
- drawerShuttle: false,
- drawerShuttleData: null,
currentLevStaList: [],//褰撳墠妤煎眰绔欑偣list
- reloadSta: true,
drawerSta: false,
drawerStaData: null,
- drawerLift: false,
- drawerLiftData: null,
- liftList: [],
},
mounted() {
this.init()
@@ -205,14 +161,6 @@
setTimeout(() => {
that.getMap(this.currentLev)
}, 1000);
-
- // this.consoleInterval = setInterval(() => {
- // this.getMap(this.currentLev) //鑾峰彇瀹炴椂鍦板浘鏁版嵁
- // this.getShuttleStateInfo() //鑾峰彇鍥涘悜绌挎杞︿俊鎭�
- // this.getLiftStateInfo() //鑾峰彇鎻愬崌鏈轰俊鎭�
- // this.getSiteInfo() //鑾峰彇杈撻�佺珯鐐规暟鎹�
- // // this.getCodeData()//鑾峰彇鏉$爜
- // }, 1000)
},
initLev(){
@@ -257,19 +205,8 @@
},
changeFloor(lev) {
this.currentLev = lev
- this.currentLevShuttleList = []
this.reloadMap = true
- this.reloadSta = true
this.getMap(lev)
-
- //娓呯┖鍗犵敤璺緞
- objectsContainer3.removeChildren();
- pixiShuttleLockPathMap = new Map();
-
- //娓呯┖棰勮璺緞
- objectsContainer2.removeChildren();
- pixiShuttleMoveAdvancePathMap = new Map();
- pixiShuttleMoveAdvancePathList = []
},
createMap(){
//Create a Pixi Application
@@ -281,9 +218,6 @@
});
//Add the canvas that Pixi automatically created for you to the HTML document
$("#pixiView").append(pixiApp.view)
-
- //鍔犺浇灏忚溅璧勬簮
- pixiApp.loader.add('shuttle', '../static/images/sxcar.png');
// 浠嶨raphics瀵硅薄鍒涘缓涓�涓汗鐞�
graphicsF = pixiApp.renderer.generateTexture(getContainer(1000));
@@ -298,10 +232,6 @@
// 鍒涘缓涓�涓鍣ㄦ潵绠$悊澶ф壒閲忕殑鏄剧ず瀵硅薄
objectsContainer = new PIXI.Container();
pixiApp.stage.addChild(objectsContainer);
-
- // 鍒涘缓涓�涓鍣ㄦ潵绠$悊澶ф壒閲忕殑鏄剧ず瀵硅薄
- objectsContainer2 = new PIXI.Container();
- pixiApp.stage.addChild(objectsContainer2);
// 鍒涘缓涓�涓鍣ㄦ潵绠$悊澶ф壒閲忕殑鏄剧ず瀵硅薄
objectsContainer3 = new PIXI.Container();
@@ -370,13 +300,24 @@
//*******************缂╂斁鐢诲竷*******************
//*******************FPS*******************
- var g_Time=0;
+ let g_Time = 0;
+ let fpsLastUpdateTs = 0;
+ let fpsDeltaSumMs = 0;
+ let fpsFrameCount = 0;
+ const fpsUpdateInterval = 200;
pixiApp.ticker.add((delta) => {
- var timeNow = (new Date()).getTime();
- var timeDiff = timeNow - g_Time;
+ const timeNow = (new Date()).getTime();
+ const timeDiff = timeNow - g_Time;
g_Time = timeNow;
- var fps = 1000 / timeDiff;
- this.mapFps = parseInt(fps)
+ fpsDeltaSumMs += timeDiff;
+ fpsFrameCount += 1;
+ if (timeNow - fpsLastUpdateTs >= fpsUpdateInterval) {
+ const avgFps = fpsDeltaSumMs > 0 ? (fpsFrameCount * 1000 / fpsDeltaSumMs) : 0;
+ this.mapFps = Math.round(avgFps);
+ fpsDeltaSumMs = 0;
+ fpsFrameCount = 0;
+ fpsLastUpdateTs = timeNow;
+ }
});
//*******************FPS*******************
@@ -399,10 +340,7 @@
if (val.value == 4) {
//绔欑偣
this.openDrawerSta(val)
- } else if (val.value == 67) {
- //鎻愬崌鏈�
- this.openDrawerLift(val)
- } else {
+ }else {
//搴撲綅
this.rightEvent(index, idx, e);
updateColor(sprite, 0x9900ff);
@@ -450,11 +388,10 @@
});
const b1 = objectsContainer.getLocalBounds();
- const b2 = objectsContainer2.getLocalBounds();
- const minX = Math.min(b1.x, b2.x);
- const minY = Math.min(b1.y, b2.y);
- const maxX = Math.max(b1.x + b1.width, b2.x + b2.width);
- const maxY = Math.max(b1.y + b1.height, b2.y + b2.height);
+ const minX = Math.min(b1.x);
+ const minY = Math.min(b1.y);
+ const maxX = Math.max(b1.x + b1.width);
+ const maxY = Math.max(b1.y + b1.height);
const contentW = Math.max(0, maxX - minX);
const contentH = Math.max(0, maxY - minY);
const vw = pixiApp.view.width;
@@ -464,141 +401,13 @@
const posX = (vw - contentW * scale) / 2 - minX * scale;
const posY = (vh - contentH * scale) / 2 - minY * scale;
pixiApp.stage.setTransform(posX, posY, scale, scale, 0, 0, 0, 0, 0);
- }else {
- let diff = this.findDiffList(this.map, map);
- diff.forEach((item, index) => {
- //鑾峰彇old鍏冪礌
- let oldSprite = pixiStageList[item.x][item.y]
- if (item.originData == -999) {
- //绉婚櫎old璺緞鍏冪礌
- objectsContainer3.removeChild(oldSprite);
- }else {
- //绉婚櫎old鍏冪礌
- objectsContainer.removeChild(oldSprite);
- }
-
- let sprite = getSprite(item.data, item.y * width, item.x * height, item, (e) => {
- this.rightEvent(item.x, item.y, e);
- updateColor(sprite, 0x9900ff);
- });
-
- if (item.data == -999) {
- //娣诲姞璺緞鍏冪礌
- objectsContainer3.addChild(sprite);
- }else {
- //娣诲姞鍏冪礌
- objectsContainer.addChild(sprite);
- }
-
- //淇濆瓨鏂板厓绱�
- pixiStageList[item.x][item.y] = sprite
- });
}
-
this.map = map;
},
rightEvent(x, y, e) {
this.drawerLocNo = true
this.drawerLocNoData = {x:x, y: y, z: this.currentLev, locNo: this.map[x][y].locNo,
locSts: this.map[x][y].locSts,row:this.map[x][y].row, bay: this.map[x][y].bay, lev: this.currentLev};
- },
- findDiffList(arr1, arr2) {
- let diff = []
- arr1.forEach((item,index) => {
- item.forEach((val,idx) => {
- if(val.value != arr2[index][idx].value){
- diff.push({
- x: index,
- y: idx,
- data: arr2[index][idx].value,
- originData: val.value,
- locSts: val.locSts
- })
- }
- })
- })
-
- return diff;
- },
- findShuttleDiffList(list1, list2) {
- //妫�娴嬮泦鍚�1閲岄潰鐨勫皬杞︽槸鍚﹀湪闆嗗悎2涓湁鍙樺姩
- if (list1.length == 0) {
- return false;//闆嗗悎涓虹┖
- }
- if (list1.length != list2.length) {
- return false;//涓や釜闆嗗悎闀垮害涓嶄竴鑷�
- }
-
- let flag = false;
- list1.forEach((item,index) => {
- for (var i = 0; i < list2.length; i++) {
- if (item.shuttleNo == list2[i].shuttleNo) {
- flag = true;
- break;
- }
- }
- });
-
- return flag;
- },
- findShuttlePathDiffList(list1, list2) {
- //妫�娴嬮泦鍚�1閲岄潰鐨勫皬杞﹂璁¤矾寰勬槸鍚﹀湪闆嗗悎2涓湁鍙樺姩
- if (list1.length == 0) {
- return false;//闆嗗悎涓虹┖
- }
- if (list1.length != list2.length) {
- return false;//涓や釜闆嗗悎闀垮害涓嶄竴鑷�
- }
-
- for (var index = 0; index < list1.length; index++) {
- let item = list1[index];
- for (var i = 0; i < list2.length; i++) {
- if (item.shuttleNo != list2[i].shuttleNo) {
- continue;//鎵句笉鍒板皬杞﹀彿
- }
-
- if (item.moveAdvancePath == null) {
- item.moveAdvancePath = [];
- }
-
- if (list2[i].moveAdvancePath == null) {
- list2[i].moveAdvancePath = [];
- }
-
- if (!(item.moveAdvancePath.length == list2[i].moveAdvancePath.length)) {
- return false;//灏忚溅棰勮璺緞闀垮害涓嶄竴鑷�
- }
- }
- }
- return true;
- },
- checkStaInListDiff(sta, list) {
- //妫�娴嬬珯鐐规槸鍚﹀湪闆嗗悎涓湁鍙樺姩
- if (list.length == 0) {
- return false;//闆嗗悎涓虹┖
- }
-
- let tmp = null;
- for (var i = 0; i < list.length; i++) {
- if (sta.siteId == list[i].siteId) {
- tmp = list[i];//鎵惧埌鐩稿悓绔欑偣
- break
- }
- }
-
- if (tmp == null) {
- return false;//娌℃湁鎵惧埌鐩稿悓绔欑偣
- }
-
- if (sta.siteStatus != tmp.siteStatus) {
- return false;//绔欑偣鐘舵�佷笉鐩稿悓
- }
-
- if (sta.workNo != tmp.workNo) {
- return false;//绔欑偣宸ヤ綔鍙蜂笉鐩稿悓
- }
-
- return true;//鏃犲彉鍖�
},
webSocketOnOpen(e) {
console.log("open");
@@ -608,18 +417,10 @@
},
webSocketOnMessage(e) {
const result = JSON.parse(e.data);
- if (result.url == "/shuttle/table/shuttle/state") {
- this.setShuttleStateInfo(JSON.parse(result.data))
- }else if (result.url == "/lift/table/lift/state") {
- this.setLiftStateInfo(JSON.parse(result.data))
- }else if (result.url == "/console/latest/data/site") {
- this.setSiteInfo(JSON.parse(result.data))
- }else if (result.url == "/console/map/auth") {
+ if (result.url == "/console/map/auth") {
this.setMap(JSON.parse(result.data))
}else if (result.url == "/console/locMap/auth") {
this.setMap(JSON.parse(result.data))
- }else if (result.url == "/console/barcode/output/site") {
- this.setCodeData(JSON.parse(result.data))
}
},
webSocketClose(e) {
@@ -628,119 +429,6 @@
sendWs(message) {
if (ws.readyState == WebSocket.OPEN) {
ws.send(message)
- }
- },
- colorRGB(){
- //闅忔満棰滆壊
- const r = Math.floor(Math.random()*256);
- const g = Math.floor(Math.random()*256);
- const b = Math.floor(Math.random()*256);
- return `rgb(${r},${g},${b})`;
- },
- updateShuttleXY(item) {
- const shuttle = pixiShuttleMap.get(item.shuttleNo);
- if (shuttle.updateMoveStatus) {//鍔ㄧ敾鎵ц瀹屾垚鎵嶅彲缁х画鎵ц鍔ㄧ敾
- shuttle.updateMoveStatus = false;//鍔ㄧ敾鎵ц涓�
- // 璁$畻涓ょ偣涔嬮棿鐨勮窛绂�1
- const distance = Math.sqrt(Math.pow((item.wcsPoint.x * width) - shuttle.x, 2) + Math.pow((item.wcsPoint.y * height) - shuttle.y, 2));
- gsap.killTweensOf(shuttle); // 鏉�姝绘墍鏈夐拡瀵�".class"鐨勫姩鐢�
- gsap.to(shuttle, {
- x: (item.wcsPoint.y - 0) * width, // 鐩爣浣嶇疆
- y: (item.wcsPoint.x - 1) * height, // 鐩爣浣嶇疆
- duration: 0.2, // 鍔ㄧ敾鎸佺画鏃堕棿锛堢锛�
- ease: "power1.inOut", // 缂撳姩绫诲瀷
- onComplete: () => {
- shuttle.updateMoveStatus = true;//鍔ㄧ敾鎵ц瀹屾垚
- }
- });
- }
- },
- getSiteInfo() {
- //鑾峰彇杈撻�佺珯鐐规暟鎹�
- this.sendWs(JSON.stringify({
- "url": "/console/latest/data/site",
- "data": {}
- }))
- },
- setSiteInfo(res) {
- // var test = "{\"msg\":\"鎿嶄綔鎴愬姛\",\"code\":200,\"data\":[{\"siteId\":\"300\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"301\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"302\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"303\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"304\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"305\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"306\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"307\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"308\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"309\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"310\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"311\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"312\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"313\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"314\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"315\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"316\",\"siteStatus\":\"site-auto-run\",\"workNo\":0},{\"siteId\":\"317\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"318\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"319\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"320\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"321\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"322\",\"siteStatus\":\"site-auto-run\",\"workNo\":0},{\"siteId\":\"323\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"324\",\"siteStatus\":\"site-auto-run\",\"workNo\":0},{\"siteId\":\"325\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"326\",\"siteStatus\":\"site-auto-id\",\"workNo\":5451},{\"siteId\":\"327\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"200\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"328\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"201\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"329\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"202\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"330\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"203\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"331\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"204\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"332\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"205\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"333\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"334\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"335\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"336\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"337\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"338\",\"siteStatus\":\"site-auto-run\",\"workNo\":0},{\"siteId\":\"339\",\"siteStatus\":\"site-auto-run-id\",\"workNo\":5447},{\"siteId\":\"340\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"341\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"342\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"343\",\"siteStatus\":\"site-auto-run\",\"workNo\":0},{\"siteId\":\"344\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"345\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"346\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"100\",\"siteStatus\":\"site-auto-run-id\",\"workNo\":8851},{\"siteId\":\"101\",\"siteStatus\":\"site-auto-run-id\",\"workNo\":8855},{\"siteId\":\"102\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"103\",\"siteStatus\":\"site-auto\",\"workNo\":0},{\"siteId\":\"104\",\"siteStatus\":\"site-auto-run\",\"workNo\":0},{\"siteId\":\"105\",\"siteStatus\":\"site-auto\",\"workNo\":0}]}";
- // res = JSON.parse(test)
- //鑾峰彇杈撻�佺珯鐐规暟鎹�
- if (res.code === 200){
- var sites = res.data;
- if (this.reloadSta && pixiStaMap.size > 0) {
- //閲嶆柊娓叉煋鎵�鏈夎緭閫佺珯鐐�
- this.currentLevStaList = sites;
- this.reloadSta = false;
- sites.forEach((item, index) => {
- let sta = pixiStaMap.get(parseInt(item.siteId));
- if (sta != undefined) {
- if (item.workNo > 0) {
- sta.textObj.text = item.siteId + "(" + item.workNo + ")";
- }
-
- //鍒涘缓閬僵灞�
- if (item.siteStatus == "site-auto") {
- //鑷姩鐘舵�侊紝绉婚櫎閬僵灞�
- if (sta.statusObj != null) {
- objectsContainer.removeChild(sta.statusObj)
- sta.statusObj = null;
- }
- }else if (item.siteStatus == "site-auto-run" || item.siteStatus == "site-auto-run-id") {
- //鑷姩鏈夌墿
- let graphics = getGraphics(0xfa51f6, width, height, sta.x, sta.y);
- graphics.addChild(sta.textObj);//缁ф壙鏂囧瓧淇℃伅
- sta.statusObj = graphics;
- objectsContainer.addChild(graphics);
- }else if (item.siteStatus == "site-unauto") {
- //闈炶嚜鍔�
- let graphics = getGraphics(0xb8b8b8, width, height, sta.x, sta.y);
- graphics.addChild(sta.textObj);//缁ф壙鏂囧瓧淇℃伅
- sta.statusObj = graphics;
- objectsContainer.addChild(graphics);
- }
- }
- });
- } else {
- //妫�娴嬩笉鐩稿悓绔欑偣杩涜灞�閮ㄦ洿鏂�
- this.currentLevStaList.forEach((item, index) => {
- let result = this.checkStaInListDiff(item, sites);
- if (!result) {
- //闇�瑕佹洿鏂�
- let sta = pixiStaMap.get(parseInt(item.siteId));
- if (item.workNo > 0) {
- sta.textObj.text = item.siteId + "(" + item.workNo + ")";
- }else {
- sta.textObj.text = item.siteId;
- }
-
- //鍒涘缓閬僵灞�
- if (item.siteStatus == "site-auto") {
- //鑷姩鐘舵�侊紝绉婚櫎閬僵灞�
- if (sta.statusObj != null) {
- objectsContainer.removeChild(sta.statusObj)
- sta.statusObj = null;
- }
- }else if (item.siteStatus == "site-auto-run") {
- //鑷姩鏈夌墿
- let graphics = getGraphics(0xfa51f6, width, height, sta.x, sta.y);
- graphics.addChild(sta.textObj);//缁ф壙鏂囧瓧淇℃伅
- sta.statusObj = graphics;
- objectsContainer.addChild(graphics);
- }else if (item.siteStatus == "site-unauto") {
- //闈炶嚜鍔�
- let graphics = getGraphics(0xb8b8b8, width, height, sta.x, sta.y);
- graphics.addChild(sta.textObj);//缁ф壙鏂囧瓧淇℃伅
- sta.statusObj = graphics;
- objectsContainer.addChild(graphics);
- }
- }
- });
- }
- } else if (res.code === 403){
- parent.location.href = baseUrl+"/login";
- } else {
- console.log(res.msg);
}
},
openDrawerSta(data) {
@@ -763,101 +451,6 @@
}
}
})
- },
- openDrawerLift(data) {
- this.drawerLift = true;
- this.drawerLiftData = parseInt(data.data)
- },
- getLiftStateInfo() {
- // 鎻愬崌鏈轰俊鎭〃鑾峰彇
- this.sendWs(JSON.stringify({
- "url": "/lift/table/lift/state",
- "data": {}
- }))
- },
- setLiftStateInfo(res) {
- // 鎻愬崌鏈轰俊鎭〃鑾峰彇
- if (res.code == 200) {
- this.liftList = res.data
- }
- },
- addMoveAdvancePath(moveAdvancePath, shuttleNo) {//娣诲姞棰勮璺緞
- let that = this;
- moveAdvancePath.forEach((path, idx) => {
- let locNo = this.map[path.x, path.y];
- if (!pixiShuttleMoveAdvancePathMap.has(locNo)) {
- let graphics = getGraphics(0x9966ff, width, height, path.y * width, (path.x - 1) * height);
- let shuttleNos = [shuttleNo];
- // 鍒涘缓鏂囨湰瀵硅薄
- const style = new PIXI.TextStyle({
- fontFamily: 'Arial',
- fontSize: 10,
- fill: '#000000',
- });
- const text = new PIXI.Text(JSON.stringify(shuttleNos), style);
- text.anchor.set(0.5); // 璁剧疆鏂囨湰閿氱偣涓轰腑蹇冪偣
- text.position.set(graphics.width / 2, graphics.height / 2); // 灏嗘枃鏈綅缃缃负Graphics瀵硅薄鐨勪腑蹇冪偣
- // 灏嗘枃鏈璞℃坊鍔犲埌Graphics瀵硅薄涓�
- graphics.addChild(text);
- graphics.textObj = text;
- objectsContainer2.addChild(graphics)
- pixiShuttleMoveAdvancePathMap.set(locNo, {
- path: path,
- sprite: graphics,
- textObj: text,
- shuttleNos: shuttleNos
- })
-
- if (pixiShuttleMoveAdvancePathList[shuttleNo] == null) {
- let locNos = new Set()
- locNos.add(locNo);
- pixiShuttleMoveAdvancePathList[shuttleNo] = locNos;
- }else {
- pixiShuttleMoveAdvancePathList[shuttleNo].add(locNo);
- }
- }else {
- let pathMap = pixiShuttleMoveAdvancePathMap.get(locNo)
- let shuttleNos = pathMap.shuttleNos;
- shuttleNos.push(shuttleNo);
- pathMap.textObj.text = JSON.stringify(shuttleNos);
- pixiShuttleMoveAdvancePathMap.set(locNo, pathMap);
- if (pixiShuttleMoveAdvancePathList[shuttleNo] == null) {
- let locNos = new Set()
- locNos.add(locNo);
- pixiShuttleMoveAdvancePathList[shuttleNo] = locNos;
- }else {
- pixiShuttleMoveAdvancePathList[shuttleNo].add(locNo);
- }
- }
- });
- },
- removeMoveAdvancePath(shuttleNo) {//鍒犻櫎棰勮璺緞
- let locNos = pixiShuttleMoveAdvancePathList[shuttleNo];
- if (locNos != null) {
- locNos.forEach((locNo,index) => {
- let pathMap = pixiShuttleMoveAdvancePathMap.get(locNo);
- if (pathMap != null) {
- let shuttleNos = pathMap.shuttleNos;
- let shuttleNosNew = [];
- shuttleNos.forEach((shuttle, idx) => {
- if (shuttle != shuttleNo) {
- shuttleNosNew.push(shuttle);
- }
- });
-
- if (shuttleNosNew.length === 0) {
- //棰勮璺緞娌℃湁灏忚溅锛岀洿鎺ュ垹闄よ矾寰�
- objectsContainer2.removeChild(pathMap.sprite);
- pixiShuttleMoveAdvancePathMap.delete(locNo)
- }else {
- //棰勮璺緞瀛樺湪鍏朵粬灏忚溅锛屾洿鏂版枃瀛椾俊鎭�
- pathMap.textObj.text = JSON.stringify(shuttleNosNew);
- pathMap.shuttleNos = shuttleNosNew;
- pixiShuttleMoveAdvancePathMap.set(locNo, pathMap);
- }
- }
- })
- }
},
}
})
--
Gitblit v1.9.1