From 89380e6260a75d1d3b94de687ebcc2f50d50659d Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 03 Feb 2026 15:44:33 +0800
Subject: [PATCH] feat:环境变量配置调整
---
applications/drone-command/src/views/dataCockpit/components/RealWarning.vue | 107 +++++++++++++----------------------------------------
1 files changed, 26 insertions(+), 81 deletions(-)
diff --git a/applications/drone-command/src/views/dataCockpit/components/RealWarning.vue b/applications/drone-command/src/views/dataCockpit/components/RealWarning.vue
index 7210005..09d99e6 100644
--- a/applications/drone-command/src/views/dataCockpit/components/RealWarning.vue
+++ b/applications/drone-command/src/views/dataCockpit/components/RealWarning.vue
@@ -2,108 +2,53 @@
* @Author : yuan
* @Date : 2026-01-08 09:29:07
* @LastEditors : yuan
- * @LastEditTime : 2026-01-08 14:49:09
+ * @LastEditTime : 2026-01-27 14:49:56
* @FilePath : \applications\drone-command\src\views\dataCockpit\components\RealWarning.vue
* @Description :
* Copyright 2026 OBKoro1, All Rights Reserved.
* 2026-01-08 09:29:07
-->
<template>
- <div
- class="real-warning"
- v-loading="loading"
- element-loading-background="rgba(5, 5, 15, 0.6)"
- element-loading-text="加载中..."
- >
- <EmptyState v-if="!realWarningData.length" />
- <RealTemplate
- v-else
- v-for="(item, ind) in realWarningData"
- :key="ind"
- :data="item"
- @signal="() => handleAction('signal', item)"
- @counter="() => handleAction('counter', item)"
- @favorite="() => console.log('收藏', item.id)"
- />
+ <div class="real-warning" v-loading="props.loading" element-loading-background="rgba(5, 5, 15, 0.6)"
+ element-loading-text="加载中...">
+ <div class="list-content">
+ <EmptyState v-if="!props.data.length && !props.loading" />
+ <RealTemplate v-else v-for="(item, ind) in props.data" :key="ind" :data="item"
+ @signal="emit('signal', item)" @counter="emit('counter', item)" @favorite="emit('favorite', item)" />
+ </div>
</div>
</template>
<script setup>
import RealTemplate from './templateComponents/RealTemplate.vue'
-import { alarmLogApi, interferenceAndExpulsionApi } from '@/api/dataCockpit'
-import { onMounted, ref } from 'vue'
import EmptyState from './EmptyState.vue'
-import { ElMessage } from 'element-plus'
-const realWarningData = ref([])
-const loading = ref(false)
-const minLoadingMs = 400
-
-const actionTextMap = {
- signal: '信号干扰',
- counter: '诱导驱离'
-}
-
-const buildPayload = (item) => ({
- alarmRecordId: item.id,
- areaCode: item.areaCode,
- counterEffect: '',
- coverRadiusM: item.coverRadiusM,
- deployLatitude: item.latitude,
- deployLongitude: item.longitude,
- deviceCode: item.deviceCode,
- deviceId: item.deviceId,
- deviceModel: item.deviceModel,
- deviceName: item.deviceName,
- deviceType: item.deviceType,
- droneDeviceCode: item.droneSerialNo,
- droneName: item.droneName,
- droneType: item.droneType,
- findTime: item.alarmTime,
- id: item.id,
- workMode: ''
+const props = defineProps({
+ data: {
+ type: Array,
+ default: () => []
+ },
+ loading: {
+ type: Boolean,
+ default: false
+ }
})
-const handleAction = async (type, item) => {
- const actionText = actionTextMap[type] || '操作'
- try {
- const res = await interferenceAndExpulsionApi(buildPayload(item))
- if (res?.data?.success) {
- ElMessage({ type: 'success', message: `${actionText}成功` })
- } else {
- ElMessage({ type: 'error', message: res?.data?.msg || `${actionText}失败` })
- }
- } catch (error) {
- ElMessage({ type: 'error', message: `${actionText}失败` })
- }
-}
-
-const fetchRealWarning = async () => {
- const startAt = Date.now()
- loading.value = true
- try {
- const params = { current: 1, size: 20, alarmType: '1' }
- const res = await alarmLogApi(params)
- const records = res?.data?.data?.records ?? []
- realWarningData.value = records
- } finally {
- const elapsed = Date.now() - startAt
- if (elapsed < minLoadingMs) {
- await new Promise((resolve) => setTimeout(resolve, minLoadingMs - elapsed))
- }
- loading.value = false
- }
-}
-
-onMounted(() => {
- fetchRealWarning()
-})
+const emit = defineEmits(['signal', 'counter', 'favorite'])
</script>
<style lang="scss" scoped>
.real-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