From a969126ac530da96b1edb02152db87f0ad317f6e Mon Sep 17 00:00:00 2001
From: zmc <zmc_li@foxmail.com>
Date: 星期三, 22 十一月 2023 13:20:17 +0800
Subject: [PATCH] 1. 传递相对路径 2.使用循环展示异常卡片 3.飞行巡检写成组件
---
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