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

184 lines
8.7 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 class="d-flex flex-column min-vh-100">
<div class="login-container flex-grow-1">
<div class="login-card">
<div class="login-header">
<i class="fas fa-warehouse fa-3x mb-3"></i>
<h2>Склад-Менеджер</h2>
<p class="mb-0">Система управления складом</p>
</div>
<div class="login-body">
<form id="loginForm" novalidate>
<div class="mb-3">
<label for="username" class="form-label">
<i class="fas fa-user me-2"></i>Имя пользователя
</label>
<input type="text" class="form-control" id="username" required
placeholder="Введите имя пользователя" autocomplete="username">
<div class="invalid-feedback" id="usernameError"></div>
</div>
<div class="mb-4">
<label for="password" class="form-label">
<i class="fas fa-lock me-2"></i>Пароль
</label>
<input type="password" class="form-control" id="password" required
placeholder="Введите пароль" autocomplete="current-password">
<div class="invalid-feedback" id="passwordError"></div>
</div>
<button type="submit" class="btn btn-primary w-100 mb-3" id="loginBtn">
<i class="fas fa-sign-in-alt me-2"></i>Войти в систему
</button>
<div id="loginLoading" class="text-center" style="display: none;">
<div class="loading-spinner text-primary mb-2"></div>
<small class="text-muted">Выполняется вход...</small>
</div>
</form>
<!-- Информация о тестовых пользователях -->
<div class="mt-4">
<h6 class="text-muted mb-3">
<i class="fas fa-info-circle me-2"></i>Тестовые учетные записи:
</h6>
<div class="row">
<div class="col-12 mb-2">
<small class="text-muted">
<strong>Администратор:</strong> admin / admin123
</small>
</div>
<div class="col-12 mb-2">
<small class="text-muted">
<strong>Менеджер:</strong> manager / manager123
</small>
</div>
<div class="col-12 mb-2">
<small class="text-muted">
<strong>Оператор:</strong> operator / operator123
</small>
</div>
<div class="col-12">
<small class="text-muted">
<strong>Наблюдатель:</strong> viewer / viewer123
</small>
</div>
</div>
</div>
<!-- Информация о правах доступа -->
<div class="mt-4 p-3 bg-light rounded">
<h6 class="text-muted mb-2">
<i class="fas fa-shield-alt me-2"></i>Уровни доступа:
</h6>
<div class="row">
<div class="col-6">
<small class="text-muted">
<strong>Администратор:</strong><br>
Полный доступ ко всем функциям
</small>
</div>
<div class="col-6">
<small class="text-muted">
<strong>Менеджер:</strong><br>
Чтение и запись данных
</small>
</div>
<div class="col-6 mt-2">
<small class="text-muted">
<strong>Оператор:</strong><br>
Только чтение данных
</small>
</div>
<div class="col-6 mt-2">
<small class="text-muted">
<strong>Наблюдатель:</strong><br>
Ограниченный просмотр
</small>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Footer -->
<footer class="bg-dark text-white py-3 mt-auto">
<div class="container">
<div class="row align-items-center">
<div class="col-md-6">
<small>
<i class="fas fa-shield-alt me-2"></i>Безопасная система авторизации
</small>
</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>
<!-- Дополнительный JavaScript для улучшения UX -->
<script>
$(document).ready(function() {
// Обработка формы входа с улучшенной валидацией
$('#loginForm').on('submit', function(e) {
e.preventDefault();
// Сброс ошибок
$('.form-control').removeClass('is-invalid');
$('.invalid-feedback').hide();
const username = $('#username').val().trim();
const password = $('#password').val().trim();
let hasErrors = false;
// Валидация имени пользователя
if (!username) {
$('#username').addClass('is-invalid');
$('#usernameError').text('Введите имя пользователя').show();
hasErrors = true;
}
// Валидация пароля
if (!password) {
$('#password').addClass('is-invalid');
$('#passwordError').text('Введите пароль').show();
hasErrors = true;
}
if (hasErrors) {
return;
}
// Показываем индикатор загрузки
$('#loginBtn').prop('disabled', true);
$('#loginLoading').show();
// Вызываем метод входа из auth.js
auth.login();
});
// Убираем ошибки при вводе
$('.form-control').on('input', function() {
$(this).removeClass('is-invalid');
$(this).siblings('.invalid-feedback').hide();
});
// Автофокус на поле имени пользователя
$('#username').focus();
});
</script>
</body>
</html>