From ec5c2a8d86e65cf8e52e5bcc2f7509907ec979bd Mon Sep 17 00:00:00 2001 From: "gorbenko.pavel" Date: Wed, 19 Aug 2026 11:26:26 +0500 Subject: [PATCH] =?UTF-8?q?=D0=B2=D0=BE=D1=80=D0=B8=D0=BD=D0=B3=D0=B8=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=BA=D0=BD=D0=BE=D0=BF?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=82=D1=80=D1=8C=D1=80=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D0=B5=D1=82=D0=B2=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shared/approval/ui/ApprovalMatrix.tsx | 11 +++++++++++ .../shared/approval/ui/approval.module.scss | 13 +++++++++++++ 2 files changed, 24 insertions(+) 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.