Files
portal/docs
Дмитрий 4de39e70b2 phase2(reports): ReportsView - асинхронная генерация отчётов с очередью
- ReportsView (/reports): form-card (Запросить) + jobs-list panel.
  Form: 4 type-cards radio-grid (Сделки/Менеджеры/Источники/Биллинг) +
  date-range + Проект/Менеджер v-select + 4 fmt-кнопки (CSV/XLSX/JSON/PDF) +
  quota-banner alert (CTO-7: 2/3 одновременных + CTO-6: 3 попытки/7 дней) +
  Запустить/Сброс.
- Jobs-list: 5 mock-rows × 4 статуса (done/running/queued/failed) с icon +
  meta JBM (FORMAT · size · rows · timeText) + status-chip + actions
  (Скачать done / Повторить failed && attempt<3 / Отменить queued /
  Удалить done|failed). v-progress-linear для running 62%.
- composables/mockReports.ts: type unions (4×4×4) + 5 mock-jobs + MOCK_QUOTA
  (CTO-6/7 значения).
- Маршрут /reports (meta.layout=app, lazy-import) в router + web.php.

Vitest +12 (всего 110/110 за 9.38s):
- заголовок + page-stats + 4 type-cards + дефолт active + 4 формата +
  quota-banner («2 из 3» / «3 попыток retry» / «7 дней») + 5 job-rows +
  done-«Готов»+Скачать-aria + running-«62%»+progressbar role + queued-Отменить +
  failed-«Ошибка»+«S3 timeout»+Повторить-aria + клик-переключение active.

Регресс: lint+type+format OK; vitest 110/110; vite build (ReportsView lazy-chunk;
main 108.19 KB); story:build 18/25 за 30.77s; Pest 48/48 за 4.58s.

CLAUDE.md v1.28->v1.29, реестр Открытых_вопросов v1.37->v1.38.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 19:01:10 +03:00
..