fix: AURORA-1692 - кнопка 'Назад' при просмотре документов #171
@ -0,0 +1,2 @@
|
||||
schema: spec-driven
|
||||
created: 2026-10-23
|
||||
35
openspec/changes/document-switcher-history/proposal.md
Normal file
35
openspec/changes/document-switcher-history/proposal.md
Normal file
@ -0,0 +1,35 @@
|
||||
## Why
|
||||
|
||||
AURORA-1692: на экране документа аналитик перебирает документы организации через выпадающий список «Документ» в шапке,
|
||||
каждый выбор добавляет запись в историю браузера, и «Назад» ведёт к предыдущему выбранному документу, а не к экрану
|
||||
консолидации, откуда документ открыли. В ветке `AURORA-1692` (PR RSHB/arm-core#171, автор — Степанов) выбор документа
|
||||
открывается заменой текущей записи истории. Переключателя нет в спеке `document-review-ui`; спеку ведёт ревьюер
|
||||
коммитом в ветку автора (правило владельца).
|
||||
|
||||
## What Changes
|
||||
|
||||
Репозиторий — только arm-core (`web/`), эндпоинты без изменений.
|
||||
|
||||
- Выбор в списке «Документ» шапки экрана документа открывает `/documents/:document_id` выбранного документа с заменой
|
||||
текущей записи истории (`navigate(…, { replace: true })`), без новой записи.
|
||||
- Дельта `document-review-ui`: ADDED требование «Переключатель документа» — состав списка (как в коде main) и поведение
|
||||
истории.
|
||||
|
||||
## Non-goals
|
||||
|
||||
- Переход «Открыть подтверждённую форму» с дубля формы (`StatementReview`) и открытие документа из списка файлов
|
||||
(`FilesList`) — остаются обычными переходами с новой записью истории.
|
||||
- Изменения бэкенда и DBML.
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
|
||||
### Modified Capabilities
|
||||
|
||||
- `document-review-ui`: ADDED требование «Переключатель документа».
|
||||
|
||||
## Impact
|
||||
|
||||
- `web/src/layouts/DocumentPage.tsx` — одна строка, `onChange` списка «Документ».
|
||||
- Тестов экрана `DocumentPage` нет; поведение проверяется вручную по сценариям спеки.
|
||||
@ -0,0 +1,18 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Переключатель документа
|
||||
В шапке экрана документа SHALL быть выпадающий список «Документ» с документами файлов того же ЮЛ в той же консолидации,
|
||||
что и файл открытого документа (файл вне консолидации — все файлы ЮЛ): у пункта имя файла, вторая строка (тип · формат ·
|
||||
дата) и статус; пункты, которые нельзя открыть, неактивны. Выбор пункта SHALL открывать `/documents/:document_id`
|
||||
выбранного документа заменой текущей записи истории браузера, без новой записи: кнопка «Назад» экрана и браузера
|
||||
возвращает на экран, с которого открыт первый документ, а не к предыдущему выбранному.
|
||||
|
||||
#### Scenario: Назад после перебора документов
|
||||
- **WHEN** аналитик открыл документ из панели «Организации» консолидации, выбрал в списке «Документ» подряд ещё два
|
||||
документа и нажал «Назад»
|
||||
- **THEN** открыт экран консолидации, с которого был открыт первый документ
|
||||
|
||||
#### Scenario: Документ открыт прямой ссылкой
|
||||
- **WHEN** документ открыт прямой ссылкой в новой вкладке, аналитик выбрал в списке «Документ» другой документ и нажал
|
||||
«Назад» экрана
|
||||
- **THEN** открыт список групп компаний `/groups`
|
||||
8
openspec/changes/document-switcher-history/tasks.md
Normal file
8
openspec/changes/document-switcher-history/tasks.md
Normal file
@ -0,0 +1,8 @@
|
||||
## 1. Автор (RSHB/arm-core#171, AURORA-1692)
|
||||
|
||||
- [x] 1.1 `web/src/layouts/DocumentPage.tsx`: выбор в списке «Документ» — `navigate(…, { replace: true })`.
|
||||
|
||||
## 2. Ревьюер
|
||||
|
||||
- [x] 2.1 Change `document-switcher-history`: proposal, дельта `document-review-ui` (ADDED «Переключатель документа»).
|
||||
- [x] 2.2 Проверки фронта на ветке: `tsc`, `eslint`, `prettier --check`, `vitest`.
|
||||
@ -94,7 +94,7 @@ export function DocumentPage() {
|
||||
style={{ width: '100%' }}
|
||||
value={doc.id}
|
||||
options={documentOptions}
|
||||
onChange={(value) => navigate(`/documents/${value}`)}
|
||||
onChange={(value) => navigate(`/documents/${value}`, { replace: true })}
|
||||
optionRender={(option) => (
|
||||
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', gap: 10 }}>
|
||||
{/* у ББ и ОФР из одного PDF имя файла одно — различаются второй строкой (тип · формат · дата) */}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user