diff --git a/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx b/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx index 85f70b1..fcf5b2d 100644 --- a/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx +++ b/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx @@ -144,6 +144,17 @@ export const ApprovalMatrix: React.FC = ({ )} {r.who} + {/* Причина, по которой approval-route не назначил на этот шаг + конкретного человека (роль не разрешилась и т.п., см. + IResolvedRouteStep.warning/IMatrixRow.warning) — та же строка, + что уходит в ошибку валидации при отправке (см. + unassignedStepMessage), но видна СРАЗУ в таблице, а не только + на попытке отправить: пустая строка «Согласующий» сама по себе + не объясняет, что делать — вручную выбрать человека здесь + нельзя, шаг заведомо требует правки маршрута в админке. */} + {!r.who && r.warning && ( + {r.warning} + )} {/* Доп. согласующий, добавленный другим согласующим (с правом переназначения) — помечаем, кто его добавил. Пусто у обычных строк маршрута. Как и комментарий — inline под именем, чтобы diff --git a/src/webparts/requestPortal/shared/approval/ui/approval.module.scss b/src/webparts/requestPortal/shared/approval/ui/approval.module.scss index 0b5b8c5..1fb415c 100644 --- a/src/webparts/requestPortal/shared/approval/ui/approval.module.scss +++ b/src/webparts/requestPortal/shared/approval/ui/approval.module.scss @@ -169,6 +169,19 @@ font-weight: 500; } +// Причина, по которой approval-route не назначил человека на шаг (см. +// ApprovalMatrix.tsx/r.warning) — красным, как настоящая проблема маршрута +// (в отличие от нейтрального addedByInline/commentInline): пустая строка +// «Согласующий» без этого текста выглядит как баг, а не как «маршрут просит +// вмешательства администратора». +.warningInline { + display: block; + margin-top: 3px; + font-size: $fs-caption; + color: $red-500; + line-height: 1.45; +} + // ВАЖНО: не display:flex — это сняло бы с ячейки display:table-cell, и она // перестала бы вставать в строку рядом с соседней (кнопки уезжали на вторую // строку). Ячейка остаётся табличной, кнопки держатся в строке через nowrap.