тестовая реализация подсчёта курса и семестра
This commit is contained in:
@@ -17,7 +17,7 @@ export async function initGroups() {
|
||||
populateEfSelects(educationForms);
|
||||
await loadGroups();
|
||||
} catch (e) {
|
||||
groupsTbody.innerHTML = '<tr><td colspan="7" class="loading-row">Ошибка загрузки данных</td></tr>';
|
||||
groupsTbody.innerHTML = '<tr><td colspan="9" class="loading-row">Ошибка загрузки данных</td></tr>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ export async function initGroups() {
|
||||
allGroups = await api.get('/api/groups');
|
||||
applyGroupFilter();
|
||||
} catch (e) {
|
||||
groupsTbody.innerHTML = '<tr><td colspan="7" class="loading-row">Ошибка загрузки</td></tr>';
|
||||
groupsTbody.innerHTML = '<tr><td colspan="9" class="loading-row">Ошибка загрузки</td></tr>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ export async function initGroups() {
|
||||
|
||||
function renderGroups(groups) {
|
||||
if (!groups || !groups.length) {
|
||||
groupsTbody.innerHTML = '<tr><td colspan="7" class="loading-row">Нет групп</td></tr>';
|
||||
groupsTbody.innerHTML = '<tr><td colspan="9" class="loading-row">Нет групп</td></tr>';
|
||||
return;
|
||||
}
|
||||
groupsTbody.innerHTML = groups.map(g => `
|
||||
@@ -71,7 +71,9 @@ export async function initGroups() {
|
||||
<td>${escapeHtml(g.groupSize)}</td>
|
||||
<td><span class="badge badge-ef">${escapeHtml(g.educationFormName)}</span></td>
|
||||
<td>${g.departmentId || '-'}</td>
|
||||
<td>${g.enrollmentYear || '-'}</td>
|
||||
<td>${g.course || '-'}</td>
|
||||
<td>${g.semester || '-'}</td>
|
||||
<td><button class="btn-delete" data-id="${g.id}">Удалить</button></td>
|
||||
</tr>`).join('');
|
||||
}
|
||||
@@ -83,13 +85,13 @@ export async function initGroups() {
|
||||
const groupSize = document.getElementById('new-group-size').value;
|
||||
const educationFormId = newGroupEfSelect.value;
|
||||
const departmentId = document.getElementById('new-group-department').value;
|
||||
const course = document.getElementById('new-group-course').value;
|
||||
const enrollmentYear = document.getElementById('new-group-enrollment-year').value;
|
||||
|
||||
if (!name) { showAlert('create-group-alert', 'Введите название группы', 'error'); return; }
|
||||
if (!groupSize) { showAlert('create-group-alert', 'Введите размер группы', 'error'); return; }
|
||||
if (!educationFormId) { showAlert('create-group-alert', 'Выберите форму обучения', 'error'); return; }
|
||||
if (!departmentId) { showAlert('create-group-alert', 'Введите ID кафедры', 'error'); return; }
|
||||
if (!course) { showAlert('create-group-alert', 'Введите курс', 'error'); return; }
|
||||
if (!enrollmentYear) { showAlert('create-group-alert', 'Введите год начала обучения', 'error'); return; }
|
||||
|
||||
try {
|
||||
const data = await api.post('/api/groups', {
|
||||
@@ -97,7 +99,7 @@ export async function initGroups() {
|
||||
groupSize: Number(groupSize),
|
||||
educationFormId: Number(educationFormId),
|
||||
departmentId: Number(departmentId),
|
||||
course: Number(course)
|
||||
enrollmentYear: Number(enrollmentYear)
|
||||
});
|
||||
showAlert('create-group-alert', `Группа "${escapeHtml(data.name || name)}" создана`, 'success');
|
||||
createGroupForm.reset();
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
<input type="number" id="new-group-department" placeholder="ID" required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="new-group-course">Курс</label>
|
||||
<input type="number" id="new-group-course" placeholder="1-6" min="1" max="6" required>
|
||||
<label for="new-group-enrollment-year">Год начала обучения</label>
|
||||
<input type="number" id="new-group-enrollment-year" placeholder="2023" min="2000" max="2100" required>
|
||||
</div>
|
||||
<button type="submit" class="btn-primary">Создать</button>
|
||||
</div>
|
||||
@@ -50,13 +50,15 @@
|
||||
<th>Численность (чел.)</th>
|
||||
<th>Форма обучения</th>
|
||||
<th>ID кафедры</th>
|
||||
<th>Год начала</th>
|
||||
<th>Курс</th>
|
||||
<th>Семестр</th>
|
||||
<th>Действия</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="groups-tbody">
|
||||
<tr>
|
||||
<td colspan="7" class="loading-row">Загрузка...</td>
|
||||
<td colspan="9" class="loading-row">Загрузка...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user