generation report
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
# Функциональность отчётов
|
||||
|
||||
## Обзор
|
||||
|
||||
В приложение добавлена полная функциональность для работы с отчётами согласно техническому заданию. Система позволяет генерировать, просматривать и скачивать отчёты в форматах 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
|
||||
- Обработка ошибок авторизации
|
||||
|
||||
## Расширения
|
||||
|
||||
Для будущих версий можно добавить:
|
||||
|
||||
- Удаление отчётов
|
||||
- Редактирование отчётов
|
||||
- Предварительный просмотр отчётов
|
||||
- Шаблоны отчётов
|
||||
- Планировщик генерации отчётов
|
||||
- Уведомления о готовности отчётов
|
||||
Reference in New Issue
Block a user