From f51029f35beb182ed442e9d211fc39112ed6a5c0 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期一, 16 六月 2025 17:01:19 +0800 Subject: [PATCH] 1 --- zy-acs-flow/src/map/http.js | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 287 insertions(+), 13 deletions(-) diff --git a/zy-acs-flow/src/map/http.js b/zy-acs-flow/src/map/http.js index a9f8d4a..b126eed 100644 --- a/zy-acs-flow/src/map/http.js +++ b/zy-acs-flow/src/map/http.js @@ -1,6 +1,7 @@ import request from '@/utils/request'; import * as Tool from './tool'; import { DEVICE_TYPE } from './constants'; +import { HANDLE_APP_KEY } from '@/config/setting'; let notify; let mapContainer; @@ -13,18 +14,20 @@ mapContainer = param; } -export const fetchMapData = async (zoneId) => { +export const fetchMapData = (zoneId, setRcsStatus, setCurSprite) => { Tool.clearMapData(); - await request.post('/map/data/fetch', { + return 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: { common, point } } = res.data; + const { code, msg, data: { rcsStatus, common, point } } = res.data; if (code === 200) { - const mapItemList = eval(common); + setRcsStatus(rcsStatus); + const commonList = common ? eval(common) : []; + const pointList = point ? eval(point) : []; + const mapItemList = [...commonList, ...pointList]; + mapItemList.forEach(item => { if (item.type !== DEVICE_TYPE.AGV) { const sprite = Tool.generateSprite(item.type); @@ -38,13 +41,22 @@ 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); - }, 50); + // 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.scale.set(pointList.length < 2000 ? 1 : 1.6); + break + default: + break + } mapContainer.addChild(sprite); + Tool.beInsight(sprite, setCurSprite); } } }) @@ -66,7 +78,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 && type !== DEVICE_TYPE.ROUTE) { sprites.push({ // graph positionX: child.position.x, @@ -99,3 +111,265 @@ console.error(error.message); }) } + +export const startupOrShutdown = async (callback) => { + try { + const res = await request.post('/map/startupOrShutdown'); + const { code, msg, data } = res.data; + if (code === 200) { + if (callback) { + callback(); + } + } else { + notify.error(msg); + } + } catch (error) { + notify.error(error.message); + console.error(error.message); + } +} + +export const getLocGroup = async (row, bay, callback) => { + await request.post('/map/shelf/group', { + row: row, + bay: bay + }, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }).then((res) => { + const { code, msg, data } = res.data; + if (code === 200) { + callback(data) + } else { + notify.error(msg); + } + }).catch((error) => { + notify.error(error.message); + console.error(error.message); + }) +} + +export const getAgvInfo = async (agvNo, callback) => { + await request.post('/map/agv/info', { + agvNo: agvNo, + }, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }).then((res) => { + const { code, msg, data } = res.data; + if (code === 200) { + callback(data) + } else { + notify.error(msg); + } + }).catch((error) => { + notify.error(error.message); + console.error(error.message); + }) +} + +export const getPointInfo = async (point, callback) => { + await request.post('/map/point/info', { + codeData: point, + }, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }).then((res) => { + const { code, msg, data } = res.data; + if (code === 200) { + callback(data) + } else { + notify.error(msg); + } + }).catch((error) => { + notify.error(error.message); + console.error(error.message); + }) +} + +export const getRouteList = async (zoneId, callback, errCallBack) => { + await request.post('/map/route/list', { + zoneId: zoneId, + }, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }).then((res) => { + const { code, msg, data } = res.data; + if (code === 200) { + callback(data) + } else { + notify.error(msg); + if (errCallBack) { + errCallBack(); + } + } + }).catch((error) => { + notify.error(error.message); + console.error(error.message); + if (errCallBack) { + errCallBack(); + } + }) +} + + +export const handleControlAgv = async (param, callback) => { + await request.post('/handler/control/agv', param, { + headers: { + 'appKey': HANDLE_APP_KEY + } + }).then((res) => { + const { code, msg, data } = res.data; + if (code === 200) { + notify.success(msg); + if (callback) { + callback(data) + } + } else { + notify.error(msg); + } + }).catch((error) => { + notify.error(error.message); + console.error(error.message); + }) +} + +export const handleRestoreAgvAll = async (param, callback) => { + await request.post('/handler/restore/agv', param, { + headers: { + 'appKey': HANDLE_APP_KEY + } + }).then((res) => { + const { code, msg, data } = res.data; + if (code === 200) { + notify.success(msg); + if (callback) { + callback(data) + } + } else { + notify.error(msg); + } + }).catch((error) => { + notify.error(error.message); + console.error(error.message); + }) +} + +export const getFakeSign = async (param, callback) => { + await request.get('/fake/sign/get').then((res) => { + const { code, msg, data } = res.data; + if (code === 200) { + if (callback) { + callback(data) + } + } else { + notify.error(msg); + } + }).catch((error) => { + notify.error(error.message); + console.error(error.message); + }) +} + +export const setFakeSign = async (param, callback) => { + await request.post('/fake/sign/set', { + sign: param, + }, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }).then((res) => { + const { code, msg, data } = res.data; + if (code === 200) { + if (data) { + notify.success(msg); + } + if (callback) { + callback(data) + } + } else { + notify.error(msg); + } + }).catch((error) => { + notify.error(error.message); + console.error(error.message); + }) +} + +export const handleAgvPatrol = async (param) => { + try { + const res = await request.post('/handler/agv/patrol', param, { + headers: { + 'appKey': HANDLE_APP_KEY + } + }); + const { code, msg, data } = res.data; + if (code === 200) { + notify.success(msg); + return true; + } else { + notify.error(msg); + } + } catch (error) { + notify.error(error.message); + console.error(error.message); + } + return false; +} + +export const locateAllAgv = async (param) => { + try { + const res = await request.post('/handler/locateAllAgv', param, { + headers: { + 'appKey': HANDLE_APP_KEY + } + }); + const { code, msg, data } = res.data; + if (code === 200) { + notify.success(msg); + return true; + } else { + notify.error(msg); + } + } catch (error) { + notify.error(error.message); + console.error(error.message); + } + return false; +} + +export const startPatrolBatch = async (param) => { + try { + const res = await request.post('/handler/patrol/batch/startup', param, { + headers: { + 'appKey': HANDLE_APP_KEY + } + }); + const { code, msg, data } = res.data; + if (code === 200) { + notify.success(msg); + return true; + } else { + notify.error(msg); + } + } catch (error) { + notify.error(error.message); + console.error(error.message); + } + return false; +} + +export const cancelPatrolBatch = async (param) => { + try { + const res = await request.post('/handler/patrol/batch/shutdown', param, { + headers: { + 'appKey': HANDLE_APP_KEY + } + }); + const { code, msg, data } = res.data; + if (code === 200) { + notify.success(msg); + return true; + } else { + notify.error(msg); + } + } catch (error) { + notify.error(error.message); + console.error(error.message); + } + return false; +} \ No newline at end of file -- Gitblit v1.9.1