From eb00b5f1cafba542c104168ce3fa05d439e61217 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Chuailei000=E2=80=9D?= <2280131253@qq.com>
Date: Mon, 29 Aug 2022 18:18:25 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=9B=E5=BB=BA=E8=B5=84=E4=BA=A7?=
=?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=A1=B5=E9=9D=A2=EF=BC=9B=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E8=B7=AF=E7=94=B1=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/i18n/langs/zh.json | 2 +
src/router/console/assets.js | 102 +++++-
.../CloudsPlatformCreateUpdate.vue | 72 +++++
.../DatabaseCreateUpdate.vue | 30 +-
.../AssetCreateUpdate}/HostCreateUpdate.vue | 2 +-
.../NetworkingCreateUpdate.vue | 65 ++++
.../AssetCreateUpdate/WebCreateUpdate.vue | 65 ++++
src/views/assets/Asset/AssetList/AllList.vue | 295 +++++++++++++++++
.../Asset/AssetList/CloudsPlatformList.vue | 37 +++
.../assets/Asset/AssetList/DatabaseList.vue | 42 +++
src/views/assets/Asset/AssetList/HostList.vue | 31 ++
.../assets/Asset/AssetList/NetworkList.vue | 31 ++
src/views/assets/Asset/AssetList/WebList.vue | 31 ++
.../AssetBulkUpdateDialog.vue | 0
.../AssetList/components/BaseList.vue} | 62 +++-
.../NodeAssetsUpdateDialog.vue | 0
.../{ => components}/PlatformDialog.vue | 1 +
.../AssetList/{ => components}/TreeMenu.vue | 0
src/views/assets/Asset/AssetList/index.vue | 306 ++----------------
src/views/assets/Host/HostList.vue | 107 ------
20 files changed, 876 insertions(+), 405 deletions(-)
create mode 100644 src/views/assets/Asset/AssetCreateUpdate/CloudsPlatformCreateUpdate.vue
rename src/views/assets/{Database => Asset/AssetCreateUpdate}/DatabaseCreateUpdate.vue (53%)
rename src/views/assets/{Host => Asset/AssetCreateUpdate}/HostCreateUpdate.vue (97%)
create mode 100644 src/views/assets/Asset/AssetCreateUpdate/NetworkingCreateUpdate.vue
create mode 100644 src/views/assets/Asset/AssetCreateUpdate/WebCreateUpdate.vue
create mode 100644 src/views/assets/Asset/AssetList/AllList.vue
create mode 100644 src/views/assets/Asset/AssetList/CloudsPlatformList.vue
create mode 100644 src/views/assets/Asset/AssetList/DatabaseList.vue
create mode 100644 src/views/assets/Asset/AssetList/HostList.vue
create mode 100644 src/views/assets/Asset/AssetList/NetworkList.vue
create mode 100644 src/views/assets/Asset/AssetList/WebList.vue
rename src/views/assets/Asset/AssetList/{ => components}/AssetBulkUpdateDialog.vue (100%)
rename src/views/assets/{Database/HostList.vue => Asset/AssetList/components/BaseList.vue} (63%)
rename src/views/assets/Asset/AssetList/{ => components}/NodeAssetsUpdateDialog.vue (100%)
rename src/views/assets/Asset/AssetList/{ => components}/PlatformDialog.vue (99%)
rename src/views/assets/Asset/AssetList/{ => components}/TreeMenu.vue (100%)
delete mode 100644 src/views/assets/Host/HostList.vue
diff --git a/src/i18n/langs/zh.json b/src/i18n/langs/zh.json
index 5c044d801..9495938a3 100644
--- a/src/i18n/langs/zh.json
+++ b/src/i18n/langs/zh.json
@@ -96,6 +96,8 @@
"NoSQLProtocol": "非关系数据库"
},
"assets": {
+ "All": "所有",
+ "CloudPlatform": "云平台",
"AddAccount": "添加账号",
"Account": "账号",
"Defaults": "默认值",
diff --git a/src/router/console/assets.js b/src/router/console/assets.js
index 02a59fcd4..8106c6807 100644
--- a/src/router/console/assets.js
+++ b/src/router/console/assets.js
@@ -55,21 +55,21 @@ export default [
{
path: '',
name: 'HostList',
- component: () => import('@/views/assets/Host/HostList.vue'),
+ component: () => import('@/views/assets/Asset/AssetList/HostList.vue'),
hidden: true,
meta: { title: i18n.t('route.HostList'), activeMenu: '/console/assets/assets' }
},
{
path: 'create',
name: 'HostCreate',
- component: () => import('@/views/assets/Host/HostCreateUpdate.vue'),
+ component: () => import('@/views/assets/Asset/AssetCreateUpdate/HostCreateUpdate.vue'),
hidden: true,
meta: { title: i18n.t('route.AssetCreate'), activeMenu: '/console/assets/assets' }
},
{
path: ':id/update',
name: 'HostUpdate',
- component: () => import('@/views/assets/Host/HostCreateUpdate.vue'),
+ component: () => import('@/views/assets/Asset/AssetCreateUpdate/HostCreateUpdate.vue'),
hidden: true,
meta: { title: i18n.t('route.AssetUpdate'), activeMenu: '/console/assets/assets' }
}
@@ -85,21 +85,111 @@ export default [
{
path: '',
name: 'DatabaseList',
- component: () => import('@/views/assets/Database/HostList.vue'),
+ component: () => import('@/views/assets/Asset/AssetList/DatabaseList.vue'),
hidden: true,
meta: { title: i18n.t('route.HostList'), activeMenu: '/console/assets/assets' }
},
{
path: 'create',
name: 'DatabaseCreate',
- component: () => import('@/views/assets/Database/DatabaseCreateUpdate.vue'),
+ component: () => import('@/views/assets/Asset/AssetCreateUpdate/DatabaseCreateUpdate.vue'),
hidden: true,
meta: { title: i18n.t('route.AssetCreate'), activeMenu: '/console/assets/assets' }
},
{
path: ':id/update',
name: 'DatabaseUpdate',
- component: () => import('@/views/assets/Database/DatabaseCreateUpdate.vue'),
+ component: () => import('@/views/assets/Asset/AssetCreateUpdate/DatabaseCreateUpdate.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.AssetUpdate'), activeMenu: '/console/assets/assets' }
+ }
+ ]
+ },
+ {
+ path: 'networking',
+ component: empty,
+ redirect: '',
+ hidden: true,
+ meta: { title: i18n.t('route.networking'), permissions: ['assets.view_asset'] },
+ children: [
+ {
+ path: '',
+ name: 'DatabaseList',
+ component: () => import('@/views/assets/Asset/AssetList/NetworkList.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.HostList'), activeMenu: '/console/assets/assets' }
+ },
+ {
+ path: 'create',
+ name: 'DatabaseCreate',
+ component: () => import('@/views/assets/Asset/AssetCreateUpdate/NetworkingCreateUpdate.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.AssetCreate'), activeMenu: '/console/assets/assets' }
+ },
+ {
+ path: ':id/update',
+ name: 'DatabaseUpdate',
+ component: () => import('@/views/assets/Asset/AssetCreateUpdate/NetworkingCreateUpdate.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.AssetUpdate'), activeMenu: '/console/assets/assets' }
+ }
+ ]
+ },
+ {
+ path: 'CloudCreate',
+ component: empty,
+ redirect: '',
+ hidden: true,
+ meta: { title: i18n.t('route.networking'), permissions: ['assets.view_asset'] },
+ children: [
+ {
+ path: '',
+ name: 'CloudsPlatformList',
+ component: () => import('@/views/assets/Asset/AssetList/CloudsPlatformList.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.HostList'), activeMenu: '/console/assets/assets' }
+ },
+ {
+ path: 'create',
+ name: 'CloudCreate',
+ component: () => import('@/views/assets/Asset/AssetCreateUpdate/CloudsPlatformCreateUpdate.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.AssetCreate'), activeMenu: '/console/assets/assets' }
+ },
+ {
+ path: ':id/update',
+ name: 'CloudCreate',
+ component: () => import('@/views/assets/Asset/AssetCreateUpdate/CloudsPlatformCreateUpdate.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.AssetUpdate'), activeMenu: '/console/assets/assets' }
+ }
+ ]
+ },
+ {
+ path: 'web',
+ component: empty,
+ redirect: '',
+ hidden: true,
+ meta: { title: i18n.t('route.networking'), permissions: ['assets.view_asset'] },
+ children: [
+ {
+ path: '',
+ name: 'WebList',
+ component: () => import('@/views/assets/Asset/AssetList/WebList.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.HostList'), activeMenu: '/console/assets/assets' }
+ },
+ {
+ path: 'create',
+ name: 'WebCreate',
+ component: () => import('@/views/assets/Asset/AssetCreateUpdate/WebCreateUpdate.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.AssetCreate'), activeMenu: '/console/assets/assets' }
+ },
+ {
+ path: ':id/update',
+ name: 'WebUpdate',
+ component: () => import('@/views/assets/Asset/AssetCreateUpdate/WebCreateUpdate.vue'),
hidden: true,
meta: { title: i18n.t('route.AssetUpdate'), activeMenu: '/console/assets/assets' }
}
diff --git a/src/views/assets/Asset/AssetCreateUpdate/CloudsPlatformCreateUpdate.vue b/src/views/assets/Asset/AssetCreateUpdate/CloudsPlatformCreateUpdate.vue
new file mode 100644
index 000000000..d4553e919
--- /dev/null
+++ b/src/views/assets/Asset/AssetCreateUpdate/CloudsPlatformCreateUpdate.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
diff --git a/src/views/assets/Database/DatabaseCreateUpdate.vue b/src/views/assets/Asset/AssetCreateUpdate/DatabaseCreateUpdate.vue
similarity index 53%
rename from src/views/assets/Database/DatabaseCreateUpdate.vue
rename to src/views/assets/Asset/AssetCreateUpdate/DatabaseCreateUpdate.vue
index fcdb76d30..d4553e919 100644
--- a/src/views/assets/Database/DatabaseCreateUpdate.vue
+++ b/src/views/assets/Asset/AssetCreateUpdate/DatabaseCreateUpdate.vue
@@ -29,15 +29,39 @@ export default {
createSuccessNextRoute: { name: 'AssetDetail' },
hasDetailInMsg: false,
fields: [
- [this.$t('common.Basic'), ['platform', 'hostname', 'ip', 'port', 'db_name']],
+ [this.$t('common.Basic'), ['name', 'ip', 'platform', 'db_name']],
+ [this.$t('assets.Protocols'), ['protocols']],
[this.$t('assets.Domain'), ['domain']],
[this.$t('assets.Node'), ['nodes']],
[this.$t('assets.Label'), ['labels']],
[this.$t('common.Other'), ['is_active', 'comment']]
],
- fieldsMeta: {
- ...assetFieldsMeta
+ fieldsMeta: assetFieldsMeta(this)
+ }
+ },
+ mounted() {
+ this.setPlatformInitial()
+ },
+ methods: {
+ async setPlatformInitial() {
+ const nodesInitial = []
+ if (this.$route.query['node']) {
+ nodesInitial.push(this.$route.query.node)
}
+ const platformId = this.$route.query['platform'] || 1
+ const url = `/api/v1/assets/platforms/${platformId}/`
+ this.platform = await this.$axios.get(url)
+ const initial = {
+ is_active: true,
+ platform: parseInt(platformId),
+ protocols: this.platform.protocols_default,
+ nodes: nodesInitial,
+ domain: this.platform.domain_default
+ }
+ const constraints = this.platform['type_constraints']
+ this.fieldsMeta.protocols.el.choices = constraints['protocols']
+ this.initial = initial
+ this.loading = false
}
}
}
diff --git a/src/views/assets/Host/HostCreateUpdate.vue b/src/views/assets/Asset/AssetCreateUpdate/HostCreateUpdate.vue
similarity index 97%
rename from src/views/assets/Host/HostCreateUpdate.vue
rename to src/views/assets/Asset/AssetCreateUpdate/HostCreateUpdate.vue
index 3c7a8f459..a50b656f8 100644
--- a/src/views/assets/Host/HostCreateUpdate.vue
+++ b/src/views/assets/Asset/AssetCreateUpdate/HostCreateUpdate.vue
@@ -4,7 +4,7 @@
+
+
diff --git a/src/views/assets/Asset/AssetCreateUpdate/WebCreateUpdate.vue b/src/views/assets/Asset/AssetCreateUpdate/WebCreateUpdate.vue
new file mode 100644
index 000000000..a50b656f8
--- /dev/null
+++ b/src/views/assets/Asset/AssetCreateUpdate/WebCreateUpdate.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
diff --git a/src/views/assets/Asset/AssetList/AllList.vue b/src/views/assets/Asset/AssetList/AllList.vue
new file mode 100644
index 000000000..e7b556ee9
--- /dev/null
+++ b/src/views/assets/Asset/AssetList/AllList.vue
@@ -0,0 +1,295 @@
+
+
+
+
+
+
+
diff --git a/src/views/assets/Asset/AssetList/CloudsPlatformList.vue b/src/views/assets/Asset/AssetList/CloudsPlatformList.vue
new file mode 100644
index 000000000..ba0f13d92
--- /dev/null
+++ b/src/views/assets/Asset/AssetList/CloudsPlatformList.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
diff --git a/src/views/assets/Asset/AssetList/DatabaseList.vue b/src/views/assets/Asset/AssetList/DatabaseList.vue
new file mode 100644
index 000000000..f96465065
--- /dev/null
+++ b/src/views/assets/Asset/AssetList/DatabaseList.vue
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
diff --git a/src/views/assets/Asset/AssetList/HostList.vue b/src/views/assets/Asset/AssetList/HostList.vue
new file mode 100644
index 000000000..fa6f990f7
--- /dev/null
+++ b/src/views/assets/Asset/AssetList/HostList.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
diff --git a/src/views/assets/Asset/AssetList/NetworkList.vue b/src/views/assets/Asset/AssetList/NetworkList.vue
new file mode 100644
index 000000000..453906355
--- /dev/null
+++ b/src/views/assets/Asset/AssetList/NetworkList.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
diff --git a/src/views/assets/Asset/AssetList/WebList.vue b/src/views/assets/Asset/AssetList/WebList.vue
new file mode 100644
index 000000000..da95f5e99
--- /dev/null
+++ b/src/views/assets/Asset/AssetList/WebList.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
diff --git a/src/views/assets/Asset/AssetList/AssetBulkUpdateDialog.vue b/src/views/assets/Asset/AssetList/components/AssetBulkUpdateDialog.vue
similarity index 100%
rename from src/views/assets/Asset/AssetList/AssetBulkUpdateDialog.vue
rename to src/views/assets/Asset/AssetList/components/AssetBulkUpdateDialog.vue
diff --git a/src/views/assets/Database/HostList.vue b/src/views/assets/Asset/AssetList/components/BaseList.vue
similarity index 63%
rename from src/views/assets/Database/HostList.vue
rename to src/views/assets/Asset/AssetList/components/BaseList.vue
index f0e5a4193..fa6cbe878 100644
--- a/src/views/assets/Database/HostList.vue
+++ b/src/views/assets/Asset/AssetList/components/BaseList.vue
@@ -1,40 +1,61 @@
-
+
diff --git a/src/views/assets/Asset/AssetList/NodeAssetsUpdateDialog.vue b/src/views/assets/Asset/AssetList/components/NodeAssetsUpdateDialog.vue
similarity index 100%
rename from src/views/assets/Asset/AssetList/NodeAssetsUpdateDialog.vue
rename to src/views/assets/Asset/AssetList/components/NodeAssetsUpdateDialog.vue
diff --git a/src/views/assets/Asset/AssetList/PlatformDialog.vue b/src/views/assets/Asset/AssetList/components/PlatformDialog.vue
similarity index 99%
rename from src/views/assets/Asset/AssetList/PlatformDialog.vue
rename to src/views/assets/Asset/AssetList/components/PlatformDialog.vue
index 7dc162a83..b6c0f1800 100644
--- a/src/views/assets/Asset/AssetList/PlatformDialog.vue
+++ b/src/views/assets/Asset/AssetList/components/PlatformDialog.vue
@@ -128,6 +128,7 @@ export default {
host: 'HostCreate',
database: 'DatabaseCreate',
cloud: 'CloudCreate',
+ web: 'WebCreate',
remote_app: 'RemoteAppCreate'
}
const route = mapper[platform.category.value] || 'HostCreate'
diff --git a/src/views/assets/Asset/AssetList/TreeMenu.vue b/src/views/assets/Asset/AssetList/components/TreeMenu.vue
similarity index 100%
rename from src/views/assets/Asset/AssetList/TreeMenu.vue
rename to src/views/assets/Asset/AssetList/components/TreeMenu.vue
diff --git a/src/views/assets/Asset/AssetList/index.vue b/src/views/assets/Asset/AssetList/index.vue
index cb32d08a1..9635e2da3 100644
--- a/src/views/assets/Asset/AssetList/index.vue
+++ b/src/views/assets/Asset/AssetList/index.vue
@@ -1,306 +1,66 @@
-
+
-
diff --git a/src/views/assets/Host/HostList.vue b/src/views/assets/Host/HostList.vue
deleted file mode 100644
index f0e5a4193..000000000
--- a/src/views/assets/Host/HostList.vue
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
-
-
-
-