создал систему календарного учебного графика
This commit is contained in:
@@ -55,20 +55,20 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Table Container -->
|
||||
<!-- Контейнер таблицы -->
|
||||
<div class="workload-grid-container">
|
||||
<table class="workload-table" id="workload-table">
|
||||
<thead>
|
||||
<tr id="workload-header-row">
|
||||
<th class="top-left-cell">
|
||||
<span class="top-label">Аудитория</span>
|
||||
<span class="bottom-label">Время</span>
|
||||
<span class="top-label">Время</span>
|
||||
<span class="bottom-label">Аудитория</span>
|
||||
</th>
|
||||
<!-- Rendered by JS -->
|
||||
<!-- Заполняется через JS -->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="workload-tbody">
|
||||
<!-- Rendered by JS -->
|
||||
<!-- Заполняется через JS -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -40,6 +40,47 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card create-card">
|
||||
<h2>Профили обучения</h2>
|
||||
<form id="create-profile-form">
|
||||
<div class="form-row">
|
||||
<div class="form-group">
|
||||
<label for="profile-specialty">Специальность</label>
|
||||
<select id="profile-specialty" required>
|
||||
<option value="">Сначала создайте специальность</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="profile-name">Название профиля</label>
|
||||
<input type="text" id="profile-name" placeholder="Например: Безопасность автоматизированных систем" required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="profile-description">Описание</label>
|
||||
<input type="text" id="profile-description" placeholder="Необязательно">
|
||||
</div>
|
||||
<button type="submit" class="btn-primary">Создать профиль</button>
|
||||
</div>
|
||||
<div class="form-alert" id="create-profile-alert" role="alert"></div>
|
||||
</form>
|
||||
<div class="table-wrap schedule-inline-table">
|
||||
<table id="profiles-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Профиль</th>
|
||||
<th>Описание</th>
|
||||
<th>Действия</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="profiles-tbody">
|
||||
<tr>
|
||||
<td colspan="4" class="loading-row">Выберите специальность</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card create-card">
|
||||
<h2>Создание специальности</h2>
|
||||
<form id="create-specialty-form">
|
||||
@@ -124,3 +165,25 @@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-overlay" id="modal-edit-profile">
|
||||
<div class="modal-content card">
|
||||
<h2>Редактирование профиля</h2>
|
||||
<button class="modal-close" id="modal-edit-profile-close">×</button>
|
||||
<form id="edit-profile-form">
|
||||
<input type="hidden" id="edit-profile-id">
|
||||
<div class="form-row">
|
||||
<div class="form-group">
|
||||
<label for="edit-profile-name">Название профиля</label>
|
||||
<input type="text" id="edit-profile-name" required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edit-profile-description">Описание</label>
|
||||
<input type="text" id="edit-profile-description">
|
||||
</div>
|
||||
<button type="submit" class="btn-primary">Сохранить</button>
|
||||
</div>
|
||||
<div class="form-alert" id="edit-profile-alert" role="alert"></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- ===== Groups Tab ===== -->
|
||||
<!-- ===== Вкладка групп ===== -->
|
||||
<div class="card create-card">
|
||||
<h2>Новая группа</h2>
|
||||
<form id="create-group-form">
|
||||
@@ -33,6 +33,12 @@
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="new-group-profile">Профиль обучения</label>
|
||||
<select id="new-group-profile">
|
||||
<option value="">Выберите специальность</option>
|
||||
</select>
|
||||
</div>
|
||||
<button type="submit" class="btn-primary">Создать</button>
|
||||
</div>
|
||||
<div class="form-alert" id="create-group-alert" role="alert"></div>
|
||||
@@ -60,14 +66,114 @@
|
||||
<th>Кафедра</th>
|
||||
<th>Курс</th>
|
||||
<th>Специальность</th>
|
||||
<th>Профиль</th>
|
||||
<th>Действия</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="groups-tbody">
|
||||
<tr>
|
||||
<td colspan="8" class="loading-row">Загрузка...</td>
|
||||
<td colspan="9" class="loading-row">Загрузка...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card create-card">
|
||||
<h2>Назначение календарного графика</h2>
|
||||
<form id="group-calendar-form">
|
||||
<div class="form-row">
|
||||
<div class="form-group">
|
||||
<label for="calendar-group">Группа</label>
|
||||
<select id="calendar-group">
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="calendar-year">Учебный год</label>
|
||||
<select id="calendar-year">
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="calendar-id">Календарный график</label>
|
||||
<select id="calendar-id">
|
||||
<option value="">Выберите группу и год</option>
|
||||
</select>
|
||||
</div>
|
||||
<button type="submit" class="btn-primary">Назначить</button>
|
||||
</div>
|
||||
<div class="form-alert" id="group-calendar-alert" role="alert"></div>
|
||||
</form>
|
||||
<div class="table-wrap schedule-inline-table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Учебный год</th>
|
||||
<th>График</th>
|
||||
<th>Действия</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="group-calendar-tbody">
|
||||
<tr>
|
||||
<td colspan="3" class="loading-row">Выберите группу</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Модальное окно редактирования группы -->
|
||||
<div class="modal-overlay" id="modal-edit-group">
|
||||
<div class="modal-content card">
|
||||
<h2>Редактировать группу</h2>
|
||||
<button class="modal-close" id="modal-edit-group-close">×</button>
|
||||
<form id="edit-group-form">
|
||||
<input type="hidden" id="edit-group-id">
|
||||
<div class="form-row" style="margin-top: 1rem;">
|
||||
<div class="form-group">
|
||||
<label for="edit-group-name">Название группы</label>
|
||||
<input type="text" id="edit-group-name" required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edit-group-size">Численность группы</label>
|
||||
<input type="number" id="edit-group-size" min="1" required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edit-group-ef">Форма обучения</label>
|
||||
<select id="edit-group-ef">
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row" style="margin-top: 1rem;">
|
||||
<div class="form-group">
|
||||
<label for="edit-group-department">Кафедра</label>
|
||||
<select id="edit-group-department">
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edit-group-yearStartStudy">Год начала обучения</label>
|
||||
<input type="number" id="edit-group-yearStartStudy" min="2000" max="2100" required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edit-group-speciality-code">Специальность</label>
|
||||
<select id="edit-group-speciality-code">
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edit-group-profile">Профиль обучения</label>
|
||||
<select id="edit-group-profile">
|
||||
<option value="">Выберите специальность</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group" style="display: flex; align-items: flex-end;">
|
||||
<button type="submit" class="btn-primary" style="width: 100%;">Сохранить</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-alert" id="edit-group-alert" role="alert"></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -213,41 +213,72 @@
|
||||
</div>
|
||||
|
||||
<div class="card create-card">
|
||||
<h2 id="holiday-form-title">Праздники и исключения</h2>
|
||||
<form id="holiday-form" novalidate>
|
||||
<input type="hidden" id="holiday-id">
|
||||
<div class="card-header-row">
|
||||
<h2 id="academic-calendar-form-title">Календарный учебный график</h2>
|
||||
<button type="button" class="btn-edit-classroom" id="academic-calendar-reset">Очистить</button>
|
||||
</div>
|
||||
<form id="academic-calendar-form" novalidate>
|
||||
<input type="hidden" id="academic-calendar-id">
|
||||
<div class="form-row">
|
||||
<div class="form-group">
|
||||
<label for="holiday-year">Учебный год</label>
|
||||
<select id="holiday-year" required>
|
||||
<label for="academic-calendar-title">Название</label>
|
||||
<input type="text" id="academic-calendar-title" placeholder="09.03.04 очная форма 2025-2026" required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="academic-calendar-year">Учебный год</label>
|
||||
<select id="academic-calendar-year" required>
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="holiday-date">Дата</label>
|
||||
<input type="date" id="holiday-date" required>
|
||||
<label for="academic-calendar-specialty">Специальность</label>
|
||||
<select id="academic-calendar-specialty" required>
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="holiday-description">Описание</label>
|
||||
<input type="text" id="holiday-description" placeholder="Праздничный день">
|
||||
<label for="academic-calendar-profile">Профиль</label>
|
||||
<select id="academic-calendar-profile" required>
|
||||
<option value="">Выберите специальность</option>
|
||||
</select>
|
||||
</div>
|
||||
<button type="submit" class="btn-primary">Сохранить дату</button>
|
||||
<button type="button" class="btn-edit-classroom" id="holiday-reset">Очистить</button>
|
||||
<div class="form-group">
|
||||
<label for="academic-calendar-study-form">Форма обучения</label>
|
||||
<select id="academic-calendar-study-form" required>
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="academic-calendar-course-count">Курсов</label>
|
||||
<input type="number" id="academic-calendar-course-count" min="1" max="8" value="4" required>
|
||||
</div>
|
||||
<button type="submit" class="btn-primary">Сохранить график</button>
|
||||
</div>
|
||||
<div class="form-alert" id="holiday-alert" role="alert"></div>
|
||||
<div class="form-alert" id="academic-calendar-alert" role="alert"></div>
|
||||
</form>
|
||||
<div class="table-wrap schedule-inline-table">
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header-row">
|
||||
<h2>Календарные графики</h2>
|
||||
<button class="btn-primary" id="academic-calendars-refresh">Обновить</button>
|
||||
</div>
|
||||
<div class="table-wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Дата</th>
|
||||
<th>Описание</th>
|
||||
<th>Название</th>
|
||||
<th>Учебный год</th>
|
||||
<th>Специальность</th>
|
||||
<th>Профиль</th>
|
||||
<th>Форма</th>
|
||||
<th>Курсов</th>
|
||||
<th>Действия</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="holidays-tbody">
|
||||
<tbody id="academic-calendars-tbody">
|
||||
<tr>
|
||||
<td colspan="3" class="loading-row">Выберите учебный год</td>
|
||||
<td colspan="7" class="loading-row">Загрузка...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -255,27 +286,41 @@
|
||||
</div>
|
||||
|
||||
<div class="card create-card">
|
||||
<h2>Матрица учебного графика</h2>
|
||||
<h2>Редактор годового графика</h2>
|
||||
<div class="form-row">
|
||||
<div class="form-group">
|
||||
<label for="matrix-semester">Семестр</label>
|
||||
<select id="matrix-semester">
|
||||
<label for="calendar-editor-calendar">График</label>
|
||||
<select id="calendar-editor-calendar">
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="matrix-course">Курс</label>
|
||||
<input type="number" id="matrix-course" min="1" step="1" placeholder="1">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="matrix-specialty">Специальность</label>
|
||||
<select id="matrix-specialty">
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
<button type="button" class="btn-primary" id="matrix-load">Загрузить</button>
|
||||
<button type="button" class="btn-primary" id="matrix-save">Сохранить</button>
|
||||
<button type="button" class="btn-primary" id="calendar-editor-load">Загрузить сетку</button>
|
||||
<button type="button" class="btn-primary" id="calendar-editor-save">Сохранить сетку</button>
|
||||
</div>
|
||||
<div class="form-alert" id="matrix-alert" role="alert"></div>
|
||||
<div id="matrix-grid" class="matrix-grid"></div>
|
||||
<div class="calendar-fill-panel">
|
||||
<div class="form-group">
|
||||
<label for="calendar-fill-course">Курс</label>
|
||||
<select id="calendar-fill-course">
|
||||
<option value="">Все курсы</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="calendar-fill-start">С даты</label>
|
||||
<input type="date" id="calendar-fill-start">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="calendar-fill-end">По дату</label>
|
||||
<input type="date" id="calendar-fill-end">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="calendar-fill-activity">Код</label>
|
||||
<select id="calendar-fill-activity">
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
<button type="button" class="btn-edit-classroom" id="calendar-fill-apply">Заполнить диапазон</button>
|
||||
</div>
|
||||
<div class="form-alert" id="calendar-editor-alert" role="alert"></div>
|
||||
<div id="calendar-totals" class="calendar-totals"></div>
|
||||
<div id="calendar-grid" class="academic-calendar-grid"></div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user