4de39e70b2
- 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>