diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue index 10f3e8a..ad1d3f5 100644 --- a/src/views/Dashboard.vue +++ b/src/views/Dashboard.vue @@ -20,6 +20,11 @@ type ScheduleCountBlock = { ended: number } +type ActivityScheduleCountsBlock = ScheduleCountBlock & { + /** 至少有一场已发布(上架且审核通过)活动的去重场馆数 */ + published_venues_count: number +} + type TicketGrabScheduleCountBlock = ScheduleCountBlock & { verify_rate_pct: number | null verified_people: number @@ -40,13 +45,15 @@ const stats = ref({ venues_count: 0, ticket_grab_sessions: 0, user_count: 0, + reservation_order_count: 0, }, activity_schedule_counts: { total: 0, not_started: 0, ongoing: 0, ended: 0, - } as ScheduleCountBlock, + published_venues_count: 0, + } as ActivityScheduleCountsBlock, ticket_grab_schedule_counts: { total: 0, not_started: 0, @@ -343,6 +350,10 @@ onMounted(async () => {
{{ stats.summary.venues_count ?? 0 }}
现有场馆
+
+
{{ stats.summary.reservation_order_count ?? 0 }}
+
总预约次数
+
{{ stats.summary.user_count }}
用户数
@@ -417,6 +428,10 @@ onMounted(async () => {
{{ stats.activity_schedule_counts.ended }}
已结束
+
+
{{ stats.activity_schedule_counts.published_venues_count ?? 0 }}
+
已发布活动场馆
+
@@ -880,7 +895,13 @@ onMounted(async () => { @media (min-width: 640px) { .dash-stat-grid.dash-stat-grid--schedule-act { - grid-template-columns: repeat(4, minmax(0, 1fr)); + grid-template-columns: repeat(3, minmax(0, 1fr)); + } +} + +@media (min-width: 1000px) { + .dash-stat-grid.dash-stat-grid--schedule-act { + grid-template-columns: repeat(5, minmax(0, 1fr)); } } @@ -1036,6 +1057,12 @@ onMounted(async () => { grid-template-columns: repeat(2, minmax(0, 1fr)); } +@media (min-width: 720px) { + .dash-stat-grid.dash-stat-grid--core { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } +} + .dash-stat-cell { border-radius: 10px; padding: 12px 10px 14px; @@ -1100,6 +1127,13 @@ onMounted(async () => { color: #00b42a; } +.dash-stat-cell--indigo { + background: linear-gradient(180deg, #f0f4ff 0%, #fafcff 100%); +} +.dash-stat-cell--indigo .dash-stat-cell__value { + color: #3c7eef; +} + .dash-todo-sheet { --dash-todo-row-h: 44px; flex: 1;