forked from drone/command-center-dashboard

罗广辉
2025-04-21 307e875f7b5c2899b9dc398ac3933114aa9bd572
refactor: 重构单机巢状态
2 files modified
34 ■■■■ changed files
src/views/SignMachineNest/MachineRight/MachineMonitor.vue 2 ●●● patch | view | raw | blame | history
src/views/SignMachineNest/MachineRight/MachineStatus/MachineStatus.vue 32 ●●●● patch | view | raw | blame | history
src/views/SignMachineNest/MachineRight/MachineMonitor.vue
@@ -48,7 +48,7 @@
const isTakeOff = ref(false)
// 监听ws消息
watch(device_osd_host, async () => {
        if (!device_osd_host.value.mode_code) return
        if (device_osd_host?.value?.mode_code === undefined) return
      const currentIsTakeOff = ![14, 0].includes(device_osd_host.value?.mode_code)
        // 如果还是之前的状态,不切换
        if (isTakeOff.value === currentIsTakeOff) return
src/views/SignMachineNest/MachineRight/MachineStatus/MachineStatus.vue
@@ -99,10 +99,10 @@
// 获取机巢信息
const wsInfo = inject('wsInfo')
const dockDetails = inject('dockDetails')
let device_osd_info = computed(() => wsInfo.value?.device_osd || {});
let device_osd_host = computed(() => device_osd_info?.value?.data?.host || {});
let dock_osd_info = computed(() => wsInfo.value?.dock_osd || {});
let dock_osd_host = computed(() => dock_osd_info.value?.data?.host || {});
let device_osd_info = computed(() => wsInfo.value?.device_osd || {})
let device_osd_host = computed(() => device_osd_info?.value?.data?.host || {})
let dock_osd_info = computed(() => wsInfo.value?.dock_osd || {})
let dock_osd_host = computed(() => dock_osd_info.value?.data?.host || {})
// 单个机巢统计数据
const singleTotal = inject('singleTotal')
// 是否展示机机巢状态详情
@@ -126,7 +126,8 @@
let quality = ref(['弱', '较弱', '中等', '较强', '强'])
// 监听实时信息
watch(device_osd_host,
watch(
    device_osd_host,
    newValue => {
        if (!newValue) return
        if (newValue?.mode_code === 14) return
@@ -156,18 +157,19 @@
// EDeviceTypeName.Dock
// 获取最新机场状态
watch(wsInfo,
watch(
    wsInfo,
    () => {
        if (dock_osd_host.value?.mode_code){
                AircraftStatus.value = EModeText?.[dock_osd_host.value?.mode_code] || '--'
        if (dock_osd_host.value?.mode_code !== undefined) {
            AircraftStatus.value = EModeText?.[device_osd_host.value?.mode_code] || '--'
        }
        // 飞机在线时取飞机中的电量
        if (device_osd_host.value?.battery) {
            drone_charge_state.value = {
                capacity_percent: device_osd_host.value.battery.capacity_percent,
                state: device_osd_host.value.battery.landing_power,
            }
            // 飞机在线时取飞机中的电量
            if (device_osd_host.value?.battery) {
                drone_charge_state.value = {
                    capacity_percent: device_osd_host.value.battery.capacity_percent,
                    state: device_osd_host.value.battery.landing_power,
                }
            }
        }
        if (device_osd_host.value?.mode_code === undefined || device_osd_host.value?.mode_code === 14) {
            detailInfo.value = {
                longitude: '--',