husq
2023-09-25 60bb69f4cfc33cd0224e856afc2b00f6bc80e4d4
src/components/GMap.vue
@@ -173,7 +173,7 @@
      <div class="fz16 pl5 pr5 flex-align-center flex-row flex-justify-between"
        style="border-bottom: 1px solid #515151; height: 10%;">
        <span>{{ osdVisible.gateway_callsign }}</span>
        <span><a style="color: white;" @click="() => osdVisible.visible = false">
        <span><a style="color: white;" @click="closeOsdWindow">
            <CloseOutlined />
          </a></span>
      </div>
@@ -360,14 +360,14 @@
            </a-col>
            <a-col span="11">
              <a-button :class="[showOption?'active-color':'unactive-color']" class="width-100" type="primary" :disabled="dockControlPanelVisible" size="small"
                @click="setDockControlPanelVisible(true)">
                @click="openFlySetting">
                操作
              </a-button>
            </a-col>
          </a-row>
          <!-- 机场控制面板 -->
          <DockControlPanel v-if="dockControlPanelVisible" :sn="osdVisible.gateway_sn" :deviceInfo="deviceInfo"
            @close-control-panel="onCloseControlPanel">
            @close-control-panel="closeOperate">
          </DockControlPanel>
        </div>
      </div>
@@ -399,10 +399,16 @@
          <a-row align="middle" justify="center">
            <a-col span="24"> <div v-if="deviceInfo.device?.mode_code == 14 || !deviceInfo.device" style="color:#494949;" class="flex-display flex-justify-center mt5 mb5">当前设备已关机,无法进行直播</div> </a-col>
          </a-row>
          <a-row align="middle" justify="center">
            <a-col span="24">
          <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-button :disabled="deviceInfo.device?.mode_code == 14 || !deviceInfo.device?true:false" :class="[openDroneControl?'active-color':'unactive-color']" class="width-100" type="primary"  size="small"
                @click="openDeviceSetting">
                操作
              </a-button>
            </a-col>
          </a-row>
@@ -621,7 +627,7 @@
        </div>
      </div>
      <!-- 飞行指令 -->
      <DroneControlPanel :sn="osdVisible.gateway_sn" :deviceInfo="deviceInfo" :payloads="osdVisible.payloads">
      <DroneControlPanel v-model="openDroneControl" :sn="osdVisible.gateway_sn" :deviceInfo="deviceInfo" :payloads="osdVisible.payloads">
      </DroneControlPanel>
    </div>
  </div>
@@ -703,13 +709,13 @@
  label: string,
  more?: any
}
    // 打开飞行控制
    const openDroneControl = ref(false)
    const root = getRoot()
    // 监控显示
    const showMonitor = ref(false)
    // 操作显示
    const showOption = ref(false)
    // 飞行控制显示
    const showFly = ref(false)
    const mouseMode = ref(false)
    const store = useMyStore()
    // 机场直播地址
@@ -725,7 +731,6 @@
    // 视频列表选择值
    const videoList = ref()
    const videoIndex = ref(0)
    // 机场加载值
    // 飞机视频播放地址
    const aircraftUrl = ref('')
@@ -780,9 +785,7 @@
    const drawVisible = computed(() => {
      return store.state.drawVisible
    })
    const osdVisible = computed(() => {
      return store.state.osdVisible
    })
    const osdVisible = computed(() => JSON.parse(JSON.stringify(store.state.osdVisible)))
    const sn = computed(() => {
      return store.state.hmsInfoDetailSn
    })
@@ -792,6 +795,12 @@
        return val
      }
    })
    // 关闭窗口
    const closeOsdWindow = () => {
      store.commit('SET_OSD_VISIBLE_INFO', false)
    }
    // 打开监控权限
    const openMonitor = () => {
      showMonitor.value = !showMonitor.value
@@ -817,7 +826,6 @@
      videoList.value = []
      droneIndex.value = 0
      cameraIndex.value = 0
      console.log(deviceInfo, 'deviceInfo', sn.value)
      await getLiveCapacity({ id: store.state.common.projectId })
        .then(res => {
          if (res.code === 0) {
@@ -886,7 +894,6 @@
                }
              })
              aircraSelected.value = aircraftList.value[0].value
              console.log(aircraftList.value, 'aircraftList.value')
              flyOnStart()
            } else {
              showAircraft.value = false
@@ -968,6 +975,16 @@
      aircraftList.value = []
      aircraSelected.value = ''
    }
    // 打开机场操作
    const openFlySetting = () => {
      openDroneControl.value = false
      setDockControlPanelVisible(true)
    }
    // 打开无人机操作
    const openDeviceSetting = () => {
      setDockControlPanelVisible(false)
      openDroneControl.value = false
    }
    watch(() => store.state.deviceStatusEvent,
      data => {
        if (Object.keys(data.deviceOnline).length !== 0) {
@@ -987,7 +1004,6 @@
        deep: true
      }
    )
    watch(() => store.state.deviceState, data => {
      if (data.currentType === EDeviceTypeName.Gateway && data.gatewayInfo[data.currentSn]) {
        if (osdVisible.value.visible && osdVisible.value.gateway_sn !== '') {
@@ -1006,9 +1022,24 @@
        }
      }
    }, {
      deep: true
      deep: true,
    })
    watch(() => osdVisible.value, (data, oldData) => {
      showMonitor.value = false
      aircraftUrl.value = ''
      showAircraft.value = false
      aircraftList.value = []
      aircraSelected.value = ''
      airPortUrl.value = ''
      droneList.value = []
      if (deviceInfo.dock.basic_osd?.mode_code === 2) {
        onCloseControlPanel(oldData.gateway_sn)
      } else {
        setDockControlPanelVisible(false)
      }
    }, {
      deep: true,
    })
    watch(
      () => store.state.wsEvent,
      newData => {
@@ -1075,7 +1106,14 @@
      setDockControlPanelVisible,
      onCloseControlPanel,
    } = useDockControl()
    // 关闭设备控制方法
    const closeOperate = (sn:string) => {
      if (deviceInfo.dock.basic_osd?.mode_code === 2) {
        onCloseControlPanel(sn)
      } else {
        setDockControlPanelVisible(false)
      }
    }
    // 连接或断开drc
    useConnectMqtt()
@@ -1264,7 +1302,6 @@
      sn,
      showMonitor,
      showOption,
      showFly,
      airPortUrl,
      openMonitor,
      droneIndex,
@@ -1274,6 +1311,11 @@
      aircraftList,
      aircraSelected,
      selectChange,
      closeOperate,
      closeOsdWindow,
      openDroneControl,
      openFlySetting,
      openDeviceSetting
    }
  }
})
@@ -1400,4 +1442,5 @@
  position: absolute;
  min-height: 2px;
  border-radius: 2px;
}</style>
}
</style>