From 86c2d61ba9d33f1886cfc904dcaf17f033e4c80a Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 17 Jan 2026 13:52:53 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web
---
applications/drone-command/src/views/dataCockpit/components/RightContainer.vue | 45 ++++++++++++++++++++++++++++++---------------
1 files changed, 30 insertions(+), 15 deletions(-)
diff --git a/applications/drone-command/src/views/dataCockpit/components/RightContainer.vue b/applications/drone-command/src/views/dataCockpit/components/RightContainer.vue
index 33235ae..1fa333e 100644
--- a/applications/drone-command/src/views/dataCockpit/components/RightContainer.vue
+++ b/applications/drone-command/src/views/dataCockpit/components/RightContainer.vue
@@ -2,7 +2,7 @@
* @Author : yuan
* @Date : 2026-01-07 15:17:54
* @LastEditors : yuan
- * @LastEditTime : 2026-01-08 17:04:11
+ * @LastEditTime : 2026-01-16 17:23:06
* @FilePath : \applications\drone-command\src\views\dataCockpit\components\RightContainer.vue
* @Description :
* Copyright 2026 OBKoro1, All Rights Reserved.
@@ -59,7 +59,7 @@
import EmptyState from './EmptyState.vue'
import zcsbLogo from '@/assets/images/dataCockpit/zcsb.png'
import fzsbLogo from '@/assets/images/dataCockpit/fzsb.png'
-import { deviceSearchApi } from '@/api/dataCockpit'
+import { deviceSearchApi, deviceStatisticsApi } from '@/api/dataCockpit'
const props = defineProps({
collapsed: {
@@ -68,7 +68,7 @@
}
})
-const emit = defineEmits(['update:collapsed'])
+const emit = defineEmits(['update:collapsed', 'update:onlineDevices'])
const collapsedModel = computed({
get: () => props.collapsed,
@@ -79,13 +79,13 @@
{
id: 1,
name: '侦测设备',
- val: 169,
+ val: 0,
logo: zcsbLogo
},
{
id: 2,
name: '反制设备',
- val: 169,
+ val: 0,
logo: fzsbLogo
}
])
@@ -94,7 +94,7 @@
const historyVisible = ref(false)
const historyDevice = ref(null)
-const loading = ref(false)
+const loading = ref(true)
const minLoadingMs = 400
const onHistory = (item) => {
@@ -148,6 +148,7 @@
const res = await deviceSearchApi(params)
const records = res?.data?.data?.records ?? []
counterDeviceStatusList.value = records.map(formatDeviceItem)
+ emit('update:onlineDevices', records)
} finally {
const elapsed = Date.now() - startAt
if (elapsed < minLoadingMs) {
@@ -159,7 +160,26 @@
onMounted(() => {
fetchDeviceList()
+ fetchDeviceStatistics()
})
+
+const normalizeType = (value) => {
+ if (value === 1 || value === '1') return '侦测设备'
+ if (value === 2 || value === '2') return '反制设备'
+ if (value === 'detect') return '侦测设备'
+ if (value === 'counter') return '反制设备'
+ return value
+}
+
+const fetchDeviceStatistics = async () => {
+ const res = await deviceStatisticsApi()
+ const list = res?.data?.data ?? []
+ const map = new Map(list.map((item) => [normalizeType(item.type), item.count]))
+ categoryList.value = categoryList.value.map((item) => ({
+ ...item,
+ val: map.has(item.name) ? map.get(item.name) : item.val
+ }))
+}
</script>
<style lang="scss" scoped>
@@ -239,30 +259,25 @@
position: relative;
&.collapsed {
- transform: translateX(100%);
+ transform: translateX(calc(100% + 17px + 32px));
}
}
.collapse-btn {
position: absolute;
top: 50%;
- right: 357px;
- background: rgba(17, 23, 34, 0.8);
- border: 1px solid #333355;
- border-right: none;
- border-radius: 4px 0 0 4px;
+ right: 300px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
z-index: 10;
- backdrop-filter: blur(5px);
transform: translateY(-50%);
.arrow {
- width: 24px;
- height: 24px;
+ width: 32px;
+ height: 32px;
background: url('@/assets/images/dataCockpit/right-btn.png') center / 100% 100% no-repeat;
}
--
Gitblit v1.9.3