199 lines
10 KiB
HTML
199 lines
10 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ru" data-theme="auto">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>Реестр приказов и распоряжений</title>
|
||
<link rel="stylesheet" href="design-system/kt-ai-fonts.css">
|
||
<link rel="stylesheet" href="design-system/kt-ai-tokens.css">
|
||
<link rel="stylesheet" href="design-system/kt-ai-components.css">
|
||
<link rel="stylesheet" href="design-system/kt-ai-page.css">
|
||
<link rel="icon" href="design-system/brand/kt-ai-logo.png">
|
||
<style>
|
||
a.kt-ai-btn { text-decoration: none; }
|
||
.login-container { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--kt-ai-bg-soft); }
|
||
.login-card { width: 100%; max-width: 420px; padding: var(--kt-ai-space-9); }
|
||
.hidden { display: none !important; }
|
||
.filters-bar { display: flex; gap: var(--kt-ai-space-3); flex-wrap: wrap; align-items: center; margin-bottom: var(--kt-ai-space-6); }
|
||
.search-input { min-width: 280px; }
|
||
.order-card { border: 1px solid var(--kt-ai-border); border-radius: var(--kt-ai-radius-xl); padding: var(--kt-ai-space-4); margin-bottom: var(--kt-ai-space-3); background: var(--kt-ai-card-bg); cursor: pointer; }
|
||
.order-card:hover { border-color: var(--kt-ai-primary); background: var(--kt-ai-bg-soft); }
|
||
.order-header { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--kt-ai-space-3); margin-bottom: var(--kt-ai-space-3); }
|
||
.order-title { font-weight: var(--kt-ai-weight-semibold); color: var(--kt-ai-fg); }
|
||
.order-meta { font-size: var(--kt-ai-text-sm); color: var(--kt-ai-fg-muted); }
|
||
.modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; }
|
||
.modal-content { background: var(--kt-ai-bg); border-radius: var(--kt-ai-radius-2xl); padding: var(--kt-ai-space-6); max-width: 800px; width: 90%; max-height: 80vh; overflow-y: auto; }
|
||
.modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--kt-ai-space-4); }
|
||
.modal-title { font-size: var(--kt-ai-text-xl); font-weight: var(--kt-ai-weight-semibold); }
|
||
.modal-body { line-height: 1.6; }
|
||
.modal-section { margin-bottom: var(--kt-ai-space-4); }
|
||
.modal-section h3 { font-size: var(--kt-ai-text-lg); font-weight: var(--kt-ai-weight-semibold); margin-bottom: var(--kt-ai-space-2); color: var(--kt-ai-fg); }
|
||
.modal-section pre { white-space: pre-wrap; font-family: inherit; font-size: var(--kt-ai-text-sm); color: var(--kt-ai-fg-muted); background: var(--kt-ai-bg-soft); padding: var(--kt-ai-space-3); border-radius: var(--kt-ai-radius-lg); }
|
||
.stat-card { text-align: center; padding: var(--kt-ai-space-4); background: var(--kt-ai-bg-soft); border-radius: var(--kt-ai-radius-xl); }
|
||
.stat-number { font-size: var(--kt-ai-text-3xl); font-weight: var(--kt-ai-weight-bold); color: var(--kt-ai-primary); }
|
||
.stat-label { font-size: var(--kt-ai-text-sm); color: var(--kt-ai-fg-muted); margin-top: var(--kt-ai-space-1); }
|
||
.branch-badge { display: inline-block; padding: 2px 8px; border-radius: var(--kt-ai-radius-md); font-size: var(--kt-ai-text-xs); font-weight: var(--kt-ai-weight-medium); }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<!-- Экран входа -->
|
||
<div id="loginScreen" class="login-container">
|
||
<div class="login-card kt-ai-card">
|
||
<div style="text-align: center; margin-bottom: var(--kt-ai-space-6);">
|
||
<img src="design-system/brand/kazakhtelecom-logo.png" alt="Казахтелеком" height="32" style="margin-bottom: var(--kt-ai-space-4);">
|
||
<h1 style="font-size: var(--kt-ai-text-2xl); font-weight: var(--kt-ai-weight-semibold);">Реестр приказов</h1>
|
||
<p style="color: var(--kt-ai-fg-muted); margin-top: var(--kt-ai-space-2);">Введите учётные данные для доступа</p>
|
||
</div>
|
||
<form id="loginForm">
|
||
<div class="kt-ai-field" style="margin-bottom: var(--kt-ai-space-4);">
|
||
<label for="login">Логин</label>
|
||
<input id="login" class="kt-ai-input" type="text" placeholder="Введите логин" required>
|
||
</div>
|
||
<div class="kt-ai-field" style="margin-bottom: var(--kt-ai-space-6);">
|
||
<label for="password">Пароль</label>
|
||
<input id="password" class="kt-ai-input" type="password" placeholder="Введите пароль" required>
|
||
</div>
|
||
<button type="submit" class="kt-ai-btn" data-variant="primary" data-size="lg" style="width: 100%;">Войти</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Основной экран -->
|
||
<div id="mainScreen" class="hidden">
|
||
<header class="kt-ai-pagehead">
|
||
<div class="kt-ai-wrap kt-ai-pagehead-in">
|
||
<div style="display: flex; align-items: center; gap: var(--kt-ai-space-3);">
|
||
<img src="design-system/brand/kt-ai-logo.png" alt="" height="24">
|
||
<strong>Реестр приказов и распоряжений</strong>
|
||
</div>
|
||
<span class="kt-ai-spacer"></span>
|
||
<button id="logoutBtn" class="kt-ai-btn" data-variant="ghost">
|
||
<svg class="kt-icon kt-icon-sm" aria-hidden="true"><use href="#logout"></use></svg>
|
||
Выйти
|
||
</button>
|
||
</div>
|
||
</header>
|
||
|
||
<section class="kt-ai-hero" data-align="center">
|
||
<div class="kt-ai-wrap">
|
||
<h1>Приказы и распоряжения</h1>
|
||
<p class="kt-ai-hero-sub">Единый реестр для быстрого поиска приказов по филиалам</p>
|
||
|
||
<div class="kt-ai-grid" data-cols="5" style="margin-top: var(--kt-ai-space-8);">
|
||
<div class="stat-card">
|
||
<div class="stat-number" id="statTotal">0</div>
|
||
<div class="stat-label">Всего</div>
|
||
</div>
|
||
<div class="stat-card">
|
||
<div class="stat-number" id="statДРБ">0</div>
|
||
<div class="stat-label">ДРБ</div>
|
||
</div>
|
||
<div class="stat-card">
|
||
<div class="stat-number" id="statСФ">0</div>
|
||
<div class="stat-label">СФ</div>
|
||
</div>
|
||
<div class="stat-card">
|
||
<div class="stat-number" id="statДЦБ">0</div>
|
||
<div class="stat-label">ДЦБ</div>
|
||
</div>
|
||
<div class="stat-card">
|
||
<div class="stat-number" id="statОДС">0</div>
|
||
<div class="stat-label">ОДС</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="kt-ai-section">
|
||
<div class="kt-ai-wrap" data-width="wide">
|
||
<div class="filters-bar">
|
||
<input id="searchInput" class="kt-ai-input search-input" type="text" placeholder="Поиск по названию, номеру, автору...">
|
||
<select id="branchFilter" class="kt-ai-select">
|
||
<option value="">Все филиалы</option>
|
||
<option value="ДРБ">ДРБ</option>
|
||
<option value="СФ">СФ</option>
|
||
<option value="ДЦБ">ДЦБ</option>
|
||
<option value="ЦА">ЦА</option>
|
||
<option value="ОДС">ОДС</option>
|
||
</select>
|
||
<button id="addOrderBtn" class="kt-ai-btn" data-variant="primary">
|
||
<svg class="kt-icon kt-icon-sm" aria-hidden="true"><use href="#plus"></use></svg>
|
||
Добавить приказ
|
||
</button>
|
||
</div>
|
||
|
||
<div id="ordersList"></div>
|
||
</div>
|
||
</section>
|
||
|
||
<footer class="kt-ai-wrap kt-ai-pagefoot">
|
||
<span>© 2026 Реестр приказов</span>
|
||
<span class="kt-ai-spacer"></span>
|
||
<span style="color: var(--kt-ai-fg-muted);">Казахтелеком</span>
|
||
</footer>
|
||
</div>
|
||
|
||
<!-- Модальное окно просмотра приказа -->
|
||
<div id="orderModal" class="modal-overlay hidden">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<h2 class="modal-title" id="modalTitle">Приказ</h2>
|
||
<button class="kt-ai-btn" data-variant="ghost" onclick="closeModal()">
|
||
<svg class="kt-icon" aria-hidden="true"><use href="#x"></use></svg>
|
||
</button>
|
||
</div>
|
||
<div class="modal-body" id="modalBody"></div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Модальное окно добавления приказа -->
|
||
<div id="addModal" class="modal-overlay hidden">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<h2 class="modal-title">Добавить приказ</h2>
|
||
<button class="kt-ai-btn" data-variant="ghost" onclick="closeAddModal()">
|
||
<svg class="kt-icon" aria-hidden="true"><use href="#x"></use></svg>
|
||
</button>
|
||
</div>
|
||
<form id="addOrderForm">
|
||
<div class="kt-ai-field" style="margin-bottom: var(--kt-ai-space-4);">
|
||
<label for="orderDate">Дата и время</label>
|
||
<input id="orderDate" class="kt-ai-input" type="datetime-local" required>
|
||
</div>
|
||
<div class="kt-ai-field" style="margin-bottom: var(--kt-ai-space-4);">
|
||
<label for="orderAuthor">Автор (ФИО)</label>
|
||
<input id="orderAuthor" class="kt-ai-input" type="text" placeholder="БАКИРОВА А.Н." required>
|
||
</div>
|
||
<div class="kt-ai-field" style="margin-bottom: var(--kt-ai-space-4);">
|
||
<label for="orderBranch">Филиал</label>
|
||
<select id="orderBranch" class="kt-ai-select" required>
|
||
<option value="ДРБ">ДРБ</option>
|
||
<option value="СФ">СФ</option>
|
||
<option value="ДЦБ">ДЦБ</option>
|
||
<option value="ЦА">ЦА</option>
|
||
<option value="ОДС">ОДС</option>
|
||
</select>
|
||
</div>
|
||
<div class="kt-ai-field" style="margin-bottom: var(--kt-ai-space-4);">
|
||
<label for="orderTitle">Название приказа</label>
|
||
<input id="orderTitle" class="kt-ai-input" type="text" placeholder="О сокращении штатных единиц..." required>
|
||
</div>
|
||
<div class="kt-ai-field" style="margin-bottom: var(--kt-ai-space-4);">
|
||
<label for="orderContent">Содержание</label>
|
||
<textarea id="orderContent" class="kt-ai-textarea" rows="8" placeholder="Полный текст приказа..." required></textarea>
|
||
</div>
|
||
<div style="display: flex; gap: var(--kt-ai-space-3); justify-content: flex-end;">
|
||
<button type="button" class="kt-ai-btn" data-variant="ghost" onclick="closeAddModal()">Отмена</button>
|
||
<button type="submit" class="kt-ai-btn" data-variant="primary">Сохранить</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<script src="design-system/icons/kt-ai-icons.js"></script>
|
||
<script src="script.js"></script>
|
||
|
||
</body>
|
||
</html>
|