const api = { auds: "/auditories/", oboruds: (audId) => `/oboruds/?aud_id=${encodeURIComponent(audId)}`, }; async function fetchJSON(url) { const res = await fetch(url); if (!res.ok) throw new Error(`HTTP ${res.status}`); return res.json(); } function setStatus(msg, type = "info") { const el = document.getElementById("status"); el.textContent = msg || ""; el.className = `status ${type}`; } async function loadAuditories() { setStatus("Загрузка аудиторий…"); try { const data = await fetchJSON(api.auds); const select = document.getElementById("aud-select"); select.innerHTML = ''; data.forEach((a) => { const opt = document.createElement("option"); opt.value = a.id; opt.textContent = `${a.id} — ${a.audnazvanie}`; select.appendChild(opt); }); setStatus(""); } catch (e) { console.error(e); setStatus("Не удалось загрузить аудитории", "error"); } } function renderOboruds(items) { const tbody = document.querySelector("#ob-table tbody"); tbody.innerHTML = ""; items.forEach((it) => { const tr = document.createElement("tr"); tr.innerHTML = `