husq
2023-09-23 1ff0d0141c85aff072beba71fa9b7f8b485b43b7
src/components/GMap.vue
@@ -708,8 +708,6 @@
    const showMonitor = ref(false)
    // 操作显示
    const showOption = ref(false)
    // 飞行控制显示
    const showFly = ref(false)
    const mouseMode = ref(false)
    const store = useMyStore()
    // 机场直播地址
@@ -725,7 +723,6 @@
    // 视频列表选择值
    const videoList = ref()
    const videoIndex = ref(0)
    // 机场加载值
    // 飞机视频播放地址
    const aircraftUrl = ref('')
@@ -780,8 +777,11 @@
    const drawVisible = computed(() => {
      return store.state.drawVisible
    })
    const osdVisible = computed(() => {
      return store.state.osdVisible
    const osdVisible = computed({
      get: () => {
        return store.state.osdVisible
      },
      set: (val) => val
    })
    const sn = computed(() => {
      return store.state.hmsInfoDetailSn
@@ -817,19 +817,19 @@
      videoList.value = []
      droneIndex.value = 0
      cameraIndex.value = 0
      await getLiveCapacity({})
      console.log(deviceInfo, 'deviceInfo', sn.value)
      await getLiveCapacity({ id: store.state.common.projectId })
        .then(res => {
          if (res.code === 0) {
            if (res.data === null) {
              console.warn('warning: get live capacity is null!!!')
              return
            }
            const resData: Array<[]> = res.data
            // 机场数据
            const airport = res.data.find(v => v.sn === sn.value)
            const temp: Array<SelectOption> = []
            if (resData) {
              resData.forEach((ele: any) => {
                temp.push({ label: ele.name, value: ele.sn, more: ele.cameras_list })
              })
            if (airport) {
              temp.push({ label: airport.name, value: airport.sn, more: airport.cameras_list })
              // 设备列表
              droneList.value = temp.filter(v => v.value === sn.value)
              // 设备直播处理
@@ -862,7 +862,7 @@
    // 加载无人机的视频信息
    const loadDroneVideo = async () => {
      aircraftList.value = []
      await getLiveCapacity({})
      await getLiveCapacity({ id: store.state.common.projectId })
        .then(res => {
          if (res.code === 0) {
            if (res.data === null) {
@@ -870,29 +870,26 @@
              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 (resData) {
              resData.forEach((ele: any) => {
                temp.push({ label: ele.name, value: ele.sn, more: ele.cameras_list })
            if (drone) {
              temp.push({ label: drone.name, value: drone.sn, more: drone.cameras_list })
            } // 无人机列表
            const airList = temp.filter(v => v.value === deviceInfo.dock.basic_osd?.sub_device?.device_sn)
            // 无人机设备处理
            if (airList[0].more && airList[0].more.length > 0) {
              aircraftList.value = airList[0].more.map(v => {
                return {
                  label: v.name,
                  value: v.index,
                  vadeosList: v.videos_list
                }
              })
              // 无人机列表
              const airList = temp.filter(v => v.value === deviceInfo.dock.basic_osd?.sub_device?.device_sn)
              // 无人机设备处理
              if (airList[0].more && airList[0].more.length > 0) {
                aircraftList.value = airList[0].more.map(v => {
                  return {
                    label: v.name,
                    value: v.index,
                    vadeosList: v.videos_list
                  }
                })
                aircraSelected.value = aircraftList.value[0].value
                console.log(aircraftList.value, 'aircraftList.value')
                flyOnStart()
              } else {
                showAircraft.value = false
                message.error('该无人机暂无直播设备开启')
              }
              aircraSelected.value = aircraftList.value[0].value
              flyOnStart()
            } else {
              showAircraft.value = false
              message.error('该无人机暂无直播设备开启')
            }
          }
        })
@@ -989,7 +986,19 @@
        deep: true
      }
    )
    watch(() => store.state.osdVisible, data => {
      if (data) {
        showMonitor.value = false
        aircraftUrl.value = ''
        showAircraft.value = false
        aircraftList.value = []
        aircraSelected.value = ''
        airPortUrl.value = ''
        droneList.value = []
      }
    }, {
      deep: true
    })
    watch(() => store.state.deviceState, data => {
      if (data.currentType === EDeviceTypeName.Gateway && data.gatewayInfo[data.currentSn]) {
        if (osdVisible.value.visible && osdVisible.value.gateway_sn !== '') {
@@ -1266,7 +1275,6 @@
      sn,
      showMonitor,
      showOption,
      showFly,
      airPortUrl,
      openMonitor,
      droneIndex,