Files
marketing/REPORTS_README.md
2025-09-22 16:26:38 +05:00

154 lines
5.7 KiB
Markdown

# Функциональность отчётов
## Обзор
В приложение добавлена полная функциональность для работы с отчётами согласно техническому заданию. Система позволяет генерировать, просматривать и скачивать отчёты в форматах PDF и DOCX.
## Структура файлов
### Сервисы
- `src/service/ReportService.js` - Основной сервис для работы с API отчётов
### Компоненты
- `src/views/reports/ReportManager.vue` - Главная страница управления отчётами
- `src/views/reports/ReportGenerator.vue` - Страница создания нового отчёта
- `src/views/reports/ReportHistory.vue` - Страница истории отчётов
### Конфигурация
- `src/config/api.js` - Обновлён с эндпоинтами для отчётов
- `src/router/index.js` - Добавлены маршруты для страниц отчётов
- `src/layout/AppMenu.vue` - Добавлен раздел "Отчёты" в меню
## Функциональность
### 1. Генерация отчётов
- Создание отчётов с настраиваемыми параметрами
- Поддержка форматов PDF и DOCX
- Валидация формы с отображением ошибок
- Автоматическое скачивание сгенерированного файла
### 2. История отчётов
- Просмотр всех созданных отчётов
- Пагинация и сортировка
- Фильтрация по формату, дате и тексту
- Статистика по отчётам
### 3. Скачивание отчётов
- Скачивание отчётов из истории
- Автоматическое определение имени файла
- Обработка ошибок при скачивании
## API Endpoints
### Генерация отчёта
```
POST /api/parser/report/generate
```
**Параметры:**
- `reportTitle` (string) - Заголовок отчёта
- `authorName` (string) - Имя автора
- `companyName` (string) - Название компании
- `startDate` (string) - Дата начала (ISO 8601)
- `endDate` (string) - Дата окончания (ISO 8601)
- `format` (string) - Формат файла (PDF/DOCX)
### История отчётов
```
GET /api/parser/report/history?page=0&size=20&sort=createdAt,desc
```
**Параметры:**
- `page` (int) - Номер страницы
- `size` (int) - Размер страницы
- `sort` (string) - Поле и направление сортировки
### Скачивание отчёта
```
GET /api/parser/report/history/{id}
```
## Использование
### 1. Создание отчёта
1. Перейдите в раздел "Отчёты" → "Создать отчёт"
2. Заполните обязательные поля:
- Заголовок отчёта
- Автор
- Компания
- Период (дата начала и окончания)
- Формат файла
3. Нажмите "Сгенерировать отчёт"
4. Файл автоматически скачается
### 2. Просмотр истории
1. Перейдите в раздел "Отчёты" → "История отчётов"
2. Используйте фильтры для поиска нужных отчётов
3. Сортируйте по любому столбцу
4. Скачивайте отчёты кнопкой "Скачать"
### 3. Управление отчётами
1. Перейдите в раздел "Отчёты" → "Управление отчётами"
2. Здесь доступны все функции в одном интерфейсе
## Технические детали
### Валидация
- Все обязательные поля проверяются перед отправкой
- Проверка корректности дат (дата окончания должна быть позже даты начала)
- Отображение ошибок валидации под соответствующими полями
### Обработка ошибок
- Обработка HTTP ошибок (400, 401, 403, 404, 500)
- Пользовательские сообщения об ошибках
- Логирование ошибок в консоль
### UI/UX
- Использование PrimeVue компонентов
- Адаптивный дизайн
- Индикаторы загрузки
- Toast уведомления
- Подтверждающие диалоги
## Зависимости
Функциональность использует существующие зависимости проекта:
- Vue 3
- PrimeVue 4
- Vue Router 4
## Безопасность
- Все запросы требуют авторизации (Bearer token)
- Токен извлекается из localStorage
- Обработка ошибок авторизации
## Расширения
Для будущих версий можно добавить:
- Удаление отчётов
- Редактирование отчётов
- Предварительный просмотр отчётов
- Шаблоны отчётов
- Планировщик генерации отчётов
- Уведомления о готовности отчётов