43 lines
3.1 KiB
Markdown
43 lines
3.1 KiB
Markdown
# quality-metrics-ui Specification
|
||
|
||
## Purpose
|
||
Экран «Качество первички» веб-интерфейса: матрица «источник × причина», динамика по месяцам, список документов ячейки,
|
||
выгрузка фактов; пункт меню по праву.
|
||
|
||
## Requirements
|
||
|
||
### Requirement: Экран «Качество первички»
|
||
Веб-интерфейс SHALL содержать экран «Качество первички» с фильтрами (период, ГК, тип документа, источник, скан/цифровой),
|
||
матрицей «источник × причина» (колонки PDF, Excel, Всего; технические отказы — отдельным столбцом по файлам с пометкой,
|
||
что фильтр типа на них не действует), динамикой по месяцам выбранной причины и кнопкой выгрузки фактов (CSV / JSON).
|
||
Фильтра по ЮЛ на экране нет (API его поддерживает). Справочник ГК для фильтра SHALL запрашиваться один раз за
|
||
жизнь экрана, в том числе при пустом ответе или ошибке.
|
||
|
||
#### Scenario: Пустой справочник ГК
|
||
- **WHEN** справочник ГК пуст или запрос завершился ошибкой
|
||
- **THEN** экран не повторяет запрос бесконечно
|
||
|
||
#### Scenario: Выбран источник
|
||
- **WHEN** в фильтре выбран PDF
|
||
- **THEN** матрица показывает одну колонку
|
||
|
||
### Requirement: Переход из ячейки в документ
|
||
Клик по ячейке матрицы SHALL открывать список документов ячейки (постранично, со счётчиками правок «сервис» и «наш
|
||
разбор» и исходом); из строки списка, если документ ещё существует, SHALL быть переход в экран проверки документа.
|
||
|
||
#### Scenario: Документ удалён
|
||
- **WHEN** документ ячейки уже удалён
|
||
- **THEN** строка показана без ссылки на документ
|
||
|
||
### Requirement: Пункт меню по праву
|
||
Боковое меню SHALL показывать пункт «Качество первички» только при наличии `QUALITY_METRICS_VIEW` и снова SHALL
|
||
скрывать пункты по полю `permission`: «Пользователи и роли» скрыт без `USERS_ADMIN`. Доступ по-прежнему решает сервер.
|
||
|
||
#### Scenario: Нет права
|
||
- **WHEN** в `/me` нет `QUALITY_METRICS_VIEW`
|
||
- **THEN** пункта «Качество первички» в меню нет
|
||
|
||
#### Scenario: Нет USERS_ADMIN
|
||
- **WHEN** в `/me` нет `USERS_ADMIN`
|
||
- **THEN** пункт «Пользователи и роли» скрыт
|