From 6e88705bd5b443a259b24c17c8a299765d059d96 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 23 Jul 2026 16:50:41 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web
---
applications/drone-command/src/views/dataCockpit/components/HistoryWarning.vue | 47 ++++++++++++++++++-----------------------------
1 files changed, 18 insertions(+), 29 deletions(-)
diff --git a/applications/drone-command/src/views/dataCockpit/components/HistoryWarning.vue b/applications/drone-command/src/views/dataCockpit/components/HistoryWarning.vue
index a0d460a..e07f258 100644
--- a/applications/drone-command/src/views/dataCockpit/components/HistoryWarning.vue
+++ b/applications/drone-command/src/views/dataCockpit/components/HistoryWarning.vue
@@ -1,23 +1,16 @@
<template>
- <div
- class="history-warning"
- v-loading="loading"
- element-loading-background="rgba(5, 5, 15, 0.6)"
- element-loading-text="加载中..."
- >
+ <div class="history-warning" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"
+ element-loading-text="加载中...">
<!-- 搜索区(设计稿红框) -->
<div class="search-box">
<!-- 关键字 -->
<el-input v-model="query.keyword" class="command-input" placeholder="请输入数据名称" clearable
- @keyup.enter="onSearch">
+ @keyup.enter="onSearch" @clear="onSearch">
</el-input>
<!-- 日期范围 -->
- <el-date-picker v-model="query.dateRange"
- class="command-date-picker"
- popper-class="command-date-picker-popper"
- type="daterange"
- range-separator="~"
+ <el-date-picker v-model="query.dateRange" class="command-date-picker"
+ popper-class="command-date-picker-popper" type="daterange" range-separator="~"
start-placeholder="创建开始日期" end-placeholder="结束日期" format="YYYY年MM月DD日" value-format="YYYY-MM-DD"
:clearable="true" @change="onSearch">
</el-date-picker>
@@ -26,26 +19,22 @@
<!-- 列表 -->
<div class="list-content">
<EmptyState v-if="!filteredList.length" />
- <HistoryTemplate
- v-else
- v-for="(item, ind) in filteredList"
- :key="item.id || ind"
- :data="item"
- @click="onCardClick"
- />
+ <HistoryTemplate v-else v-for="(item, ind) in filteredList" :key="item.id || ind" :data="item"
+ @click="onCardClick" />
</div>
</div>
</template>
<script setup>
+import { dateRangeFormat } from '@ztzf/utils'
import { ref, computed, onMounted } from 'vue'
import HistoryTemplate from './templateComponents/HistoryTemplate.vue'
import { alarmLogApi } from '@/api/dataCockpit'
import EmptyState from './EmptyState.vue'
const historyWarningData = ref([])
-const loading = ref(true)
-const minLoadingMs = 400
+const loading = ref(false)
+const loadingTimer = ref(null)
// 查询条件:keyword + dateRange(YYYY-MM-DD数组)
const query = ref({
@@ -62,10 +51,14 @@
}
const fetchHistoryWarning = async () => {
- const startAt = Date.now()
- loading.value = true
+
+ // 只有超过200ms才显示loading,避免闪烁
+ loadingTimer.value = setTimeout(() => {
+ loading.value = true
+ }, 200)
+
try {
- const [startTime, endTime] = query.value.dateRange || []
+ const [startTime, endTime] = dateRangeFormat(query.value.dateRange) || []
const keyword = (query.value.keyword || '').trim()
const params = {
current: 1,
@@ -80,10 +73,7 @@
const records = res?.data?.data?.records ?? []
historyWarningData.value = records
} finally {
- const elapsed = Date.now() - startAt
- if (elapsed < minLoadingMs) {
- await new Promise((resolve) => setTimeout(resolve, minLoadingMs - elapsed))
- }
+ if (loadingTimer.value) clearTimeout(loadingTimer.value)
loading.value = false
}
}
@@ -121,5 +111,4 @@
overflow-y: auto;
}
}
-
</style>
--
Gitblit v1.9.3