From 254afaafce9b7e907afc624d89ced239bc9ccb90 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 20 Jan 2026 09:24:20 +0800
Subject: [PATCH] feat:数据驾驶舱调整

---
 applications/drone-command/public/fonts/DinAB.TTF                                |    0 
 applications/drone-command/src/views/dataCockpit/components/RightContainer.vue   |    4 ++--
 applications/drone-command/src/components/map-container/device-map-container.vue |   30 +++++++++++++++++++++++++++++-
 applications/drone-command/public/fonts/font.css                                 |    7 +++++++
 applications/drone-command/src/views/dataCockpit/components/CenterContainer.vue  |    8 ++++----
 5 files changed, 42 insertions(+), 7 deletions(-)

diff --git a/applications/drone-command/public/fonts/DinAB.TTF b/applications/drone-command/public/fonts/DinAB.TTF
new file mode 100644
index 0000000..81f2f7a
--- /dev/null
+++ b/applications/drone-command/public/fonts/DinAB.TTF
Binary files differ
diff --git a/applications/drone-command/public/fonts/font.css b/applications/drone-command/public/fonts/font.css
index 4da8f62..8cd27b0 100644
--- a/applications/drone-command/public/fonts/font.css
+++ b/applications/drone-command/public/fonts/font.css
@@ -52,3 +52,10 @@
   font-display: swap;
 }
 
+@font-face {
+  font-family: "DinAB";
+  src: url("DinAB.TTF") format("truetype");
+  font-weight: normal;
+  font-style: normal;
+  font-display: swap;
+}
\ No newline at end of file
diff --git a/applications/drone-command/src/components/map-container/device-map-container.vue b/applications/drone-command/src/components/map-container/device-map-container.vue
index 8610eaf..46199a1 100644
--- a/applications/drone-command/src/components/map-container/device-map-container.vue
+++ b/applications/drone-command/src/components/map-container/device-map-container.vue
@@ -22,7 +22,15 @@
 
 		<div v-if="popupVisible" class="device-popup" :style="popupStyle" @click.stop>
 			<div class="device-popup__header">
-				<span class="device-popup__title">{{ popupTitle }}</span>
+				<el-tooltip
+					class="device-popup__title-tooltip"
+					:content="popupTitle"
+					placement="top"
+					effect="dark"
+					:show-after="200"
+				>
+					<span class="device-popup__title">{{ popupTitleDisplay }}</span>
+				</el-tooltip>
 
 				<img class="device-popup__close" :src="popupClose" alt="" @click.stop="closePopup">
 			</div>
@@ -579,7 +587,13 @@
 	top: `${popupPosition.value.y}px`,
 }))
 
+const POPUP_TITLE_MAX = 12
 const popupTitle = computed(() => selectedDevice.value?.deviceName || selectedDevice.value?.deviceModel || '-')
+const popupTitleOverflow = computed(() => popupTitle.value.length > POPUP_TITLE_MAX)
+const popupTitleDisplay = computed(() => {
+	if (!popupTitleOverflow.value) return popupTitle.value
+	return `${popupTitle.value.slice(0, POPUP_TITLE_MAX)}……`
+})
 const popupStatusText = computed(() => {
 	const status = selectedDevice.value?.status
 	if (status === 0) return '在线'
@@ -828,6 +842,20 @@
 			border-radius: 0px 0px 5px 5px;
 		}
 
+		.device-popup__title-tooltip {
+			flex: 1;
+			min-width: 0;
+			display: block;
+		}
+
+		.device-popup__title {
+			display: inline-block;
+			max-width: 100%;
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+		}
+
 		.device-popup__close {
 			cursor: pointer;
 		}
diff --git a/applications/drone-command/src/views/dataCockpit/components/CenterContainer.vue b/applications/drone-command/src/views/dataCockpit/components/CenterContainer.vue
index 170826c..9e43ad3 100644
--- a/applications/drone-command/src/views/dataCockpit/components/CenterContainer.vue
+++ b/applications/drone-command/src/views/dataCockpit/components/CenterContainer.vue
@@ -25,7 +25,7 @@
 
 			<div class="list">
 				<div class="item" v-for="(item, ind) in equipmentList" :key="ind">
-					<div class="val" :class="{highlight: item.isHighlight}" @click="equipmentClick(item.isHighlight)">
+					<div class="val" :class="{ highlight: item.isHighlight }" @click="equipmentClick(item.isHighlight)">
 						{{ item.value }}
 					</div>
 
@@ -158,7 +158,7 @@
 		display: flex;
 		align-items: center;
 		height: 100px;
-		background: rgba(0,0,0,0.3);
+		background: rgba(0, 0, 0, 0.3);
 		box-sizing: border-box;
 		border-radius: 16px 16px 16px 16px;
 		pointer-events: auto;
@@ -172,7 +172,7 @@
 			height: 100%;
 			z-index: -1;
 			background: rgba(17, 23, 34, 0.56);
-      		backdrop-filter: blur(2px);
+			backdrop-filter: blur(2px);
 			border-radius: 16px 16px 16px 16px;
 		}
 
@@ -208,7 +208,7 @@
 				}
 
 				.val {
-					font-family: Source Han Sans CN, Source Han Sans CN;
+					font-family: DinAB;
 					font-weight: bold;
 					font-size: 30px;
 					text-align: left;
diff --git a/applications/drone-command/src/views/dataCockpit/components/RightContainer.vue b/applications/drone-command/src/views/dataCockpit/components/RightContainer.vue
index fb146b5..5cd84d9 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-19 14:05:35
+ * @LastEditTime : 2026-01-20 09:19:16
  * @FilePath     : \applications\drone-command\src\views\dataCockpit\components\RightContainer.vue
  * @Description  : 
  * Copyright 2026 OBKoro1, All Rights Reserved. 
@@ -233,7 +233,7 @@
 
 			.val {
 				margin-top: 10px;
-				font-family: DIN, DIN;
+				font-family: DinAB;
 				font-weight: bold;
 				font-size: 22px;
 				color: #FFFFFF;

--
Gitblit v1.9.3