husq
2023-10-11 09ba9bda9e5a64ce8b3827e7ec8847bd98658866
无人机样式修改
1 files modified
72 ■■■■ changed files
src/components/GMap.vue 72 ●●●● patch | view | raw | blame | history
src/components/GMap.vue
@@ -300,8 +300,8 @@
                </a-col>
                <a-col span="2"></a-col>
                <a-col span="8">
                  <a-button :class="[showOption ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
                    :disabled="dockControlPanelVisible" size="small" @click="openFlySetting">
                  <a-button :class="[airPortOption ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
                     size="small" @click="openFlySetting">
                    操作
                  </a-button>
                </a-col>
@@ -447,10 +447,10 @@
              {{ !deviceInfo.device ? EModeText[EModeCode.Disconnected] : EModeText[deviceInfo.device?.mode_code]
              }}</a-col>
            <a-col span="15">
              <span></span>
              <a-select :showArrow="false" v-model:value="aircraSelected" :bordered="false" :options="aircraftList"
              <div style="width:100%;padding:0 5px;background-color: #5d5f61;color: #fff;font-size: 10px;">{{deviceInfo.device?.mode_code == 14 || !deviceInfo.device ? 'N/A' : '当前正常'}}</div>
              <!-- <a-select :showArrow="false" v-model:value="aircraSelected" :bordered="false" :options="aircraftList"
                :placeholder="aircraftList.length == 0 ? 'N/A' : '请选择'" :disabled="aircraftList.length == 0 ? true : false"
                size="small" style="width:100%;background-color: #5d5f61;color: #fff;" @change="selectChange"></a-select>
                size="small" style="width:100%;background-color: #5d5f61;color: #fff;" @change="selectChange"></a-select> -->
            </a-col>
          </a-row>
          <a-row align="middle" justify="center">
@@ -459,30 +459,22 @@
                class="flex-display flex-justify-center mt5 mb5">当前设备已关机,无法进行直播</div>
            </a-col>
          </a-row>
          <a-row class="p5" align="middle" justify="space-between">
          <a-row class="p5" v-if="deviceInfo.device?.mode_code != 14 && deviceInfo.device"  align="middle" justify="space-between">
            <a-col span="11">
              <a-button :disabled="deviceInfo.device?.mode_code == 14 || !deviceInfo.device ? true : false"
                :class="[showAircraft ? 'active-color' : 'unactive-color']" class="width-100" type="primary" size="small"
                @click="openAircra">
                监控
              <a-button :class="[aircrafIndex === 0 ? 'active-color' : 'unactive-color']" class="width-100" type="primary" size="small"
                @click="openAircra(0)">
                飞行相机
              </a-button>
            </a-col>
            <a-col span="11">
              <a-button :class="[openDroneControl ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
                size="small" @click="openDeviceSetting">
                操作
              <a-button :class="[aircrafIndex === 1 ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
                size="small" @click="openAircra(1)">
                M30T相机
              </a-button>
            </a-col>
          </a-row>
          <a-row class="p5" align="middle" justify="space-between">
            <a-col span="11">
              <a-button :disabled="deviceInfo.device?.mode_code == 14 || !deviceInfo.device ? true : false"
                :class="[showAircraft ? 'active-color' : 'unactive-color']" class="width-100" type="primary" size="small"
                @click="openAircra">
                监控
              </a-button>
            </a-col>
            <a-col span="11">
          <a-row v-if="deviceInfo.device?.mode_code != 14 && deviceInfo.device" class="p5" align="middle" justify="space-between">
            <a-col span="24">
              <a-button :class="[openDroneControl ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
                size="small" @click="openDeviceSetting">
                操作
@@ -792,12 +784,11 @@
    const root = getRoot()
    // 监控显示
    const showMonitor = ref(false)
    // 操作显示
    const showOption = ref(false)
    const mouseMode = ref(false)
    const store = useMyStore()
    // 机场直播地址
    const airPortUrl = ref('')
    const airPortOption = ref(false)
    // 设备列表
    const droneList = ref()
    // 设备相机
@@ -816,6 +807,7 @@
    // 飞机视频列表
    const aircraftList = ref([])
    const aircraSelected = ref(undefined)
    const aircrafIndex = ref(-1)
    const state = reactive({
      currentType: '',
      coverIndex: 0
@@ -889,10 +881,17 @@
      }
    }
    // 打开飞机监控
    const openAircra = () => {
    const openAircra = (type: number) => {
      showAircraft.value = !showAircraft.value
      if (type === aircrafIndex.value) {
        showAircraft.value = false
        aircrafIndex.value = -1
      } else {
        showAircraft.value = true
        aircrafIndex.value = type
      }
      if (showAircraft.value) {
        loadDroneVideo()
        loadDroneVideo(type)
      } else {
        closeFly()
      }
@@ -946,7 +945,7 @@
        })
    }
    // 加载无人机的视频信息
    const loadDroneVideo = async () => {
    const loadDroneVideo = async (index: number) => {
      aircraftList.value = []
      await getLiveCapacity({ id: store.state.common.projectId })
        .then(res => {
@@ -955,7 +954,6 @@
              console.warn('warning: get live capacity is null!!!')
              return
            }
            const resData: Array<[]> = res.data
            const drone = res.data.find(v => v.sn === deviceInfo.dock.basic_osd.sub_device?.device_sn)
            const temp: Array<SelectOption> = []
            if (drone) {
@@ -971,7 +969,7 @@
                  vadeosList: v.videos_list
                }
              })
              aircraSelected.value = aircraftList.value[0].value
              aircraSelected.value = aircraftList.value[index].value
              flyOnStart()
            } else {
              showAircraft.value = false
@@ -1040,6 +1038,7 @@
      const videoId = deviceInfo.dock.basic_osd?.sub_device?.device_sn + '/' + aircraSelected.value + '/' + 'normal-0'
      const streamId = deviceInfo.dock.basic_osd?.sub_device?.device_sn + '-' + aircraSelected.value + '-' + 'normal-0'
      const liveURL = config.rtmpURL + streamId
      console.log('飞机设备播放事件触发')
      await startLivestream({
        url: liveURL,
        video_id: videoId,
@@ -1067,16 +1066,22 @@
      })
      // const videoId = deviceInfo.dock.basic_osd?.sub_device?.device_sn + '/' + aircraSelected.value + '/' + 'normal-0'
      aircraftList.value = []
      aircraSelected.value = undefined
      aircraSelected.value = ''
    }
    // 打开机场操作
    const openFlySetting = () => {
      openDroneControl.value = false
      setDockControlPanelVisible(true)
      airPortOption.value = !airPortOption.value
      if (airPortOption.value) {
        setDockControlPanelVisible(true)
      } else {
        setDockControlPanelVisible(false)
      }
    }
    // 打开无人机操作
    const openDeviceSetting = () => {
      setDockControlPanelVisible(false)
      airPortOption.value = false
      openDroneControl.value = !openDroneControl.value
    }
    watch(() => store.state.deviceStatusEvent,
@@ -1390,7 +1395,6 @@
      hmsInfo,
      sn,
      showMonitor,
      showOption,
      airPortUrl,
      openMonitor,
      droneIndex,
@@ -1406,7 +1410,9 @@
      openFlySetting,
      openDeviceSetting,
      airTimeout,
      flyTimeout
      flyTimeout,
      aircrafIndex,
      airPortOption
    }
  }
})