From edf1e6efa079e91aeb162e9376c84fecbea85528 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Thu, 05 Mar 2026 14:47:26 +0800
Subject: [PATCH] feat: 轨迹假的高度

---
 applications/drone-command/src/views/dataCockpit/components/LeftContainer.vue |   72 ++++++++++++++++++++++++------------
 1 files changed, 48 insertions(+), 24 deletions(-)

diff --git a/applications/drone-command/src/views/dataCockpit/components/LeftContainer.vue b/applications/drone-command/src/views/dataCockpit/components/LeftContainer.vue
index 07b66eb..a524faa 100644
--- a/applications/drone-command/src/views/dataCockpit/components/LeftContainer.vue
+++ b/applications/drone-command/src/views/dataCockpit/components/LeftContainer.vue
@@ -12,7 +12,16 @@
 			</div>
 
 			<div class="content">
-				<component :is="currentComponent" />
+				<RealWarning
+					v-if="activeIdModel === 1"
+					:data="realWarningData"
+					:loading="realWarningLoading"
+					@signal="emit('real-warning-signal', $event)"
+					@counter="emit('real-warning-counter', $event)"
+					@favorite="emit('real-warning-favorite', $event)"
+				/>
+				<EquipmentWarning v-else-if="activeIdModel === 2" />
+				<HistoryWarning v-else />
 			</div>
 		</div>
 
@@ -24,11 +33,11 @@
 
 <script setup>
 import TitleTemplate from './templateComponents/TitleTemplate.vue'
-import RealWarning from './RealWarning.vue'
 import EquipmentWarning from './EquipmentWarning.vue'
 import HistoryWarning from './HistoryWarning.vue'
 import { alarmStatisticsApi } from '@/api/dataCockpit'
-import { onMounted } from 'vue'
+import { computed, onMounted, ref } from 'vue'
+import RealWarning from './RealWarning.vue'
 
 const props = defineProps({
 	activeId: {
@@ -38,10 +47,24 @@
 	collapsed: {
 		type: Boolean,
 		default: false
+	},
+	realWarningData: {
+		type: Array,
+		default: () => []
+	},
+	realWarningLoading: {
+		type: Boolean,
+		default: false
 	}
 })
 
-const emit = defineEmits(['update:activeId', 'update:collapsed'])
+const emit = defineEmits([
+	'update:activeId',
+	'update:collapsed',
+	'real-warning-signal',
+	'real-warning-counter',
+	'real-warning-favorite'
+])
 
 const activeIdModel = computed({
 	get: () => props.activeId,
@@ -74,10 +97,6 @@
 	}
 ])
 
-const currentComponent = computed(() => {
-	return categoryList.value.find(i => i.id === activeIdModel.value)?.component
-})
-
 const toggleCollapse = () => {
 	collapsedModel.value = !collapsedModel.value
 }
@@ -107,30 +126,25 @@
 	transition: transform 0.3s ease-in-out;
 
 	&.collapsed {
-		transform: translateX(-100%);
+		transform: translateX(calc(-100% - 17px - 32px));
 	}
 }
 
 .collapse-btn {
 	position: absolute;
-	top: 50%;
-	left: 357px;
-	background: rgba(17, 23, 34, 0.8);
-	border: 1px solid #333355;
-	border-left: none;
-	border-radius: 0 4px 4px 0;
+	bottom: 454px;
+	left: 300px;
 	cursor: pointer;
 	display: flex;
 	align-items: center;
 	justify-content: center;
 	color: #fff;
 	z-index: 10;
-	backdrop-filter: blur(5px);
-	transform: translateY(-50%);
+	transform: translateY(50%);
 
 	.arrow {
-		width: 24px;
-		height: 24px;
+		width: 36px;
+		height: 36px;
 		background: url('@/assets/images/dataCockpit/left-btn.png') center / 100% 100% no-repeat;
 	}
 
@@ -140,8 +154,19 @@
 }
 
 .category-container {
+	position: relative;
 	display: flex;
 	justify-content: space-between;
+
+	&::after {
+		content: '';
+		position: absolute;
+		left: 0;
+		bottom: 0;
+		width: 100%;
+		height: 1px;
+		background: #333355;
+	}
 
 	.category-item {
 		position: relative;
@@ -175,8 +200,7 @@
 			left: 0;
 			bottom: 0;
 			width: 100%;
-			height: 1px;
-			background: #333355;
+			height: 0;
 		}
 
 		&.active::after {
@@ -184,12 +208,13 @@
 			background: #284FE3;
 			box-shadow: 0px 3px 2px 0px rgba(15, 89, 255, 0.1), 0px 7px 5px 0px rgba(15, 89, 255, 0.15), 0px 13px 10px 0px rgba(15, 89, 255, 0.18), 0px 22px 18px 0px rgba(15, 89, 255, 0.21), 0px 42px 33px 0px rgba(15, 89, 255, 0.26), 0px 100px 80px 0px rgba(15, 89, 255, 0.36);
 			border-radius: 5px 5px 0px 0px;
+			z-index: 9;
 		}
 
 		.badge {
 			position: absolute;
 			top: 16px;
-			right: 4px;
+			right: -4px;
 			min-width: 18px;
 			line-height: 18px;
 			font-size: 12px;
@@ -207,7 +232,6 @@
 	height: 0;
 	flex: 1;
 	margin-top: 20px;
-	overflow-x: hidden;
-	overflow-y: auto;
+	overflow: hidden;
 }
 </style>

--
Gitblit v1.9.3