154 lines
5.7 KiB
Markdown
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
|
|
- Обработка ошибок авторизации
|
|
|
|
## Расширения
|
|
|
|
Для будущих версий можно добавить:
|
|
|
|
- Удаление отчётов
|
|
- Редактирование отчётов
|
|
- Предварительный просмотр отчётов
|
|
- Шаблоны отчётов
|
|
- Планировщик генерации отчётов
|
|
- Уведомления о готовности отчётов
|