import { commonColor } from '/@/utils/color' // 任务类型 export enum TaskType { Immediate = 0, // 立即执行 Timed = 1, // 单次定时任务 } export const TaskTypeMap = { [TaskType.Immediate]: 'Immediate', [TaskType.Timed]: 'Timed', } export const TaskTypeOptions = [ { value: TaskType.Immediate, label: TaskTypeMap[TaskType.Immediate] }, { value: TaskType.Timed, label: TaskTypeMap[TaskType.Timed] }, ] // 失控动作 export enum OutOfControlAction { ReturnToHome = 0, Hover = 1, Land = 2, } export const OutOfControlActionMap = { [OutOfControlAction.ReturnToHome]: 'Return to Home', [OutOfControlAction.Hover]: 'Hover', [OutOfControlAction.Land]: 'Land', } export const OutOfControlActionOptions = [ { value: OutOfControlAction.ReturnToHome, label: OutOfControlActionMap[OutOfControlAction.ReturnToHome] }, { value: OutOfControlAction.Hover, label: OutOfControlActionMap[OutOfControlAction.Hover] }, { value: OutOfControlAction.Land, label: OutOfControlActionMap[OutOfControlAction.Land] }, ] // 任务状态 export enum TaskStatus { Wait = 1, // 待执行 Carrying = 2, // 执行中 Success = 3, // 完成 CanCel = 4, // 取消 Fail = 5, // 失败 Paused = 6, // 暂停 } export const TaskStatusMap = { [TaskStatus.Wait]: 'To be performed', [TaskStatus.Carrying]: 'In progress', [TaskStatus.Success]: 'Task completed', [TaskStatus.CanCel]: 'Task canceled', [TaskStatus.Fail]: 'Task failed', [TaskStatus.Paused]: 'Paused', } export const TaskStatusColor = { [TaskStatus.Wait]: commonColor.BLUE, [TaskStatus.Carrying]: commonColor.BLUE, [TaskStatus.Success]: commonColor.NORMAL, [TaskStatus.CanCel]: commonColor.FAIL, [TaskStatus.Fail]: commonColor.FAIL, [TaskStatus.Paused]: commonColor.BLUE, } // 任务执行 ws 消息状态 export enum TaskProgressStatus { Sent = 'sent', // 已下发 inProgress = 'in_progress', // 执行中 Paused = 'paused', // 暂停 Rejected = 'rejected', // 拒绝 Canceled = 'canceled', // 取消或终止 Timeout = 'timeout', // 超时 Failed = 'failed', // 失败 OK = 'ok', // 上传成功 } // 任务进度消息 export interface TaskProgressInfo { bid: string, output:{ ext: { current_waypoint_index: number, media_count: number // 媒体文件 }, progress:{ current_step: number, percent: number }, status: TaskProgressStatus }, result: number, } // ws status => log status export const TaskProgressWsStatusMap = { [TaskProgressStatus.Sent]: TaskStatus.Carrying, [TaskProgressStatus.inProgress]: TaskStatus.Carrying, [TaskProgressStatus.Rejected]: TaskStatus.Fail, [TaskProgressStatus.OK]: TaskStatus.Success, [TaskProgressStatus.Failed]: TaskStatus.Fail, [TaskProgressStatus.Canceled]: TaskStatus.CanCel, [TaskProgressStatus.Timeout]: TaskStatus.Fail, [TaskProgressStatus.Paused]: TaskStatus.Paused, } // 根据媒体文件上传进度信息,前端自己判断出的状态 export enum MediaStatus { // 媒体上传进度 ToUpload = 1, // 待上传 Uploading = 2, // 上传中 Empty = 3, // 无媒体文件 Success = 4, // 上传成功 } export const MediaStatusMap = { [MediaStatus.ToUpload]: 'Waiting to upload', [MediaStatus.Uploading]: 'Uploading…', [MediaStatus.Success]: 'Uploaded', [MediaStatus.Empty]: 'No media files', } export const MediaStatusColorMap = { [MediaStatus.ToUpload]: commonColor.BLUE, [MediaStatus.Uploading]: commonColor.BLUE, [MediaStatus.Success]: commonColor.NORMAL, [MediaStatus.Empty]: commonColor.WARN, } // 媒体上传进度消息 export interface MediaStatusProgressInfo { job_id: string, media_count: number uploaded_count: number, } // 媒体上传优先级消息 export interface TaskMediaHighestPriorityProgressInfo { pre_job_id: string, job_id: string, }