Andrey Epifancev 4f32d74ba0 docs(openspec): change consolidations-ui — целевое поведение экранов консолидаций (PR #166, AURORA-1589)
Спека 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>
2026-10-23 00:50:58 +04:00

63 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 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.