| | |
| | | const showMonitor = ref(false) |
| | | // 操作显示 |
| | | const showOption = ref(false) |
| | | // 飞行控制显示 |
| | | const showFly = ref(false) |
| | | const mouseMode = ref(false) |
| | | const store = useMyStore() |
| | | // 机场直播地址 |
| | |
| | | // 视频列表选择值 |
| | | const videoList = ref() |
| | | const videoIndex = ref(0) |
| | | // 机场加载值 |
| | | |
| | | // 飞机视频播放地址 |
| | | const aircraftUrl = ref('') |
| | |
| | | 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 |
| | |
| | | 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) |
| | | // 设备直播处理 |
| | |
| | | // 加载无人机的视频信息 |
| | | const loadDroneVideo = async () => { |
| | | aircraftList.value = [] |
| | | await getLiveCapacity({}) |
| | | await getLiveCapacity({ id: store.state.common.projectId }) |
| | | .then(res => { |
| | | if (res.code === 0) { |
| | | if (res.data === 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 (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('该无人机暂无直播设备开启') |
| | | } |
| | | } |
| | | }) |
| | |
| | | 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 !== '') { |
| | |
| | | sn, |
| | | showMonitor, |
| | | showOption, |
| | | showFly, |
| | | airPortUrl, |
| | | openMonitor, |
| | | droneIndex, |