diff --git a/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx b/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx index a1e1633..a82c1cf 100644 --- a/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx +++ b/src/webparts/requestPortal/shared/approval/ui/ApprovalMatrix.tsx @@ -90,6 +90,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 колонки «Шаг». @@ -113,6 +119,7 @@ export const ApprovalMatrix: React.FC = ({ Должность {hasStatuses && Статус} {hasDates && Дата} + {hasSla && SLA} {editable && } {editable && } @@ -149,6 +156,9 @@ export const ApprovalMatrix: React.FC = ({ )} {hasDates && {r.date}} + {hasSla && ( + {r.slaHours || r.slaHours === 0 ? `${r.slaHours} ч` : '—'} + )} {/* Перемещение действует на ШАГ целиком (параллельные строки переезжают вместе): одна пара стрелок на весь шаг. */} {editable && isBlockStart && (