zy-acs-flow/src/map/MapPage.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-flow/src/map/http.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-flow/src/map/tool.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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); zy-acs-flow/src/map/http.js
New file @@ -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); }) } 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); 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")