forked from drone/command-center-dashboard

罗广辉
2025-04-17 bf483860821fb7a3dbeb9c76192c1c1e3e35f1df
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()
}