diff --git a/src/views/PlatformData/UserLoginStats.vue b/src/views/PlatformData/UserLoginStats.vue index f3deade..d583700 100644 --- a/src/views/PlatformData/UserLoginStats.vue +++ b/src/views/PlatformData/UserLoginStats.vue @@ -241,6 +241,19 @@ const chartRegionPieRef = ref(null); const chartRegionMemberPieRef = ref(null); const chartRegionNonMemberPieRef = ref(null); +// 初始化查询参数 +const initQueryParams = () => { + const { start_time, end_time, region } = route.query; + if (start_time && end_time) { + dateRange.value = [new Date(start_time), new Date(end_time)]; + } + if (region) { + selectedRegion.value = region; + } +}; + +initQueryParams(); + // 响应式数据:登录数据统计 const loginStats = ref({ total: 0, @@ -360,6 +373,25 @@ const updateTrendChart = (list) => { }; const handleSearch = () => { + // 更新 URL 参数 + const query = { ...route.query }; + + if (dateRange.value && dateRange.value.length === 2) { + query.start_time = formatDate(dateRange.value[0]); + query.end_time = formatDate(dateRange.value[1]); + } else { + delete query.start_time; + delete query.end_time; + } + + if (selectedRegion.value && selectedRegion.value !== 'all') { + query.region = selectedRegion.value; + } else { + delete query.region; + } + + router.replace({ query }); + fetchTrendData(); // 这里也可以加上 fetchLoginData() 如果登录统计也支持搜索参数 }; @@ -367,6 +399,14 @@ const handleSearch = () => { const handleReset = () => { dateRange.value = ''; selectedRegion.value = ''; + + // 清除 URL 参数 + const query = { ...route.query }; + delete query.start_time; + delete query.end_time; + delete query.region; + router.replace({ query }); + fetchTrendData(); };