Files
sklad_legacy/history.html
cyrteL 0308719223 Add files via upload
v0.1(front)
2025-07-28 14:15:31 +03:00

380 lines
19 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>История операций - Склад-Менеджер</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<!-- Навигационная панель -->
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<div class="container">
<a class="navbar-brand" href="index.html">
<i class="fas fa-warehouse me-2"></i>
Склад-Менеджер
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link" href="index.html">
<i class="fas fa-home me-1"></i>Главная
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="catalog.html">
<i class="fas fa-boxes me-1"></i>Каталог
</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="history.html">
<i class="fas fa-history me-1"></i>История
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="search.html">
<i class="fas fa-search me-1"></i>Поиск
</a>
</li>
</ul>
<ul class="navbar-nav">
<li class="nav-item dropdown" id="adminDropdown" style="display: none;">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">
<i class="fas fa-cog me-1"></i>Администрирование
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="admin/users.html">Управление пользователями</a></li>
<li><a class="dropdown-item" href="admin/categories.html">Категории товаров</a></li>
<li><a class="dropdown-item" href="admin/reports.html">Отчеты</a></li>
</ul>
</li>
<li class="nav-item dropdown" id="profileDropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">
<i class="fas fa-user me-1"></i>Профиль
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="profile.html">Мой профиль</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#" id="logoutBtn">Выйти</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<!-- Основной контент -->
<main class="container mt-4">
<!-- Заголовок страницы -->
<div class="row mb-4">
<div class="col-12">
<div class="d-flex justify-content-between align-items-center">
<div>
<h1 class="mb-1">
<i class="fas fa-history me-2"></i>
История операций
</h1>
<p class="text-muted mb-0">Просмотр всех операций со складом</p>
</div>
<div class="d-flex gap-2">
<button class="btn btn-outline-primary" id="exportBtn">
<i class="fas fa-download me-1"></i>Экспорт
</button>
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#reportModal">
<i class="fas fa-chart-bar me-1"></i>Отчет
</button>
</div>
</div>
</div>
</div>
<!-- Фильтры -->
<div class="card mb-4">
<div class="card-header">
<h5 class="mb-0">
<i class="fas fa-filter me-2"></i>
Фильтры
</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-3 mb-3">
<label for="operationType" class="form-label">Тип операции</label>
<select class="form-select" id="operationType">
<option value="">Все типы</option>
<option value="incoming">Приход</option>
<option value="outgoing">Расход</option>
</select>
</div>
<div class="col-md-3 mb-3">
<label for="startDate" class="form-label">Дата начала</label>
<input type="date" class="form-control" id="startDate">
</div>
<div class="col-md-3 mb-3">
<label for="endDate" class="form-label">Дата окончания</label>
<input type="date" class="form-control" id="endDate">
</div>
<div class="col-md-3 mb-3">
<label for="itemFilter" class="form-label">Товар</label>
<select class="form-select" id="itemFilter">
<option value="">Все товары</option>
</select>
</div>
</div>
<div class="row">
<div class="col-md-3 mb-3">
<label for="employeeFilter" class="form-label">Сотрудник</label>
<select class="form-select" id="employeeFilter">
<option value="">Все сотрудники</option>
</select>
</div>
<div class="col-md-3 mb-3">
<label for="statusFilter" class="form-label">Статус</label>
<select class="form-select" id="statusFilter">
<option value="">Все статусы</option>
<option value="completed">Завершено</option>
<option value="pending">В обработке</option>
<option value="cancelled">Отменено</option>
</select>
</div>
<div class="col-md-6 mb-3 d-flex align-items-end">
<div class="d-flex gap-2">
<button class="btn btn-primary" id="applyFiltersBtn">
<i class="fas fa-search me-1"></i>Применить
</button>
<button class="btn btn-outline-secondary" id="clearFiltersBtn">
<i class="fas fa-times me-1"></i>Очистить
</button>
</div>
</div>
</div>
</div>
</div>
<!-- Статистика операций -->
<div class="row mb-4">
<div class="col-md-3 mb-3">
<div class="card bg-primary text-white">
<div class="card-body">
<div class="d-flex justify-content-between">
<div>
<h4 class="card-title" id="totalOperations">0</h4>
<p class="card-text">Всего операций</p>
</div>
<i class="fas fa-list fa-2x"></i>
</div>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card bg-success text-white">
<div class="card-body">
<div class="d-flex justify-content-between">
<div>
<h4 class="card-title" id="incomingOperations">0</h4>
<p class="card-text">Приходы</p>
</div>
<i class="fas fa-box-open fa-2x"></i>
</div>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card bg-warning text-white">
<div class="card-body">
<div class="d-flex justify-content-between">
<div>
<h4 class="card-title" id="outgoingOperations">0</h4>
<p class="card-text">Расходы</p>
</div>
<i class="fas fa-truck fa-2x"></i>
</div>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card bg-info text-white">
<div class="card-body">
<div class="d-flex justify-content-between">
<div>
<h4 class="card-title" id="totalQuantity">0</h4>
<p class="card-text">Общее количество</p>
</div>
<i class="fas fa-cubes fa-2x"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Таблица операций -->
<div class="card">
<div class="card-header">
<div class="d-flex justify-content-between align-items-center">
<h5 class="mb-0">
<i class="fas fa-table me-2"></i>
Операции
</h5>
<div class="d-flex gap-2">
<select class="form-select form-select-sm" id="sortBy" style="width: auto;">
<option value="date">По дате</option>
<option value="type">По типу</option>
<option value="itemName">По товару</option>
<option value="quantity">По количеству</option>
</select>
<select class="form-select form-select-sm" id="sortOrder" style="width: auto;">
<option value="desc">По убыванию</option>
<option value="asc">По возрастанию</option>
</select>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover" id="operationsTable">
<thead>
<tr>
<th>Дата</th>
<th>Тип</th>
<th>Товар</th>
<th>Количество</th>
<th>Сотрудник</th>
<th>Статус</th>
<th>Действия</th>
</tr>
</thead>
<tbody>
<!-- Данные будут загружены через JavaScript -->
</tbody>
</table>
</div>
</div>
</div>
<!-- Пагинация -->
<div class="row mt-4">
<div class="col-12">
<nav aria-label="Навигация по страницам">
<ul class="pagination justify-content-center" id="pagination">
<!-- Пагинация будет создана через JavaScript -->
</ul>
</nav>
</div>
</div>
</main>
<!-- Модальное окно деталей операции -->
<div class="modal fade" id="operationDetailsModal" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">
<i class="fas fa-info-circle me-2"></i>
Детали операции
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body" id="operationDetailsContent">
<!-- Содержимое будет загружено через JavaScript -->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Закрыть</button>
</div>
</div>
</div>
</div>
<!-- Модальное окно отчета -->
<div class="modal fade" id="reportModal" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">
<i class="fas fa-chart-bar me-2"></i>
Создать отчет
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<form id="reportForm">
<div class="row">
<div class="col-md-6 mb-3">
<label for="reportStartDate" class="form-label">Дата начала *</label>
<input type="date" class="form-control" id="reportStartDate" required>
</div>
<div class="col-md-6 mb-3">
<label for="reportEndDate" class="form-label">Дата окончания *</label>
<input type="date" class="form-control" id="reportEndDate" required>
</div>
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="reportType" class="form-label">Тип отчета</label>
<select class="form-select" id="reportType">
<option value="summary">Сводный отчет</option>
<option value="detailed">Детальный отчет</option>
<option value="movement">Отчет по движению товаров</option>
</select>
</div>
<div class="col-md-6 mb-3">
<label for="reportItem" class="form-label">Товар (опционально)</label>
<select class="form-select" id="reportItem">
<option value="">Все товары</option>
</select>
</div>
</div>
<div class="mb-3">
<label for="reportFormat" class="form-label">Формат отчета</label>
<div class="form-check">
<input class="form-check-input" type="radio" name="reportFormat" id="formatCsv" value="csv" checked>
<label class="form-check-label" for="formatCsv">
CSV файл
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="reportFormat" id="formatPdf" value="pdf">
<label class="form-check-label" for="formatPdf">
PDF документ
</label>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Отмена</button>
<button type="button" class="btn btn-primary" id="generateReportBtn">
<i class="fas fa-download me-1"></i>Создать отчет
</button>
</div>
</div>
</div>
</div>
<!-- Подвал -->
<footer class="bg-dark text-white mt-5 py-4">
<div class="container">
<div class="row">
<div class="col-md-6">
<h5>Система управления складом</h5>
<p class="mb-0">Эффективное управление товарными запасами</p>
</div>
<div class="col-md-6 text-md-end">
<p class="mb-0">&copy; 2024 Склад-Менеджер. Все права защищены.</p>
</div>
</div>
</div>
</footer>
<!-- Скрипты -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="js/auth.js"></script>
<script src="js/warehouse.js"></script>
<script src="js/history.js"></script>
</body>
</html>