fix: внес изменения в заявках рекрутинга от 16.09.26
Tests / frontend-test (push) Successful in 1m20s

This commit is contained in:
Тимур Городецкий
2026-09-16 17:59:45 +05:00
parent 428122d32a
commit 6f8bea33a2
31 changed files with 595 additions and 101 deletions
@@ -40,6 +40,7 @@ export async function getPlannedMatrix(
askOverdueReason: s.askOverdueReason,
autoApprove: s.autoApprove,
warning: s.warning,
positionCode: s.positionCode,
}))
);
}
@@ -117,4 +117,12 @@ export interface IResolvedRouteStep {
* нечего, см. соответствующее поле на бэкенде (TemplateRouteStep.AutoApprove).
*/
autoApprove: boolean;
/**
* Код типовой роли шага (напр. "Chief" — непосредственный руководитель),
* настраивается в админке маршрутов вместе с самим шагом. undefined — роль
* без кода (обычный именной/групповой шаг). Используется формами точечно,
* когда нужно сопоставить конкретный шаг маршрута с полем формы (см.
* Ticket1C/managerOverride.ts — единственный пример на сейчас).
*/
positionCode?: string;
}
@@ -38,6 +38,12 @@ export interface IMatrixRow {
* IResolvedRouteStep.autoApprove).
*/
autoApprove?: boolean;
/**
* Код типовой роли шага (напр. "Chief"), см. IResolvedRouteStep.positionCode —
* то же транзитное поле: только у ПЛАНИРУЕМОГО маршрута (getPlannedMatrix), у
* уже записанных строк списка (loadXxxRequest) его нет.
*/
positionCode?: string;
/**
* Предупреждение approval-route по ЭТОМУ шагу (см. IResolvedRouteStep.warning) —
* например, роль не разрешилась в конкретного человека, и почему именно.
@@ -77,14 +77,6 @@ export const ApprovalMatrix: React.FC<IApprovalMatrixProps> = ({
else editor.moveBlockDown(rowIndex);
};
// Остальные правки состава — не перестановка: сбрасываем «активный» шаг,
// иначе подъём и подсветка достались бы случайной строке, которая сдвинулась
// из-за перенумерации после удаления.
const removeRow = (rowIndex: number): void => {
setActiveKeys([]);
editor.remove(rowIndex);
};
const toggleParallel = (rowIndex: number): void => {
setActiveKeys([]);
editor.toggleParallel(rowIndex);
@@ -239,14 +231,6 @@ export const ApprovalMatrix: React.FC<IApprovalMatrixProps> = ({
>
<Icon name="user-check" size="sm" />
</button>
<button
type="button"
className={`${styles.iconBtn} ${styles.iconBtnDanger}`}
onClick={() => removeRow(i)}
title="Удалить"
>
<Icon name="trash" size="sm" />
</button>
</td>
)}
</tr>