From b5bbbd19cf0b3c2b7674e5ecb6c1847f0ec734e4 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Wed, 04 Mar 2026 16:26:29 +0800
Subject: [PATCH] feat: 贴地

---
 applications/drone-command/src/views/dataCockpit/components/EquipmentWarning.vue |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/applications/drone-command/src/views/dataCockpit/components/EquipmentWarning.vue b/applications/drone-command/src/views/dataCockpit/components/EquipmentWarning.vue
index 142396e..7e3c7eb 100644
--- a/applications/drone-command/src/views/dataCockpit/components/EquipmentWarning.vue
+++ b/applications/drone-command/src/views/dataCockpit/components/EquipmentWarning.vue
@@ -35,8 +35,8 @@
 import EmptyState from './EmptyState.vue'
 
 const equipmentWarningData = ref([])
-const loading = ref(true)
-const minLoadingMs = 400
+const loading = ref(false)
+const loadingTimer = ref(null)
 
 const statusMap = {
 	0: { text: '在线', statusType: 'online' },
@@ -69,18 +69,18 @@
 }
 
 const fetchDeviceWarning = async () => {
-	const startAt = Date.now()
-	loading.value = true
+	// 只有超过200ms才显示loading,避免闪烁
+	loadingTimer.value = setTimeout(() => {
+		loading.value = true
+	}, 200)
+
 	try {
 		const params = { current: 1, size: 20, deviceStatusList: '1,2,3' }
 		const res = await deviceSearchApi(params)
 		const records = res?.data?.data?.records ?? []
 		equipmentWarningData.value = records.map(formatDeviceItem)
 	} 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
 	}
 }

--
Gitblit v1.9.3