fix: 解决timeRange下钻后返回时间被重置的问题

This commit is contained in:
刘洪洪
2022-10-27 15:47:38 +08:00
parent 64610304c1
commit e7cf758ffd
2 changed files with 40 additions and 1 deletions

View File

@@ -52,6 +52,9 @@ const panel = {
npmLocationSide: 'server', // npm location的查询条件--方向
refreshTime: null, // 自动刷新时间的秒数
refreshFlag: true, // 关闭自动刷新标志true为offfalse即开启自动刷新
timeRangeArray: [], // 时间范围列表:开始/结束时间
timeRangeFlag: 60, // 时间范围标志默认60即一小时-1为手动选择的时间范围
routerPath: '', // 当前路由路径
httpCancel: null // 终止http请求
},
mutations: {
@@ -148,6 +151,15 @@ const panel = {
setRefreshFlag (state, flag) {
state.refreshFlag = flag
},
setTimeRangeArray (state, array) {
state.timeRangeArray = array
},
setTimeRangeFlag (state, flag) {
state.timeRangeFlag = flag
},
setRouterPath (state, path) {
state.routerPath = path
},
setHttpCancel (state, cancel) {
state.httpCancel = cancel
}
@@ -233,6 +245,15 @@ const panel = {
},
getNpmThirdLevelMenuScore (state) {
return state.npmThirdLevelMenuScore
},
getTimeRangeArray (state) {
return state.timeRangeArray
},
getTimeRangeFlag (state) {
return state.timeRangeFlag
},
getRouterPath (state) {
return state.routerPath
}
},
actions: {

View File

@@ -167,7 +167,21 @@ export default {
const panel = ref({})
let panelType = 1 // 取得panel的type
const { params, query } = useRoute()
const { params, query, path } = useRoute()
if (path === store.getters.getRouterPath) {
if (query.startTime === undefined && store.getters.getTimeRangeFlag !== null) {
// 为了避免下钻后将timeRange由范围改为为小时制
const newUrl = urlParamsHandler(window.location.href, query, {
startTime: store.getters.getTimeRangeArray[0],
endTime: store.getters.getTimeRangeArray[1],
range: store.getters.getTimeRangeFlag
})
overwriteUrl(newUrl)
}
} else {
store.commit('setTimeRangeArray', [])
store.commit('setTimeRangeFlag', null)
}
const thirdPanel = query.thirdPanel
const fourthPanel = query.fourthPanel
if (fourthPanel) {
@@ -196,6 +210,7 @@ export default {
timeFilter.value.startTime = parseInt(startTimeParam)
timeFilter.value.endTime = parseInt(endTimeParam)
}
store.commit('setRouterPath', path)
// npm是否展示分数
const showScorePanel = [drillDownPanelTypeMapping.npmOverviewIp, drillDownPanelTypeMapping.npmOverviewDomain, drillDownPanelTypeMapping.npmOverviewApp, drillDownPanelTypeMapping.npmOverviewCommon, drillDownPanelTypeMapping.npmThirdMenu]
@@ -242,6 +257,9 @@ export default {
reload (startTime, endTime, dateRangeValue) {
this.timeFilter = { startTime: getSecond(startTime), endTime: getSecond(endTime), dateRangeValue: dateRangeValue }
const { query } = this.$route
this.$store.commit('setTimeRangeArray', [this.timeFilter.startTime, this.timeFilter.endTime])
this.$store.commit('setTimeRangeFlag', dateRangeValue.value)
const newUrl = urlParamsHandler(window.location.href, query, {
startTime: this.timeFilter.startTime,
endTime: this.timeFilter.endTime,