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

View File

@@ -167,7 +167,21 @@ export default {
const panel = ref({}) const panel = ref({})
let panelType = 1 // 取得panel的type 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 thirdPanel = query.thirdPanel
const fourthPanel = query.fourthPanel const fourthPanel = query.fourthPanel
if (fourthPanel) { if (fourthPanel) {
@@ -196,6 +210,7 @@ export default {
timeFilter.value.startTime = parseInt(startTimeParam) timeFilter.value.startTime = parseInt(startTimeParam)
timeFilter.value.endTime = parseInt(endTimeParam) timeFilter.value.endTime = parseInt(endTimeParam)
} }
store.commit('setRouterPath', path)
// npm是否展示分数 // npm是否展示分数
const showScorePanel = [drillDownPanelTypeMapping.npmOverviewIp, drillDownPanelTypeMapping.npmOverviewDomain, drillDownPanelTypeMapping.npmOverviewApp, drillDownPanelTypeMapping.npmOverviewCommon, drillDownPanelTypeMapping.npmThirdMenu] const showScorePanel = [drillDownPanelTypeMapping.npmOverviewIp, drillDownPanelTypeMapping.npmOverviewDomain, drillDownPanelTypeMapping.npmOverviewApp, drillDownPanelTypeMapping.npmOverviewCommon, drillDownPanelTypeMapping.npmThirdMenu]
@@ -242,6 +257,9 @@ export default {
reload (startTime, endTime, dateRangeValue) { reload (startTime, endTime, dateRangeValue) {
this.timeFilter = { startTime: getSecond(startTime), endTime: getSecond(endTime), dateRangeValue: dateRangeValue } this.timeFilter = { startTime: getSecond(startTime), endTime: getSecond(endTime), dateRangeValue: dateRangeValue }
const { query } = this.$route 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, { const newUrl = urlParamsHandler(window.location.href, query, {
startTime: this.timeFilter.startTime, startTime: this.timeFilter.startTime,
endTime: this.timeFilter.endTime, endTime: this.timeFilter.endTime,