forked from drone/command-center-dashboard

张含笑
2025-04-19 bdbef0fbde20317d19bfc6d3473dabb10fb3fb3b
src/components/CurrentTaskDetails/TaskDetailsLeft.vue
@@ -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,
@@ -143,7 +144,7 @@
// 修改相机参数
function cameraParamsChange() {
   const { camera_type, zoom_factor} = cameraParams.value
   const { camera_type, zoom_factor } = cameraParams.value
   cameraParamsChangeApi({
      sn: dockSn.value,
      ...cameraParams.value,
@@ -176,7 +177,7 @@
   const msg = isRecording.value ? '停止录像' : '开始录像'
   const emitType = isRecording.value ? 'controlPanel-timeStop' : 'controlPanel-timeStart'
   callPhotoAndVideoCmd(droneSn.value, type).then(res => {
   callPhotoAndVideoCmd(dockSn.value, type).then(res => {
      ElMessage.success(msg)
      EventBus.emit(emitType)
      isRecording.value = !isRecording.value
@@ -185,8 +186,11 @@
// 拍照
function takePictures() {
   if (isRecording.value) {
      return ElMessage.warning('请先结束录像')
   }
   // photo拍照,video_start开始录像,video_stop结束录像
   callPhotoAndVideoCmd(droneSn.value, 'photo').then(res => {
   callPhotoAndVideoCmd(dockSn.value, 'photo').then(res => {
      ElMessage.success('拍照成功')
   })
}
@@ -252,7 +256,7 @@
   }
}
const tableList = ref([]);
// 分页相关
// 分页相关
const searchParams = ref({
   sn: droneSn.value,
  name: '',
@@ -270,7 +274,7 @@
   getFileList();
}
// 获取文件列表
// 获取音频文件列表
function getFileList() {
   getVoiceFile(searchParams.value).then((res) => {
      if (res.data.code !== 0) return ElMessage.error(res.data.msg);
@@ -360,16 +364,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;
      }
   }
@@ -583,7 +598,7 @@
    bottom: 10px;
      height: 32px;
    display: flex;
      :deep(.number) {
         color: #EDEDED;
      }