This commit is contained in:
2026-04-16 15:07:09 +05:00
parent 50d6b81d1e
commit 403082d62e

View File

@@ -152,7 +152,7 @@ function exportToCSV() {
URL.revokeObjectURL(url); URL.revokeObjectURL(url);
} }
// Функция выгрузки уникальных родителей для охраны с автоматической шириной столбца // Функция выгрузки уникальных родителей для охраны с автоматической шириной столбца и сортировкой по алфавиту
async function exportForGuard() { async function exportForGuard() {
try { try {
const res = await fetch('/api/info/registrations'); const res = await fetch('/api/info/registrations');
@@ -167,7 +167,9 @@ async function exportForGuard() {
uniqueMap.set(reg.parent_name, { 'ФИО родителя': reg.parent_name }); uniqueMap.set(reg.parent_name, { 'ФИО родителя': reg.parent_name });
} }
}); });
const uniqueArray = Array.from(uniqueMap.values()); let uniqueArray = Array.from(uniqueMap.values());
// Сортировка по ФИО родителя (русский алфавит, case-insensitive)
uniqueArray.sort((a, b) => a['ФИО родителя'].localeCompare(b['ФИО родителя'], 'ru'));
// Вычисляем максимальную длину ФИО // Вычисляем максимальную длину ФИО
let maxLen = 0; let maxLen = 0;
@@ -191,7 +193,7 @@ async function exportForGuard() {
} }
} }
// Функция выгрузки уникальных учителей (без дублирования) // Функция выгрузки уникальных учителей (без дублирования) с сортировкой по алфавиту
async function exportTeachersForGuard() { async function exportTeachersForGuard() {
try { try {
const res = await fetch('/api/info/registrations'); const res = await fetch('/api/info/registrations');
@@ -206,7 +208,9 @@ async function exportTeachersForGuard() {
uniqueTeachers.set(reg.teacher, { 'Учитель': reg.teacher }); uniqueTeachers.set(reg.teacher, { 'Учитель': reg.teacher });
} }
}); });
const uniqueArray = Array.from(uniqueTeachers.values()); let uniqueArray = Array.from(uniqueTeachers.values());
// Сортировка по имени учителя (русский алфавит, case-insensitive)
uniqueArray.sort((a, b) => a['Учитель'].localeCompare(b['Учитель'], 'ru'));
if (uniqueArray.length === 0) { if (uniqueArray.length === 0) {
alert('Нет данных об учителях'); alert('Нет данных об учителях');