/
icedev
/
eks-present
Обзор
Документация
Войти
/
icedev
/
eks-present
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
request-details.html
156 строк
6 KB
ICEDEV
init
12 май 2026, 12:50
12 май 2026, 12:50
872c4b8
Код
Авторство
О чём код?
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Заявка - EKS</title> <link rel="stylesheet" href="styles.css" /> </head> <body> <div class="container"> <header class="topbar"> <div class="brand" id="request-brand">EKS | Заявка</div> <nav class="nav"> <a class="nav-link" href="requests.html">← Реестр заявок</a> <a class="nav-link" href="manager.html">Руководитель</a> <a class="nav-link" href="objects.html">Объекты</a> <a class="nav-link" href="information.html">Информация</a> </nav> </header> <section class="glass-card section-card"> <h1 class="title" id="request-number">Заявка</h1> <p class="subtitle" id="request-subtitle">Загрузка данных по заявке…</p> <div class="grid" id="request-meta"></div> </section> <section class="glass-card section-card"> <h2 class="title" style="font-size: 22px; margin-bottom: 8px;">Заказанная номенклатура</h2> <p class="subtitle">Список позиций и требуемое количество по выбранной заявке.</p> <div class="table-wrap"> <table> <thead> <tr> <th>Номенклатура</th> <th>Количество</th> </tr> </thead> <tbody id="nomenclature-tbody"></tbody> </table> </div> </section> </div> <script> const REQUESTS_KEY = "eks_requests_registry"; const DEFAULT_REQUESTS = [ { number: "RQ-1001", building: "Здание 404", name: "Кабель ВВГнг 3x2.5", quantity: 800, status: "Новая", items: [ { name: "Кабель ВВГнг 3x2.5", quantity: 800 }, { name: "Кабель-канал 40x25", quantity: 120 }, { name: "Клеммы монтажные", quantity: 300 }, ], }, { number: "RQ-1002", building: "Здание 405", name: "Датчики дыма", quantity: 120, status: "В работе", items: [ { name: "Датчик дыма адресный", quantity: 120 }, { name: "База монтажная", quantity: 120 }, { name: "Кабель КПСнг", quantity: 550 }, ], }, { number: "RQ-1003", building: "Здание 406", name: "Шкафы автоматики", quantity: 6, status: "Согласовано", items: [ { name: "Шкаф автоматики ШАУ-1", quantity: 4 }, { name: "Шкаф автоматики ШАУ-2", quantity: 2 }, ], }, { number: "RQ-1004", building: "Здание 407", name: "IP-камеры", quantity: 48, status: "Отгружено", items: [ { name: "IP-камера уличная", quantity: 32 }, { name: "IP-камера внутренняя", quantity: 16 }, { name: "PoE-коммутатор 24 порта", quantity: 4 }, ], }, ]; function getRequests() { const raw = localStorage.getItem(REQUESTS_KEY); if (!raw) { localStorage.setItem(REQUESTS_KEY, JSON.stringify(DEFAULT_REQUESTS)); return [...DEFAULT_REQUESTS]; } try { const parsed = JSON.parse(raw); return Array.isArray(parsed) ? parsed : [...DEFAULT_REQUESTS]; } catch (error) { localStorage.setItem(REQUESTS_KEY, JSON.stringify(DEFAULT_REQUESTS)); return [...DEFAULT_REQUESTS]; } } function getRequestNumber() { const params = new URLSearchParams(window.location.search); return params.get("number") || ""; } function render() { const requests = getRequests(); const number = getRequestNumber(); const request = requests.find((item) => item.number === number) || requests[0]; document.title = request.number + " | EKS"; document.getElementById("request-brand").textContent = "EKS | " + request.number; document.getElementById("request-number").textContent = "Заявка " + request.number; document.getElementById("request-subtitle").textContent = "Здание: " + request.building + " | Статус: " + request.status; const meta = document.getElementById("request-meta"); meta.innerHTML = ""; [ { label: "Здание", value: request.building }, { label: "Наименование", value: request.name }, { label: "Количество", value: request.quantity }, { label: "Статус", value: request.status }, ].forEach((item) => { const card = document.createElement("article"); card.className = "tile"; card.innerHTML = "<h3>" + item.label + "</h3><p>" + item.value + "</p>"; meta.appendChild(card); }); const tbody = document.getElementById("nomenclature-tbody"); tbody.innerHTML = ""; const items = Array.isArray(request.items) ? request.items : [{ name: request.name, quantity: request.quantity }]; items.forEach((item) => { const tr = document.createElement("tr"); tr.innerHTML = "<td>" + item.name + "</td>" + "<td>" + item.quantity + "</td>"; tbody.appendChild(tr); }); } render(); </script> </body> </html>