Files
sklad_legacy/profile.html
2025-08-22 19:26:43 +03:00

416 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" 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 active" 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>
<!-- Заголовок профиля -->
<div class="profile-header">
<div class="container">
<div class="row align-items-center">
<div class="col-md-3 text-center">
<div class="profile-avatar">
<i class="fas fa-user"></i>
</div>
</div>
<div class="col-md-9">
<h1 id="userName">Загрузка...</h1>
<p class="mb-2" id="userPosition">Загрузка...</p>
<p class="mb-0" id="userDepartment">Загрузка...</p>
</div>
</div>
</div>
</div>
<!-- Основной контент -->
<main class="container mt-4">
<div class="row">
<!-- Боковая панель -->
<div class="col-md-3">
<div class="card">
<div class="card-header">
<h5 class="mb-0">
<i class="fas fa-user-circle me-2"></i>
Информация
</h5>
</div>
<div class="card-body">
<div class="mb-3">
<small class="text-muted">Email</small>
<div id="userEmail">Загрузка...</div>
</div>
<div class="mb-3">
<small class="text-muted">Роли</small>
<div id="userRoles">Загрузка...</div>
</div>
<div class="mb-3">
<small class="text-muted">Разрешения</small>
<div id="userPermissions">Загрузка...</div>
</div>
<div class="mb-3">
<small class="text-muted">Дата регистрации</small>
<div id="userRegistrationDate">Загрузка...</div>
</div>
</div>
</div>
<!-- Быстрые действия -->
<div class="card mt-3">
<div class="card-header">
<h5 class="mb-0">
<i class="fas fa-bolt me-2"></i>
Быстрые действия
</h5>
</div>
<div class="card-body">
<div class="d-grid gap-2">
<button class="btn btn-outline-primary btn-sm" onclick="profileManager.changePassword()">
<i class="fas fa-key me-1"></i>Сменить пароль
</button>
<button class="btn btn-outline-secondary btn-sm" onclick="profileManager.editProfile()">
<i class="fas fa-edit me-1"></i>Редактировать профиль
</button>
<button class="btn btn-outline-info btn-sm" onclick="profileManager.viewActivity()">
<i class="fas fa-chart-line me-1"></i>Моя активность
</button>
<button class="btn btn-outline-success btn-sm" onclick="profileManager.generateWeeklyReport()">
<i class="fas fa-file-alt me-1"></i>Сгенерировать отчет
</button>
</div>
</div>
</div>
</div>
<!-- Основная область -->
<div class="col-md-9">
<!-- Статистика пользователя -->
<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="thisMonthOperations">0</h4>
<p class="card-text">В этом месяце</p>
</div>
<i class="fas fa-calendar 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="todayOperations">0</h4>
<p class="card-text">Сегодня</p>
</div>
<i class="fas fa-clock 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="lastLogin">-</h4>
<p class="card-text">Последний вход</p>
</div>
<i class="fas fa-sign-in-alt fa-2x"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Последние операции пользователя -->
<div class="card">
<div class="card-header">
<h5 class="mb-0">
<i class="fas fa-history me-2"></i>
Мои последние операции
</h5>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover" id="userOperationsTable">
<thead>
<tr>
<th>Дата</th>
<th>Тип</th>
<th>Товар</th>
<th>Количество</th>
<th>Статус</th>
</tr>
</thead>
<tbody>
<!-- Данные будут загружены через JavaScript -->
</tbody>
</table>
</div>
</div>
</div>
<!-- Настройки -->
<div class="card mt-4">
<div class="card-header">
<h5 class="mb-0">
<i class="fas fa-cog me-2"></i>
Настройки
</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<h6>Уведомления</h6>
<div class="form-check mb-2">
<input class="form-check-input" type="checkbox" id="emailNotifications" checked>
<label class="form-check-label" for="emailNotifications">
Email уведомления
</label>
</div>
<div class="form-check mb-2">
<input class="form-check-input" type="checkbox" id="lowStockAlerts" checked>
<label class="form-check-label" for="lowStockAlerts">
Уведомления о низком запасе
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="operationReports">
<label class="form-check-label" for="operationReports">
Еженедельные отчеты
</label>
</div>
</div>
</div>
<div class="mt-3">
<button class="btn btn-primary" onclick="profileManager.saveSettings()">
<i class="fas fa-save me-1"></i>Сохранить настройки
</button>
</div>
</div>
</div>
</div>
</div>
</main>
<!-- Модальное окно смены пароля -->
<div class="modal fade" id="changePasswordModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">
<i class="fas fa-key me-2"></i>
Смена пароля
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<form id="changePasswordForm">
<div class="mb-3">
<label for="currentPassword" class="form-label">Текущий пароль</label>
<input type="password" class="form-control" id="currentPassword" required>
</div>
<div class="mb-3">
<label for="newPassword" class="form-label">Новый пароль</label>
<input type="password" class="form-control" id="newPassword" required>
</div>
<div class="mb-3">
<label for="confirmPassword" class="form-label">Подтвердите новый пароль</label>
<input type="password" class="form-control" id="confirmPassword" required>
</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" onclick="profileManager.savePassword()">
<i class="fas fa-save me-1"></i>Сохранить
</button>
</div>
</div>
</div>
</div>
<!-- Модальное окно редактирования профиля -->
<div class="modal fade" id="editProfileModal" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">
<i class="fas fa-edit me-2"></i>
Редактирование профиля
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<form id="editProfileForm">
<div class="row">
<div class="col-md-6 mb-3">
<label for="editName" class="form-label">Имя</label>
<input type="text" class="form-control" id="editName" required>
</div>
<div class="col-md-6 mb-3">
<label for="editEmail" class="form-label">Email</label>
<input type="email" class="form-control" id="editEmail" required>
</div>
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="editDepartment" class="form-label">Отдел</label>
<input type="text" class="form-control" id="editDepartment">
</div>
<div class="col-md-6 mb-3">
<label for="editPosition" class="form-label">Должность</label>
<input type="text" class="form-control" id="editPosition">
</div>
</div>
<div class="mb-3">
<label for="editPhone" class="form-label">Телефон</label>
<input type="tel" class="form-control" id="editPhone">
</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" onclick="profileManager.saveProfile()">
<i class="fas fa-save 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/profile.js"></script>
</body>
</html>