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/TaskDetailsLeft.vue |   58 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 36 insertions(+), 22 deletions(-)

diff --git a/src/components/CurrentTaskDetails/TaskDetailsLeft.vue b/src/components/CurrentTaskDetails/TaskDetailsLeft.vue
index 0e39eca..336d9f1 100644
--- a/src/components/CurrentTaskDetails/TaskDetailsLeft.vue
+++ b/src/components/CurrentTaskDetails/TaskDetailsLeft.vue
@@ -3,7 +3,7 @@
 		<div class="title">负载控制</div>
 		<div
 			class="singleCol"
-			v-for="item in list1"
+			v-for="item in list1.filter(i => i.show)"
 			@click="cameraType(item)"
 			:key="item.key"
 			:class="{ active: item.key === cameraParams.camera_type }"
@@ -21,7 +21,7 @@
 			<div @click="takePictures">拍照</div>
 			<div @click="recordFun">{{ isRecording ? '录像中...' : '录像' }}</div>
 		</div>
-		<div class="multiCol">
+		<div class="multiCol" v-if="wsInfo?.psdk_widget_values">
 			<div @click="shoutFun">{{ isRecordShouting ? '喊话' : '停止喊话' }}</div>
 			<div @click="broadcastFun">广播</div>
 		</div>
@@ -36,6 +36,7 @@
 				:max="cameraParams.camera_type === 'ir' ? 200 : 200"
 				@change="sliderChange"
 			/>
+			<div class="cameraZoomText">{{cameraParams.zoom_factor}}X</div>
 		</div>
 	</div>
 	<!-- 广播列表 -->
@@ -87,11 +88,11 @@
 
 <script setup>
 import EventBus from '@/event-bus'
-import { 
-	callPhotoAndVideoCmd, 
-	cameraParamsChangeApi, 
-	ptzResetModeApi, 
-	startVoice, 
+import {
+	callPhotoAndVideoCmd,
+	cameraParamsChangeApi,
+	ptzResetModeApi,
+	startVoice,
 	stayAwayRiver,
 	getVoiceFile,
 	playAudio,
@@ -101,16 +102,18 @@
 import Recorder from 'js-audio-recorder';
 import dayjs from 'dayjs'
 
+const wsInfo = inject('wsInfo')
 // 初始化喊话
 let globalShout = null
-
 const isRecording = ref(false)
-
-const list1 = ref([
-	{ name: '广角', key: 'wide' },
-	{ name: '变焦', key: 'zoom' },
-	{ name: '红外', key: 'ir' },
-])
+const hasIr = inject('hasIr')
+const list1 = computed(() => {
+	return [
+		{ name: '广角', key: 'wide',show:true },
+		{ name: '变焦', key: 'zoom', show: true },
+		{ name: '红外', key: 'ir',show: hasIr.value },
+	]
+})
 const cameraParams = ref({
 	zoom_factor: 0,
 	camera_type: 'wide',
@@ -255,7 +258,7 @@
 	}
 }
 const tableList = ref([]);
-// 分页相关 
+// 分页相关
 const searchParams = ref({
 	sn: droneSn.value,
   name: '',
@@ -273,7 +276,7 @@
 	getFileList();
 }
 
-// 获取文件列表
+// 获取音频文件列表
 function getFileList() {
 	getVoiceFile(searchParams.value).then((res) => {
 		if (res.data.code !== 0) return ElMessage.error(res.data.msg);
@@ -345,7 +348,7 @@
 	top: 50%;
 	transform: translateY(-60%);
 	width: 178px;
-	height: 416px;
+	padding: 20px 0;
 	background: rgba(0, 0, 0, 0.5);
 	backdrop-filter: blur(5px);
 	border-radius: 20px 20px 20px 20px;
@@ -363,16 +366,27 @@
 
 	.cameraZoom {
 		position: absolute;
-		padding: 16px 0;
+		padding: 20px 0 15px 0;
 		left: 1600px;
 		top: -59px;
-		width: 112px;
+		width: 90px;
 		height: 490px;
-		background: rgba(64, 64, 64, 0.15);
+		background: rgba(0, 0, 0, 0.4);
+		backdrop-filter: blur(5rem);
 		border-radius: 20px 20px 20px 20px;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
 
 		.el-slider {
-			height: 100%;
+			flex: 1;
+		}
+		.cameraZoomText{
+			font-family: Segoe UI, Segoe UI;
+			font-weight: 400;
+			font-size: 22px;
+			color: #ffffff;
+			margin-top: 20px;
 		}
 	}
 
@@ -586,7 +600,7 @@
     bottom: 10px;
 		height: 32px;
     display: flex;
-		
+
 		:deep(.number) {
 			color: #EDEDED;
 		}

--
Gitblit v1.9.3