From d60712ab40584daf939462158ddbdaac96b3b87c Mon Sep 17 00:00:00 2001 From: "gorbenko.pavel" Date: Thu, 13 Aug 2026 09:24:42 +0500 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20sla?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shared/approval/ui/ApprovalMatrix.tsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx b/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx index f9d7778..e32b30f 100644 --- a/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx +++ b/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx @@ -79,6 +79,12 @@ export const ApprovalMatrix: React.FC = ({ // Пустые колонки не показываем — столбец из одних прочерков только шумит. const hasStatuses = rows.some((r) => r.status && r.status !== '—'); const hasDates = rows.some((r) => !!r.date); + // slaHours на строке — уже ИТОГОВОЕ значение с применённым наследованием + // (шаг перекрывает тип заявки): для черновика его так отдаёт resolve + // (getPlannedMatrix), для поданной заявки — то, что записали в строку при + // отправке (см. writeRoute). Здесь его достаточно просто показать, повторно + // резолвить нечего. + const hasSla = rows.some((r) => r.slaHours !== undefined && r.slaHours !== null); // Число колонок (для colSpan) — на случай будущих нужд не используется: комментарий // выводим внутри ячейки согласующего, чтобы не ломать rowSpan колонки «Шаг». @@ -101,6 +107,7 @@ export const ApprovalMatrix: React.FC = ({ Должность {hasStatuses && Статус} {hasDates && Дата} + {hasSla && SLA} {editable && } {editable && } @@ -137,6 +144,9 @@ export const ApprovalMatrix: React.FC = ({ )} {hasDates && {r.date}} + {hasSla && ( + {r.slaHours || r.slaHours === 0 ? `${r.slaHours} ч` : '—'} + )} {/* Перемещение действует на ШАГ целиком (параллельные строки переезжают вместе): одна пара стрелок на весь шаг. */} {editable && isBlockStart && (