forked from drone/command-center-dashboard

罗广辉
2025-04-21 2800fa4f32f3900509cb4d6eefaf2bfaf54efdd7
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>
@@ -102,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',
@@ -346,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;