| | |
| | | import { DroneBatteryModeEnum, DroneBatteryStateEnum, LinkWorkModeEnum } from './../types/airport-tsa' |
| | | import { DeviceInfoType } from '/@/types/device' |
| | | import { DeviceCmd, DeviceCmdItem, DeviceCmdExecuteInfo, DeviceCmdStatusText, DeviceCmdExecuteStatus } from '/@/types/device-cmd' |
| | | import { AirportStorage, CoverStateEnum, PutterStateEnum, ChargeStateEnum, SupplementLightStateEnum } from '/@/types/airport-tsa' |
| | | import { AirportStorage, CoverStateEnum, PutterStateEnum, ChargeStateEnum, SupplementLightStateEnum, AlarmModeEnum, BatteryStoreModeEnum } from '/@/types/airport-tsa' |
| | | import { getBytesObject } from './bytes' |
| | | import { DEFAULT_PLACEHOLDER } from './constants' |
| | | |
| | |
| | | droneFormat(cmdItem, device) |
| | | } else if (cmdItem.cmdKey === DeviceCmd.SupplementLightOpen || cmdItem.cmdKey === DeviceCmd.SupplementLightClose) { // 补光灯开关 |
| | | getSupplementLightState(cmdItem, dock) |
| | | } else if (cmdItem.cmdKey === DeviceCmd.AlarmStateSwitch) { // 声光报警 |
| | | getAlarmState(cmdItem, dock) |
| | | } else if (cmdItem.cmdKey === DeviceCmd.BatteryStoreModeSwitch) { // 电池保养 |
| | | getBatteryStoreMode(cmdItem, dock) |
| | | } else if (cmdItem.cmdKey === DeviceCmd.DroneBatteryModeSwitch) { // 飞行器电池保养 |
| | | getDroneBatteryMode(cmdItem, dock) |
| | | } else if (cmdItem.cmdKey === DeviceCmd.SdrWorkModeSwitch) { // 增强图传开关 |
| | | getSdrWorkNode(cmdItem, dock) |
| | | } |
| | | }) |
| | | } |
| | |
| | | |
| | | // 舱盖开关 |
| | | function getCoverState (cmdItem: DeviceCmdItem, airportProperties: any) { |
| | | const coverState = airportProperties?.cover_state as CoverStateEnum |
| | | const coverState = airportProperties?.basic_osd?.cover_state as CoverStateEnum |
| | | |
| | | if (coverState === CoverStateEnum.Close || coverState === CoverStateEnum.Failed) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceCoverCloseNormalText |
| | |
| | | |
| | | // 推杆状态 |
| | | function getPutterState (cmdItem: DeviceCmdItem, airportProperties: any) { |
| | | const putterState = airportProperties?.putter_state as PutterStateEnum |
| | | const putterState = airportProperties?.basic_osd?.putter_state as PutterStateEnum |
| | | if (putterState === PutterStateEnum.Close || putterState === PutterStateEnum.Failed) { |
| | | cmdItem.status = DeviceCmdStatusText.DevicePutterCloseNormalText |
| | | cmdItem.operateText = DeviceCmdStatusText.DevicePutterCloseBtnText |
| | |
| | | |
| | | // 充电状态 |
| | | function getChargeState (cmdItem: DeviceCmdItem, airportProperties: any) { |
| | | const chargeState = airportProperties?.drone_charge_state |
| | | const chargeState = airportProperties?.basic_osd?.drone_charge_state |
| | | const state = chargeState?.state as ChargeStateEnum |
| | | if (!state) return |
| | | if (state === ChargeStateEnum.Charge) { |
| | |
| | | |
| | | // 机场存储格式化 |
| | | function deviceFormat (cmdItem: DeviceCmdItem, airportProperties: any) { |
| | | const airportStorage = airportProperties?.storage |
| | | const airportStorage = airportProperties?.basic_osd?.storage |
| | | const value = getAirportStorage(airportStorage) |
| | | cmdItem.status = value |
| | | } |
| | |
| | | |
| | | // 补光灯状态 |
| | | function getSupplementLightState (cmdItem: DeviceCmdItem, airportProperties: any) { |
| | | const supplementLightState = airportProperties?.supplement_light_state |
| | | const supplementLightState = airportProperties?.basic_osd?.supplement_light_state |
| | | if (supplementLightState === SupplementLightStateEnum.Close) { |
| | | cmdItem.operateText = DeviceCmdStatusText.DeviceSupplementLightCloseBtnText |
| | | cmdItem.status = DeviceCmdStatusText.DeviceSupplementLightCloseNormalText |
| | |
| | | if (cmdItem.cmdKey !== DeviceCmd.SupplementLightClose) { |
| | | exchangeDeviceCmd(cmdItem) |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 声光报警 |
| | | function getAlarmState (cmdItem: DeviceCmdItem, airportProperties: any) { |
| | | const alarmState = airportProperties?.basic_osd?.alarm_state |
| | | if (alarmState === AlarmModeEnum.CLOSE) { |
| | | cmdItem.operateText = DeviceCmdStatusText.AlarmStateCloseBtnText |
| | | cmdItem.status = DeviceCmdStatusText.AlarmStateCloseNormalText |
| | | cmdItem.action = AlarmModeEnum.OPEN |
| | | } else if (alarmState === AlarmModeEnum.OPEN) { |
| | | cmdItem.operateText = DeviceCmdStatusText.AlarmStateOpenBtnText |
| | | cmdItem.status = DeviceCmdStatusText.AlarmStateOpenNormalText |
| | | cmdItem.action = AlarmModeEnum.CLOSE |
| | | } |
| | | } |
| | | |
| | | // 机场电池模式 |
| | | function getBatteryStoreMode (cmdItem: DeviceCmdItem, airportProperties: any) { |
| | | const batteryStoreMode = airportProperties?.basic_osd?.battery_store_mode |
| | | if (batteryStoreMode === BatteryStoreModeEnum.BATTERY_PLAN_STORE) { |
| | | cmdItem.operateText = DeviceCmdStatusText.BatteryStoreModePlanBtnText |
| | | cmdItem.status = DeviceCmdStatusText.BatteryStoreModePlanNormalText |
| | | cmdItem.action = BatteryStoreModeEnum.BATTERY_EMERGENCY_STORE |
| | | } else if (batteryStoreMode === BatteryStoreModeEnum.BATTERY_EMERGENCY_STORE) { |
| | | cmdItem.operateText = DeviceCmdStatusText.BatteryStoreModeEmergencyBtnText |
| | | cmdItem.status = DeviceCmdStatusText.BatteryStoreModeEmergencyNormalText |
| | | cmdItem.action = BatteryStoreModeEnum.BATTERY_PLAN_STORE |
| | | } |
| | | } |
| | | |
| | | // 飞行器电池保养 |
| | | function getDroneBatteryMode (cmdItem: DeviceCmdItem, airportProperties: any) { |
| | | const maintenanceState = airportProperties?.work_osd?.drone_battery_maintenance_info?.maintenance_state |
| | | if (maintenanceState === DroneBatteryStateEnum.MaintenanceInProgress) { |
| | | cmdItem.operateText = DeviceCmdStatusText.DroneBatteryModeCloseBtnText |
| | | cmdItem.status = DeviceCmdStatusText.DroneBatteryModeMaintenanceInProgressText |
| | | cmdItem.action = DroneBatteryModeEnum.CLOSE |
| | | cmdItem.disabled = false |
| | | } else if (maintenanceState === DroneBatteryStateEnum.NoMaintenanceRequired) { |
| | | cmdItem.operateText = DeviceCmdStatusText.DroneBatteryModeOpenBtnText |
| | | cmdItem.status = DeviceCmdStatusText.DroneBatteryModeMaintenanceNotNeedText |
| | | cmdItem.action = DroneBatteryModeEnum.OPEN |
| | | cmdItem.disabled = true |
| | | } else if (maintenanceState === DroneBatteryStateEnum.MaintenanceRequired) { |
| | | cmdItem.operateText = DeviceCmdStatusText.DroneBatteryModeOpenBtnText |
| | | cmdItem.status = DeviceCmdStatusText.DroneBatteryModeMaintenanceNeedText |
| | | cmdItem.action = DroneBatteryModeEnum.OPEN |
| | | cmdItem.disabled = false |
| | | } |
| | | } |
| | | |
| | | // 增强图传开关 |
| | | function getSdrWorkNode (cmdItem: DeviceCmdItem, airportProperties: any) { |
| | | const linkWorkMode = airportProperties?.link_osd?.wireless_link?.link_workmode |
| | | if (linkWorkMode === LinkWorkModeEnum.SDR) { |
| | | cmdItem.operateText = DeviceCmdStatusText.SdrWorkModeFourCloseBtnText |
| | | cmdItem.status = DeviceCmdStatusText.SdrWorkModeFourGCloseNormalText |
| | | cmdItem.action = LinkWorkModeEnum.FourG_FUSION_MODE |
| | | } else if (linkWorkMode === LinkWorkModeEnum.FourG_FUSION_MODE) { |
| | | cmdItem.operateText = DeviceCmdStatusText.SdrWorkModeFourGOpenBtnText |
| | | cmdItem.status = DeviceCmdStatusText.SdrWorkModeFourGOpenNormalText |
| | | cmdItem.action = LinkWorkModeEnum.SDR |
| | | } |
| | | } |
| | | |
| | |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceRebootInProgressText |
| | | cmdItem.loading = true |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) { |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceRebootFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneStatusOpenInProgressText |
| | | cmdItem.loading = true |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) { |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneStatusOpenFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneStatusCloseInProgressText |
| | | cmdItem.loading = true |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) { |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneStatusCloseFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceCoverOpenInProgressText |
| | | cmdItem.loading = true |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) { |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceCoverOpenFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceCoverCloseInProgressText |
| | | cmdItem.loading = true |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) { |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceCoverCloseFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DevicePutterOpenInProgressText |
| | | cmdItem.loading = true |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) { |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DevicePutterOpenFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DevicePutterCloseInProgressText |
| | | cmdItem.loading = true |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) { |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DevicePutterCloseFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceChargeOpenInProgressText |
| | | cmdItem.loading = true |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) { |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceChargeOpenFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceChargeCloseInProgressText |
| | | cmdItem.loading = true |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) { |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceChargeCloseFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceFormatInProgressText |
| | | cmdItem.loading = true |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) { |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DeviceFormatFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneFormatInProgressText |
| | | cmdItem.loading = true |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) { |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneFormatFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | | cmdItem.loading = false |
| | | } |
| | | } else if (cmdItem.cmdKey === DeviceCmd.AlarmStateSwitch) { // 机场声光报警 |
| | | if (cmdItem.action === AlarmModeEnum.CLOSE) { |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.AlarmStateCloseText |
| | | cmdItem.loading = true |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.AlarmStateCloseFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | | cmdItem.loading = false |
| | | } |
| | | } else if (cmdItem.action === AlarmModeEnum.OPEN) { |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.AlarmStateOpenText |
| | | cmdItem.loading = true |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.AlarmStateOpenFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | | cmdItem.loading = false |
| | | } |
| | | } |
| | | } else if (cmdItem.cmdKey === DeviceCmd.BatteryStoreModeSwitch) { // 电池保养 |
| | | if (cmdItem.action === BatteryStoreModeEnum.BATTERY_PLAN_STORE) { |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.BatteryStoreModePlanText |
| | | cmdItem.loading = true |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.BatteryStoreModePlanFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | | cmdItem.loading = false |
| | | } |
| | | } else if (cmdItem.action === BatteryStoreModeEnum.BATTERY_EMERGENCY_STORE) { |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.BatteryStoreModeEmergencyText |
| | | cmdItem.loading = true |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.BatteryStoreModeEmergencyFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | | cmdItem.loading = false |
| | | } |
| | | } |
| | | } else if (cmdItem.cmdKey === DeviceCmd.DroneBatteryModeSwitch) { // 飞行器电池保养 |
| | | if (cmdItem.action === DroneBatteryModeEnum.OPEN) { |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneBatteryModeMaintenanceInProgressText |
| | | cmdItem.loading = true |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneBatteryModeMaintenanceNeedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneBatteryModeMaintenanceNotNeedText |
| | | cmdItem.loading = false |
| | | } |
| | | } else if (cmdItem.action === DroneBatteryModeEnum.CLOSE) { |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneBatteryModeMaintenanceInProgressText |
| | | cmdItem.loading = true |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneBatteryModeMaintenanceInProgressText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | | cmdItem.status = DeviceCmdStatusText.DroneBatteryModeMaintenanceNeedText |
| | | cmdItem.loading = false |
| | | } |
| | | } |
| | | } else if (cmdItem.cmdKey === DeviceCmd.SdrWorkModeSwitch) { // 增强图传 |
| | | if (cmdItem.action === LinkWorkModeEnum.SDR) { // 关闭 |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.SdrWorkModeFourGCloseText |
| | | cmdItem.loading = true |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.SdrWorkModeFourGCloseFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | | cmdItem.status = DeviceCmdStatusText.SdrWorkModeFourGCloseNormalText |
| | | cmdItem.loading = false |
| | | } |
| | | } else if (cmdItem.action === LinkWorkModeEnum.FourG_FUSION_MODE) { // 开启 |
| | | if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) { |
| | | cmdItem.status = DeviceCmdStatusText.SdrWorkModeFourGOpenText |
| | | cmdItem.loading = true |
| | | } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) { |
| | | cmdItem.status = DeviceCmdStatusText.SdrWorkModeFourGOpenFailedText |
| | | cmdItem.loading = false |
| | | } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) { |
| | | cmdItem.status = DeviceCmdStatusText.SdrWorkModeFourGOpenNormalText |
| | | cmdItem.loading = false |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 判断是否执行失败 |
| | | * @param status |
| | | * @returns |
| | | */ |
| | | function isExecuteFailed (status: DeviceCmdExecuteStatus) { |
| | | return [DeviceCmdExecuteStatus.Canceled, DeviceCmdExecuteStatus.Failed, DeviceCmdExecuteStatus.Timeout].includes(status) |
| | | } |