ソースを参照

fix:空调手动控制逻辑修改

chenzhen2 2 年 前
コミット
4c9cf9a472

+ 6 - 0
src/apis/envmonitor.ts

@@ -280,5 +280,11 @@ export const setSpaceCondtioners = (data: any) => {
   // return post(`${testApi}ctrl/set`, data)
 }
 
+// 地图数据保存
+export const saveMapPointInfo = (data: any) => {
+  // return post(`${duoduoenvService}map/saveMapPointInfo`, data)
+  return https().request<any>(`${testApi}map/saveMapPointInfo`, Method.POST, data, ContentType.json)
+}
+
 
 

+ 6 - 11
src/views/envmonitor/components/Air/manualIndex.vue

@@ -446,6 +446,8 @@ export default defineComponent({
       setBarNowPerstion() {
         proxyData.realTemp = proxyData.airTemp;
         let barBox: any = document.querySelector("#barId");
+        // console.log("设置温度位置---");
+        // console.log(barBox)
         if (!barBox) {
           return;
         }
@@ -500,6 +502,7 @@ export default defineComponent({
         handBox.addEventListener("touchend", function (e: any) {
           isMove = false;
           proxyData.changeZongAir("temp", proxyData.realTemp);
+          proxyData.airTemp = proxyData.realTemp;
         });
         swiper(handBox, {
           swipeLeft: function (e: any) {
@@ -799,16 +802,6 @@ export default defineComponent({
         if (proxyData.airData.isOpen && !proxyData.showChild) {
           proxyData.endBoxSwiper();
           proxyData.setBarNowPerstion();
-          // if (!proxyData.swiperIinit) {
-          //   await nextTick(() => {
-          //     proxyData.endBoxSwiper();
-          //     proxyData.setBarNowPerstion();
-          //   });
-          // } else {
-          //   await nextTick(() => {
-          //     proxyData.setBarNowPerstion();
-          //   });
-          // }
         }
       },
       // 设置子设备的可调范围
@@ -920,7 +913,9 @@ export default defineComponent({
               );
             }
 
-            proxyData.barSwiperInit();
+            nextTick(() => {
+              proxyData.barSwiperInit();
+            });
             proxyData.getAirInfoToTimer();
           })
           .catch(() => {});

+ 77 - 27
src/views/mapData/indexOld.vue

@@ -18,15 +18,21 @@
 </template>
   
 <script lang="ts">
+import { saveMapPointInfo } from "@/apis/envmonitor";
 import { number } from "echarts";
+import { Toast } from "vant";
 import { defineComponent, nextTick, onMounted, reactive, toRefs } from "vue";
 
 export default defineComponent({
   components: {},
   setup() {
     let allObj: any = [];
+    let spaceArr: any = [];
+    let floorObj: any = {};
     const proxyData = reactive({
       allObj: allObj,
+      floorObj: floorObj,
+      spaceArr: spaceArr,
       // canvas画图
       initCanvas() {
         let canvasDom: any = document.querySelector("#myCanvas");
@@ -83,52 +89,95 @@ export default defineComponent({
           let fileSelect: any = files[i];
           let name: any = fileSelect.name;
           name = name.split(".")[0];
-          // this.fileName = fileSelect.name;
           let reader: any = new FileReader();
           if (typeof FileReader === "undefined") {
             console.log("您的浏览器不支持FileReader接口");
             return;
           }
           reader.readAsText(fileSelect, "gb2312"); //注意读取中文的是用这个编码,不是utf-8
-          // const _this = this;
           reader.onload = function () {
-            // console.log(reader.result);
             let result: any = reader.result;
-            // _this.$nextTick(() => {
-            //     _this.voiceContent = reader.result;
-            // });
-            // proxyData.handleStr(result);
             proxyData.handPoint(result, name);
+            if (i === files.length - 1) {
+              // 处理数据的高度问题(因为取点的图是y是从下面开始获取的 )
+              proxyData.formSpaceData();
+              proxyData.floorObj.spaceList = proxyData.spaceArr;
+              proxyData.saveMapPointInfo();
+            }
           };
         }
       },
+      // 地图数据处理结果保存
+      saveMapPointInfo() {
+        console.log("数据格式化---");
+        console.log(proxyData.floorObj);
+        Toast.loading({
+          duration: 0, // 持续展示 toast
+          forbidClick: true,
+          message: "正在上传...",
+        });
+        saveMapPointInfo(proxyData.floorObj)
+          .then((res: any) => {
+            if (res.result == "success") {
+            }
+            Toast.clear();
+          })
+          .catch(() => {
+            Toast.clear();
+          });
+      },
+      // 数据格式化
+      formSpaceData() {
+        proxyData.spaceArr.map((item: any) => {
+          item.devicePoint.map((dev: any) => {
+            dev.left = dev.left * 1;
+            dev.top = proxyData.floorObj.height - dev.top;
+          });
+          item.logoPointArr.map((dev: any) => {
+            dev.left = dev.left * 1;
+            dev.top = proxyData.floorObj.height - dev.top;
+          });
+          item.pointArr.map((dev: any) => {
+            dev.left = dev.left * 1;
+            dev.top = proxyData.floorObj.height - dev.top;
+          });
+          item.circlePoint.map((dev: any) => {
+            dev.left = dev.left * 1;
+            dev.top = proxyData.floorObj.height - dev.top;
+          });
+        });
+      },
       handPoint(result: any, name: any) {
         result = result.replace(/\"/g, "");
         let nameArr: any = name.split("-");
         let arr: any = result.split(/[(\r\n)\r\n]+/);
-        if (nameArr && nameArr[0] == "B3") {
+        if (nameArr && nameArr[0] == "L") {
           arr.map((item: any) => {
             if (item) {
               let itemArr: any = item.split(",");
               let obj: any = {
-                width: itemArr[0],
-                height: itemArr[1],
+                width: itemArr[0] ? itemArr[0] * 1 : 0,
+                height: itemArr[1] ? itemArr[1] * 1 : 0,
               };
-              console.log(obj)
+              console.log(obj);
+              if (obj.width && obj.height) {
+                proxyData.floorObj.width = obj.width;
+                proxyData.floorObj.height = obj.width;
+                proxyData.floorObj.floorId=nameArr[1]
+              }
             }
           });
         } else {
           let pointObj: any = {
-            spaceId: nameArr[0].toString(),
-            localName: nameArr[0].toString(),
-            canClick: true,
+            spaceId: nameArr[1] ? nameArr[1].toString() : "",
+            localName: nameArr[0] ? nameArr[0].toString() : "",
+            canClick: nameArr[2] && nameArr[2] == "unc" ? false : true,
             pointArr: [],
             devicePoint: [],
             circlePoint: [],
-            logPointArr: [],
+            logoPointArr: [],
           };
 
-          // debugger
           arr.map((item: any, index: any) => {
             if (item) {
               let itemArr: any = item.split(",");
@@ -136,11 +185,17 @@ export default defineComponent({
                 left: itemArr[0],
                 top: itemArr[1],
               };
-              if (nameArr[1]) {
+              if (pointObj.canClick && nameArr[2] && nameArr[2] == "c") {
+                pointObj.circlePoint.push(obj);
+              } else if (
+                !pointObj.canClick &&
+                nameArr[3] &&
+                nameArr[3] == "c"
+              ) {
                 pointObj.circlePoint.push(obj);
               } else {
                 if (index <= 1) {
-                  pointObj.logPointArr.push(obj);
+                  pointObj.logoPointArr.push(obj);
                 } else if (index <= 4) {
                   pointObj.devicePoint.push(obj);
                 } else {
@@ -149,18 +204,15 @@ export default defineComponent({
               }
             }
           });
-          let str: any = localStorage.getItem("spaceList");
-          let spaceList: any = str ? JSON.parse(str) : [];
+
           let flag: any = false;
-          spaceList.map((item: any) => {
+          proxyData.spaceArr.map((item: any) => {
             if (nameArr[1] && item.spaceId === nameArr[1]) {
               item.circlePoint = pointObj.circlePoint;
               flag = true;
             } else {
               if (item.spaceId === nameArr[0]) {
-                // debugger
-                // pointObj.circlePoint = item.circlePoint;
-                item.logPointArr = pointObj.logPointArr;
+                item.logoPointArr = pointObj.logoPointArr;
                 item.devicePoint = pointObj.devicePoint;
                 item.pointArr = pointObj.pointArr;
                 flag = true;
@@ -168,10 +220,8 @@ export default defineComponent({
             }
           });
           if (!flag) {
-            spaceList.push(pointObj);
+            proxyData.spaceArr.push(pointObj);
           }
-          localStorage.setItem("spaceList", JSON.stringify(spaceList));
-          console.log(spaceList);
         }
       },
       // 处理坐标

+ 2 - 1
vue.config.js

@@ -109,7 +109,8 @@ module.exports = {
       '/sgipad/test/': {
         // target: 'https://duoduoenv.sagacloud.cn',
         // target: 'http://192.168.0.13:52009',
-        target: 'http://192.168.4.54:52009',
+        // target: 'http://192.168.4.54:52009',
+        target: 'http://192.168.16.168:52015',
         changeOrigin: true,
         pathRewrite: {
           '^/sgipad/test': ''