|
|
@@ -44,7 +44,7 @@
|
|
|
<div class="stat-label">总观看人数</div>
|
|
|
<div class="stat-number">{{ stats.countData.completeWatchUserCount }}</div>
|
|
|
<div class="stat-label">完成观看人数</div>
|
|
|
- <div class="completion-rate">{{ stats.countData.completeRate }}%</div>
|
|
|
+ <div class="completion-rate">{{ stats.countData.completeRate*100 }}%</div>
|
|
|
<div class="stat-label">完成率</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -52,7 +52,7 @@
|
|
|
<h3>📥 讲义下载统计</h3>
|
|
|
<div class="stat-number">{{ stats.downData.allDownloadCount }}</div>
|
|
|
<div class="stat-label">总下载次数</div>
|
|
|
- <div class="stat-number">{{ stats.downData.downloadRate }}%</div>
|
|
|
+ <div class="stat-number">{{ stats.downData.downloadRate*100 }}%</div>
|
|
|
<div class="stat-label">下载率</div>
|
|
|
<div class="stat-number">{{ stats.downData.avgDownloadCount }}</div>
|
|
|
<div class="stat-label">人均下载次数</div>
|
|
|
@@ -62,7 +62,7 @@
|
|
|
<h3>⏱️ 跳出时间分析</h3>
|
|
|
<div class="stat-number">{{ stats.jumpData.jumpOutCount }}</div>
|
|
|
<div class="stat-label">总跳出次数</div>
|
|
|
- <div class="stat-number">{{ stats.jumpData.jumpOutRate }}%</div>
|
|
|
+ <div class="stat-number">{{ stats.jumpData.jumpOutRate*100 }}%</div>
|
|
|
<div class="stat-label">跳出率</div>
|
|
|
<div class="stat-number">{{ stats.jumpData.jumpAvgTime }}</div>
|
|
|
<div class="stat-label">平均跳出时间</div>
|
|
|
@@ -80,7 +80,7 @@
|
|
|
</div>
|
|
|
|
|
|
<!-- ECharts 图表区域 -->
|
|
|
- <div class="charts-section">
|
|
|
+ <div class="charts-section" v-if="false">
|
|
|
<!-- 学习进度分布图 -->
|
|
|
<div class="chart-container">
|
|
|
<h3>📈 学习进度分布</h3>
|
|
|
@@ -114,7 +114,6 @@
|
|
|
:data-source="studentData"
|
|
|
:pagination="pagination"
|
|
|
:loading="loading"
|
|
|
- :scroll="{ x: 1200 }"
|
|
|
>
|
|
|
<template #bodyCell="{ column, record }">
|
|
|
<template v-if="column.key === 'finishRate'">
|
|
|
@@ -170,12 +169,12 @@
|
|
|
import dayjs from 'dayjs'
|
|
|
|
|
|
// 筛选条件
|
|
|
- const startTime = ref(dayjs('2025-08-04'))
|
|
|
- const endTime = ref(dayjs('2025-08-09'))
|
|
|
+ const startTime = ref('')
|
|
|
+ const endTime = ref('')
|
|
|
const filters = reactive({
|
|
|
courseId: '',
|
|
|
- startTime: computed(() => dayjs(startTime.value).format('YYYY-MM-DD')),
|
|
|
- endTime: computed(() => dayjs(endTime.value).format('YYYY-MM-DD'))
|
|
|
+ startTime: computed(() => (startTime.value ? dayjs(startTime.value).format('YYYY-MM-DD') : '')),
|
|
|
+ endTime: computed(() => (endTime.value ? dayjs(endTime.value).format('YYYY-MM-DD') : ''))
|
|
|
})
|
|
|
|
|
|
// 课程选项
|
|
|
@@ -586,7 +585,7 @@
|
|
|
|
|
|
// 重新初始化图表
|
|
|
nextTick(() => {
|
|
|
- initCharts()
|
|
|
+ // initCharts()
|
|
|
})
|
|
|
} catch (error) {
|
|
|
console.error('获取图表数据失败:', error)
|
|
|
@@ -624,7 +623,7 @@
|
|
|
|
|
|
// 监听筛选条件变化
|
|
|
watch(
|
|
|
- () => [filters.courseId],
|
|
|
+ () => [filters.courseId,filters.endTime,filters.startTime],
|
|
|
() => {
|
|
|
updateStats()
|
|
|
},
|