import { commonColor } from '/@/utils/color'
|
|
// 任务类型
|
export enum TaskType {
|
Immediate = 0, // 立即执行
|
Timed = 1, // 单次定时任务
|
Repeat = 2, // 重复定时任务
|
Continuous = 3, // 连续执行任务
|
}
|
|
export const TaskTypeMap = {
|
[TaskType.Immediate]: '立即执行',
|
[TaskType.Timed]: '单次定时',
|
[TaskType.Repeat]: '重复定时',
|
[TaskType.Continuous]: '连续执行',
|
}
|
|
export const TaskTypeOptions = [
|
{ value: TaskType.Immediate, label: TaskTypeMap[TaskType.Immediate] },
|
{ value: TaskType.Timed, label: TaskTypeMap[TaskType.Timed] },
|
// { value: TaskType.Repeat, label: TaskTypeMap[TaskType.Repeat] },
|
// { value: TaskType.Continuous, label: TaskTypeMap[TaskType.Continuous] },
|
]
|
|
// 频率类型
|
export enum FrequencyType {
|
day = 1, // 日
|
week = 2, // 周
|
month = 3, // 月
|
}
|
|
export const FrequencyTypeMap = {
|
[FrequencyType.day]: '日',
|
[FrequencyType.week]: '周',
|
[FrequencyType.month]: '月',
|
}
|
|
export const FrequencyTypeOptions = [
|
{ value: FrequencyType.month, label: FrequencyTypeMap[FrequencyType.month] },
|
{ value: FrequencyType.week, label: FrequencyTypeMap[FrequencyType.week] },
|
{ value: FrequencyType.day, label: FrequencyTypeMap[FrequencyType.day] },
|
]
|
|
// 重复规则类型
|
export enum RepeatRuleType {
|
day = 1, // 按日期
|
week = 2, // 按星期
|
}
|
|
export const RepeatRuleTypeMap = {
|
[RepeatRuleType.day]: '按日期',
|
[RepeatRuleType.week]: '按星期',
|
}
|
|
export const RepeatRuleTypeOptions = [
|
{ value: RepeatRuleType.day, label: RepeatRuleTypeMap[RepeatRuleType.day] },
|
{ value: RepeatRuleType.week, label: RepeatRuleTypeMap[RepeatRuleType.week] },
|
]
|
|
export const WhichWeekOptions = [
|
{ value: 1, label: '第一个' },
|
{ value: 2, label: '第二个' },
|
{ value: 3, label: '第三个' },
|
{ value: 4, label: '第四个' },
|
]
|
export const WhichDayOptions = [
|
{ value: 7, label: '周日', checked: false },
|
{ value: 1, label: '周一', checked: false },
|
{ value: 2, label: '周二', checked: false },
|
{ value: 3, label: '周三', checked: false },
|
{ value: 4, label: '周四', checked: false },
|
{ value: 5, label: '周五', checked: false },
|
{ value: 6, label: '周六', checked: false },
|
]
|
|
// 失控动作
|
export enum OutOfControlAction {
|
ReturnToHome = 0,
|
Hover = 1,
|
Land = 2,
|
}
|
enum OutOfControlActionText {
|
返航 = 0,
|
盘旋 = 1,
|
降落 = 2,
|
}
|
export const OutOfControlActionMap = {
|
[OutOfControlAction.ReturnToHome]: '返航',
|
[OutOfControlAction.Hover]: '盘旋',
|
[OutOfControlAction.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]: '待执行',
|
[TaskStatus.Carrying]: '正在进行',
|
[TaskStatus.Success]: '任务完成',
|
[TaskStatus.CanCel]: '任务取消',
|
[TaskStatus.Fail]: '任务失败',
|
[TaskStatus.Paused]: '已暂停',
|
}
|
|
export const TaskStatusOptions = [
|
{ value: TaskStatus.Wait, label: TaskStatusMap[TaskStatus.Wait] },
|
{ value: TaskStatus.Carrying, label: TaskStatusMap[TaskStatus.Carrying] },
|
{ value: TaskStatus.Success, label: TaskStatusMap[TaskStatus.Success] },
|
{ value: TaskStatus.CanCel, label: TaskStatusMap[TaskStatus.CanCel] },
|
{ value: TaskStatus.Fail, label: TaskStatusMap[TaskStatus.Fail] },
|
{ value: TaskStatus.Paused, label: TaskStatusMap[TaskStatus.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,
|
}
|