From 0ecf7b3bc6d6a008a804d55c859833bf2cf6473a Mon Sep 17 00:00:00 2001
From: zmc <zmc_li@foxmail.com>
Date: 星期三, 22 十一月 2023 10:06:29 +0800
Subject: [PATCH] 1.增加了有效率异常展示页面 2.风险模型的所属场景和运维商的详细信息,以及1个跳转页面链接 3.飞行巡检页面增加增加地址和运维商的筛选条件 4.飞行巡检页面是最新当日日期时,每类异常右上角增加一个“辅助审核” 5.历史数据管理增加 站点总数

---
 src/utils/time.js |  153 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 140 insertions(+), 13 deletions(-)

diff --git a/src/utils/time.js b/src/utils/time.js
index ec7eeb8..c416595 100644
--- a/src/utils/time.js
+++ b/src/utils/time.js
@@ -1,19 +1,146 @@
+/* 鏃堕棿鍑芥暟 */
 
 import dayjs from 'dayjs'
+import lineChart from '@/utils/chartFunction/lineChart.js'
 export default {
+  // 鍒ゆ柇宸查�夌殑鏈堜唤鏄惁澶т簬褰撳墠鏈堜唤
+  judgeDateValid(date) {
+    // 鑾峰緱褰撴湀鏈堜唤
+    let currentMonth = dayjs()
+    let selectMonth = date.getTime()
+    // 閫夋嫨澶т簬鐜板湪鏈堜唤
+    if (selectMonth > currentMonth) {
+      return true
+    }
 
-      
-        // 鍒ゆ柇宸查�夌殑鏈堜唤鏄惁澶т簬褰撳墠鏈堜唤
-        judgeDateValid(date){
-          // 鑾峰緱褰撴湀鏈堜唤
-          let currentMonth = dayjs()
-          let selectMonth = date.getTime()
-          // 閫夋嫨澶т簬鐜板湪鏈堜唤
-          if(selectMonth > currentMonth){
-            return true
-          }
+    return false
+  },
 
-          return false
-        }
+  /**
+   * 鍒ゆ柇涓や釜鏃ユ湡鏄惁鐩稿樊鎸囧畾鐨勫垎閽熸暟
+   * @param锛�
+   * @returns锛�
+   */
+  isTimeOverFifty(time1, time2, minutes = 15) {
+    let t1 = dayjs(time1)
+    let t2 = dayjs(time2)
 
-}
\ No newline at end of file
+    let timeDifferce = Math.abs(t1.diff(t2, 'minute'))
+    if (timeDifferce <= minutes) {
+      return false
+    }
+    return true
+  },
+
+  /**
+   * 鏍规嵁鎸囧畾鐨勫垎閽熼棿闅旓紝鍒掑垎璧峰鏃堕棿
+   * @param锛氬紑濮嬫椂闂� 缁撴潫鏃堕棿 闂撮殧鍒嗛挓鏁�
+   * @returns锛�
+   */
+  ascTime(beginTime, endTime, intervalMinute = 15) {
+    if (beginTime >= endTime) {
+      return []
+    }
+
+    let time = []
+    time.push(beginTime)
+    let bt = dayjs(beginTime).add(intervalMinute, 'minute')
+    let et = dayjs(endTime)
+
+    while (bt < et) {
+      time.push(bt.format('YYYY-MM-DD HH:mm:ss'))
+      bt = dayjs(bt).add(intervalMinute, 'minute')
+    }
+    return time
+  },
+
+  /**
+   * 杩斿洖flag涓嶇瓑浜嶯鐨勬椂闂寸偣鍜屾暟鎹己澶辩殑鏃堕棿鐐�
+   * @param锛氭壃灏樻暟鎹紝鍗囧簭鐨勬椂闂村瓧绗︿覆鏁扮粍(鎺ュ彛涓繑鍥炵殑宸茬粡鏄崌搴�)
+   * @returns锛氬崌搴忕殑鏃堕棿鐐�
+   */
+  invalidTime(dustData, timeArr) {
+    // 鍙傛暟涓虹┖鍒欓��鍑�
+    if (!dustData.length || !timeArr.length) {
+      return []
+    }
+
+    let time = []
+    timeArr.forEach((item) => {
+      let r = lineChart.findDate(dustData, item)
+      // 娌℃湁鎵惧埌瀵瑰簲鏃堕棿鐨勬暟鎹�
+      if (r == false) {
+        // 灏嗚鏃堕棿鍔犲叆鏁扮粍
+        time.push(item)
+      }
+
+      // 鎵惧埌瀵瑰簲鏃堕棿鐨勬暟鎹紝骞朵笖璇ユ暟鎹爣璇嗕笉绛変笌鈥楴鈥�
+      if (r && r.flag != 'N') {
+        // 灏嗚鏁版嵁鐨勯噰闆嗘椂闂村姞鍏ユ暟缁�
+        time.push(r.lst)
+      }
+    })
+
+    return time
+  },
+
+  /**
+   * 鍙栨寚瀹氶棿闅旂殑鏃堕棿涓鸿繛缁椂闂达紝鏀惧湪鏁扮粍涓�� 瀛ょ珛鐨勬椂闂寸偣涓庤嚜韬畻涓�涓繛缁�
+   * 鐩殑鏄瀯閫犳湁鏁堢巼缂哄け鐨勯鑹茶儗鏅尯闂�
+   * @param锛氭椂闂村瓧绗︿覆鏁扮粍
+   * @returns锛歔 ['2023-11-02 00:00:00','2023-11-02 00:15:00','2023-11-02 00:30:00']]
+   */
+  seriesTime(timeArr, intervalMinute = 15) {
+    let temp = []
+    let temp_1 = []
+    for (let i = 0; i < timeArr.length; i++) {
+      // 褰撳墠鏃堕棿
+      let currentTime = timeArr[i]
+      if (i === 0) {
+        temp_1.push(currentTime)
+        continue
+      }
+      // 鍓嶄竴涓�
+      let pre = timeArr[i - 1]
+
+      // 瓒呰繃15鍒嗛挓
+      if (this.isTimeOverFifty(pre, currentTime, intervalMinute)) {
+        // 鍒楄〃涓鸿繛缁椂闀夸负鑷韩
+        temp.push(temp_1)
+        temp_1 = [currentTime]
+      }
+      // 涓嶈秴杩�15鍒嗛挓
+      else {
+        temp_1.push(currentTime)
+      }
+    }
+
+    if (temp_1.length > 0) {
+      temp.push(temp_1)
+    }
+
+    // 鏁寸悊鏁版嵁
+    let temp_2 = []
+    for (let i = 0; i < temp.length; i++) {
+      if (temp[i].length == 1) {
+        temp_2.push([temp[i][0], temp[i][0]])
+      } else if (temp[i].length > 1) {
+        temp_2.push([temp[i][0], temp[i][temp[i].length - 1]])
+      }
+    }
+
+    return temp_2
+  },
+
+  splitTime(timeArr) {
+    let result = []
+    for (let i = 0; i < timeArr.length; i++) {
+      let temp = []
+      for (let j = 0; j < timeArr[i].length; j++) {
+        temp.push(timeArr[i][j].slice(11, -3))
+      }
+      result.push(temp)
+    }
+    return result
+  }
+}

--
Gitblit v1.9.3