Спека consolidations-ui: список консолидаций [34] (колонки, «Версия», «Только в работе»), «Взять в работу» и перехват [35], меню «⋯», панель «Организации», подписи статусов, вид модалки [42], «Изменить статус» [33-01] с зеркалом MANUAL_TRANSITIONS, пояснение статуса под заголовком, модалка [31-00]. design.md: решения, Known issues ветки 71ef633, решения без обсуждения; tasks.md: ревьюер / автор / тесты. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
63 lines
6.1 KiB
Markdown
63 lines
6.1 KiB
Markdown
## Why
|
||
|
||
В ветке `AURORA-1589` (PR RSHB/arm-core#166, автор — Степанов, задача AURORA-1589) фронт доводит экраны консолидаций до
|
||
макета: список консолидаций ГК [34] с «Взять в работу» и перехватом [35], модалку «Новая консолидация» [42] и кнопку
|
||
«Изменить статус» в карточке версии [30] с модалкой [33-01]. Бэкенд этих действий уже в main (`consolidations-api`:
|
||
список с `in_work_only`, блокировка и перехват, ручная смена статуса). У экранов нет UI-спеки. Спеку, документацию и тесты
|
||
ведёт ревьюер коммитами в ветку автора (правило владельца): спека задаёт целевое поведение, расхождения кода ветки с ней —
|
||
`design.md`, «Known issues»; продуктовый код правит автор.
|
||
|
||
## What Changes
|
||
|
||
Репозиторий — только arm-core (`web/`). Эндпоинты arm-core (без изменений): `GET /company-groups/{id}/consolidations`
|
||
(`in_work_only`), `GET /consolidations/versions/{id}`, `POST /consolidations/versions/{id}/lock` (`takeover_reason`),
|
||
`POST /consolidations/versions/{id}/status`, `POST /consolidations`.
|
||
|
||
- Список консолидаций [34]: колонки, дерево версий с номером только у версий 2+, фильтр «Только в работе» (выключен по
|
||
умолчанию), «Взять в работу» с подтверждением [35] и перехватом с причиной, неактивные пункты меню «⋯».
|
||
- Панель «Организации» без выбранной консолидации и серый статус «Отсутствует».
|
||
- Подписи статусов версии («Корректировка данных», «Отменена») и пояснение статуса под заголовком карточки.
|
||
- Модалка «Новая консолидация» [42]: ИНН отдельной колонкой, «+ Создать», без звёздочек обязательности.
|
||
- «Изменить статус» [33-01]: допустимые переходы — зеркало `MANUAL_TRANSITIONS` бэка, по умолчанию ничего не выбрано,
|
||
кнопка доступна только владельцу блокировки и при наличии ручных переходов.
|
||
- Модалка [31-00] «Остались неуказанные ИНН» при уходе со «Сводной ОСВ» на другую вкладку отчёта.
|
||
- Новая спека `consolidations-ui` (ADDED Requirements).
|
||
- Документация фронта: `web/CLAUDE.md` (вторая библиотека иконок `lucide-react`), `web/ARCHITECTURE.md` (новые виджеты).
|
||
|
||
## Non-goals
|
||
|
||
- Исправление продуктового кода по «Known issues» (`design.md`) — за автором PR.
|
||
- «Единицы» и «Знаков после запятой» в сводной ОСВ (коммит 71ef633, AURORA-1539) — автору предложено вынести в отдельный
|
||
PR; в эту спеку не входят.
|
||
- Полный маршрут согласования (переходы Среза 7), «Добавить версию», «Отключить подтверждение КФО», «История изменений»,
|
||
«Редактировать состав», «Импорт», «Дата верификации», «Утверждён в РФ» / «Верифицирован в ГО» — зонтичная задача
|
||
AURORA-1416.
|
||
- ГСК консолидации в API списка и карточки (колонка «ГСК») — отдельная задача ядра; до неё колонка пустая.
|
||
- Список допустимых переходов из API (`allowed_transitions`) — с маршрутом согласования; до него фронт держит зеркало.
|
||
- Предупреждение браузера о несохранённых правках (пункт задачи AURORA-1589) — касается всех форм приложения, в эту спеку
|
||
не входит (`design.md`, решение без обсуждения (е)).
|
||
- Изменения бэкенда и DBML.
|
||
|
||
## Capabilities
|
||
|
||
### New Capabilities
|
||
- `consolidations-ui`: список консолидаций ГК, взятие в работу и перехват, модалка новой консолидации (вид), смена статуса
|
||
версии и шапка карточки версии.
|
||
|
||
### Modified Capabilities
|
||
|
||
Нет: `consolidation-setup` (состав модалки [42], создание, «К отчётности») и `consolidated-osv-ui` (сводная ОСВ) не
|
||
правятся — добавленное поведение описано в новой спеке (`design.md`, решение без обсуждения (а)).
|
||
|
||
## Impact
|
||
|
||
- `web/src/widgets/ConsoleTable/` (`ConsoleTable.tsx`, `LockModal.tsx`, `config.tsx`, `consts.ts`),
|
||
`web/src/widgets/StatusChangeModal/ChangeStatusModal.tsx`, `web/src/widgets/NewConsoleModal/`
|
||
(`NewConsoleModal.tsx`, `CompanyOptionRow.tsx`), `web/src/widgets/ConsoleLegalEntities/`,
|
||
`web/src/layouts/ConsolidatedOsvPage.tsx`, `web/src/layouts/ConsolidationsList.tsx`,
|
||
`web/src/services/api/consolidations.ts`, `web/src/store/slices/consolidations/thunks.ts`, `web/src/types/`,
|
||
`web/src/widgets/Sidebar/` (иконки), `web/package.json` (`lucide-react`).
|
||
- Права: действия требуют `CONSOLIDATION_EDIT` на сервере; меню по правам не скрывается.
|
||
- Гайд фронта по API (`docs/dev/frontend-api-guide.md` §5.7): заметка о зеркале ручных переходов — PR в RSHB/arm-ka-docs,
|
||
сливать вместе с этим PR.
|