Files
sklad_legacy/history.html
cyrteL 4a6868ced6 Add files via upload
v0.0.3
2025-07-28 17:31:27 +03:00

410 lines
21 KiB
HTML
Raw Permalink 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-light bg-white border-bottom">
<div class="container">
<a class="navbar-brand" href="index.html">
<i class="fas fa-warehouse me-2 text-primary"></i>
<span class="fw-bold">Склад-Менеджер</span>
</a>
<!-- Поиск в шапке -->
<div class="navbar-search me-auto ms-4">
<div class="input-group" style="width: 400px;">
<input type="text" class="form-control" placeholder="Поиск позиций..." id="headerSearch">
<button class="btn btn-primary" type="button">
<i class="fas fa-search"></i>
</button>
</div>
</div>
<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 ms-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 dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="fas fa-boxes me-1"></i>Каталог
</a>
<ul class="dropdown-menu" id="catalogCategoriesDropdown">
<li><a class="dropdown-item" href="catalog.html">Все позиции</a></li>
<li><hr class="dropdown-divider"></li>
<!-- Категории будут загружены динамически -->
</ul>
</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 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" style="display: none;">
<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>
<!-- Панель категорий -->
<div class="categories-bar bg-light border-bottom">
<div class="container">
<div class="row">
<div class="col-12">
<ul class="nav nav-pills categories-nav" id="categoriesNav">
<li class="nav-item">
<a class="nav-link" href="index.html">
<i class="fas fa-home me-1"></i>Главная
</a>
</li>
<!-- Категории будут загружены динамически -->
</ul>
</div>
</div>
</div>
</div>
<!-- Основной контент -->
<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; 2025 Склад-Менеджер. Все права защищены.</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>