From 1e465fcab874dd5bf60fdff4151a3742b5a755b0 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 17 十月 2024 14:21:12 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/http.js |  118 +++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 82 insertions(+), 36 deletions(-)

diff --git a/zy-acs-flow/src/map/http.js b/zy-acs-flow/src/map/http.js
index aea7868..663e064 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,
@@ -98,3 +107,40 @@
         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);
+    })
+}

--
Gitblit v1.9.1