diff --git a/src/utils/constants.js b/src/utils/constants.js index a3812342..ebdd96e2 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -291,7 +291,8 @@ export const curTabState = { fourthPanel: 'fourthPanel', networkOverviewBeforeTab: 'networkOverviewBeforeTab', tabOperationType: 'tabOperationType', - tabOperationBeforeType: 'tabOperationBeforeType' + tabOperationBeforeType: 'tabOperationBeforeType', + tabIndex: 'tabIndex' } export const scoreUrl = [ diff --git a/src/views/charts2/charts/networkOverview/NetworkOverviewTabs.vue b/src/views/charts2/charts/networkOverview/NetworkOverviewTabs.vue index 3b423629..529abb58 100644 --- a/src/views/charts2/charts/networkOverview/NetworkOverviewTabs.vue +++ b/src/views/charts2/charts/networkOverview/NetworkOverviewTabs.vue @@ -1221,6 +1221,14 @@ export default { }) } }) + if (!this.getUrlParam(this.curTabState.tabIndex)) { + let thirdMenu = this.urlChangeParams[this.curTabState.thirdMenu] + if(thirdMenu === 'network.serverIps'){ + this.urlChangeParams[this.curTabState.tabIndex] = 1 + }else if(thirdMenu === 'network.clientIps' || thirdMenu === 'network.ips'){ + this.urlChangeParams[this.curTabState.tabIndex] = 0 + } + } this.changeUrlTabState() this.$router.push({ path: this.$route.path, @@ -1894,15 +1902,7 @@ export default { }, beforeUnmount () { // 以下元素,检测到内存并未释放 - this.list = null - this.tabList = null - this.allList = null - this.drillDownTableConfigs = null - this.curTable = null - this.commonColumnList = null - this.networkTable = null - this.tableData = null - this.tableDataBackup = null + }, unmounted () { this.isNoData = false diff --git a/src/views/charts2/charts/npm/NpmTabs.vue b/src/views/charts2/charts/npm/NpmTabs.vue index b9779dd3..9786e7da 100644 --- a/src/views/charts2/charts/npm/NpmTabs.vue +++ b/src/views/charts2/charts/npm/NpmTabs.vue @@ -115,11 +115,15 @@ export default { curTabIndex = 0 if (self.serverSessions === 0) { self.disableTab(1) + }else if(curTabIndexInUrl !== null){ + curTabIndex = curTabIndexInUrl } }else if(thirdMenu === 'network.serverIps'){ curTabIndex = 1 if (self.clientSessions === 0) { self.disableTab(0) + }else if(curTabIndexInUrl !== null){ + curTabIndex = curTabIndexInUrl } }else if (self.clientSessions === 0) { curTabIndex = 1 @@ -127,21 +131,23 @@ export default { } else if (self.serverSessions === 0) { curTabIndex = 0 self.disableTab(1) + } else if(curTabIndexInUrl !== null){ + curTabIndex = curTabIndexInUrl } this.$nextTick(() => { - if(curTabIndexInUrl !== null){ - self.currentTab = curTabIndexInUrl - self.isCurTabReady = true - setTimeout(() => { - this.$emit('tabChange', curTabIndexInUrl) - }, 400) - }else { - self.currentTab = curTabIndex - self.isCurTabReady = true - } + self.currentTab = curTabIndex + self.isCurTabReady = true + //URL中tabIndex的设置,client初始化时查询条件需要:side条件 + const { query } = this.$route + const newUrl = urlParamsHandler(window.location.href, query, { + tabIndex: self.currentTab + }) + overwriteUrl(newUrl) setTimeout(() => { self.handleActiveBar(self.currentTab) - + }, 400) + setTimeout(() => { + this.$emit('tabChange', self.currentTab) }, 400) }) })