diff --git a/nezha-fronted/src/components/common/bottomBox/bottomBox.vue b/nezha-fronted/src/components/common/bottomBox/bottomBox.vue index 86983547e..01fffae13 100644 --- a/nezha-fronted/src/components/common/bottomBox/bottomBox.vue +++ b/nezha-fronted/src/components/common/bottomBox/bottomBox.vue @@ -78,6 +78,8 @@ + + @@ -111,6 +113,7 @@ import scrapeEndpoint from '@/components/common/bottomBox/tabs/scrapeEndpoint' import cortexDetail from '@/components/common/bottomBox/tabs/cortexDetail' import lokiStatus from '@/components/common/bottomBox/tabs/lokiStatus' import rolesTab from '@/components/common/bottomBox/tabs/rolesTab' +import discoveryTab from '@/components/common/bottomBox/tabs/discoveryTab' import IpDetails from '@/components/common/bottomBox/tabs/IpDetails' import recordRuleEvalLog from '@/components/common/bottomBox/tabs/recordRuleEvalLog' import routerPathParams from '@/components/common/mixin/routerPathParams' @@ -144,6 +147,7 @@ export default { recordRuleEvalLog, recordRulesQuery, issueTab, + discoveryTab, commentsBottomTab, vsysBottomTab, rolesTab @@ -286,6 +290,9 @@ export default { role: [ { prop: 'userTab', name: this.$t('config.operationlog.username'), active: true } ], + discovery: [ + { prop: 'assetDiscoveryTab', name: this.$t('assetDiscoveryTab'), active: true, hideHeader: true } + ], issue: [ // { prop: 'issue', name: this.$t('overall.issue'), active: true } ] diff --git a/nezha-fronted/src/components/common/bottomBox/nzBottomDataList.vue b/nezha-fronted/src/components/common/bottomBox/nzBottomDataList.vue index 9ff6cff3b..25619cb25 100644 --- a/nezha-fronted/src/components/common/bottomBox/nzBottomDataList.vue +++ b/nezha-fronted/src/components/common/bottomBox/nzBottomDataList.vue @@ -2,8 +2,8 @@
-
{{bottomHeaderTitle}}:
-
+
{{bottomHeaderTitle}}
+
{{tab.name}}
@@ -90,11 +90,15 @@ export default { }, title: { type: String + }, + hideHeader: { + type: Boolean, + default: false } }, computed: { bottomHeaderTitle () { - return this.title || this.$t('overall.name') + return this.title || (this.$t('overall.name') + ':') }, subContentClass () { const className = [] diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/discoveryTab.vue b/nezha-fronted/src/components/common/bottomBox/tabs/discoveryTab.vue new file mode 100644 index 000000000..f1cf39e98 --- /dev/null +++ b/nezha-fronted/src/components/common/bottomBox/tabs/discoveryTab.vue @@ -0,0 +1,161 @@ + + + diff --git a/nezha-fronted/src/components/common/js/constants.js b/nezha-fronted/src/components/common/js/constants.js index b53e90f6d..b64845d3c 100644 --- a/nezha-fronted/src/components/common/js/constants.js +++ b/nezha-fronted/src/components/common/js/constants.js @@ -423,6 +423,7 @@ export const fromRoute = { assetType: 'assetType', assetState: 'assetState', assetLabel: 'assetLabel', + assetDiscovery: 'assetDiscovery', user: 'user', agent: 'agent', recordRule: 'recordRule', diff --git a/nezha-fronted/src/components/common/table/asset/assetDiscoveryTable.vue b/nezha-fronted/src/components/common/table/asset/assetDiscoveryTable.vue new file mode 100644 index 000000000..d1af763bf --- /dev/null +++ b/nezha-fronted/src/components/common/table/asset/assetDiscoveryTable.vue @@ -0,0 +1,236 @@ + + + diff --git a/nezha-fronted/src/components/common/table/asset/disccoveryTabTable.vue b/nezha-fronted/src/components/common/table/asset/disccoveryTabTable.vue new file mode 100644 index 000000000..e8883a0eb --- /dev/null +++ b/nezha-fronted/src/components/common/table/asset/disccoveryTabTable.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/nezha-fronted/src/components/page/asset/assetDiscovery.vue b/nezha-fronted/src/components/page/asset/assetDiscovery.vue new file mode 100644 index 000000000..71935d437 --- /dev/null +++ b/nezha-fronted/src/components/page/asset/assetDiscovery.vue @@ -0,0 +1,241 @@ + + + diff --git a/nezha-fronted/src/router/index.js b/nezha-fronted/src/router/index.js index 275b63c79..ad9542640 100644 --- a/nezha-fronted/src/router/index.js +++ b/nezha-fronted/src/router/index.js @@ -84,6 +84,10 @@ export default new Router({ path: '/assetState', component: resolve => require(['@/components/page/config/assetState'], resolve) }, + { + path: '/assetDiscovery', + component: resolve => require(['@/components/page/asset/assetDiscovery'], resolve) + }, { path: '/assetLabel', component: resolve => require(['@/components/page/config/assetMeta'], resolve)