From 66ab394f977a2fcf4b4fc9334829fc5bb171296f Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 09 十月 2024 16:45:28 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/http.js | 61 ++++++++++++++++++++ zy-acs-flow/src/map/tool.js | 22 +++++++ zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java | 33 +++++++++++ zy-acs-flow/src/map/MapPage.jsx | 8 ++ 4 files changed, 124 insertions(+), 0 deletions(-) diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx index c67fcf4..69c9801 100644 --- a/zy-acs-flow/src/map/MapPage.jsx +++ b/zy-acs-flow/src/map/MapPage.jsx @@ -23,6 +23,7 @@ import * as Tool from './tool'; import { NotificationProvider, useNotification } from './Notification'; import Device from "./Device"; +import * as Http from './http'; let player; @@ -49,6 +50,9 @@ setMapContainer(player.mapContainer); Tool.setApp(player.app); Tool.setMapContainer(player.mapContainer); + Http.setNotify(notify); + + await Http.fetchMapData(0); } initialize(); @@ -59,6 +63,10 @@ const height = contentRef.current.offsetHeight; player.resize(width, height); + if (mode === MapMode.MOVABLE_MODE) { + console.log('aa'); + player.showGridLines(); + } }; handleResize(); window.addEventListener('resize', handleResize); diff --git a/zy-acs-flow/src/map/http.js b/zy-acs-flow/src/map/http.js new file mode 100644 index 0000000..7cdea35 --- /dev/null +++ b/zy-acs-flow/src/map/http.js @@ -0,0 +1,61 @@ +import request from '@/utils/request'; +import * as Tool from './tool'; + +let notify; + +export function setNotify(param) { + notify = param; +} + +export const fetchMapData = async (zoneId) => { + Tool.clearMapData(); + await request.post('/map/data', { + zoneId: zoneId + }, { + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }).then((res) => { + const { code, msg, data } = res.data; + if (code === 200) { + const mapItemList = eval(data); + } else { + notify(msg, "error") + } + + // 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.message, "error") + console.error(error.message); + }) +} + + + diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js index 8cf5173..2a9ced4 100644 --- a/zy-acs-flow/src/map/tool.js +++ b/zy-acs-flow/src/map/tool.js @@ -182,6 +182,28 @@ && spriteBounds.y < boxBounds.y + boxBounds.height; } +export const clearMapData = () => { + if (!mapContainer) { + return; + } + let childList = []; + mapContainer.children.forEach(child => { + if (child.data?.uuid) { + childList.push(child); + } + }) + if (childList.length > 0) { + childList.forEach(child => { + mapContainer.removeChild(child); + child.destroy({ children: true, texture: false, baseTexture: false }); + }) + childList.forEach((child, index) => { + childList[index] = null; + }); + childList = []; + } +} + export const generateID = () => { return Date.now().toString(36) + Math.random().toString(36).substring(2); diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java index 087f9e7..a31ff55 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java @@ -16,6 +16,7 @@ import com.zy.acs.manager.system.controller.BaseController; import com.zy.acs.framework.common.Cools; import com.zy.acs.framework.common.R; +import com.zy.acs.manager.system.service.ConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -47,6 +48,38 @@ private FloydNavigateService floydNavigateService; @Autowired private MapService mapService; + @Autowired + private ConfigService configService; + + + + + + @PreAuthorize("hasAuthority('manager:loc:list')") + @PostMapping("/data") + public R mapData(@RequestParam(required = false) Long zoneId) { + String mapData = configService.getVal("mapData", String.class); + return R.ok().add(mapData); + } + + + + + + + + + + + + + + + + + + + @PreAuthorize("hasAuthority('map:save')") @PostMapping("/save") -- Gitblit v1.9.1