From 28647ecb12f0dc6558c0c299d99e9a450d97fa22 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 12 十月 2024 13:50:12 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/http.js |   47 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/zy-acs-flow/src/map/http.js b/zy-acs-flow/src/map/http.js
index 7cdea35..aea7868 100644
--- a/zy-acs-flow/src/map/http.js
+++ b/zy-acs-flow/src/map/http.js
@@ -1,5 +1,6 @@
 import request from '@/utils/request';
 import * as Tool from './tool';
+import { DEVICE_TYPE } from './constants';
 
 let notify;
 
@@ -9,7 +10,7 @@
 
 export const fetchMapData = async (zoneId) => {
     Tool.clearMapData();
-    await request.post('/map/data', {
+    await request.post('/map/data/fetch', {
         zoneId: zoneId
     }, {
         headers: {
@@ -19,8 +20,6 @@
         const { code, msg, data } = res.data;
         if (code === 200) {
             const mapItemList = eval(data);
-        } else {
-            notify(msg, "error")
         }
 
         // mapItemList.forEach(item => {
@@ -52,10 +51,50 @@
         // })
 
     }).catch((error) => {
-        notify(error.message, "error")
+        notify.error(error.message);
         console.error(error.message);
     })
 }
 
+export const saveMapData = async (zone, mapContainer) => {
+    if (!mapContainer) {
+        return;
+    }
 
+    const sprites = [];
+    mapContainer.children.forEach(child => {
+        if (child.data?.uuid) {
+            const { type, uuid, no, ...property } = child.data;
+            if (type !== DEVICE_TYPE.AGV) {
+                sprites.push({
+                    // graph
+                    positionX: child.position.x,
+                    positionY: child.position.y,
+                    scaleX: child.scale.x,
+                    scaleY: child.scale.y,
+                    rotation: Tool.rotationToNum(child.rotation),
+                    // data
+                    type: type,
+                    uuid: uuid,
+                    no: no,
+                    property: property,
+                })
+            }
+        }
+    })
 
+    await request.post('/map/data/save', {
+        zoneId: zone,
+        itemList: sprites
+    }).then(res => {
+        const { code, msg, data } = res.data;
+        if (code === 200) {
+            notify.success(msg);
+        } else {
+            notify.error(msg);
+        }
+    }).catch((error) => {
+        notify.error(error.message);
+        console.error(error.message);
+    })
+}

--
Gitblit v1.9.1