Files
sklad_legacy/README.md
2025-07-28 14:47:25 +03:00

288 lines
11 KiB
Markdown
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.

# Система управления складом "Склад-Менеджер"
Современная веб-система для управления товарными запасами и операциями склада с разными уровнями доступа.
## 🚀 Возможности системы
### Основной функционал
- **Управление товарами**: добавление, редактирование, удаление товаров
- **Операции склада**: приход и расход товаров
- **Каталог товаров**: удобный просмотр с фильтрами и поиском
- **История операций**: полный учет всех операций со складом
- **Поиск**: быстрый поиск товаров и операций
- **Отчеты**: генерация различных отчетов
- **Экспорт данных**: выгрузка в CSV и JSON форматах
### Уровни доступа
#### 🔧 Администратор (admin/admin123)
- Полный доступ ко всем функциям
- Управление пользователями
- Настройка системы
- Просмотр всех отчетов
#### 👔 Менеджер (manager/manager123)
- Чтение и запись данных
- Управление товарами
- Оформление операций
- Просмотр отчетов
#### 👷 Оператор (operator/operator123)
- Только чтение данных
- Просмотр каталога и истории
- Ограниченный доступ к функциям
#### 👁️ Наблюдатель (viewer/viewer123)
- Ограниченный просмотр
- Только чтение данных
- Минимальный доступ
## 📁 Структура проекта
```
warehouse-system/
├── index.html # Главная страница
├── login.html # Страница авторизации
├── catalog.html # Каталог товаров
├── history.html # История операций
├── search.html # Поиск
├── profile.html # Профиль пользователя
├── css/
│ └── style.css # Основные стили
├── js/
│ ├── auth.js # Система авторизации
│ ├── main.js # Основная логика
│ ├── warehouse.js # Управление складом
│ ├── catalog.js # Каталог товаров
│ ├── history.js # История операций
│ ├── search.js # Поиск
│ └── profile.js # Профиль пользователя
└── README.md # Документация
```
## 🛠️ Технологии
- **HTML5** - семантическая разметка
- **CSS3** - современные стили с CSS переменными
- **Bootstrap 5** - адаптивный дизайн
- **JavaScript (ES6+)** - интерактивность
- **jQuery** - упрощение работы с DOM
- **Font Awesome** - иконки
- **LocalStorage** - локальное хранение данных
## 🚀 Быстрый старт
### 1. Первый вход
1. Откройте `login.html`
2. Используйте тестовые учетные записи:
- **Администратор**: `admin` / `admin123`
- **Менеджер**: `manager` / `manager123`
- **Оператор**: `operator` / `operator123`
- **Наблюдатель**: `viewer` / `viewer123`
### 2. Начальная настройка
1. Войдите как администратор
2. Добавьте первые товары через главную страницу
3. Настройте категории товаров
4. Создайте пользователей с нужными правами
## 📖 Руководство пользователя
### Главная страница
- **Быстрые действия**: добавление товаров, приход/расход
- **Статистика**: общая информация о складе
- **Последние операции**: мониторинг активности
### Каталог товаров
- **Просмотр**: все товары с фильтрами
- **Поиск**: по названию, описанию, штрих-коду
- **Фильтры**: по категории, цене, наличию
- **Редактирование**: изменение информации о товарах
### История операций
- **Просмотр**: все операции с детализацией
- **Фильтры**: по типу, дате, товару, сотруднику
- **Отчеты**: генерация различных отчетов
- **Экспорт**: выгрузка данных
### Поиск
- **Универсальный поиск**: товары и операции
- **Расширенные фильтры**: точная настройка
- **Результаты**: с подсветкой найденного
- **Экспорт результатов**: сохранение найденного
### Профиль пользователя
- **Информация**: личные данные и права
- **Статистика**: активность пользователя
- **Настройки**: персонализация интерфейса
- **Безопасность**: смена пароля
## 🔧 Администрирование
### Управление пользователями
1. Войдите как администратор
2. Перейдите в раздел "Администрирование"
3. Выберите "Управление пользователями"
4. Создавайте, редактируйте, удаляйте пользователей
### Настройка категорий
1. Откройте "Категории товаров"
2. Добавьте нужные категории
3. Настройте иконки и описания
### Генерация отчетов
1. Выберите тип отчета
2. Укажите период
3. Настройте параметры
4. Экспортируйте в нужном формате
## 📊 Структура данных
### Товар
```javascript
{
id: 1,
name: "Название товара",
category: "electronics",
price: 1000,
quantity: 50,
description: "Описание товара",
barcode: "1234567890123",
minQuantity: 10,
location: "Стеллаж A-1",
supplier: "Поставщик",
createdAt: "2024-01-15T10:00:00Z",
updatedAt: "2024-01-15T10:00:00Z"
}
```
### Операция
```javascript
{
id: 1,
type: "incoming", // или "outgoing"
itemId: 1,
itemName: "Название товара",
quantity: 10,
employeeId: 1,
employeeName: "Имя сотрудника",
date: "2024-01-15T10:00:00Z",
status: "completed",
supplier: "Поставщик",
recipient: "Получатель",
notes: "Примечания"
}
```
### Пользователь
```javascript
{
id: 1,
username: "admin",
name: "Администратор",
email: "admin@company.com",
roles: ["admin"],
permissions: ["read", "write", "delete", "admin"],
department: "IT",
position: "Системный администратор"
}
```
## 🎨 Кастомизация
### Изменение цветовой схемы
Отредактируйте CSS переменные в `css/style.css`:
```css
:root {
--primary-color: #0d6efd;
--secondary-color: #6c757d;
--success-color: #198754;
--warning-color: #ffc107;
--danger-color: #dc3545;
--info-color: #0dcaf0;
}
```
### Добавление новых категорий
В файле `js/warehouse.js` найдите функцию `loadCategories()` и добавьте новые категории:
```javascript
{
id: 'new-category',
name: 'Новая категория',
icon: 'fas fa-icon-name'
}
```
### Настройка прав доступа
В файле `js/auth.js` измените массив пользователей или добавьте новые роли и разрешения.
## 🔒 Безопасность
### Рекомендации по безопасности
1. **Измените пароли по умолчанию** при первом входе
2. **Используйте HTTPS** в продакшене
3. **Регулярно обновляйте** права доступа
4. **Ведите логи** всех операций
5. **Делайте резервные копии** данных
### Настройка HTTPS
Для продакшена обязательно используйте SSL-сертификат:
```bash
# Пример с Let's Encrypt
sudo certbot --nginx -d your-domain.com
```
## 🐛 Устранение неполадок
### Частые проблемы
#### Не работает авторизация
- Проверьте правильность логина/пароля
- Очистите кэш браузера
- Проверьте консоль на ошибки JavaScript
#### Не сохраняются данные
- Проверьте доступ к LocalStorage
- Убедитесь, что JavaScript включен
- Проверьте права доступа пользователя
#### Медленная работа
- Закройте лишние вкладки
- Очистите кэш браузера
- Проверьте количество товаров/операций
### Логи и отладка
Откройте консоль разработчика (F12) для просмотра ошибок и логов.
## 🤝 Поддержка
### Сообщение об ошибках
При обнаружении ошибок:
1. Опишите проблему подробно
2. Укажите версию браузера
3. Приложите скриншот ошибки
4. Опишите шаги для воспроизведения
### Запросы функций
Для добавления новых функций:
1. Опишите требуемую функциональность
2. Укажите приоритет
3. Приведите примеры использования
## 📄 Лицензия
Этот проект распространяется под лицензией MIT.
## 👥 Авторы
- Разработка: Roman Pylaev
- Дизайн: Roman Pylaev
- Тестирование: Roman Pylaev
## 📞 Контакты
- Email: r0manpylaev@yandex.ru
- Телефон: +7 (977) 665-45-78
- Telegram: @dark7es
- Discord: @dark7es