Browse Source

登录数据加入条件搜索并保存到路由;

zhaowenkang/feature-20260206140254-后台AI复盘二期
songjie 1 month ago
parent
commit
ee229e2ccd
  1. 31
      src/views/PlatformData/UserLoginStats.vue

31
src/views/PlatformData/UserLoginStats.vue

@ -47,11 +47,11 @@
<!-- 今日登录用户数 -->
<div class="stat-card purple-gradient big-card">
<div class="card-title">
<el-icon><UserFilled /></el-icon>
<el-icon><UserFilled /></el-icon> {{ statsTitle }}
</div>
<div class="big-card-content">
<div class="card-value">{{ loginStats.total }}</div>
<div class="card-tag" :class="getGrowthClass(loginStats.total_growth)">
<div v-if="loginStats.total_growth" class="card-tag" :class="getGrowthClass(loginStats.total_growth)">
{{ getGrowthText(loginStats.total_growth) }}
</div>
</div>
@ -62,12 +62,12 @@
<div class="stat-card orange-gradient small-card">
<div class="top-row">
<div class="card-title">
<el-icon><Trophy /></el-icon>
<el-icon><Trophy /></el-icon> {{ statsTitle }}
</div>
<div class="card-value-small">{{ loginStats.member }}</div>
</div>
<div class="card-tag-wrapper">
<div class="card-tag" :class="getGrowthClass(loginStats.member_growth)">
<div v-if="loginStats.member_growth" class="card-tag" :class="getGrowthClass(loginStats.member_growth)">
{{ getGrowthText(loginStats.member_growth) }}
</div>
</div>
@ -77,12 +77,12 @@
<div class="stat-card blue-gradient small-card">
<div class="top-row">
<div class="card-title">
<el-icon><User /></el-icon>
<el-icon><User /></el-icon> {{ statsTitle }}
</div>
<div class="card-value-small">{{ loginStats.normal }}</div>
</div>
<div class="card-tag-wrapper">
<div class="card-tag" :class="getGrowthClass(loginStats.normal_growth)">
<div v-if="loginStats.normal_growth" class="card-tag" :class="getGrowthClass(loginStats.normal_growth)">
{{ getGrowthText(loginStats.normal_growth) }}
</div>
</div>
@ -266,6 +266,7 @@ const loginStats = ref({
//
const chartTrendTitle = ref('近7天登录趋势');
const statsTitle = ref('今日');
const getGrowthClass = (growthStr) => {
if (!growthStr) return '';
@ -291,8 +292,21 @@ const formatDate = (date) => {
};
const fetchLoginData = async () => {
let params = {};
if (dateRange.value && dateRange.value.length === 2) {
params.start_time = formatDate(dateRange.value[0]);
params.end_time = formatDate(dateRange.value[1]);
statsTitle.value = `${params.start_time}${params.end_time}`;
} else {
statsTitle.value = '今日';
}
if (selectedRegion.value && selectedRegion.value !== 'all') {
params.region = selectedRegion.value;
}
try {
const res = await getUserLoginList();
const res = await getUserLoginList(params);
console.log("获取用户登录数据响应:", res);
//
@ -393,7 +407,7 @@ const handleSearch = () => {
router.replace({ query });
fetchTrendData();
// fetchLoginData()
fetchLoginData();
};
const handleReset = () => {
@ -408,6 +422,7 @@ const handleReset = () => {
router.replace({ query });
fetchTrendData();
fetchLoginData();
};
// Tab 1

Loading…
Cancel
Save