diff --git a/src/components/common/TimeRange/DateTimeRange.vue b/src/components/common/TimeRange/DateTimeRange.vue index 412fd8fe..13260ae7 100644 --- a/src/components/common/TimeRange/DateTimeRange.vue +++ b/src/components/common/TimeRange/DateTimeRange.vue @@ -251,6 +251,7 @@ export default { * 重置时间,将时间存入缓存,并触发方法请求接口刷新界面 */ const returnValue = () => { + store.commit('setTimeFilter', { startTime: myStartTime.value, endTime: myEndTime.value, range: dateRangeValue.value }) cancelHttp() rangeHistory.value.unshift({ start: myStartTime.value, diff --git a/src/components/layout/Header.vue b/src/components/layout/Header.vue index fc55f932..52856f6f 100644 --- a/src/components/layout/Header.vue +++ b/src/components/layout/Header.vue @@ -192,26 +192,27 @@ import { get, put } from '@/utils/http' import { curTabState, entityType, + fromRoute, networkTable, operationType, storageKey, - wholeScreenRouterMapping, - fromRoute + wholeScreenRouterMapping } from '@/utils/constants' import { api } from '@/utils/api' import { ref } from 'vue' import { + combineDrilldownTableWithUserConfig, combineTabList, getDefaultCurTab, - getTabList, - overwriteUrl, - urlParamsHandler, - combineDrilldownTableWithUserConfig, getDnsMapData, - handleSpecialValue + getTabList, + handleSpecialValue, + overwriteUrl, + urlParamsHandler } from '@/utils/tools' import { getNowTime, getSecond } from '@/utils/date-util' import _ from 'lodash' +import { useRoute } from 'vue-router' export default { name: 'Header', @@ -359,6 +360,11 @@ export default { this.dnsRcodeMapData = await getDnsMapData('dnsRcode') } } + }, + '$store.getters.timeFilter': function (newVal) { + if (newVal && Object.keys(newVal).length > 0) { + this.chartTimeFilter = newVal + } } }, async mounted () { @@ -375,16 +381,24 @@ export default { this.initDropdownList() }, setup () { - const dateRangeValue = 60 - const { - startTime, - endTime - } = getNowTime(dateRangeValue) - const chartTimeFilter = ref({ - startTime, - endTime, - dateRangeValue - }) + const { query } = useRoute() + // 获取url携带的range、startTime、endTime + const rangeParam = query.range + const startTimeParam = query.startTime + const endTimeParam = query.endTime + // 若url携带了,使用携带的值,否则使用默认值。 + + const dateRangeValue = rangeParam ? parseInt(query.range) : 60 + const chartTimeFilter = ref({ dateRangeValue }) + if (!startTimeParam || !endTimeParam) { + const { startTime, endTime } = getNowTime(60) + chartTimeFilter.value.startTime = startTime + chartTimeFilter.value.endTime = endTime + } else { + chartTimeFilter.value.startTime = parseInt(startTimeParam) + chartTimeFilter.value.endTime = parseInt(endTimeParam) + } + return { chartTimeFilter, entityType // 所有entity类型,用于header下拉框选择 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 1c05db2c..7b984a86 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -13,7 +13,8 @@ const user = { menuList: [], buttonList: [], roleList: [], - drilldownTableConfigList: [] + drilldownTableConfigList: [], + timeFilter: {} } }, mutations: { @@ -33,6 +34,9 @@ const user = { state.menuList = [] state.buttonList = [] state.roleList = [] + }, + setTimeFilter (state, data) { + state.timeFilter = data } }, getters: { @@ -47,6 +51,9 @@ const user = { }, drilldownTableConfigList (state) { return state.drilldownTableConfigList + }, + timeFilter (state) { + return state.timeFilter } }, actions: {