# Функциональность отчётов ## Обзор В приложение добавлена полная функциональность для работы с отчётами согласно техническому заданию. Система позволяет генерировать, просматривать и скачивать отчёты в форматах 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 - Обработка ошибок авторизации ## Расширения Для будущих версий можно добавить: - Удаление отчётов - Редактирование отчётов - Предварительный просмотр отчётов - Шаблоны отчётов - Планировщик генерации отчётов - Уведомления о готовности отчётов