From c40500d288339cd9b2200f8f909e3cd5471c0c22 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 30 八月 2024 17:38:29 +0800
Subject: [PATCH] 1. 优化3D动画中风向的变化逻辑; 2. 修复折线图切换因子时,数据直接跳转至起始处的问题; 3. 折线图和表格加回风向因子; 4. 优化风向的均值计算为矢量计算,同时最大最小值不显示; 5. 新增表格数据导出功能;

---
 src/utils/map/dialog.js |   56 +++++++++++++++++++++++---------------------------------
 1 files changed, 23 insertions(+), 33 deletions(-)

diff --git a/src/utils/map/dialog.js b/src/utils/map/dialog.js
index 713af62..5c1ada9 100644
--- a/src/utils/map/dialog.js
+++ b/src/utils/map/dialog.js
@@ -3,6 +3,7 @@
 import { factorUnit } from '@/constant/factor-unit';
 import { windDir } from '@/constant/wind-dir';
 import { map } from './index_old';
+import { checkboxOptions } from '@/constant/checkbox-options';
 
 export const DialogUtil = {
   show: true,
@@ -21,8 +22,9 @@
    * @param {*} onClose 鍏抽棴寮瑰嚭妗嗗洖璋�
    * @returns
    */
-  createInfoWindow(deviceCode, factorDatas, i, onClose) {
+  createInfoWindow(deviceType, deviceCode, factorDatas, i, onClose) {
     let m = {
+      deviceType: deviceType,
       deviceCode: deviceCode,
       data: factorDatas,
       index: i,
@@ -40,22 +42,6 @@
     return m.window;
   },
 
-  createInfoWindow2(factorData, onClose) {
-    let m = {
-      time: factorData.time,
-      factorList: factorData.values,
-      window: '',
-      close: onClose
-    };
-    // eslint-disable-next-line no-undef
-    m.window = new AMap.InfoWindow({
-      isCustom: true, //浣跨敤鑷畾涔夌獥浣�
-      content: this.createWindowContent2(m),
-      // eslint-disable-next-line no-undef
-      offset: new AMap.Pixel(16, -45)
-    });
-    return m.window;
-  },
   /**
    * 绔欑偣鏍囪淇℃伅绐椾綋
    */
@@ -74,6 +60,7 @@
   },
 
   createWindowContent2(marker) {
+    const factorTypes = checkboxOptions(marker.deviceType);
     const time = marker.time;
     const factorList = marker.factorList;
     //瀹炰緥鍖栦俊鎭獥浣�
@@ -89,14 +76,17 @@
     var _contents = new Map();
     factorList.forEach((f) => {
       // 鍒犻�変笉鏄剧ず鐨勫洜瀛�
-      if (
-        f.factorName == 'NOI' ||
-        f.factorName == 'LNG' ||
-        f.factorName == 'LAT' ||
-        f.factorName == 'VELOCITY' ||
-        f.factorName == 'TIME' ||
-        f.factorName == 'HEIGHT'
-      ) {
+      // if (
+      //   f.factorName == 'NOI' ||
+      //   f.factorName == 'LNG' ||
+      //   f.factorName == 'LAT' ||
+      //   f.factorName == 'VELOCITY' ||
+      //   f.factorName == 'TIME' ||
+      //   f.factorName == 'HEIGHT'
+      // ) {
+      //   return;
+      // }
+      if (!factorTypes.find((v) => v.name == f.factorName)) {
         return;
       }
 
@@ -253,15 +243,15 @@
     return info;
   },
 
-  openNewWindow(deviceCode, factorDatas, i, onClose) {
+  openNewWindow(deviceType, deviceCode, factorDatas, i, onClose) {
     if (!this.show) return;
-    const window = this.createInfoWindow(deviceCode, factorDatas, i, onClose);
+    const window = this.createInfoWindow(
+      deviceType,
+      deviceCode,
+      factorDatas,
+      i,
+      onClose
+    );
     window.open(map, factorDatas.lnglats_GD[i]);
-  },
-
-  openNewWindow2(factorData, position, onClose) {
-    if (!this.show) return;
-    const window = this.createInfoWindow2(factorData, onClose);
-    window.open(map, position);
   }
 };

--
Gitblit v1.9.3