From 93ece83d6d9c3a01195b64cf28cf943cae029704 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 16 十月 2024 09:39:10 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/http.js | 81 ++++++++++++++++++++++------------------ 1 files changed, 45 insertions(+), 36 deletions(-) diff --git a/zy-acs-flow/src/map/http.js b/zy-acs-flow/src/map/http.js index aea7868..c317224 100644 --- a/zy-acs-flow/src/map/http.js +++ b/zy-acs-flow/src/map/http.js @@ -3,9 +3,14 @@ import { DEVICE_TYPE } from './constants'; let notify; +let mapContainer; export function setNotify(param) { notify = param; +} + +export function setMapContainer(param) { + mapContainer = param; } export const fetchMapData = async (zoneId) => { @@ -13,50 +18,54 @@ await request.post('/map/data/fetch', { zoneId: zoneId }, { - headers: { - 'Content-Type': 'application/x-www-form-urlencoded' - } + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).then((res) => { - const { code, msg, data } = res.data; + const { code, msg, data: { common, point } } = res.data; if (code === 200) { - const mapItemList = eval(data); + const mapItemList = [...eval(common), ...eval(point)]; + mapItemList.forEach(item => { + if (item.type !== DEVICE_TYPE.AGV) { + const sprite = Tool.generateSprite(item.type); + if (sprite) { + Tool.initSprite(sprite, item.type); + // data + sprite.data.uuid = item.uuid; + sprite.data.no = item.no; + + // dynamical data + Object.assign(sprite.data, item.property); + + // graph + setTimeout(() => { + sprite.position.set(item.positionX, item.positionY); + sprite.scale.set(item.scaleX, item.scaleY); + sprite.rotation = Tool.rotationParseNum(item.rotation); + + // support + switch (item.type) { + case DEVICE_TYPE.POINT: + sprite.tint = 0xCACDCF; + sprite.scale.set(0.65, 0.65); + break + default: + break + } + }, 50); + + mapContainer.addChild(sprite); + } + } + }) + } else { + notify.error(msg); } - - // mapItemList.forEach(item => { - // if (!( - // item.type === SENSOR_TYPE.SHUTTLE - // || item.type === SENSOR_TYPE.AGV - // )) { - // const sprite = generateSprite(item.type); - // if (sprite) { - // initSprite(sprite, item.type); - // // data - // sprite.data.uuid = item.uuid; - // sprite.data.no = item.no; - - // // dynamical data - // Object.assign(sprite.data, item.property); - - // showSheflType(sprite); - // // graph - // setTimeout(() => { - // sprite.position.set(item.positionX, item.positionY); - // sprite.scale.set(item.scaleX, item.scaleY); - // sprite.rotation = rotationParseNum(item.rotation); - // }, 50); - - // mapContainer.addChild(sprite); - // } - // } - // }) - }).catch((error) => { notify.error(error.message); console.error(error.message); }) } -export const saveMapData = async (zone, mapContainer) => { +export const saveMapData = async (zone) => { if (!mapContainer) { return; } @@ -65,7 +74,7 @@ mapContainer.children.forEach(child => { if (child.data?.uuid) { const { type, uuid, no, ...property } = child.data; - if (type !== DEVICE_TYPE.AGV) { + if (type !== DEVICE_TYPE.AGV && type !== DEVICE_TYPE.POINT) { sprites.push({ // graph positionX: child.position.x, -- Gitblit v1.9.1