From 03031e94c1f3410f58f6add44a450c6f8c690812 Mon Sep 17 00:00:00 2001
From: feng626 <1304903146@qq.com>
Date: Mon, 10 Jan 2022 19:03:57 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E9=80=83=E7=94=9F=E9=80=9A=E9=81=93?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/i18n/langs/cn.json | 7 ++
src/router/accounts.js | 49 +++++++++
.../EscapeRoutePlanCreateUpdate.vue | 48 +++++++++
.../EscapeRoutePlanExecutionInfo.vue | 52 +++++++++
.../EscapeRoutePlanExecutionTaskList.vue | 79 ++++++++++++++
.../EscapeRoutePlanExecutionDetail/index.vue | 54 ++++++++++
.../EscapeRoutePlanExecutionList.vue | 102 ++++++++++++++++++
.../EscapeRoutePlanInfo.vue | 94 ++++++++++++++++
.../EscapeRoutePlanDetail/index.vue | 43 ++++++++
.../EscapeRoutePlan/EscapeRoutePlanList.vue | 95 ++++++++++++++++
src/views/accounts/EscapeRoutePlan/fields.js | 57 ++++++++++
src/views/accounts/EscapeRoutePlan/index.vue | 36 +++++++
12 files changed, 716 insertions(+)
create mode 100644 src/views/accounts/EscapeRoutePlan/EscapeRoutePlanCreateUpdate.vue
create mode 100644 src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/EscapeRoutePlanExecutionInfo.vue
create mode 100644 src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/EscapeRoutePlanExecutionTaskList.vue
create mode 100644 src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/index.vue
create mode 100644 src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionList.vue
create mode 100644 src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanInfo.vue
create mode 100644 src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/index.vue
create mode 100644 src/views/accounts/EscapeRoutePlan/EscapeRoutePlanList.vue
create mode 100644 src/views/accounts/EscapeRoutePlan/fields.js
create mode 100644 src/views/accounts/EscapeRoutePlan/index.vue
diff --git a/src/i18n/langs/cn.json b/src/i18n/langs/cn.json
index 390cf293c..e024de250 100644
--- a/src/i18n/langs/cn.json
+++ b/src/i18n/langs/cn.json
@@ -1326,6 +1326,13 @@
"TimerPeriod": "定时执行周期",
"Username": "用户名"
},
+ "EscapeRoutePlan": {
+ "EscapeRoutePlan": "逃生通道",
+ "EscapeRoutePlanCreate": "创建逃生通道",
+ "EscapeRoutePlanUpdate": "更新逃生通道",
+ "ExecutionDetail": "执行详情",
+ "MailRecipient": "邮件收件人"
+ },
"Cloud": {
"ServerAccountKey": "服务账号密钥",
"IPNetworkSegment": "IP网段",
diff --git a/src/router/accounts.js b/src/router/accounts.js
index 436b0501b..8bb29d93a 100644
--- a/src/router/accounts.js
+++ b/src/router/accounts.js
@@ -161,5 +161,54 @@ export default [
hidden: true
}
]
+ },
+ {
+ path: 'escape',
+ component: empty,
+ redirect: '',
+ meta: { title: i18n.t('xpack.EscapeRoutePlan.EscapeRoutePlan') },
+ children: [
+ {
+ path: '',
+ component: () => import('@/views/accounts/EscapeRoutePlan/index.vue'),
+ name: 'EscapeRoutePlanIndex',
+ meta: { title: i18n.t('xpack.EscapeRoutePlan.EscapeRoutePlan'), activeMenu: '/accounts/escape' }
+ },
+ {
+ path: '',
+ component: () => import('@/views/accounts/EscapeRoutePlan/EscapeRoutePlanList.vue'),
+ name: 'EscapeRoutePlanList',
+ meta: { title: i18n.t('xpack.EscapeRoutePlan.EscapeRoutePlan'), activeMenu: '/accounts/escape' },
+ hidden: true
+ },
+ {
+ path: 'create',
+ component: () => import('@/views/accounts/EscapeRoutePlan/EscapeRoutePlanCreateUpdate.vue'),
+ name: 'EscapeRoutePlanCreate',
+ meta: { title: i18n.t('xpack.EscapeRoutePlan.EscapeRoutePlanCreate'), activeMenu: '/accounts/escape', action: 'create' },
+ hidden: true
+ },
+ {
+ path: ':id/update',
+ component: () => import('@/views/accounts/EscapeRoutePlan/EscapeRoutePlanCreateUpdate.vue'),
+ name: 'EscapeRoutePlanUpdate',
+ meta: { title: i18n.t('xpack.EscapeRoutePlan.EscapeRoutePlanUpdate'), activeMenu: '/accounts/escape', action: 'update' },
+ hidden: true
+ },
+ {
+ path: ':id',
+ component: () => import('@/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/index.vue'),
+ name: 'EscapeRoutePlanDetail',
+ meta: { title: i18n.t('xpack.EscapeRoutePlan.EscapeRoutePlan'), activeMenu: '/accounts/escape' },
+ hidden: true
+ },
+ {
+ path: 'plan-execution/:id',
+ component: () => import('@/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/index.vue'),
+ name: 'EscapeRoutePlanExecutionDetail',
+ meta: { title: i18n.t('xpack.EscapeRoutePlan.ExecutionDetail'), activeMenu: '/accounts/escape' },
+ hidden: true
+ }
+ ]
}
]
diff --git a/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanCreateUpdate.vue b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanCreateUpdate.vue
new file mode 100644
index 000000000..8e9788df7
--- /dev/null
+++ b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanCreateUpdate.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
diff --git a/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/EscapeRoutePlanExecutionInfo.vue b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/EscapeRoutePlanExecutionInfo.vue
new file mode 100644
index 000000000..3bde75299
--- /dev/null
+++ b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/EscapeRoutePlanExecutionInfo.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/EscapeRoutePlanExecutionTaskList.vue b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/EscapeRoutePlanExecutionTaskList.vue
new file mode 100644
index 000000000..241e987ee
--- /dev/null
+++ b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/EscapeRoutePlanExecutionTaskList.vue
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
diff --git a/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/index.vue b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/index.vue
new file mode 100644
index 000000000..e8d3b1796
--- /dev/null
+++ b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionDetail/index.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionList.vue b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionList.vue
new file mode 100644
index 000000000..d8a3aaf8c
--- /dev/null
+++ b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanExecution/EscapeRoutePlanExecutionList.vue
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
diff --git a/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanInfo.vue b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanInfo.vue
new file mode 100644
index 000000000..6834ce537
--- /dev/null
+++ b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/EscapeRoutePlanInfo.vue
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/index.vue b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/index.vue
new file mode 100644
index 000000000..afec846ec
--- /dev/null
+++ b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanDetail/index.vue
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanList.vue b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanList.vue
new file mode 100644
index 000000000..d5768414d
--- /dev/null
+++ b/src/views/accounts/EscapeRoutePlan/EscapeRoutePlanList.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
diff --git a/src/views/accounts/EscapeRoutePlan/fields.js b/src/views/accounts/EscapeRoutePlan/fields.js
new file mode 100644
index 000000000..33c513a37
--- /dev/null
+++ b/src/views/accounts/EscapeRoutePlan/fields.js
@@ -0,0 +1,57 @@
+import i18n from '@/i18n/i18n'
+import { CronTab } from '@/components'
+
+var validatorInterval = (rule, value, callback) => {
+ if (parseInt(value) < 1) {
+ return callback(new Error(i18n.t('xpack.ChangeAuthPlan.validatorMessage.EnsureThisValueIsGreaterThanOrEqualTo1')))
+ }
+ callback()
+}
+
+function getFields() {
+ const recipients = {
+ el: {
+ value: [],
+ ajax: {
+ url: '/api/v1/users/users/?fields_size=mini',
+ transformOption: (item) => {
+ return { label: item.name + '(' + item.username + ')', value: item.id }
+ }
+ }
+ }
+ }
+
+ const is_periodic = {
+ type: 'switch'
+ }
+
+ const crontab = {
+ type: 'cronTab',
+ component: CronTab,
+ label: i18n.t('xpack.RegularlyPerform'),
+ hidden: (formValue) => {
+ return formValue.is_periodic === false
+ },
+ helpText: i18n.t('xpack.HelpText.CrontabOfCreateUpdatePage')
+ }
+
+ const interval = {
+ label: i18n.t('xpack.CyclePerform'),
+ hidden: (formValue) => {
+ return formValue.is_periodic === false
+ },
+ helpText: i18n.t('xpack.HelpText.IntervalOfCreateUpdatePage'),
+ rules: [
+ { validator: validatorInterval }
+ ]
+ }
+
+ return {
+ is_periodic: is_periodic,
+ crontab: crontab,
+ interval: interval,
+ recipients: recipients
+ }
+}
+
+export default getFields
diff --git a/src/views/accounts/EscapeRoutePlan/index.vue b/src/views/accounts/EscapeRoutePlan/index.vue
new file mode 100644
index 000000000..85ad5ba2a
--- /dev/null
+++ b/src/views/accounts/EscapeRoutePlan/index.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+