fix: отображение количества участников лекции
🚀 Create and publish a Docker image / Detect changes in backend and frontend (push) Successful in 11s
🚀 Create and publish a Docker image / Build & publish backend image (push) Successful in 6m5s
🚀 Create and publish a Docker image / Build & publish frontend image (push) Successful in 29s
🚀 Create and publish a Docker image / Update stack on Portainer (push) Successful in 9s

This commit is contained in:
2026-05-13 19:49:51 +03:00
parent f6aaf0b923
commit 65e3d1bf18
11 changed files with 208 additions and 19 deletions
+1 -1
View File
@@ -225,7 +225,7 @@ async function registerLecture(id: string) {
</template>
<template #seats="{ row }">
<span :class="row.freeSeats === 0 ? 'badge badge-gray' : 'badge badge-green'">
{{ row.registrationClosed ? 'Запись закрыта' : `${row.freeSeats}/${row.totalSeats}` }}
{{ row.registrationClosed ? 'Запись закрыта' : `${row.enrolledSeats}/${row.totalSeats}` }}
</span>
</template>
<template #action="{ row }">
@@ -74,7 +74,7 @@ onMounted(async () => {
</div>
<div class="info-section">
<h3>Места</h3>
<div class="info-value">Свободно {{ lecture.freeSeats }} из {{ lecture.totalSeats }}</div>
<div class="info-value">Записано {{ lecture.enrolledSeats }} из {{ lecture.totalSeats }}</div>
<StatusBadge :status="lecture.registrationClosed ? 'closed' : lecture.freeSeats === 0 ? 'full' : 'open'" />
</div>
<div class="info-section">
@@ -17,7 +17,7 @@ const teacherLectures = computed(() => {
return owned.length ? owned : lecturesStore.all
})
const upcoming = computed(() => teacherLectures.value.filter(l => l.status !== 'completed').slice(0, 3))
const enrolledTotal = computed(() => teacherLectures.value.reduce((sum, l) => sum + (l.totalSeats - l.freeSeats), 0))
const enrolledTotal = computed(() => teacherLectures.value.reduce((sum, l) => sum + l.enrolledSeats, 0))
const visibility = computed(() => (teacherLectures.value.length ? Math.min(100, Math.round(enrolledTotal.value * 4)) : 0))
onMounted(() => {
@@ -60,7 +60,7 @@ onMounted(() => {
<div>
<div class="upcoming-title">{{ l.title }}</div>
<div class="upcoming-meta">📅 {{ new Date(l.date).toLocaleDateString('ru-RU') }} · {{ l.time }}</div>
<div class="upcoming-meta">Записалось {{ l.totalSeats - l.freeSeats }} студентов</div>
<div class="upcoming-meta">Записалось {{ l.enrolledSeats }} студентов</div>
</div>
<button class="btn-secondary btn-sm" @click="router.push('/teacher/lectures')">Управлять</button>
</div>
@@ -24,7 +24,7 @@ const rows = computed(() => {
title: l.title,
date: `${new Date(l.date).toLocaleDateString('ru-RU')} · ${l.time}`,
status: l.status ?? 'upcoming',
stats: `${l.totalSeats - l.freeSeats} / — / ${l.reviewCount}`,
stats: `${l.enrolledSeats} / — / ${l.reviewCount}`,
}))
})