From 705572b24534e489715acb8bd8a6baa7bf4a2083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B4=AA=E6=B4=AA?= <2498601771@qq.com> Date: Tue, 2 Jan 2024 10:42:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=AE=9E=E4=BD=93?= =?UTF-8?q?=E3=80=81=E6=A3=80=E6=B5=8B=E7=95=8C=E9=9D=A2=E5=9B=A0=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E8=B7=AF=E5=BE=84=E9=97=AE=E9=A2=98=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E6=89=93=E5=BC=80=EF=BC=8C=E4=BB=A5=E5=8F=8A=E5=AE=9E=E4=BD=93?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E7=95=8C=E9=9D=A2=E9=83=A8=E5=88=86=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/layout/Header.vue | 111 ++++++++++++------ src/router/index.js | 2 +- src/utils/constants.js | 2 +- .../entityDetail/tabs/PerformanceEvent.vue | 2 +- .../entityDetail/tabs/SecurityEvent.vue | 13 +- src/views/entityExplorer/EntityExplorer.vue | 2 +- 6 files changed, 84 insertions(+), 48 deletions(-) diff --git a/src/components/layout/Header.vue b/src/components/layout/Header.vue index 1eac0a6e..f8351cc2 100644 --- a/src/components/layout/Header.vue +++ b/src/components/layout/Header.vue @@ -125,7 +125,7 @@ :show-close="false" >
-
+
{{ $t(menu.i18n || menu.name) }} @@ -423,39 +423,6 @@ export default { }, methods: { generateBreadcrumb (breadcrumb, menus) { - if (this.route === '/entityDetail') { - const entityMenu = menus.find(m => m.route === '/entityExplorer') - const entityDetailMenu = menus.find(m => m.route === '/entityDetail') - breadcrumb.push({ - code: entityMenu.code, - value: entityMenu.i18n ? this.$t(entityMenu.i18n) : entityMenu.name, - route: entityMenu.route, - type: entityMenu.type - }) - breadcrumb.push({ - code: entityDetailMenu.code, - value: entityDetailMenu.i18n ? this.$t(entityDetailMenu.i18n) : entityDetailMenu.name, - route: entityDetailMenu.route, - type: entityDetailMenu.type - }) - return true - } else if (this.route === '/entityGraph') { - const entityMenu = menus.find(m => m.route === '/entityExplorer') - const entityGraphMenu = menus.find(m => m.route === '/entityGraph') - breadcrumb.push({ - code: entityMenu.code, - value: entityMenu.i18n ? this.$t(entityMenu.i18n) : entityMenu.name, - route: entityMenu.route, - type: entityMenu.type - }) - breadcrumb.push({ - code: entityGraphMenu.code, - value: entityGraphMenu.i18n ? this.$t(entityGraphMenu.i18n) : entityGraphMenu.name, - route: entityGraphMenu.route, - type: entityGraphMenu.type - }) - return true - } const menu = menus.find(m => m.route === this.route) if (menu) { breadcrumb.unshift({ @@ -481,6 +448,65 @@ export default { } } }, + // generateBreadcrumb (breadcrumb, menus) { + // if (this.route === '/entityDetail') { + // const entityMenu = menus.find(m => m.route === '/entity') + // const entityDetailMenu = menus.find(m => m.route === '/entityDetail') + // breadcrumb.push({ + // code: entityMenu.code, + // value: entityMenu.i18n ? this.$t(entityMenu.i18n) : entityMenu.name, + // route: entityMenu.route, + // type: entityMenu.type + // }) + // breadcrumb.push({ + // code: entityDetailMenu.code, + // value: entityDetailMenu.i18n ? this.$t(entityDetailMenu.i18n) : entityDetailMenu.name, + // route: entityDetailMenu.route, + // type: entityDetailMenu.type + // }) + // return true + // } else if (this.route === '/entityGraph') { + // const entityMenu = menus.find(m => m.route === '/entity') + // const entityGraphMenu = menus.find(m => m.route === '/entityGraph') + // breadcrumb.push({ + // code: entityMenu.code, + // value: entityMenu.i18n ? this.$t(entityMenu.i18n) : entityMenu.name, + // route: entityMenu.route, + // type: entityMenu.type + // }) + // breadcrumb.push({ + // code: entityGraphMenu.code, + // value: entityGraphMenu.i18n ? this.$t(entityGraphMenu.i18n) : entityGraphMenu.name, + // route: entityGraphMenu.route, + // type: entityGraphMenu.type + // }) + // return true + // } + // const menu = menus.find(m => m.route === this.route) + // if (menu) { + // breadcrumb.unshift({ + // code: menu.code, + // value: menu.i18n ? this.$t(menu.i18n) : menu.name, + // route: menu.route, + // type: menu.type + // }) + // return true + // } else { + // for (let i = 0; i < menus.length; i++) { + // if (!_.isEmpty(menus[i].children)) { + // if (this.generateBreadcrumb(breadcrumb, menus[i].children)) { + // breadcrumb.unshift({ + // code: menus[i].code, + // value: menus[i].i18n ? this.$t(menus[i].i18n) : menus[i].name, + // route: menus[i].route, + // type: menus[i].type + // }) + // return true + // } + // } + // } + // } + // }, handleClose () { this.showChangePin = false }, @@ -696,6 +722,23 @@ export default { } } }, + // 仅处理除panel外的相关路径的导航 + async jumpOther (route, index) { + route = route.replace('redirect:', '') + this.showMenu = false + if (route === this.route && index > 0) { // 当前只有一级菜单时,点击不进行刷新,重新跳转 + this.refresh() + return + } + if (route) { + this.$router.push({ + path: route, + query: { + t: +new Date() + } + }) + } + }, async jump (route, columnName, columnValue, opeType) { if (route === '/panel/linkMonitor' && opeType === 3) { return true diff --git a/src/router/index.js b/src/router/index.js index 0adc5029..ea76efed 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -20,7 +20,7 @@ const routes = [ component: () => import('@/views/report/Report') }, { - path: '/entityExplorer', + path: '/entity', component: () => import('@/views/entityExplorer/EntityExplorer') }, { diff --git a/src/utils/constants.js b/src/utils/constants.js index 7ae05c84..e3424bb8 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -213,7 +213,7 @@ export const detectionPageType = { } export const listScrollPath = [ - '/entityExplorer', + '/entity', '/detection/performanceEvent', '/detection/securityEvent' ] diff --git a/src/views/charts2/charts/entityDetail/tabs/PerformanceEvent.vue b/src/views/charts2/charts/entityDetail/tabs/PerformanceEvent.vue index 6b04f0df..0b688766 100644 --- a/src/views/charts2/charts/entityDetail/tabs/PerformanceEvent.vue +++ b/src/views/charts2/charts/entityDetail/tabs/PerformanceEvent.vue @@ -36,7 +36,7 @@
{{ $t('overall.duration') }} :    - {{ unitConvert(item.durationMs, 'time', null, null, 0).join(' ') || '-' }} + {{ unitConvert(parseInt(item.durationS), 'time', 's', null, 0).join(' ') || '-' }}
diff --git a/src/views/charts2/charts/entityDetail/tabs/SecurityEvent.vue b/src/views/charts2/charts/entityDetail/tabs/SecurityEvent.vue index c06f3b8f..02cac6f9 100644 --- a/src/views/charts2/charts/entityDetail/tabs/SecurityEvent.vue +++ b/src/views/charts2/charts/entityDetail/tabs/SecurityEvent.vue @@ -17,7 +17,7 @@ class="detection-event-severity-color-block" :style="`background-color: ${eventSeverityColor[item.eventSeverity]}`"> - {{ toUpperCaseByString(item.securityType) || '-' }} + {{ item.eventName || '-' }} {{ item.offenderIp || '-' }}
{{ item.offenderDomain }}
@@ -63,7 +63,7 @@
{{ $t('overall.duration') }} :   - {{ unitConvert(item.durationMs, 'time', null, null, 0).join(' ') || '-' }} + {{ unitConvert(parseInt(item.durationS), 'time', 's', null, 0).join(' ') || '-' }}
@@ -109,14 +109,7 @@ export default { } }, mounted () { - // this.initData() - this.isNoData = true - this.$emit('checkTag', entityDetailTabsName.securityEvent, 0) - this.toggleLoading(true) - const timer = setTimeout(() => { - this.toggleLoading(false) - clearInterval(timer) - }, 200) + this.initData() }, methods: { unitConvert, diff --git a/src/views/entityExplorer/EntityExplorer.vue b/src/views/entityExplorer/EntityExplorer.vue index 2566f748..3b656490 100644 --- a/src/views/entityExplorer/EntityExplorer.vue +++ b/src/views/entityExplorer/EntityExplorer.vue @@ -389,7 +389,7 @@ export default { if (!this.showList) { // 首页进入搜索时重载页面,视觉上进入列表页面 this.$router.push({ - path: '/entityExplorer', + path: '/entity', query: { listMode: this.listMode, q: urlQ,