feat: Оптимизация навигации AdminJS в логические группы

- Объединены ресурсы в 5 логических групп: Контент сайта, Бронирования, Отзывы и рейтинги, Персонал и гиды, Администрирование
- Удалены дублирующие настройки navigation для чистой группировки
- Добавлены CSS стили для визуального отображения иерархии с отступами
- Добавлены эмодзи-иконки для каждого типа ресурсов через CSS
- Улучшена навигация с правильной вложенностью элементов
This commit is contained in:
2025-11-30 21:57:58 +09:00
parent 1e7d7c06eb
commit 13c752b93a
47 changed files with 14148 additions and 61 deletions

117
docs/SCHEDULE_MANAGER.md Normal file
View File

@@ -0,0 +1,117 @@
# Планировщик рабочих смен гидов
Новый инструмент для управления расписанием работы гидов в туристическом агентстве.
## 🚀 Основные возможности
### ✅ Выбор гидов
- Множественный выбор гидов чекбоксами
- Кнопки "Выбрать всех" / "Очистить выбор"
- Отображение специализации каждого гида
### 📅 Планирование смен
- Календарный интерфейс на месяц
- Клик по дню для добавления/удаления смены
- Визуальные индикаторы занятости
- Поддержка множественного выбора гидов
### ⚡ Быстрые действия
- **Отметить будни** - автоматическое планирование пн-пт
- **Отметить выходные** - планирование суббота-воскресенье
- **Весь месяц** - отметить все дни месяца
- **Очистить месяц** - удалить все смены месяца
### 🔄 Копирование между месяцами
- **Скопировать из прошлого месяца** - копирует структуру предыдущего месяца
- **Скопировать в следующий месяц** - применяет текущее расписание на следующий месяц
## 🎯 Как использовать
### 1. Доступ к планировщику
- Войти в админку: `/admin`
- Перейти в "Планировщик смен" на главной панели
- Или напрямую: `/admin/schedule-manager`
### 2. Выбор гидов
1. В левой панели выбрать нужных гидов чекбоксами
2. Использовать быстрые кнопки для выбора всех/очистки
### 3. Планирование смен
1. В календаре кликнуть на нужную дату
2. Если выбрано несколько гидов - смена добавится для всех
3. Повторный клик уберет смену
### 4. Быстрое планирование
- Кнопки быстрых действий применяются ко всем выбранным гидам
- "Отметить будни" - только пн-пт
- "Отметить выходные" - сб-вс
- "Весь месяц" - все дни
### 5. Копирование расписания
- "Скопировать из прошлого месяца" - берет структуру предыдущего месяца
- "Скопировать в следующий месяц" - сохраняет и копирует в следующий
### 6. Сохранение изменений
- Кнопка "Сохранить изменения" сохраняет все планы на месяц
- Автоматическое сохранение при копировании между месяцами
## 📊 Статистика
В нижней части отображается:
- **Всего гидов** - общее количество гидов
- **Активных гидов** - количество гидов с назначенными сменами
- **Ср. дней/гид** - среднее количество рабочих дней на гида
- **Покрытие месяца** - процент заполненности календаря
## 💡 Советы по использованию
### Эффективное планирование:
1. Сначала выберите гидов с похожей специализацией
2. Используйте быстрые действия для базового планирования
3. Затем корректируйте индивидуальные дни вручную
### Навигация:
- Стрелки в заголовке календаря для перехода между месяцами
- Цветовые индикаторы показывают загруженность дней
### Визуальные подсказки:
- 🟢 **Зеленый день** - все выбранные гиды работают
- 🟡 **Желто-зеленый** - часть выбранных гидов работает
-**Белый день** - никто из выбранных не работает
- 🟨 **Желтый день** - выходной день
## 🔧 Техническая информация
### API Endpoints:
- `GET /api/guide-schedules` - получение расписания
- `PUT /api/guide-schedules` - сохранение месячного расписания
- `POST /api/guide-schedules/batch` - массовое добавление
### Структура данных:
```json
{
"guide_id": 1,
"work_date": "2025-12-01"
}
```
### База данных:
- Таблица: `guide_working_days`
- Уникальный индекс по (guide_id, work_date)
- Связь с таблицей guides через foreign key
## 🐛 Устранение неполадок
### Проблемы с сохранением:
1. Проверить соединение с базой данных
2. Убедиться что выбраны корректные даты
3. Проверить консоль браузера на ошибки
### Проблемы с отображением:
1. Перезагрузить страницу
2. Очистить кеш браузера
3. Проверить что все компоненты загружены
### Проблемы с авторизацией:
- Административная сессия продлена до 7 дней
- При проблемах с доступом перелогиниться в админке