86 lines
4.1 KiB
HTML
86 lines
4.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ru">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
<title>Ученики — Админ-панель</title>
|
|
<link rel="stylesheet" href="admin.css">
|
|
</head>
|
|
<body data-page="students">
|
|
<div class="layout">
|
|
<div class="sidebar" id="sidebar"></div>
|
|
<div class="main">
|
|
<h2>Ученики</h2>
|
|
<div class="add-row">
|
|
<input type="text" id="newStudent" placeholder="Фамилия Имя" list="studentAddList">
|
|
<datalist id="studentAddList"></datalist>
|
|
<button type="button" id="addStudentBtn">Добавить</button>
|
|
<button class="btn-ghost" type="button" id="batchAddBtn">Пакетное добавление</button>
|
|
<button class="btn-ghost" type="button" id="batchAttachBtn">Прикрепить к группе</button>
|
|
</div>
|
|
<div style="display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap">
|
|
<input type="text" id="studentSearch" class="search-input" placeholder="Поиск по имени..." style="flex:1;min-width:200px;max-width:340px;padding:10px 14px;font-size:.9rem">
|
|
<select id="studentGroupFilter" class="search-input" style="padding:10px 14px"><option value="">Все группы</option></select>
|
|
<button class="btn-link" type="button" id="exportStudentsCsvBtn">Экспорт CSV</button>
|
|
<button class="btn-link" type="button" id="exportStudentsUrlsBtn">Экспорт URL</button>
|
|
</div>
|
|
<div class="list" id="studentList"></div>
|
|
<div class="pager" id="pager"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal-overlay" id="batchModal">
|
|
<div class="edit-modal" style="max-width:480px">
|
|
<h3>Пакетное добавление учеников</h3>
|
|
<form id="batchForm" class="settings-stack" style="gap:12px">
|
|
<div class="settings-row">
|
|
<div class="settings-field" style="flex:1">
|
|
<label>Имена — каждое с новой строки <span style="color:#ef4444">*</span></label>
|
|
<textarea id="batchText" class="settings-input" style="min-height:120px" required placeholder="Иванов Иван Петров Пётр Сидоров Сидор"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="settings-row">
|
|
<div class="settings-field" style="flex:1">
|
|
<label>Группа (необязательно)</label>
|
|
<select id="batchGroup" class="settings-input"><option value="">— без группы —</option></select>
|
|
</div>
|
|
</div>
|
|
<div class="card-foot" style="justify-content:flex-end;gap:8px">
|
|
<button type="button" class="btn-primary ghost" id="batchCancelBtn">Отмена</button>
|
|
<button type="submit" class="btn-primary">Добавить</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal-overlay" id="attachModal">
|
|
<div class="edit-modal" style="max-width:480px">
|
|
<h3>Прикрепить к группе</h3>
|
|
<form id="attachForm" class="settings-stack" style="gap:12px">
|
|
<div class="settings-row">
|
|
<div class="settings-field" style="flex:1">
|
|
<label>Группа <span style="color:#ef4444">*</span></label>
|
|
<select id="attachGroup" class="settings-input" required><option value="">— выберите группу —</option></select>
|
|
</div>
|
|
</div>
|
|
<div class="settings-row">
|
|
<div class="settings-field" style="flex:1">
|
|
<label>Ученики</label>
|
|
<input type="text" id="attachSearch" class="settings-input" placeholder="Поиск по имени..." style="margin-bottom:8px">
|
|
<div class="attach-list" id="attachList"></div>
|
|
</div>
|
|
</div>
|
|
<div class="card-foot" style="justify-content:flex-end;gap:8px">
|
|
<button type="button" class="btn-primary ghost" id="attachCancelBtn">Отмена</button>
|
|
<button type="submit" class="btn-primary">Прикрепить</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="toast" id="toast"></div>
|
|
<script src="admin.js"></script>
|
|
<script src="vendor/jszip.min.js"></script>
|
|
<script src="js/students.js"></script>
|
|
</body>
|
|
</html> |