From 3832a82fb79d4cec4cca5e2854e54953f2095ef8 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 06 九月 2024 16:55:08 +0800
Subject: [PATCH] 1. 添加溯源清单功能 2. 修复切换至走航监测界面后,之前正在加载的历史数据依旧展示至地图的问题 3. 添加折线图下载图片功能; 4. 添加数据导出功能; 5. 添加设备管理功能; 6. 添加数据弹框和溯源清单开关功能; 7. 优化3D里面的颜色展示逻辑,底部颜色由原来的因子最小值颜色改为当前量级的上一个量级对应的颜色

---
 src/model/Legend.js |  109 ++++++++++++++++--------------------------------------
 1 files changed, 32 insertions(+), 77 deletions(-)

diff --git a/src/model/Legend.js b/src/model/Legend.js
index 054ad4b..cf6d5b3 100644
--- a/src/model/Legend.js
+++ b/src/model/Legend.js
@@ -8,6 +8,7 @@
 
   //鍚勭洃娴嬪洜瀛愭暟鎹垎绾э紙鏍囧噯锛�
   _legend_r: {
+    NO: [0, 100, 200, 700, 1200, 2340],
     NO2: [0, 100, 200, 700, 1200, 2340],
     CO: [0, 5, 10, 35, 60, 90],
     H2S: [0, 150, 500, 650, 800, 1600],
@@ -25,6 +26,14 @@
 
   //鍚勭洃娴嬪洜瀛愭暟鎹垎绾э紙鏍囧噯锛夊搴旈鑹�
   _legend_c: {
+    NO: [
+      [0, 0.89, 0, 0.75],
+      [1, 1, 0, 0.75],
+      [1, 0.49, 0, 0.75],
+      [1, 0, 0, 0.75],
+      [0.6, 0, 0.3, 0.75],
+      [0.49, 0, 0.14, 0.75]
+    ],
     NO2: [
       [0, 0.89, 0, 0.75],
       [1, 1, 0, 0.75],
@@ -172,23 +181,42 @@
   },
 
   /**
+   * 鑾峰彇褰撳墠棰滆壊涓婁竴涓瓑绾х殑棰滆壊
+   * @param {*} name
+   * @param {*} type
+   * @param {*} color
+   */
+  getPreviousColor(name, type, color) {
+    let colors;
+    if (type == this.S_TYPE) {
+      colors = this._legend_c[name];
+    } else {
+      colors = this._custom;
+    }
+    let index = colors.indexOf(color);
+    index--;
+    if (index < 0) index = 0;
+    return colors[index];
+  },
+
+  /**
    * 鑾峰彇鐩戞祴鍥犲瓙褰撳墠娴撳害瀵瑰簲鐨勯鑹�
    * @param name 鐩戞祴鍥犲瓙鍚嶇О
    * @param data 鐩戞祴鍥犲瓙娴撳害
    */
   getStandardColor: function (name, data) {
-    var range = this._legend_r[name];
-    var colors = this._legend_c[name];
+    let range = this._legend_r[name];
+    let colors = this._legend_c[name];
     if (range == undefined) {
       range = this._legend_r['PM25'];
       colors = this._legend_c['PM25'];
     }
     // return colors[0]
 
-    var selected = undefined;
+    let selected = undefined;
     for (let i = 0; i < range.length; i++) {
       const d = range[i];
-      var d1 = d;
+      let d1 = d;
       if (name == 'CO') {
         d1 *= 1000;
       }
@@ -215,79 +243,6 @@
       i = this._custom.length - 1;
     }
     return this._custom[i];
-  },
-
-  /**
-   * 鑾峰彇鍒嗘瀽鍥句緥
-   */
-  refreshLegend: function (eId, name, animation, type, min, max) {
-    var legend = $('#' + eId);
-    legend.empty();
-
-    var r = this._legend_r[name];
-    var c = this._legend_c[name];
-    // 娌℃湁鎵惧埌鏍囧噯鍥句緥鐨勫洜瀛愶紝榛樿浣跨敤鑷畾涔夎寖鍥村浘渚�
-    if (r == undefined) {
-      type = this.C_TYPE;
-    }
-    var range = [];
-    if (type != this.S_TYPE && min != undefined && max != undefined) {
-      var count = this._custom.length;
-      var per = (max - min) / count;
-      for (let i = 0; i < count; i++) {
-        range.push([(min + per * i).toFixed(1), this._custom[i]]);
-      }
-    } else {
-      for (let i = 0; i < r.length; i++) {
-        range.push([r[i], c[i]]);
-      }
-    }
-
-    for (let i = 0; i < range.length; i++) {
-      const r = range[i];
-      const nextR = range[i + 1];
-      var div1 = $('<div></div>');
-      div1.addClass('flexbox align-items margin-top');
-      var div2 = $('<div></div>');
-      div2.addClass('rectangle');
-
-      var color = r[1];
-      var bgcolor =
-        'rgba(' +
-        color[0] * 255 +
-        ', ' +
-        color[1] * 255 +
-        ', ' +
-        color[2] * 255 +
-        ', ' +
-        color[3] +
-        ')';
-      div2.css('background-color', bgcolor);
-      var div3 = $('<div></div>');
-      var d;
-      if (nextR != undefined) {
-        d = r[0] + '&nbsp;~' + nextR[0] + '&nbsp;' + Util.factorUnit2[name];
-      } else {
-        d =
-          '&nbsp;&nbsp;&nbsp;&nbsp; > &nbsp;' +
-          r[0] +
-          ' &nbsp;' +
-          Util.factorUnit2[name];
-      }
-      div3.append(d);
-      div1.append(div2);
-      div1.append(div3);
-      legend.append(div1);
-    }
-
-    if (animation == false) {
-      return;
-    }
-    legend.hide('fast', function () {
-      setTimeout(() => {
-        legend.show('fast');
-      }, 500);
-    });
   }
 };
 

--
Gitblit v1.9.3