155 lines
5.8 KiB
HTML
155 lines
5.8 KiB
HTML
<!doctype html>
|
||
<html lang="kk">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>Реестр обращений абонентов</title>
|
||
<link rel="stylesheet" href="style.css">
|
||
</head>
|
||
<body>
|
||
<header class="header">
|
||
<h1>Реестр обращений абонентов</h1>
|
||
<p class="subtitle">Система учёта и контроля обращений</p>
|
||
</header>
|
||
|
||
<main class="container">
|
||
<!-- Счётчики -->
|
||
<section class="stats-grid">
|
||
<div class="stat-card">
|
||
<span class="stat-value" id="stat-total">0</span>
|
||
<span class="stat-label">Всего</span>
|
||
</div>
|
||
<div class="stat-card stat-new">
|
||
<span class="stat-value" id="stat-new">0</span>
|
||
<span class="stat-label">Новые</span>
|
||
</div>
|
||
<div class="stat-card stat-in-progress">
|
||
<span class="stat-value" id="stat-in-progress">0</span>
|
||
<span class="stat-label">В работе</span>
|
||
</div>
|
||
<div class="stat-card stat-completed">
|
||
<span class="stat-value" id="stat-completed">0</span>
|
||
<span class="stat-label">Выполнены</span>
|
||
</div>
|
||
<div class="stat-card stat-overdue">
|
||
<span class="stat-value" id="stat-overdue">0</span>
|
||
<span class="stat-label">Просрочены</span>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Панель управления -->
|
||
<section class="controls">
|
||
<div class="search-box">
|
||
<input type="text" id="search-input" placeholder="Поиск по ФИО, контакту, проблеме, ответственному или статусу...">
|
||
</div>
|
||
<div class="chips">
|
||
<button class="chip active" data-status="all">Все</button>
|
||
<button class="chip" data-status="Новые">Новые</button>
|
||
<button class="chip" data-status="В работе">В работе</button>
|
||
<button class="chip" data-status="Выполнены">Выполнены</button>
|
||
</div>
|
||
<div class="actions">
|
||
<button class="btn btn-primary" id="btn-add">Добавить обращение</button>
|
||
<button class="btn btn-secondary" id="btn-export">Выгрузить в Excel (CSV)</button>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Таблица -->
|
||
<section class="table-section">
|
||
<table class="data-table">
|
||
<thead>
|
||
<tr>
|
||
<th>Дата обращения</th>
|
||
<th>Кто обратился</th>
|
||
<th>Контакт</th>
|
||
<th>Суть проблемы</th>
|
||
<th>Ответственный</th>
|
||
<th>Срок</th>
|
||
<th>Статус</th>
|
||
<th>Просрочка</th>
|
||
<th>Действия</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="table-body">
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
|
||
<!-- Журнал изменений -->
|
||
<section class="log-section">
|
||
<h2>Журнал изменений</h2>
|
||
<div class="log-container">
|
||
<table class="log-table">
|
||
<thead>
|
||
<tr>
|
||
<th>Дата и время</th>
|
||
<th>Действие</th>
|
||
<th>Кто</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="log-body">
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
|
||
<!-- Модальное окно -->
|
||
<div class="modal-overlay" id="modal-overlay">
|
||
<div class="modal">
|
||
<div class="modal-header">
|
||
<h2 id="modal-title">Добавить обращение</h2>
|
||
<button class="modal-close" id="modal-close">×</button>
|
||
</div>
|
||
<form id="appeal-form" class="modal-body">
|
||
<input type="hidden" id="form-id">
|
||
<div class="form-row">
|
||
<div class="form-group">
|
||
<label for="form-date">Дата обращения *</label>
|
||
<input type="date" id="form-date" required>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="form-deadline">Срок *</label>
|
||
<input type="date" id="form-deadline" required>
|
||
</div>
|
||
</div>
|
||
<div class="form-row">
|
||
<div class="form-group">
|
||
<label for="form-name">Кто обратился (ФИО) *</label>
|
||
<input type="text" id="form-name" placeholder="Фамилия Имя" required>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="form-contact">Контакт абонента *</label>
|
||
<input type="tel" id="form-contact" placeholder="+7 (___) ___-__-__" required>
|
||
</div>
|
||
</div>
|
||
<div class="form-group full-width">
|
||
<label for="form-problem">Суть проблемы *</label>
|
||
<textarea id="form-problem" rows="3" placeholder="Опишите проблему" required></textarea>
|
||
</div>
|
||
<div class="form-row">
|
||
<div class="form-group">
|
||
<label for="form-responsible">Кто взял в работу (ответственный) *</label>
|
||
<input type="text" id="form-responsible" placeholder="Фамилия Имя" required>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="form-status">Статус *</label>
|
||
<select id="form-status" required>
|
||
<option value="Новые">Новые</option>
|
||
<option value="В работе">В работе</option>
|
||
<option value="Выполнены">Выполнены</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="button" class="btn btn-secondary" id="btn-cancel">Отмена</button>
|
||
<button type="submit" class="btn btn-primary">Сохранить</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<script src="script.js"></script>
|
||
</body>
|
||
</html>
|