/
nephrit44
/
MK7-WorkProgramm2526
Обзор
Документация
Войти
/
nephrit44
/
MK7-WorkProgramm2526
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
js/script.js
265 строк
11 KB
Соловьев Игорь Вячеславович
Исправление документов для: 4.13, 5.9, 3.4, 4.12
05 июн 2026, 10:48
05 июн 2026, 10:48
fcf839c
Код
Авторство
О чём код?
const DATA_BASE = [ { name: "Раб. программы ЛД11 2026", subfolders: [ { name: "Дисциплины СГ_ЛД11", files: [ "СГ.01 ИСТОРИЯ РОССИИ.pdf", "СГ.02 ИНОСТРАННЫЙ ЯЗЫК В ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ.pdf", "СГ.03 БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ.pdf", "СГ.04 ФИЗИЧЕСКАЯ КУЛЬТУРА.pdf", "СГ.05 ОСНОВЫ БЕРЕЖЛИВОГО ПРОИЗВОДСТВА.pdf", "СГ.06 ОСНОВЫ ФИНАНСОВОЙ ГРАМОТНОСТИ.pdf" ] }, { name: "Общепрофессиональные дисциплины_ЛД11", files: [ "ОП.01 АНАТОМИЯ И ФИЗИОЛОГИЯ ЧЕЛОВЕКА.pdf", "ОП.02 ОСНОВЫ ЛАТИНСКОГО ЯЗЫКА С МЕДИЦИНСКОЙ ТЕРМИНОЛОГИЕЙ.pdf", "ОП.03 ОСНОВЫ ПАТОЛОГИИ.pdf", "ОП.04 ФАРМАКОЛОГИЯ.pdf", "ОП.05 ГЕНЕТИКА ЧЕЛОВЕКА С ОСНОВАМИ МЕДИЦИНСКОЙ ГЕНЕТИКИ.pdf", "ОП.06 ОСНОВЫ МИКРОБИОЛОГИИ И ИММУНОЛОГИИ.pdf", "ОП.07 ЗДОРОВЫЙ ЧЕЛОВЕК И ЕГО ОКРУЖЕНИЕ.pdf", "ОП.08 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ.pdf", "ОП.09 МЕДИЦИНСКИЕ КОММУНИКАЦИИ.pdf" ] }, { name: "Практика _ЛД11", files: [ "РП практики ЛД 2026.pdf" ] }, { name: "Профессиональные модули_ЛД11", files: [ "РП ПМ.01 ЛД 2026.pdf", "РП ПМ.02 ЛД 2026.pdf", "РП ПМ.03 ЛД 2026.pdf", "РП ПМ.04 ЛД 2026.pdf", "РП ПМ.05 ЛД 2026.pdf" ] } ] }, { name: "ЛД 2026 оз", subfolders: [ { name: "Дисциплины СГ_ЛД ОЗ", files: [ "СГ.01 ИСТОРИЯ РОССИИ.pdf", "СГ.02 ИНОСТРАННЫЙ ЯЗЫК В ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ.pdf", "СГ.03 БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ.pdf", "СГ.04 ФИЗИЧЕСКАЯ КУЛЬТУРА.pdf", "СГ.05 ОСНОВЫ БЕРЕЖЛИВОГО ПРОИЗВОДСТВА.pdf", "СГ.06 ОСНОВЫ ФИНАНСОВОЙ ГРАМОТНОСТИ.pdf" ] }, { name: "Общепрофессиональные дисциплины_ЛД ОЗ", files: [ "ОП.01 АНАТОМИЯ И ФИЗИОЛОГИЯ ЧЕЛОВЕКА.pdf", "ОП.02ОСНОВЫ ЛАТИНСКОГО ЯЗЫКА С МЕДИЦИНСКОЙ ТЕРМИНОЛОГИЕЙ.pdf", "ОП.03 ОСНОВЫ ПАТОЛОГИИ.pdf", "ОП.04 ФАРМАКОЛОГИЯ.pdf", "ОП.05 ГЕНЕТИКА ЧЕЛОВЕКА С ОСНОВАМИ МЕДИЦИНСКОЙ ГЕНЕТИКИ.pdf", "ОП.06 ОСНОВЫ МИКРОБИОЛОГИИ И ИММУНОЛОГИИ.pdf", "ОП.07 ЗДОРОВЫЙ ЧЕЛОВЕК И ЕГО ОКРУЖЕНИЕ.pdf", "ОП.08 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ.pdf", "ОП.09 МЕДИЦИНСКИЕ КОММУНИКАЦИИ.pdf" ] }, { name: "Практика_ЛД ОЗ", files: [ "СГ.04 ФИЗИЧЕСКАЯ КУЛЬТУРА.pdf" ] }, { name: "Профессиональные модули_ЛД ОЗ", files: [ "РП ПМ.01 ОЗ ЛД 2026.pdf", "РП ПМ.02 ОЗ ЛД 2026.pdf", "РП ПМ.03 ОЗ ЛД 2026.pdf", "РП ПМ.04 ОЗ ЛД 2026.pdf", "РП ПМ.05 ОЗ ЛД 2026.pdf" ] } ] }, { name: "АД 2026 очн", subfolders: [], files: [ "Комплект рабочих программ 31.02.02 Акушерское дело 2026.pdf", "Лист_согласования_ООП_СПО 31.02.02 Акушерское дело 2026.pdf", "ООП ППССЗ 31.02.02 Акушерское дело (очно) 2026.pdf", "Программа ГИА 2026 Акушерское дело.pdf", "Рабочая программа воспитания 31.02.02 Акушерское дело 2026.pdf" ] }, { name: "ММ 2026", subfolders: [], files: [ "Адаптированная основная образовательная программа ММ 2026 .pdf", "Календарно-учебный график 2026.pdf", "Лист согласований с мед организациями Медицинский массаж .pdf", "Перекладка Медицинский массаж 2026 .pdf", "Портрет компетенций выпускника Медицинский массаж.pdf", "Портрет компетенций выпускника 34.02.02 Медицинский массаж.pdf", "Приложение 1. Программы учебных дисциплин ОГСЭ.pdf", "Приложение 2. Программы учебных дисциплин естественно-научного цикла .pdf", "Приложение 3. Программы учебных дисциплин общепрофессионального цикла.pdf", "Приложение 4. Программы профессиональных модулей.pdf", "Приложение 5. Программы практик ММ 2026 (Проверено 02.06.26).pdf", "Программа ГИА 34.02.02 Медицинский массаж 2026.pdf", "Рабочая программа воспитания 34.02.02 Медицинский массаж 2026.pdf", "Учебный план Медицинский массаж 26-29.pdf" ] }, { name: "АД 2026 озо", subfolders: [], files: [ "КУГ АД 2026 ОЗО.pdf", "Лист согласования ООП АД 2026 озо.pdf", "ООП ППССЗ 31.02.02 Акушерское дело (ОЗ) 2026.pdf", "Перекладка 31.02.02 Акушерское дело 2026.pdf", "Приложение 1. Программы учебных дисциплин социально-гуманитарного цикла СГ .pdf", "Приложение 2. Программы учебных дисциплин общепрофессионального цикла.pdf", "Приложение 3. Программа учебных дисциплин профессиональных модулей.pdf", "Приложение 4. Комплект программ практик АД озо 2026 .pdf", "Программа ГИА Акушерское дело 2026_ОЗ.pdf", "Приложение 6. Программа воспитания 31.02.02. АД ОЗО .pdf", "Учебный план АД_озо_26.pdf" ] } ]; function buildPath(folder, subfolder, file) { let path = "data/" + folder; if (subfolder) { path += "/" + subfolder; } path += "/" + file; return path; } function renderTable() { const tbody = document.getElementById("table-body"); let globalIndex = 0; let html = ""; for (let gi = 0; gi < DATA_BASE.length; gi++) { const group = DATA_BASE[gi]; const hasSubfolders = group.subfolders && group.subfolders.length > 0; if (hasSubfolders) { // Folder row globalIndex++; html += '<tr class="folder-row">'; html += '<td>' + globalIndex + '</td>'; html += '<td class="col-name">' + group.name + '</td>'; html += '<td class="col-doc"></td>'; html += '</tr>'; // Subfolders for (let si = 0; si < group.subfolders.length; si++) { const sub = group.subfolders[si]; const subNum = globalIndex + "." + (si + 1); // Subfolder row html += '<tr class="subfolder-row">'; html += '<td>' + subNum + '</td>'; html += '<td class="col-name" style="padding-left: 32px;">' + sub.name + '</td>'; html += '<td class="col-doc"></td>'; html += '</tr>'; // Files within subfolder for (let fi = 0; fi < sub.files.length; fi++) { const file = sub.files[fi]; const fileNum = subNum + "." + (fi + 1); const filePath = buildPath(group.name, sub.name, file); html += '<tr class="file-row">'; html += '<td>' + fileNum + '</td>'; html += '<td class="col-name" style="padding-left: 64px;">' + file + '</td>'; html += '<td class="col-doc">'; html += '<button class="btn-open" data-path="' + filePath + '">\uD83D\uDCC4 Открыть</button>'; html += '</td>'; html += '</tr>'; } } } else { // Main folder with files directly globalIndex++; html += '<tr class="folder-row">'; html += '<td>' + globalIndex + '</td>'; html += '<td class="col-name">' + group.name + '</td>'; html += '<td class="col-doc"></td>'; html += '</tr>'; // Files directly in main folder for (let fi = 0; fi < group.files.length; fi++) { const file = group.files[fi]; const fileNum = globalIndex + "." + (fi + 1); const filePath = buildPath(group.name, null, file); html += '<tr class="file-row">'; html += '<td>' + fileNum + '</td>'; html += '<td class="col-name" style="padding-left: 32px;">' + file + '</td>'; html += '<td class="col-doc">'; html += '<button class="btn-open" data-path="' + filePath + '">\uD83D\uDCC4 Открыть</button>'; html += '</td>'; html += '</tr>'; } } } tbody.innerHTML = html; // Attach click handlers tbody.addEventListener("click", function (e) { const btn = e.target.closest(".btn-open"); if (btn) { const path = btn.getAttribute("data-path"); window.open(path, "_blank"); } }); } function initModal() { const btn = document.getElementById("btn-about"); const overlay = document.getElementById("modal-overlay"); const close = document.getElementById("modal-close"); btn.addEventListener("click", function () { overlay.classList.add("active"); }); close.addEventListener("click", function () { overlay.classList.remove("active"); }); overlay.addEventListener("click", function (e) { if (e.target === overlay) { overlay.classList.remove("active"); } }); document.addEventListener("keydown", function (e) { if (e.key === "Escape") { overlay.classList.remove("active"); } }); } document.addEventListener("DOMContentLoaded", function () { renderTable(); initModal(); });