From c322059c9728cdd3c6882392970cb4d4daef371e Mon Sep 17 00:00:00 2001 From: liuhonghong Date: Fri, 11 Nov 2022 15:17:44 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E5=9B=9E=E9=80=80=E4=BF=9D?= =?UTF-8?q?=E7=95=99=E7=8A=B6=E6=80=81=E5=BC=83=E7=94=A8window=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8store?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.js | 2 -- src/store/modules/panel.js | 9 ++++++++- src/views/charts2/Panel.vue | 5 +++-- .../charts/networkOverview/NetworkOverviewTabs.vue | 12 +++++++----- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index 71234c06..e29ea3f5 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -72,6 +72,4 @@ const router = createRouter({ routes: routes }) -window.localRouterHistoryList = [] - export default router diff --git a/src/store/modules/panel.js b/src/store/modules/panel.js index 754ce768..c272396e 100644 --- a/src/store/modules/panel.js +++ b/src/store/modules/panel.js @@ -56,7 +56,8 @@ const panel = { timeRangeFlag: null, // 时间范围标志,默认60即一小时,-1为手动选择的时间范围 routerPath: '', // 当前路由路径 httpCancel: null, // 终止http请求 - rangeEchartsData: {} // 框选echarts图表 + rangeEchartsData: {}, // 框选echarts图表 + routerHistoryList: [] // 路由跳转记录列表 }, mutations: { setShowRightBox (state, flag) { @@ -166,6 +167,9 @@ const panel = { }, setRangeEchartsData (state, data) { state.rangeEchartsData = data + }, + setRouterHistoryList (state, list) { + state.routerHistoryList = list } }, getters: { @@ -258,6 +262,9 @@ const panel = { }, getRouterPath (state) { return state.routerPath + }, + getRouterHistoryList (state) { + return state.routerHistoryList } }, actions: { diff --git a/src/views/charts2/Panel.vue b/src/views/charts2/Panel.vue index d434cf9b..3e7df2fb 100644 --- a/src/views/charts2/Panel.vue +++ b/src/views/charts2/Panel.vue @@ -204,7 +204,7 @@ export default { let { params, query, path } = useRoute() // 获取路由跳转过的历史状态,赋值给当前界面,起到保留状态的作用,如浏览器的回退前进等 - const routerObj = window.localRouterHistoryList.find(item => item.t === query.t) + const routerObj = store.getters.getRouterHistoryList.find(item => item.t === query.t) if (routerObj) { params = routerObj.params query = routerObj.query @@ -386,7 +386,8 @@ export default { */ beforeUnmount () { const query = this.$_.cloneDeep(this.$route.query) - const routerObj = window.localRouterHistoryList.find(item => item.t === query.t) + const routerObj = this.$store.getters.getRouterHistoryList.find(item => item.t === query.t) + // const routerObj = window.localRouterHistoryList.find(item => item.t === query.t) if (routerObj !== undefined) { if (Object.getOwnPropertyNames(query).length >= Object.getOwnPropertyNames(routerObj.query).length) { routerObj.query = query diff --git a/src/views/charts2/charts/networkOverview/NetworkOverviewTabs.vue b/src/views/charts2/charts/networkOverview/NetworkOverviewTabs.vue index 638ba928..ddd02a99 100644 --- a/src/views/charts2/charts/networkOverview/NetworkOverviewTabs.vue +++ b/src/views/charts2/charts/networkOverview/NetworkOverviewTabs.vue @@ -1198,6 +1198,7 @@ export default { */ beforeRouterPush () { const currentRouter = this.$_.cloneDeep(this.$route.query) + const historyList = this.$_.cloneDeep(this.$store.getters.getRouterHistoryList) const tempObj = { t: currentRouter.t, @@ -1205,21 +1206,22 @@ export default { path: this.$_.cloneDeep(this.$route.path), params: this.$_.cloneDeep(this.$route.params) } - if (window.localRouterHistoryList.length > 0) { + if (historyList.length > 0) { let flag = true - window.localRouterHistoryList.forEach((item, index) => { + historyList.forEach((item, index) => { if (item.t === currentRouter.t) { - window.localRouterHistoryList[index] = tempObj + historyList[index] = tempObj flag = false } if (!flag) { return true } }) - if (flag) window.localRouterHistoryList.push(tempObj) + if (flag) historyList.push(tempObj) } else { - window.localRouterHistoryList.push(tempObj) + historyList.push(tempObj) } + this.$store.commit('setRouterHistoryList', historyList) }, handleSearchParams (columnValue) { columnValue = columnValue.replaceAll("'", "\\\\'")