From 1d552a3bad95caae4af15322df28e6240b797693 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Thu, 13 Aug 2026 15:32:06 +0800
Subject: [PATCH] feat: app视频封面图
---
applications/drone-command/src/views/dataCockpit/components/EquipmentWarning.vue | 41 ++++++++++++++++++++++++++---------------
1 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/applications/drone-command/src/views/dataCockpit/components/EquipmentWarning.vue b/applications/drone-command/src/views/dataCockpit/components/EquipmentWarning.vue
index 4f2c8a0..7e3c7eb 100644
--- a/applications/drone-command/src/views/dataCockpit/components/EquipmentWarning.vue
+++ b/applications/drone-command/src/views/dataCockpit/components/EquipmentWarning.vue
@@ -15,14 +15,16 @@
element-loading-background="rgba(5, 5, 15, 0.6)"
element-loading-text="加载中..."
>
- <EmptyState v-if="!equipmentWarningData.length" />
- <EquipmentTemplate
- v-else
- v-for="(item, ind) in equipmentWarningData"
- :key="ind"
- :data="item"
- @click="onCardClick"
- />
+ <div class="list-content">
+ <EmptyState v-if="!equipmentWarningData.length" />
+ <EquipmentTemplate
+ v-else
+ v-for="(item, ind) in equipmentWarningData"
+ :key="ind"
+ :data="item"
+ @click="onCardClick"
+ />
+ </div>
</div>
</template>
@@ -34,7 +36,7 @@
const equipmentWarningData = ref([])
const loading = ref(false)
-const minLoadingMs = 400
+const loadingTimer = ref(null)
const statusMap = {
0: { text: '在线', statusType: 'online' },
@@ -67,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
}
}
@@ -94,8 +96,17 @@
<style lang="scss" scoped>
.equipment-warning {
+ display: flex;
+ flex-direction: column;
width: 100%;
height: 100%;
+ overflow: hidden;
+}
+
+.list-content {
+ height: 0;
+ flex: 1;
+ overflow-y: auto;
}
</style>
--
Gitblit v1.9.3