diff --git a/src/router/console/assets.js b/src/router/console/assets.js index df17fd0ce..8c05ce692 100644 --- a/src/router/console/assets.js +++ b/src/router/console/assets.js @@ -201,7 +201,38 @@ export default [ name: 'WebUpdate', component: () => import('@/views/assets/Asset/AssetCreateUpdate/WebCreateUpdate.vue'), hidden: true, - meta: { title: i18n.t('route.AssetUpdate'), activeMenu: '/console/assets/assets' } + meta: { title: i18n.t('route.WebUpdate'), activeMenu: '/console/assets/assets' } + } + ] + }, + { + path: 'gpts', + component: empty, + redirect: '', + hidden: true, + meta: { + title: i18n.t('route.gpts'), + app: 'assets', + resource: 'asset' + }, + children: [ + { + path: '', + name: 'GptList', + component: () => import('@/views/assets/Asset/AssetList/GPTList.vue'), + meta: { title: i18n.t('route.GPTList'), activeMenu: '/console/assets/assets' } + }, + { + path: 'create', + name: 'GptCreate', + component: () => import('@/views/assets/Asset/AssetCreateUpdate/GPTCreateUpdate.vue'), + meta: { title: i18n.t('assets.CreateGPT'), activeMenu: '/console/assets/assets' } + }, + { + path: ':id/update', + name: 'GptUpdate', + component: () => import('@/views/assets/Asset/AssetCreateUpdate/GPTCreateUpdate.vue'), + meta: { title: i18n.t('route.GPTUpdate'), activeMenu: '/console/assets/assets' } } ] }, diff --git a/src/views/assets/Asset/AssetCreateUpdate/GPTCreateUpdate.vue b/src/views/assets/Asset/AssetCreateUpdate/GPTCreateUpdate.vue new file mode 100644 index 000000000..5ebeea1a9 --- /dev/null +++ b/src/views/assets/Asset/AssetCreateUpdate/GPTCreateUpdate.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/views/assets/Asset/AssetList/CloudList.vue b/src/views/assets/Asset/AssetList/CloudList.vue index aca3a7a4e..5f4233cbc 100644 --- a/src/views/assets/Asset/AssetList/CloudList.vue +++ b/src/views/assets/Asset/AssetList/CloudList.vue @@ -13,10 +13,7 @@ export default { return { tableConfig: { category: 'cloud', - url: '/api/v1/assets/clouds/', - headerActions: { - createRoute: 'CloudCreate' - } + url: '/api/v1/assets/clouds/' } } } diff --git a/src/views/assets/Asset/AssetList/CustomList.vue b/src/views/assets/Asset/AssetList/CustomList.vue index 1d2b205da..9cb407539 100644 --- a/src/views/assets/Asset/AssetList/CustomList.vue +++ b/src/views/assets/Asset/AssetList/CustomList.vue @@ -14,9 +14,6 @@ export default { config: { category: 'custom', url: '/api/v1/assets/customs/', - headerActions: { - createRoute: 'CustomCreate' - }, tableConfig: { columnsExclude: [ ], diff --git a/src/views/assets/Asset/AssetList/DatabaseList.vue b/src/views/assets/Asset/AssetList/DatabaseList.vue index ca694a80e..beb8428c7 100644 --- a/src/views/assets/Asset/AssetList/DatabaseList.vue +++ b/src/views/assets/Asset/AssetList/DatabaseList.vue @@ -13,10 +13,7 @@ export default { return { config: { category: 'database', - url: '/api/v1/assets/databases/', - extraHeaderActions: { - createRoute: 'DatabaseCreate' - } + url: '/api/v1/assets/databases/' } } } diff --git a/src/views/assets/Asset/AssetList/DeviceList.vue b/src/views/assets/Asset/AssetList/DeviceList.vue index 10a271d6e..12ef18b4c 100644 --- a/src/views/assets/Asset/AssetList/DeviceList.vue +++ b/src/views/assets/Asset/AssetList/DeviceList.vue @@ -13,10 +13,7 @@ export default { return { config: { url: '/api/v1/assets/devices/', - category: 'device', - headerActions: { - createRoute: 'DeviceCreate' - } + category: 'device' } } } diff --git a/src/views/assets/Asset/AssetList/GPTList.vue b/src/views/assets/Asset/AssetList/GPTList.vue new file mode 100644 index 000000000..b3b056c49 --- /dev/null +++ b/src/views/assets/Asset/AssetList/GPTList.vue @@ -0,0 +1,25 @@ + + + + + diff --git a/src/views/assets/Asset/AssetList/HostList.vue b/src/views/assets/Asset/AssetList/HostList.vue index 460fa3353..3f8176fcb 100644 --- a/src/views/assets/Asset/AssetList/HostList.vue +++ b/src/views/assets/Asset/AssetList/HostList.vue @@ -31,7 +31,6 @@ export default { category: 'host', optionInfo: {}, headerActions: { - createRoute: 'HostCreate', extraActions: [ { name: this.$t('xpack.Cloud.CloudSync'), diff --git a/src/views/assets/Asset/AssetList/WebList.vue b/src/views/assets/Asset/AssetList/WebList.vue index b6d1572d7..d40a93206 100644 --- a/src/views/assets/Asset/AssetList/WebList.vue +++ b/src/views/assets/Asset/AssetList/WebList.vue @@ -14,9 +14,6 @@ export default { config: { category: 'web', url: '/api/v1/assets/webs/', - headerActions: { - createRoute: 'WebCreate' - }, tableConfig: { columnsExclude: [ 'username_selector', 'password_selector', 'submit_selector', diff --git a/src/views/assets/Asset/AssetList/index.vue b/src/views/assets/Asset/AssetList/index.vue index 9756bc3d3..b6605d877 100644 --- a/src/views/assets/Asset/AssetList/index.vue +++ b/src/views/assets/Asset/AssetList/index.vue @@ -56,6 +56,12 @@ export default { hidden: true, component: () => import('@/views/assets/Asset/AssetList/WebList.vue') }, + { + icon: 'fa-globe', + name: 'gpt', + hidden: true, + component: () => import('@/views/assets/Asset/AssetList/GPTList.vue') + }, { icon: 'fa-th', name: 'custom', @@ -74,6 +80,7 @@ export default { this.$axios.get('/api/v1/assets/categories/').then(categories => { for (const item of categories) { const name = item.value + // 如果报错,需要在上面的 submenu 中添加对应的组件 nameComponentMap[name]['hidden'] = false nameComponentMap[name]['title'] = item.label }