|
|
|
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,
|
|
|
|
}
|