56 lines
3.1 KiB
HTML
56 lines
3.1 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ru" xmlns:th="http://www.thymeleaf.org" th:replace="~{fragments/base :: layout(~{::title}, ~{::#content})}">
|
||
<head><title>Панель — LMS</title></head>
|
||
<body>
|
||
<div id="content">
|
||
<h1 class="page-title">Панель преподавателя</h1>
|
||
|
||
<div class="row row-cols-1 row-cols-sm-2 row-cols-xl-4 g-3">
|
||
<div class="col"><div class="card card-body h-100"><p class="stat-title">Группы</p><p class="stat-value" th:text="${groupCount}">0</p></div></div>
|
||
<div class="col"><div class="card card-body h-100"><p class="stat-title">Студенты</p><p class="stat-value" th:text="${studentCount}">0</p></div></div>
|
||
<div class="col"><div class="card card-body h-100"><p class="stat-title">Лабораторные</p><p class="stat-value" th:text="${labCount}">0</p>
|
||
<p class="hint" th:if="${labCount > 0}">опубликовано: <span th:text="${publishedLabs}">0</span></p></div></div>
|
||
<div class="col"><div class="card card-body h-100"><p class="stat-title">Средний балл</p>
|
||
<p class="stat-value" th:if="${avgGrade != null}" th:text="${#numbers.formatDecimal(avgGrade, 1, 2)}">—</p>
|
||
<p class="stat-value text-muted" th:if="${avgGrade == null}">—</p></div></div>
|
||
</div>
|
||
|
||
<div class="row g-4 mt-4">
|
||
<div class="col-lg-6">
|
||
<div class="flex items-center justify-between mb-4">
|
||
<h2 class="section-title m-0">Лабораторные</h2>
|
||
<a th:href="@{/admin/labs}" class="text-sm">Все лабораторные →</a>
|
||
</div>
|
||
<div class="card card-flush">
|
||
<table>
|
||
<tbody>
|
||
<tr th:each="lab : ${labs}">
|
||
<td><a th:href="@{/admin/labs/{id}(id=${lab.id})}" th:text="|ЛР ${lab.number}. ${lab.title}|">—</a></td>
|
||
<td class="text-muted" th:text="${lab.variantCount} + ' вар.'">—</td>
|
||
</tr>
|
||
<tr th:if="${#lists.isEmpty(labs)}"><td class="empty">Лабораторных нет.</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
<div class="col-lg-6">
|
||
<div class="flex items-center justify-between mb-4">
|
||
<h2 class="section-title m-0">Группы</h2>
|
||
<a th:href="@{/admin/groups}" class="text-sm">Все группы →</a>
|
||
</div>
|
||
<div class="card card-flush">
|
||
<table>
|
||
<tbody>
|
||
<tr th:each="group : ${groups}">
|
||
<td><a th:href="@{/admin/groups/{id}(id=${group.id})}" th:text="${group.name}">—</a></td>
|
||
<td class="text-muted" th:text="${group.studentCount} + ' студ.'">—</td>
|
||
</tr>
|
||
<tr th:if="${#lists.isEmpty(groups)}"><td class="empty">Групп нет.</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</body>
|
||
</html> |