From 2800fa4f32f3900509cb4d6eefaf2bfaf54efdd7 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 21 Apr 2025 18:29:09 +0800
Subject: [PATCH] fix: 天气显示

---
 src/components/CurrentTaskDetails/TaskDetailsRight.vue |   66 ++++++++++++++++++++++++++-------
 1 files changed, 52 insertions(+), 14 deletions(-)

diff --git a/src/components/CurrentTaskDetails/TaskDetailsRight.vue b/src/components/CurrentTaskDetails/TaskDetailsRight.vue
index 61b2189..47d2c31 100644
--- a/src/components/CurrentTaskDetails/TaskDetailsRight.vue
+++ b/src/components/CurrentTaskDetails/TaskDetailsRight.vue
@@ -1,30 +1,29 @@
 <template>
 	<div class="task-details-right-container">
-		<div  class="titleImg">
+		<div class="titleImg">
 			<img :src="droneImg" alt="" />
 		</div>
 
 		<div class="taskInfo">
 			<div v-for="item in list" class="itemBox">
 				<div class="itemName">{{ item.name }}:</div>
-				<div class="itemValue">{{ item.value }}</div>
+				<div class="itemValue" v-if="item.name !== '飞行事件'">{{ item.value }}</div>
+				<div class="flightEvents" v-else>
+					<img v-for="item in flightEvents" alt="" :src="item.img" :title="item.name"></img>
+				</div>
 			</div>
 		</div>
 
-		<BaseControl v-if="taskDetails.workspace_id"/>
+		<BaseControl v-if="workspace_id" />
 	</div>
 </template>
 <script setup>
 import droneImg from '@/assets/images/taskManagement/taskIntermediateContent/droneImg.png'
 import BaseControl from '@/components/CurrentTaskDetails/ControlPanel/BaseControl.vue'
+import { droneEventList } from '@/const/drc'
 
 const taskDetails = inject('taskDetails')
-
-watch(taskDetails, () => {
-	list.value.forEach(item => {
-		item.value = taskDetails?.value?.[item.field] || ''
-	})
-})
+const workspace_id = inject('workspace_id')
 
 const list = ref([
 	{ name: '任务编号', value: '', field: 'job_info_num' },
@@ -37,6 +36,30 @@
 	{ name: '关联算法', value: '', field: 'ai_type_str' },
 	{ name: '任务描述', value: '', field: 'remark' },
 ])
+const flightEvents = ref([])
+
+watch(
+	taskDetails,
+	() => {
+		list.value.forEach(item => {
+			item.value = taskDetails?.value?.[item.field] || ''
+			if (item.name === '任务频次') {
+				const { rep_rule_type = '', rep_rule_val = '' } = taskDetails?.value || {}
+				item.value = rep_rule_type + ' -- ' + rep_rule_val
+			}
+			if (item.name === '飞行事件') {
+				const { action_modes = [] } = taskDetails?.value || {}
+				flightEvents.value = action_modes.flatMap(({ actionActuatorFunc }) =>
+					droneEventList.filter(({ value }) => actionActuatorFunc === value)
+				)
+			}
+		})
+	},
+	{
+		immediate: true,
+		deep: true,
+	}
+)
 </script>
 
 <style scoped lang="scss">
@@ -47,14 +70,15 @@
 	top: 0;
 	width: 297px;
 	height: 1002px;
-	background: rgba(31, 31, 31, 0.15);
+	background: rgba(31, 31, 31, 0.5);
+	backdrop-filter: blur(0.5rem);
 	border-radius: 0px 40px 40px 0px;
 	display: flex;
 	flex-direction: column;
 	gap: 25px 0;
 	align-items: center;
 
-	.manualControl{
+	.manualControl {
 		background: transparent !important;
 	}
 
@@ -68,14 +92,15 @@
 		display: flex;
 		align-items: center;
 		justify-content: center;
-		img{
+
+		img {
 			width: 100px;
 			height: 68px;
 		}
 	}
 
 	.taskInfo {
-		width: 220px;
+		width: 230px;
 		height: 520px;
 		display: flex;
 		overflow: auto;
@@ -86,16 +111,29 @@
 			display: flex;
 			font-family: Segoe UI, Segoe UI;
 			font-size: 14px;
+
 			.itemName {
 				flex-shrink: 0;
 				font-weight: 400;
 
-				color: #D3D3D3;
+				color: #d3d3d3;
 			}
 
 			.itemValue {
 				font-weight: bold;
 				color: #ffffff;
+				word-break: break-all; /* 强制在任意字符断行 */
+				white-space: normal; /* 允许正常换行 */
+			}
+
+			.flightEvents{
+				display: flex;
+				flex-wrap: wrap;
+				gap: 10px 10px;
+				img {
+					width: 30px;
+					height: 30px;
+				}
 			}
 		}
 	}

--
Gitblit v1.9.3