From 403082d62e34e29d5f8dc008ff174e9f0b712ebf Mon Sep 17 00:00:00 2001 From: kalugin66 Date: Thu, 16 Apr 2026 15:07:09 +0500 Subject: [PATCH] =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/info.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/public/info.js b/public/info.js index bd8ed82..923aea3 100644 --- a/public/info.js +++ b/public/info.js @@ -152,7 +152,7 @@ function exportToCSV() { URL.revokeObjectURL(url); } -// Функция выгрузки уникальных родителей для охраны с автоматической шириной столбца +// Функция выгрузки уникальных родителей для охраны с автоматической шириной столбца и сортировкой по алфавиту async function exportForGuard() { try { const res = await fetch('/api/info/registrations'); @@ -167,7 +167,9 @@ async function exportForGuard() { 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; @@ -191,7 +193,7 @@ async function exportForGuard() { } } -// Функция выгрузки уникальных учителей (без дублирования) +// Функция выгрузки уникальных учителей (без дублирования) с сортировкой по алфавиту async function exportTeachersForGuard() { try { const res = await fetch('/api/info/registrations'); @@ -206,7 +208,9 @@ async function exportTeachersForGuard() { 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) { alert('Нет данных об учителях');