fix: 解决refreshTime非off,改为off下钻后返回仍为下钻前状态的问题
This commit is contained in:
@@ -23,8 +23,8 @@
|
|||||||
<script>
|
<script>
|
||||||
// import { ref } from 'vue'
|
// import { ref } from 'vue'
|
||||||
import { overwriteUrl, urlParamsHandler } from '@/utils/tools'
|
import { overwriteUrl, urlParamsHandler } from '@/utils/tools'
|
||||||
import { dateFormatToUTC } from '@/utils/date-util'
|
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
|
import { useStore } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'TimeRefresh',
|
name: 'TimeRefresh',
|
||||||
@@ -54,6 +54,7 @@ export default {
|
|||||||
},
|
},
|
||||||
setup (props, ctx) {
|
setup (props, ctx) {
|
||||||
const { query } = useRoute()
|
const { query } = useRoute()
|
||||||
|
const store = useStore()
|
||||||
const refreshArr = [
|
const refreshArr = [
|
||||||
{ value: -1, label: 'off' },
|
{ value: -1, label: 'off' },
|
||||||
{ value: 30, label: '30s' },
|
{ value: 30, label: '30s' },
|
||||||
@@ -64,8 +65,25 @@ export default {
|
|||||||
]
|
]
|
||||||
let refreshObj = {}
|
let refreshObj = {}
|
||||||
|
|
||||||
|
// 是否关闭refreshTime标志,
|
||||||
|
// 即时间选择30s后再off,下钻再返回时,地址栏会带着refreshTime,
|
||||||
|
// 此时通过refreshFlag判断已经off,再清除地址栏地址栏会带着refreshTime
|
||||||
|
const refreshFlag = store.state.panel.refreshFlag
|
||||||
|
const refreshTime = store.state.panel.refreshTime
|
||||||
|
|
||||||
|
if (refreshFlag) {
|
||||||
if (query.refreshTime !== undefined) {
|
if (query.refreshTime !== undefined) {
|
||||||
refreshObj = refreshArr.find(item => item.value === Number(query.refreshTime))
|
refreshObj = refreshArr.find(item => item.value === Number(query.refreshTime))
|
||||||
|
} else if (refreshTime !== null) {
|
||||||
|
// 此处是避免下钻后浏览器返回,获取不到url的refreshTime情况
|
||||||
|
refreshObj = refreshArr.find(item => item.value === refreshTime)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 浏览器回退时,清除掉地址栏的refreshTime
|
||||||
|
const newQuery = JSON.parse(JSON.stringify(query))
|
||||||
|
delete newQuery.refreshTime
|
||||||
|
const newUrl = urlParamsHandler(window.location.href, query, newQuery, 'clean')
|
||||||
|
overwriteUrl(newUrl)
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -90,6 +108,7 @@ export default {
|
|||||||
refreshTime: val.value
|
refreshTime: val.value
|
||||||
}
|
}
|
||||||
this.reloadUrl(dateParam)
|
this.reloadUrl(dateParam)
|
||||||
|
this.$store.commit('setRefreshTime', val.value)
|
||||||
|
|
||||||
// 设置定时器
|
// 设置定时器
|
||||||
this.intervalTimer = setInterval(() => {
|
this.intervalTimer = setInterval(() => {
|
||||||
@@ -109,7 +128,11 @@ export default {
|
|||||||
const routeQuery = this.$route.query
|
const routeQuery = this.$route.query
|
||||||
delete routeQuery.refreshTime
|
delete routeQuery.refreshTime
|
||||||
this.reloadUrl(routeQuery, 'cleanOldParams')
|
this.reloadUrl(routeQuery, 'cleanOldParams')
|
||||||
|
this.$store.commit('setRefreshTime', null)
|
||||||
|
this.$store.commit('setRefreshFlag', false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('查看此时的值=============================')
|
||||||
},
|
},
|
||||||
showRefreshList () {
|
showRefreshList () {
|
||||||
this.dropdownShow = !this.dropdownShow
|
this.dropdownShow = !this.dropdownShow
|
||||||
|
|||||||
@@ -49,7 +49,9 @@ const panel = {
|
|||||||
// tabOperationBeforeType: 0, // 记录上次的操作类型
|
// tabOperationBeforeType: 0, // 记录上次的操作类型
|
||||||
npmThirdLevelMenuScore: null, // npm overview 第三级菜单的panel分数
|
npmThirdLevelMenuScore: null, // npm overview 第三级菜单的panel分数
|
||||||
npmLocationCountry: '', // npm location的查询条件--国家
|
npmLocationCountry: '', // npm location的查询条件--国家
|
||||||
npmLocationSide: 'server' // npm location的查询条件--方向
|
npmLocationSide: 'server', // npm location的查询条件--方向
|
||||||
|
refreshTime: null, // 自动刷新时间的秒数
|
||||||
|
refreshFlag: true // 关闭自动刷新标志,true为off,false即开启自动刷新
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
setShowRightBox (state, flag) {
|
setShowRightBox (state, flag) {
|
||||||
@@ -138,6 +140,12 @@ const panel = {
|
|||||||
},
|
},
|
||||||
setNpmThirdLevelMenuScore (state, score) {
|
setNpmThirdLevelMenuScore (state, score) {
|
||||||
state.npmThirdLevelMenuScore = score
|
state.npmThirdLevelMenuScore = score
|
||||||
|
},
|
||||||
|
setRefreshTime (state, time) {
|
||||||
|
state.refreshTime = time
|
||||||
|
},
|
||||||
|
setRefreshFlag (state, flag) {
|
||||||
|
state.refreshFlag = flag
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
|
|||||||
Reference in New Issue
Block a user