From 54849757852f6ab40eb17afbd03d1d839b60a38d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 13 Nov 2023 17:09:15 +0800
Subject: [PATCH] 重复定时和连续执行

---
 src/types/task.ts |  104 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 91 insertions(+), 13 deletions(-)

diff --git a/src/types/task.ts b/src/types/task.ts
index cd5d97a..4639db0 100644
--- a/src/types/task.ts
+++ b/src/types/task.ts
@@ -3,13 +3,75 @@
 // 任务类型
 export enum TaskType {
   Immediate = 0, // 立即执行
-  Single = 1, // 单次定时任务
+  Timed = 1, // 单次定时任务
+  Repeat = 2, // 重复定时任务
+  Continuous = 3, // 连续执行任务
 }
 
 export const TaskTypeMap = {
-  [TaskType.Immediate]: 'Immediate',
-  [TaskType.Single]: 'Timed & One-Time',
+  [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 {
@@ -17,11 +79,15 @@
   Hover = 1,
   Land = 2,
 }
-
+enum OutOfControlActionText {
+  返航 = 0,
+  盘旋 = 1,
+  降落 = 2,
+}
 export const OutOfControlActionMap = {
-  [OutOfControlAction.ReturnToHome]: 'Return to Home',
-  [OutOfControlAction.Hover]: 'Hover',
-  [OutOfControlAction.Land]: 'Land',
+  [OutOfControlAction.ReturnToHome]: '返航',
+  [OutOfControlAction.Hover]: '盘旋',
+  [OutOfControlAction.Land]: '降落',
 }
 
 export const OutOfControlActionOptions = [
@@ -37,15 +103,26 @@
   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.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,
@@ -53,6 +130,7 @@
   [TaskStatus.Success]: commonColor.NORMAL,
   [TaskStatus.CanCel]: commonColor.FAIL,
   [TaskStatus.Fail]: commonColor.FAIL,
+  [TaskStatus.Paused]: commonColor.BLUE,
 }
 
 // 任务执行 ws 消息状态
@@ -93,7 +171,7 @@
   [TaskProgressStatus.Failed]: TaskStatus.Fail,
   [TaskProgressStatus.Canceled]: TaskStatus.CanCel,
   [TaskProgressStatus.Timeout]: TaskStatus.Fail,
-  [TaskProgressStatus.Paused]: TaskStatus.Wait,
+  [TaskProgressStatus.Paused]: TaskStatus.Paused,
 }
 
 // 根据媒体文件上传进度信息,前端自己判断出的状态

--
Gitblit v1.9.3