| | |
| | | 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 getAlarmState (cmdItem: DeviceCmdItem, airportProperties: any) { |
| | | const alarmState = airportProperties?.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?.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?.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?.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 |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 交换指令 |
| | | * @param cmd |
| | |
| | | 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) |
| | | } |