From bf483860821fb7a3dbeb9c76192c1c1e3e35f1df Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Thu, 17 Apr 2025 18:14:13 +0800
Subject: [PATCH] feat: 控制台云台回中功能

---
 src/components/CurrentTaskDetails/TaskDetailsLeft.vue |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/components/CurrentTaskDetails/TaskDetailsLeft.vue b/src/components/CurrentTaskDetails/TaskDetailsLeft.vue
index 812bd86..861e33f 100644
--- a/src/components/CurrentTaskDetails/TaskDetailsLeft.vue
+++ b/src/components/CurrentTaskDetails/TaskDetailsLeft.vue
@@ -11,8 +11,8 @@
 			{{ item.name }}相机
 		</div>
 		<div class="multiCol">
-			<div @click="faceToCenter">云台回中</div>
-			<div @click="faceToDown">云台朝下</div>
+			<div @click="ptzResetMode(0)">云台回中</div>
+			<div @click="ptzResetMode(1)">云台朝下</div>
 		</div>
 		<el-select class="qualityChange" v-model="lineQuality" @change="qualityChange">
 			<el-option v-for="item in qualityList" :key="item.id" :label="item.name" :value="item.id" />
@@ -30,8 +30,9 @@
 			<el-slider
 				v-model="cameraParams.zoom_factor"
 				vertical
-				:max="cameraParams.camera_type === 'ir' ? 20 : 50"
-				@input="sliderChange"
+				:min="cameraParams.camera_type === 'ir' ? 2 : 0"
+				:max="cameraParams.camera_type === 'ir' ? 200 : 200"
+				@change="sliderChange"
 			/>
 		</div>
 	</div>
@@ -39,7 +40,7 @@
 
 <script setup>
 import EventBus from '@/event-bus'
-import { callPhotoAndVideoCmd, cameraParamsChangeApi } from '@/api/payload'
+import { callPhotoAndVideoCmd, cameraParamsChangeApi, ptzResetModeApi } from '@/api/payload'
 import { ElMessage } from 'element-plus'
 import { throttle } from 'lodash'
 
@@ -65,9 +66,9 @@
 	{ name: '超清', id: 4 },
 ]
 
-function faceToCenter() {}
-
-function faceToDown() {}
+function ptzResetMode(resetMode) {
+	ptzResetModeApi({ sn: dockSn.value, resetMode })
+}
 
 // 倍率调整
 function sliderChange(val) {
@@ -82,9 +83,11 @@
 
 // 修改相机参数
 function cameraParamsChange() {
+	const { camera_type, zoom_factor} = cameraParams.value
 	cameraParamsChangeApi({
 		sn: dockSn.value,
 		...cameraParams.value,
+		zoom_factor: camera_type === 'wide' ? undefined : zoom_factor,
 	})
 }
 
@@ -97,7 +100,7 @@
 		cameraParams.value.zoom_factor = 5
 	}
 	if (row.key === 'ir') {
-		cameraParams.value.zoom_factor = 0
+		cameraParams.value.zoom_factor = 2
 	}
 	cameraParamsChange()
 }

--
Gitblit v1.9.3