Browse Source

fix: 地图数据选值处理

chenzhen2 2 years ago
parent
commit
13976ae300

+ 4 - 4
src/views/envmonitor/components/Map/MapBox.vue

@@ -502,9 +502,9 @@ export default defineComponent({
        * 切换空间
        */
       checkSpace(area: any) {
-        // if (!area.disabled) {
-        //   return;
-        // }
+        if (area.disabled) {  // 如果不在
+          return;
+        }
         proxyData.isSetSearchSpace = false;
         if (area && area.canClick) {
           proxyData.setSelectSpacePosition(area);
@@ -514,7 +514,7 @@ export default defineComponent({
           } else {
             proxyData.selectArea = area;
             proxyData.setLocalSpaceInfo();
-            contx.emit("changeSpaceId", proxyData.selectArea.spaceId);
+            contx.emit("changeSpace", proxyData.selectArea);
           }
         } else {
           Toast("不可选区域");

+ 3 - 1
src/views/envmonitor/components/Map/index.vue

@@ -7,6 +7,7 @@
       :floorId="floorId"
       :spaceInfo="spaceInfo"
       :buildingId="buildingId"
+      @changeSpace="changeSpace"
     ></map-box>
     <space-box
       v-else
@@ -74,6 +75,7 @@ export default defineComponent({
     const proxyData = reactive({
       spaceData: props.spaceData,
       showMap: false, // 是否展示地图
+      // 切换空间
       changeSpace(item: any) {
         contex.emit("changeSpace", item, 1);
       },
@@ -105,7 +107,7 @@ export default defineComponent({
           .catch(() => {
             proxyData.showMap = false;
           });
-      },
+      }
     });
     onMounted(() => {});
     watch(

+ 2 - 2
src/views/envmonitor/detail.vue

@@ -317,7 +317,7 @@ export default defineComponent({
         let { chartData, chartMax } = await proxyData.getData(funcid);
         proxyData.loadinngEnd();
         let seriesData: any = chartData.map((item: any) => {
-          return item.sales;
+          return item.sales
         });
         let xData: any = chartData.map((item: any) => {
           return item.time;
@@ -841,7 +841,7 @@ export default defineComponent({
     text-align: center;
     font-style: normal;
     font-weight: 700;
-    font-size: 14px;  
+    font-size: 14px;
   }
 
   .van-tab--active {

+ 36 - 14
src/views/envmonitor/index.vue

@@ -641,20 +641,20 @@ export default defineComponent({
       triggerWork() {
         proxyData.isShowWork = true;
       },
-      /**
-       * 修改空间id
-       * @param spaceId
-       */
-      changeSpaceId(spaceId: any) {
-        proxyData.loadingStart();
-        proxyData.spaceInfo.spaceId = spaceId;
-        proxyData.headerInfo.headScene = "";
-        // 切换空间的时候先清除定时器
-        proxyData.clearTimerSpaceInfo();
-        // proxyData.init();
-        // 判断用户是否有可控制权限
-        proxyData.checkUserSpace();
-      },
+      // /**
+      //  * 修改空间id
+      //  * @param spaceId
+      //  */
+      // changeSpaceId(spaceId: any) {
+      //   proxyData.loadingStart();
+      //   proxyData.spaceInfo.spaceId = spaceId;
+      //   proxyData.headerInfo.headScene = "";
+      //   // 切换空间的时候先清除定时器
+      //   proxyData.clearTimerSpaceInfo();
+      //   // proxyData.init();
+      //   // 判断用户是否有可控制权限
+      //   proxyData.checkUserSpace();
+      // },
       // 获取公司信息
       async getCompanyInfo() {
         const res: any = await getCompanyInfo({ companyId: Keys.companyKey });
@@ -1543,13 +1543,35 @@ export default defineComponent({
       moreSpace() {
         proxyData.isShowMap = true;
       },
+      // 数组元素更换位置
+      elChangeExForArray(item: any) {
+        let index1: any = 1;
+        let index2: any = 0;
+        for (let i = 0; i < proxyData.spaceData.length; i++) {
+          if (item.spaceId === proxyData.spaceData[i].spaceId) {
+            proxyData.spaceData[i].active = true;
+            if (i > 2) {
+              index2 = i;
+              break;
+            }
+          }
+        }
+        if (index2) {
+          let temp = proxyData.spaceData[index1];
+          proxyData.spaceData[index1] = proxyData.spaceData[index2];
+          proxyData.spaceData[index2] = temp;
+        }
+        console.log(proxyData.spaceData);
+      },
       // 切换空间
       changeSpace(item: any, type: any = 0) {
+        // debugger
         proxyData.resetSpaceStatus();
         proxyData.spaceInfo = item;
         proxyData.init();
         if (type === 1) {
           proxyData.isShowMap = false;
+          proxyData.elChangeExForArray(item);
         }
         item.active = true;
       },