| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523 |
- 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, AlarmModeEnum, BatteryStoreModeEnum } from '/@/types/airport-tsa'
- import { getBytesObject } from './bytes'
- import { DEFAULT_PLACEHOLDER } from './constants'
- /**
- * 根据osd 更新信息
- * @param cmdList
- * @param deviceInfo
- * @returns
- */
- export function updateDeviceCmdInfoByOsd (cmdList: DeviceCmdItem[], deviceInfo: DeviceInfoType) {
- const { device, dock, gateway } = deviceInfo || {}
- if (!cmdList || cmdList.length < 1) {
- return
- }
- cmdList.forEach(cmdItem => {
- if (cmdItem.loading) {
- return
- }
- if (cmdItem.cmdKey === DeviceCmd.DeviceReboot) { // 重启
- // console.log('DeviceReboot')
- } else if (cmdItem.cmdKey === DeviceCmd.DroneOpen || cmdItem.cmdKey === DeviceCmd.DroneClose) { // 飞行器开关机
- getDroneState(cmdItem, device)
- } else if (cmdItem.cmdKey === DeviceCmd.CoverOpen || cmdItem.cmdKey === DeviceCmd.CoverClose) { // 舱盖开关
- getCoverState(cmdItem, dock)
- } else if (cmdItem.cmdKey === DeviceCmd.PutterOpen || cmdItem.cmdKey === DeviceCmd.PutterClose) { // 推杆闭合展开
- getPutterState(cmdItem, dock)
- } else if (cmdItem.cmdKey === DeviceCmd.ChargeOpen || cmdItem.cmdKey === DeviceCmd.ChargeClose) { // 充电状态
- getChargeState(cmdItem, dock)
- } else if (cmdItem.cmdKey === DeviceCmd.DeviceFormat) { // 机场存储
- deviceFormat(cmdItem, dock)
- } else if (cmdItem.cmdKey === DeviceCmd.DroneFormat) { // 飞行器存储
- 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 getDroneState (cmdItem: DeviceCmdItem, droneProperties: any) {
- if (!droneProperties) {
- cmdItem.status = DeviceCmdStatusText.DroneStatusCloseNormalText
- cmdItem.operateText = DeviceCmdStatusText.DroneStatusCloseBtnText
- if (cmdItem.cmdKey !== DeviceCmd.DroneOpen) {
- exchangeDeviceCmd(cmdItem)
- }
- } else {
- cmdItem.status = DeviceCmdStatusText.DroneStatusOpenNormalText
- cmdItem.operateText = DeviceCmdStatusText.DroneStatusOpenBtnText
- if (cmdItem.cmdKey !== DeviceCmd.DroneClose) {
- exchangeDeviceCmd(cmdItem)
- }
- }
- }
- // 舱盖开关
- function getCoverState (cmdItem: DeviceCmdItem, airportProperties: any) {
- const coverState = airportProperties?.basic_osd?.cover_state as CoverStateEnum
- if (coverState === CoverStateEnum.Close || coverState === CoverStateEnum.Failed) {
- cmdItem.status = DeviceCmdStatusText.DeviceCoverCloseNormalText
- cmdItem.operateText = DeviceCmdStatusText.DeviceCoverCloseBtnText
- if (cmdItem.cmdKey !== DeviceCmd.CoverOpen) {
- exchangeDeviceCmd(cmdItem)
- }
- } else if (coverState === CoverStateEnum.Open || coverState === CoverStateEnum.HalfOpen) {
- cmdItem.status = DeviceCmdStatusText.DeviceCoverOpenNormalText
- cmdItem.operateText = DeviceCmdStatusText.DeviceCoverOpenBtnText
- if (cmdItem.cmdKey !== DeviceCmd.CoverClose) {
- exchangeDeviceCmd(cmdItem)
- }
- }
- }
- // 推杆状态
- function getPutterState (cmdItem: DeviceCmdItem, airportProperties: any) {
- const putterState = airportProperties?.basic_osd?.putter_state as PutterStateEnum
- if (putterState === PutterStateEnum.Close || putterState === PutterStateEnum.Failed) {
- cmdItem.status = DeviceCmdStatusText.DevicePutterCloseNormalText
- cmdItem.operateText = DeviceCmdStatusText.DevicePutterCloseBtnText
- if (cmdItem.cmdKey !== DeviceCmd.PutterOpen) {
- exchangeDeviceCmd(cmdItem)
- }
- } else if (putterState === PutterStateEnum.Open || putterState === PutterStateEnum.HalfOpen) {
- cmdItem.status = DeviceCmdStatusText.DevicePutterOpenNormalText
- cmdItem.operateText = DeviceCmdStatusText.DevicePutterOpenBtnText
- if (cmdItem.cmdKey !== DeviceCmd.PutterClose) {
- exchangeDeviceCmd(cmdItem)
- }
- }
- }
- // 充电状态
- function getChargeState (cmdItem: DeviceCmdItem, airportProperties: any) {
- const chargeState = airportProperties?.basic_osd?.drone_charge_state
- const state = chargeState?.state as ChargeStateEnum
- if (!state) return
- if (state === ChargeStateEnum.Charge) {
- cmdItem.status = DeviceCmdStatusText.DeviceChargeOpenNormalText
- cmdItem.operateText = DeviceCmdStatusText.DeviceChargeOpenBtnText
- if (cmdItem.cmdKey !== DeviceCmd.ChargeClose) {
- exchangeDeviceCmd(cmdItem)
- }
- } else if (state === ChargeStateEnum.NotCharge) {
- cmdItem.status = DeviceCmdStatusText.DeviceChargeCloseNormalText
- cmdItem.operateText = DeviceCmdStatusText.DeviceChargeCloseBtnText
- if (cmdItem.cmdKey !== DeviceCmd.ChargeOpen) {
- exchangeDeviceCmd(cmdItem)
- }
- }
- }
- // 机场存储格式化
- function deviceFormat (cmdItem: DeviceCmdItem, airportProperties: any) {
- const airportStorage = airportProperties?.basic_osd?.storage
- const value = getAirportStorage(airportStorage)
- cmdItem.status = value
- }
- // 机场存储格式化
- function droneFormat (cmdItem: DeviceCmdItem, droneProperties: any) {
- const droneStorage = droneProperties?.storage
- const value = getAirportStorage(droneStorage)
- cmdItem.status = value
- }
- // 获取机场存储容量
- // {
- // "total": 10000, // 单位:KB
- // "used": 500
- // }
- export function getAirportStorage (storage: AirportStorage) {
- if (!storage) {
- return DEFAULT_PLACEHOLDER
- }
- const total = storage.total
- const used = storage.used
- const byteObj = getBytesObject(total * 1024)
- const _total = byteObj.value
- const _used = getBytes(used * 1024, byteObj.index)
- return `${_used}/${_total} ${byteObj.size}`
- }
- function getBytes (bytes: number, index: number, fixed = 1) {
- return (bytes / Math.pow(1024, index)).toFixed(fixed)
- }
- // 补光灯状态
- function getSupplementLightState (cmdItem: DeviceCmdItem, airportProperties: any) {
- const supplementLightState = airportProperties?.basic_osd?.supplement_light_state
- if (supplementLightState === SupplementLightStateEnum.Close) {
- cmdItem.operateText = DeviceCmdStatusText.DeviceSupplementLightCloseBtnText
- cmdItem.status = DeviceCmdStatusText.DeviceSupplementLightCloseNormalText
- if (cmdItem.cmdKey !== DeviceCmd.SupplementLightOpen) {
- exchangeDeviceCmd(cmdItem)
- }
- } else if (supplementLightState === SupplementLightStateEnum.Open) {
- cmdItem.operateText = DeviceCmdStatusText.DeviceSupplementLightOpenBtnText
- cmdItem.status = DeviceCmdStatusText.DeviceSupplementLightOpenNormalText
- 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
- }
- }
- /**
- * 交换指令
- * @param cmd
- */
- function exchangeDeviceCmd (cmdItem: DeviceCmdItem) {
- if (cmdItem.oppositeCmdKey) {
- const oppositeCmdKey = cmdItem.oppositeCmdKey
- cmdItem.oppositeCmdKey = cmdItem.cmdKey
- cmdItem.cmdKey = oppositeCmdKey
- }
- }
- // /**
- // * 更新简单指令发送情况更新信息
- // * @param cmd
- // */
- // export function updateDeviceSingleCmdInfo (cmdItem: DeviceCmdItem) {
- // // 补光灯
- // if (cmdItem.cmdKey === DeviceCmd.SupplementLightOpen) {
- // cmdItem.status = DeviceCmdStatusText.DeviceSupplementLightOpenNormalText
- // cmdItem.operateText = DeviceCmdStatusText.DeviceSupplementLightOpenBtnText
- // exchangeDeviceCmd(cmdItem)
- // } else if (cmdItem.cmdKey === DeviceCmd.SupplementLightClose) {
- // cmdItem.status = DeviceCmdStatusText.DeviceSupplementLightCloseNormalText
- // cmdItem.operateText = DeviceCmdStatusText.DeviceSupplementLightCloseBtnText
- // exchangeDeviceCmd(cmdItem)
- // }
- // }
- /**
- * 根据指令执行消息更新信息
- * @param cmd
- * @param deviceCmdExecuteInfo
- * @returns
- */
- export function updateDeviceCmdInfoByExecuteInfo (cmdList: DeviceCmdItem[], deviceCmdExecuteInfos?: DeviceCmdExecuteInfo[]) {
- if (!deviceCmdExecuteInfos || !cmdList) {
- return
- }
- cmdList.forEach(cmdItem => {
- // 获取当前设备相应指令信息
- const deviceCmdExecuteInfo = deviceCmdExecuteInfos.find(cmdExecuteInfo => cmdExecuteInfo.biz_code === cmdItem.cmdKey)
- if (deviceCmdExecuteInfo) {
- if (cmdItem.cmdKey === DeviceCmd.DeviceReboot) { // 重启
- if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
- cmdItem.status = DeviceCmdStatusText.DeviceRebootInProgressText
- cmdItem.loading = true
- } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) {
- cmdItem.status = DeviceCmdStatusText.DeviceRebootFailedText
- cmdItem.loading = false
- } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
- cmdItem.status = DeviceCmdStatusText.DeviceRebootNormalText
- cmdItem.loading = false
- }
- } else if (cmdItem.cmdKey === DeviceCmd.DroneOpen) { // 飞行器开关机
- if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
- cmdItem.status = DeviceCmdStatusText.DroneStatusOpenInProgressText
- cmdItem.loading = true
- } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) {
- cmdItem.status = DeviceCmdStatusText.DroneStatusOpenFailedText
- cmdItem.loading = false
- } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
- cmdItem.status = DeviceCmdStatusText.DroneStatusOpenNormalText
- cmdItem.operateText = DeviceCmdStatusText.DroneStatusOpenBtnText
- exchangeDeviceCmd(cmdItem)
- cmdItem.loading = false
- }
- } else if (cmdItem.cmdKey === DeviceCmd.DroneClose) {
- if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
- cmdItem.status = DeviceCmdStatusText.DroneStatusCloseInProgressText
- cmdItem.loading = true
- } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) {
- cmdItem.status = DeviceCmdStatusText.DroneStatusCloseFailedText
- cmdItem.loading = false
- } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
- cmdItem.status = DeviceCmdStatusText.DroneStatusCloseNormalText
- cmdItem.operateText = DeviceCmdStatusText.DroneStatusCloseBtnText
- exchangeDeviceCmd(cmdItem)
- cmdItem.loading = false
- }
- } else if (cmdItem.cmdKey === DeviceCmd.CoverOpen) { // 舱盖开关
- if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
- cmdItem.status = DeviceCmdStatusText.DeviceCoverOpenInProgressText
- cmdItem.loading = true
- } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) {
- cmdItem.status = DeviceCmdStatusText.DeviceCoverOpenFailedText
- cmdItem.loading = false
- } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
- cmdItem.status = DeviceCmdStatusText.DeviceCoverOpenNormalText
- cmdItem.operateText = DeviceCmdStatusText.DeviceCoverOpenBtnText
- exchangeDeviceCmd(cmdItem)
- cmdItem.loading = false
- }
- } else if (cmdItem.cmdKey === DeviceCmd.CoverClose) {
- if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
- cmdItem.status = DeviceCmdStatusText.DeviceCoverCloseInProgressText
- cmdItem.loading = true
- } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) {
- cmdItem.status = DeviceCmdStatusText.DeviceCoverCloseFailedText
- cmdItem.loading = false
- } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
- cmdItem.status = DeviceCmdStatusText.DeviceCoverCloseNormalText
- cmdItem.operateText = DeviceCmdStatusText.DeviceCoverCloseBtnText
- exchangeDeviceCmd(cmdItem)
- cmdItem.loading = false
- }
- } else if (cmdItem.cmdKey === DeviceCmd.PutterOpen) { // 推杆闭合展开
- if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
- cmdItem.status = DeviceCmdStatusText.DevicePutterOpenInProgressText
- cmdItem.loading = true
- } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) {
- cmdItem.status = DeviceCmdStatusText.DevicePutterOpenFailedText
- cmdItem.loading = false
- } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
- cmdItem.status = DeviceCmdStatusText.DevicePutterOpenNormalText
- cmdItem.operateText = DeviceCmdStatusText.DevicePutterOpenBtnText
- exchangeDeviceCmd(cmdItem)
- cmdItem.loading = false
- }
- } else if (cmdItem.cmdKey === DeviceCmd.PutterClose) {
- if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
- cmdItem.status = DeviceCmdStatusText.DevicePutterCloseInProgressText
- cmdItem.loading = true
- } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) {
- cmdItem.status = DeviceCmdStatusText.DevicePutterCloseFailedText
- cmdItem.loading = false
- } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
- cmdItem.status = DeviceCmdStatusText.DevicePutterCloseNormalText
- cmdItem.operateText = DeviceCmdStatusText.DevicePutterCloseBtnText
- exchangeDeviceCmd(cmdItem)
- cmdItem.loading = false
- }
- } else if (cmdItem.cmdKey === DeviceCmd.ChargeOpen) { // 充电状态
- if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
- cmdItem.status = DeviceCmdStatusText.DeviceChargeOpenInProgressText
- cmdItem.loading = true
- } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) {
- cmdItem.status = DeviceCmdStatusText.DeviceChargeOpenFailedText
- cmdItem.loading = false
- } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
- cmdItem.status = DeviceCmdStatusText.DeviceChargeOpenNormalText
- cmdItem.operateText = DeviceCmdStatusText.DeviceChargeOpenBtnText
- exchangeDeviceCmd(cmdItem)
- cmdItem.loading = false
- }
- } else if (cmdItem.cmdKey === DeviceCmd.ChargeClose) {
- if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
- cmdItem.status = DeviceCmdStatusText.DeviceChargeCloseInProgressText
- cmdItem.loading = true
- } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) {
- cmdItem.status = DeviceCmdStatusText.DeviceChargeCloseFailedText
- cmdItem.loading = false
- } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
- cmdItem.status = DeviceCmdStatusText.DeviceChargeCloseNormalText
- cmdItem.operateText = DeviceCmdStatusText.DeviceChargeCloseBtnText
- exchangeDeviceCmd(cmdItem)
- cmdItem.loading = false
- }
- } else if (cmdItem.cmdKey === DeviceCmd.DeviceFormat) { // 机场存储
- if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
- cmdItem.status = DeviceCmdStatusText.DeviceFormatInProgressText
- cmdItem.loading = true
- } else if (isExecuteFailed(deviceCmdExecuteInfo.output.status)) {
- cmdItem.status = DeviceCmdStatusText.DeviceFormatFailedText
- cmdItem.loading = false
- } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
- cmdItem.loading = false
- }
- } else if (cmdItem.cmdKey === DeviceCmd.DroneFormat) { // 飞行器存储
- if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
- cmdItem.status = DeviceCmdStatusText.DroneFormatInProgressText
- cmdItem.loading = true
- } 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)
- }
|