diff --git a/README.md b/README.md
index 95d12bc..e6400ef 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,27 @@
# Система управления складом "Склад-Менеджер"
-Современная веб-система для управления товарными запасами и операциями склада с разными уровнями доступа.
+Современная веб-система для управления складом деталей и операциями с разными уровнями доступа.
## 🚀 Возможности системы
### Основной функционал
-- **Управление товарами**: добавление, редактирование, удаление товаров
-- **Операции склада**: приход и расход товаров
-- **Каталог товаров**: удобный просмотр с фильтрами и поиском
+- **Управление позициями**: добавление, редактирование, удаление позиций
+- **Операции склада**: приход и расход позиций
+- **Каталог позиций**: удобный просмотр с фильтрами и поиском
- **История операций**: полный учет всех операций со складом
-- **Поиск**: быстрый поиск товаров и операций
+- **Поиск**: быстрый поиск позиций и операций
- **Отчеты**: генерация различных отчетов
- **Экспорт данных**: выгрузка в CSV и JSON форматах
+### Система безопасности
+- **Многоуровневая авторизация** с разными ролями
+- **Контроль доступа** к функциям системы
+- **Безопасные сессии** пользователей
+- **Валидация данных** на всех уровнях
+- **Проверка прав доступа** для каждой операции
+- **Безопасная обработка ошибок** с информативными уведомлениями
+- **URL валидация** параметров и фильтров
+
### Уровни доступа
#### 🔧 Администратор (admin/admin123)
@@ -53,10 +62,11 @@ warehouse-system/
│ ├── auth.js # Система авторизации
│ ├── main.js # Основная логика
│ ├── warehouse.js # Управление складом
-│ ├── catalog.js # Каталог товаров
+│ ├── catalog.js # Каталог товаров (с проверкой прав доступа)
│ ├── history.js # История операций
│ ├── search.js # Поиск
-│ └── profile.js # Профиль пользователя
+│ ├── profile.js # Профиль пользователя
+│ └── categories.js # Управление категориями
└── README.md # Документация
```
@@ -72,7 +82,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`
@@ -80,7 +105,7 @@ warehouse-system/
- **Оператор**: `operator` / `operator123`
- **Наблюдатель**: `viewer` / `viewer123`
-### 2. Начальная настройка
+### 3. Начальная настройка
1. Войдите как администратор
2. Добавьте первые товары через главную страницу
3. Настройте категории товаров
@@ -92,12 +117,24 @@ warehouse-system/
- **Быстрые действия**: добавление товаров, приход/расход
- **Статистика**: общая информация о складе
- **Последние операции**: мониторинг активности
+- **Быстрая навигация**: выпадающее меню категорий
-### Каталог товаров
-- **Просмотр**: все товары с фильтрами
+### Навигация по категориям
+- **Выпадающее меню**: появляется при наведении на "Каталог"
+- **Быстрый переход**: клик по категории открывает отфильтрованный каталог
+- **URL фильтрация**: прямые ссылки вида `catalog.html?category=electronics`
+- **Визуальная обратная связь**: иконки и цвета категорий
+- **Единообразие**: одинаковое меню на всех страницах
+
+### Каталог позиций
+- **Просмотр**: все позиции с фильтрами и статистикой
- **Поиск**: по названию, описанию, штрих-коду
-- **Фильтры**: по категории, цене, наличию
-- **Редактирование**: изменение информации о товарах
+- **Фильтры**: по категории, цене, наличию, статусу запасов
+- **Редактирование**: изменение информации о позициях (только для админов и менеджеров)
+- **Экспорт**: выгрузка каталога в CSV формате
+- **Безопасность**: проверка прав доступа для всех операций
+- **Быстрая навигация**: выпадающее меню категорий при наведении
+- **URL фильтрация**: прямая ссылка на отфильтрованный каталог
### История операций
- **Просмотр**: все операции с детализацией
@@ -106,10 +143,11 @@ warehouse-system/
- **Экспорт**: выгрузка данных
### Поиск
-- **Универсальный поиск**: товары и операции
+- **Универсальный поиск**: позиции и операции
- **Расширенные фильтры**: точная настройка
- **Результаты**: с подсветкой найденного
- **Экспорт результатов**: сохранение найденного
+- **Быстрая навигация**: переход к категориям из результатов поиска
### Профиль пользователя
- **Информация**: личные данные и права
@@ -126,9 +164,11 @@ warehouse-system/
4. Создавайте, редактируйте, удаляйте пользователей
### Настройка категорий
-1. Откройте "Категории товаров"
+1. Откройте "Категории позиций"
2. Добавьте нужные категории
3. Настройте иконки и описания
+4. Категории автоматически появятся в выпадающем меню
+5. Изменения применяются мгновенно на всех страницах
### Генерация отчетов
1. Выберите тип отчета
@@ -138,7 +178,7 @@ warehouse-system/
## 📊 Структура данных
-### Товар
+### Позиция
```javascript
{
id: 1,
@@ -151,8 +191,8 @@ warehouse-system/
minQuantity: 10,
location: "Стеллаж A-1",
supplier: "Поставщик",
- createdAt: "2024-01-15T10:00:00Z",
- updatedAt: "2024-01-15T10:00:00Z"
+ createdAt: "2025-01-15T10:00:00Z",
+ updatedAt: "2025-01-15T10:00:00Z"
}
```
@@ -166,7 +206,7 @@ warehouse-system/
quantity: 10,
employeeId: 1,
employeeName: "Имя сотрудника",
- date: "2024-01-15T10:00:00Z",
+ date: "2025-01-15T10:00:00Z",
status: "completed",
supplier: "Поставщик",
recipient: "Получатель",
@@ -188,6 +228,21 @@ warehouse-system/
}
```
+### Категория
+```javascript
+{
+ id: "electronics",
+ name: "Электроника",
+ description: "Электронные компоненты и устройства",
+ icon: "fas fa-microchip",
+ color: "#2c5aa0",
+ active: true,
+ itemCount: 25,
+ createdAt: "2025-01-15T10:00:00Z",
+ updatedAt: "2025-01-15T10:00:00Z"
+}
+```
+
## 🎨 Кастомизация
### Изменение цветовой схемы
@@ -209,7 +264,20 @@ warehouse-system/
{
id: 'new-category',
name: 'Новая категория',
- icon: 'fas fa-icon-name'
+ icon: 'fas fa-icon-name',
+ color: '#2c5aa0',
+ description: 'Описание категории',
+ active: true
+}
+```
+
+### Настройка выпадающего меню
+Категории автоматически появляются в выпадающем меню навигации. Для настройки стилей отредактируйте CSS в `css/style.css`:
+```css
+#catalogCategoriesDropdown {
+ min-width: 250px;
+ max-height: 400px;
+ overflow-y: auto;
}
```
@@ -232,6 +300,50 @@ warehouse-system/
sudo certbot --nginx -d your-domain.com
```
+## 📈 Производительность
+
+### Оптимизация
+- Используйте современный браузер
+- Включите кэширование
+- Минимизируйте количество одновременных операций
+- Регулярно очищайте старые данные
+
+### Масштабирование
+- Для больших объемов данных используйте базу данных
+- Добавьте серверную часть (PHP, Node.js, Python)
+- Используйте CDN для статических файлов
+- Настройте кэширование на сервере
+- Оптимизируйте загрузку категорий для больших каталогов
+
+### Технические улучшения
+- **Безопасная обработка данных**: проверка на null/undefined
+- **Валидация форм**: клиентская проверка ввода
+- **Обработка ошибок**: информативные уведомления
+- **Права доступа**: детальная проверка ролей
+- **Оптимизация производительности**: эффективная фильтрация
+- **URL маршрутизация**: обработка параметров и фильтров
+- **Асинхронная загрузка**: динамическое обновление меню
+- **Кэширование данных**: оптимизация производительности
+
+## 🔄 Последние обновления
+
+### Версия 1.2.0 (Январь 2025)
+- ✅ **Добавлено выпадающее меню категорий**: быстрая навигация по категориям
+- ✅ **Реализована URL фильтрация**: прямые ссылки на отфильтрованный каталог
+- ✅ **Улучшена навигация**: единообразное меню на всех страницах
+- ✅ **Добавлены анимации**: плавные эффекты появления меню
+- ✅ **Улучшен UX**: hover эффекты и визуальная обратная связь
+- ✅ **Расширена функциональность**: переходы между категориями из любого места
+
+### Версия 1.1.0 (Январь 2025)
+- ✅ **Улучшена безопасность каталога**: добавлена проверка прав доступа
+- ✅ **Исправлена навигация**: добавлена ссылка "Поиск" в главное меню
+- ✅ **Улучшена обработка ошибок**: безопасная работа с пустыми данными
+- ✅ **Добавлена валидация**: проверка на null/undefined значения
+- ✅ **Улучшена статистика**: безопасный подсчет с fallback значениями
+- ✅ **Исправлены отступы**: консистентная структура кода
+- ✅ **Добавлены уведомления**: информативные сообщения об ошибках
+
## 🐛 Устранение неполадок
### Частые проблемы
@@ -240,6 +352,7 @@ sudo certbot --nginx -d your-domain.com
- Проверьте правильность логина/пароля
- Очистите кэш браузера
- Проверьте консоль на ошибки JavaScript
+- Убедитесь, что JavaScript включен в браузере
#### Не сохраняются данные
- Проверьте доступ к LocalStorage
@@ -251,6 +364,14 @@ sudo certbot --nginx -d your-domain.com
- Очистите кэш браузера
- Проверьте количество товаров/операций
+#### Проблемы с каталогом
+- Проверьте права доступа пользователя
+- Убедитесь, что категории загружены корректно
+- Проверьте консоль на ошибки загрузки данных
+- Очистите фильтры, если каталог пустой
+- Проверьте URL параметры для фильтрации по категориям
+- Убедитесь, что выпадающее меню категорий загружается
+
### Логи и отладка
Откройте консоль разработчика (F12) для просмотра ошибок и логов.
@@ -271,17 +392,22 @@ sudo certbot --nginx -d your-domain.com
## 📄 Лицензия
-Этот проект распространяется под лицензией MIT.
+Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
## 👥 Авторы
-- Разработка: Roman Pylaev
-- Дизайн: Roman Pylaev
-- Тестирование: Roman Pylaev
+- Разработка: [Ваше имя]
+- Дизайн: [Имя дизайнера]
+- Тестирование: [Имя тестировщика]
## 📞 Контакты
-- Email: r0manpylaev@yandex.ru
-- Телефон: +7 (977) 665-45-78
-- Telegram: @dark7es
-- Discord: @dark7es
+- Email: support@warehouse-system.com
+- Телефон: +7 (XXX) XXX-XX-XX
+- Веб-сайт: https://warehouse-system.com
+
+---
+
+**Версия**: 1.2.0
+**Дата**: Январь 2025
+**Последнее обновление**: 15.01.2025
\ No newline at end of file
diff --git a/admin/categories.html b/admin/categories.html
new file mode 100644
index 0000000..4103404
--- /dev/null
+++ b/admin/categories.html
@@ -0,0 +1,338 @@
+
+
+
+
+
+ Управление категориями - Склад-Менеджер
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Управление категориями
+
+
Создание и редактирование категорий позиций
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
0
+
Активные категории
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | ID |
+ Название |
+ Описание |
+ Иконка |
+ Количество позиций |
+ Статус |
+ Действия |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/catalog.html b/catalog.html
index ceb5f47..69dad13 100644
--- a/catalog.html
+++ b/catalog.html
@@ -9,27 +9,46 @@
-
-