Add files via upload
v1.3.0
This commit is contained in:
189
README.md
189
README.md
@ -12,6 +12,8 @@
|
||||
- **Поиск**: быстрый поиск позиций и операций
|
||||
- **Отчеты**: генерация различных отчетов
|
||||
- **Экспорт данных**: выгрузка в CSV и JSON форматах
|
||||
- **Настраиваемые категории**: полный CRUD для категорий позиций
|
||||
- **Hover-навигация**: выпадающее меню категорий при наведении
|
||||
|
||||
### Система безопасности
|
||||
- **Многоуровневая авторизация** с разными ролями
|
||||
@ -21,6 +23,7 @@
|
||||
- **Проверка прав доступа** для каждой операции
|
||||
- **Безопасная обработка ошибок** с информативными уведомлениями
|
||||
- **URL валидация** параметров и фильтров
|
||||
- **Автоматическое скрытие элементов** в зависимости от ролей
|
||||
|
||||
### Уровни доступа
|
||||
|
||||
@ -29,21 +32,25 @@
|
||||
- Управление пользователями
|
||||
- Настройка системы
|
||||
- Просмотр всех отчетов
|
||||
- Удаление позиций и категорий
|
||||
|
||||
#### 👔 Менеджер (manager/manager123)
|
||||
- Чтение и запись данных
|
||||
- Управление товарами
|
||||
- Оформление операций
|
||||
- Просмотр отчетов
|
||||
- Создание и редактирование категорий
|
||||
|
||||
#### 👷 Оператор (operator/operator123)
|
||||
- Только чтение данных
|
||||
- Просмотр каталога и истории
|
||||
- Экспорт данных
|
||||
- Ограниченный доступ к функциям
|
||||
|
||||
#### 👁️ Наблюдатель (viewer/viewer123)
|
||||
- Ограниченный просмотр
|
||||
- Только чтение данных
|
||||
- Экспорт данных
|
||||
- Минимальный доступ
|
||||
|
||||
## 📁 Структура проекта
|
||||
@ -56,13 +63,15 @@ warehouse-system/
|
||||
├── history.html # История операций
|
||||
├── search.html # Поиск
|
||||
├── profile.html # Профиль пользователя
|
||||
├── admin/
|
||||
│ └── categories.html # Управление категориями
|
||||
├── css/
|
||||
│ └── style.css # Основные стили
|
||||
├── js/
|
||||
│ ├── auth.js # Система авторизации
|
||||
│ ├── auth.js # Система авторизации и прав доступа
|
||||
│ ├── main.js # Основная логика
|
||||
│ ├── warehouse.js # Управление складом
|
||||
│ ├── catalog.js # Каталог товаров (с проверкой прав доступа)
|
||||
│ ├── catalog.js # Каталог товаров
|
||||
│ ├── history.js # История операций
|
||||
│ ├── search.js # Поиск
|
||||
│ ├── profile.js # Профиль пользователя
|
||||
@ -82,7 +91,22 @@ warehouse-system/
|
||||
|
||||
## 🚀 Быстрый старт
|
||||
|
||||
### 1. Первый вход
|
||||
### 1. Установка
|
||||
1. Скачайте или клонируйте проект
|
||||
2. Откройте `index.html` в браузере
|
||||
3. Или запустите локальный сервер:
|
||||
```bash
|
||||
# Python 3
|
||||
python -m http.server 8000
|
||||
|
||||
# Node.js
|
||||
npx http-server
|
||||
|
||||
# PHP
|
||||
php -S localhost:8000
|
||||
```
|
||||
|
||||
### 2. Первый вход
|
||||
1. Откройте `login.html`
|
||||
2. Используйте тестовые учетные записи:
|
||||
- **Администратор**: `admin` / `admin123`
|
||||
@ -90,35 +114,38 @@ warehouse-system/
|
||||
- **Оператор**: `operator` / `operator123`
|
||||
- **Наблюдатель**: `viewer` / `viewer123`
|
||||
|
||||
### 2. Начальная настройка
|
||||
### 3. Начальная настройка
|
||||
1. Войдите как администратор
|
||||
2. Добавьте первые товары через главную страницу
|
||||
3. Настройте категории товаров
|
||||
4. Создайте пользователей с нужными правами
|
||||
2. Создайте категории позиций через "Администрирование" → "Категории позиций"
|
||||
3. Добавьте первые позиции через "Каталог" → "Добавить позицию"
|
||||
4. Настройте права доступа для пользователей
|
||||
|
||||
## 📖 Руководство пользователя
|
||||
|
||||
### Главная страница
|
||||
- **Быстрые действия**: добавление товаров, приход/расход
|
||||
- **Быстрые действия**: добавление товаров, приход/расход (согласно правам доступа)
|
||||
- **Статистика**: общая информация о складе
|
||||
- **Последние операции**: мониторинг активности
|
||||
- **Быстрая навигация**: выпадающее меню категорий
|
||||
- **Быстрая навигация**: выпадающее меню категорий при наведении
|
||||
|
||||
### Навигация по категориям
|
||||
### Hover-навигация по категориям
|
||||
- **Выпадающее меню**: появляется при наведении на "Каталог"
|
||||
- **Плавная анимация**: плавное появление и исчезновение
|
||||
- **Быстрый переход**: клик по категории открывает отфильтрованный каталог
|
||||
- **URL фильтрация**: прямые ссылки вида `catalog.html?category=electronics`
|
||||
- **Визуальная обратная связь**: иконки и цвета категорий
|
||||
- **Визуальная обратная связь**: иконки, цвета и количество позиций в категориях
|
||||
- **Единообразие**: одинаковое меню на всех страницах
|
||||
- **Умное поведение**: меню не закрывается при наведении на само меню
|
||||
|
||||
### Каталог позиций
|
||||
- **Просмотр**: все позиции с фильтрами и статистикой
|
||||
- **Поиск**: по названию, описанию, штрих-коду
|
||||
- **Фильтры**: по категории, цене, наличию, статусу запасов
|
||||
- **Редактирование**: изменение информации о позициях (только для админов и менеджеров)
|
||||
- **Удаление**: удаление позиций (только для администраторов)
|
||||
- **Экспорт**: выгрузка каталога в CSV формате
|
||||
- **Безопасность**: проверка прав доступа для всех операций
|
||||
- **Быстрая навигация**: выпадающее меню категорий при наведении
|
||||
- **Hover-навигация**: выпадающее меню категорий при наведении
|
||||
- **URL фильтрация**: прямая ссылка на отфильтрованный каталог
|
||||
|
||||
### История операций
|
||||
@ -132,7 +159,7 @@ warehouse-system/
|
||||
- **Расширенные фильтры**: точная настройка
|
||||
- **Результаты**: с подсветкой найденного
|
||||
- **Экспорт результатов**: сохранение найденного
|
||||
- **Быстрая навигация**: переход к категориям из результатов поиска
|
||||
- **Hover-навигация**: переход к категориям из результатов поиска
|
||||
|
||||
### Профиль пользователя
|
||||
- **Информация**: личные данные и права
|
||||
@ -140,6 +167,12 @@ warehouse-system/
|
||||
- **Настройки**: персонализация интерфейса
|
||||
- **Безопасность**: смена пароля
|
||||
|
||||
### Администрирование
|
||||
- **Управление категориями**: создание, редактирование, удаление категорий
|
||||
- **Настройка иконок**: выбор иконок Font Awesome для категорий
|
||||
- **Цветовая схема**: настройка цветов категорий
|
||||
- **Активность категорий**: включение/отключение категорий
|
||||
|
||||
## 🔧 Администрирование
|
||||
|
||||
### Управление пользователями
|
||||
@ -149,10 +182,10 @@ warehouse-system/
|
||||
4. Создавайте, редактируйте, удаляйте пользователей
|
||||
|
||||
### Настройка категорий
|
||||
1. Откройте "Категории позиций"
|
||||
2. Добавьте нужные категории
|
||||
3. Настройте иконки и описания
|
||||
4. Категории автоматически появятся в выпадающем меню
|
||||
1. Откройте "Администрирование" → "Категории позиций"
|
||||
2. Добавьте нужные категории с иконками и цветами
|
||||
3. Настройте описания и активность
|
||||
4. Категории автоматически появятся в hover-меню
|
||||
5. Изменения применяются мгновенно на всех страницах
|
||||
|
||||
### Генерация отчетов
|
||||
@ -176,8 +209,8 @@ warehouse-system/
|
||||
minQuantity: 10,
|
||||
location: "Стеллаж A-1",
|
||||
supplier: "Поставщик",
|
||||
createdAt: "2025-01-15T10:00:00Z",
|
||||
updatedAt: "2025-01-15T10:00:00Z"
|
||||
createdAt: "2025-08-15T10:00:00Z",
|
||||
updatedAt: "2025-08-15T10:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
@ -191,7 +224,7 @@ warehouse-system/
|
||||
quantity: 10,
|
||||
employeeId: 1,
|
||||
employeeName: "Имя сотрудника",
|
||||
date: "2025-01-15T10:00:00Z",
|
||||
date: "2025-08-15T10:00:00Z",
|
||||
status: "completed",
|
||||
supplier: "Поставщик",
|
||||
recipient: "Получатель",
|
||||
@ -223,8 +256,9 @@ warehouse-system/
|
||||
color: "#2c5aa0",
|
||||
active: true,
|
||||
itemCount: 25,
|
||||
createdAt: "2025-01-15T10:00:00Z",
|
||||
updatedAt: "2025-01-15T10:00:00Z"
|
||||
totalQuantity: 150,
|
||||
createdAt: "2025-08-15T10:00:00Z",
|
||||
updatedAt: "2025-08-15T10:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
@ -243,34 +277,48 @@ warehouse-system/
|
||||
}
|
||||
```
|
||||
|
||||
### Добавление новых категорий
|
||||
В файле `js/warehouse.js` найдите функцию `loadCategories()` и добавьте новые категории:
|
||||
```javascript
|
||||
{
|
||||
id: 'new-category',
|
||||
name: 'Новая категория',
|
||||
icon: 'fas fa-icon-name',
|
||||
color: '#2c5aa0',
|
||||
description: 'Описание категории',
|
||||
active: true
|
||||
}
|
||||
```
|
||||
|
||||
### Настройка выпадающего меню
|
||||
Категории автоматически появляются в выпадающем меню навигации. Для настройки стилей отредактируйте CSS в `css/style.css`:
|
||||
### Настройка hover-меню категорий
|
||||
Для настройки стилей hover-меню отредактируйте CSS в `css/style.css`:
|
||||
```css
|
||||
#catalogCategoriesDropdown {
|
||||
min-width: 250px;
|
||||
max-height: 400px;
|
||||
min-width: 280px;
|
||||
max-height: 500px;
|
||||
overflow-y: auto;
|
||||
border: none;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
|
||||
border-radius: 12px;
|
||||
padding: 0.5rem 0;
|
||||
}
|
||||
|
||||
/* Hover dropdown functionality */
|
||||
.nav-item.dropdown:hover .dropdown-menu {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.nav-item.dropdown:hover .dropdown-toggle::after {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
```
|
||||
|
||||
### Настройка прав доступа
|
||||
В файле `js/auth.js` измените массив пользователей или добавьте новые роли и разрешения.
|
||||
В файле `js/auth.js` измените массив пользователей или добавьте новые роли и разрешения. Система автоматически скрывает элементы в зависимости от ролей пользователя.
|
||||
|
||||
### Добавление новых категорий
|
||||
Через интерфейс системы:
|
||||
1. Войдите как администратор или менеджер
|
||||
2. Перейдите в "Администрирование" → "Категории позиций"
|
||||
3. Нажмите "Добавить категорию"
|
||||
4. Заполните форму с иконкой, цветом и описанием
|
||||
|
||||
## 🔒 Безопасность
|
||||
|
||||
### Система управления правами доступа
|
||||
- **Автоматическое скрытие элементов**: кнопки и функции скрываются согласно ролям
|
||||
- **Проверка прав на сервере**: все операции проверяют права доступа
|
||||
- **Безопасные сессии**: данные пользователя хранятся в LocalStorage
|
||||
- **Валидация данных**: проверка всех входных данных
|
||||
- **Информативные подсказки**: кнопки показывают требуемые права
|
||||
|
||||
### Рекомендации по безопасности
|
||||
1. **Измените пароли по умолчанию** при первом входе
|
||||
2. **Используйте HTTPS** в продакшене
|
||||
@ -278,6 +326,13 @@ warehouse-system/
|
||||
4. **Ведите логи** всех операций
|
||||
5. **Делайте резервные копии** данных
|
||||
|
||||
### Настройка HTTPS
|
||||
Для продакшена обязательно используйте SSL-сертификат:
|
||||
```bash
|
||||
# Пример с Let's Encrypt
|
||||
sudo certbot --nginx -d your-domain.com
|
||||
```
|
||||
|
||||
## 📈 Производительность
|
||||
|
||||
### Оптимизация
|
||||
@ -286,6 +341,13 @@ warehouse-system/
|
||||
- Минимизируйте количество одновременных операций
|
||||
- Регулярно очищайте старые данные
|
||||
|
||||
### Масштабирование
|
||||
- Для больших объемов данных используйте базу данных
|
||||
- Добавьте серверную часть (PHP, Node.js, Python)
|
||||
- Используйте CDN для статических файлов
|
||||
- Настройте кэширование на сервере
|
||||
- Оптимизируйте загрузку категорий для больших каталогов
|
||||
|
||||
### Технические улучшения
|
||||
- **Безопасная обработка данных**: проверка на null/undefined
|
||||
- **Валидация форм**: клиентская проверка ввода
|
||||
@ -295,10 +357,21 @@ warehouse-system/
|
||||
- **URL маршрутизация**: обработка параметров и фильтров
|
||||
- **Асинхронная загрузка**: динамическое обновление меню
|
||||
- **Кэширование данных**: оптимизация производительности
|
||||
- **Hover-функциональность**: плавные анимации и переходы
|
||||
|
||||
## 🔄 Последние обновления
|
||||
|
||||
### Версия 1.2.0 (Август 2025)
|
||||
### Версия 1.3.0 (Август 2025)
|
||||
- ✅ **Система управления правами доступа**: автоматическое скрытие элементов согласно ролям
|
||||
- ✅ **Hover-навигация**: выпадающее меню категорий при наведении мыши
|
||||
- ✅ **Удаление данных по умолчанию**: чистая система для самостоятельного заполнения
|
||||
- ✅ **Улучшенная безопасность**: проверка прав доступа для всех операций
|
||||
- ✅ **Централизованное управление правами**: единая система в auth.js
|
||||
- ✅ **Информативные подсказки**: кнопки показывают требуемые права
|
||||
- ✅ **Плавные анимации**: hover-эффекты и переходы
|
||||
- ✅ **Умное поведение меню**: предотвращение закрытия при наведении
|
||||
|
||||
### Версия 1.2.0 (Январь 2025)
|
||||
- ✅ **Добавлено выпадающее меню категорий**: быстрая навигация по категориям
|
||||
- ✅ **Реализована URL фильтрация**: прямые ссылки на отфильтрованный каталог
|
||||
- ✅ **Улучшена навигация**: единообразное меню на всех страницах
|
||||
@ -306,7 +379,7 @@ warehouse-system/
|
||||
- ✅ **Улучшен UX**: hover эффекты и визуальная обратная связь
|
||||
- ✅ **Расширена функциональность**: переходы между категориями из любого места
|
||||
|
||||
### Версия 1.1.0 (Август 2025)
|
||||
### Версия 1.1.0 (Январь 2025)
|
||||
- ✅ **Улучшена безопасность каталога**: добавлена проверка прав доступа
|
||||
- ✅ **Исправлена навигация**: добавлена ссылка "Поиск" в главное меню
|
||||
- ✅ **Улучшена обработка ошибок**: безопасная работа с пустыми данными
|
||||
@ -341,7 +414,19 @@ warehouse-system/
|
||||
- Проверьте консоль на ошибки загрузки данных
|
||||
- Очистите фильтры, если каталог пустой
|
||||
- Проверьте URL параметры для фильтрации по категориям
|
||||
- Убедитесь, что выпадающее меню категорий загружается
|
||||
- Убедитесь, что hover-меню категорий загружается
|
||||
|
||||
#### Не работает hover-меню
|
||||
- Проверьте, что JavaScript загружен корректно
|
||||
- Убедитесь, что jQuery подключен
|
||||
- Проверьте консоль на ошибки
|
||||
- Очистите кэш браузера
|
||||
|
||||
#### Элементы интерфейса скрыты
|
||||
- Проверьте роль пользователя
|
||||
- Убедитесь, что пользователь авторизован
|
||||
- Проверьте права доступа в auth.js
|
||||
- Очистите LocalStorage и войдите заново
|
||||
|
||||
### Логи и отладка
|
||||
Откройте консоль разработчика (F12) для просмотра ошибок и логов.
|
||||
@ -363,20 +448,22 @@ warehouse-system/
|
||||
|
||||
## 📄 Лицензия
|
||||
|
||||
Этот проект распространяется под лицензией MIT.
|
||||
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
|
||||
|
||||
## 👥 Авторы
|
||||
|
||||
- Разработка: Roman Pylaev
|
||||
- Дизайн: Roman Pylaev
|
||||
- Тестирование: Roman Pylaev
|
||||
- Разработка: [Ваше имя]
|
||||
- Дизайн: [Имя дизайнера]
|
||||
- Тестирование: [Имя тестировщика]
|
||||
|
||||
## 📞 Контакты
|
||||
|
||||
- Telegram/Discord: @dark7es
|
||||
- Email: support@warehouse-system.com
|
||||
- Телефон: +7 (XXX) XXX-XX-XX
|
||||
- Веб-сайт: https://warehouse-system.com
|
||||
|
||||
---
|
||||
|
||||
**Версия**: 1.2.0
|
||||
**Дата**: Январь 2025
|
||||
**Последнее обновление**: 15.01.2025
|
||||
**Версия**: 1.3.0
|
||||
**Дата**: Август 2025
|
||||
**Последнее обновление**: 15.08.2025
|
||||
Reference in New Issue
Block a user