feat: added optin to add delegant for executor and change delegant

This commit is contained in:
Тимур Городецкий
2026-08-10 13:55:05 +05:00
parent 3a15d83ded
commit 99f0946968
23 changed files with 407 additions and 40 deletions
@@ -8,15 +8,17 @@ import { APPROVAL_PHASE, REQUEST_STATUS } from './models/statuses';
// Планируемый маршрут для НОВОЙ заявки: resolve по email инициатора → строки матрицы.
// status выбирает фазу: 'Approval' (согласующие, по умолчанию) или 'Execution'
// (исполнители). Имена подтягиваются по executorEmail (бэкенд отдаёт email + должность).
// departmentId — Id отдела из справочника (влияет на маршрут, если он различается по отделу).
export async function getPlannedMatrix(
context: WebPartContext,
requestTypeId: number,
userEmail: string,
approval: ApprovalListService,
status: ApprovalStatus = 'Approval'
status: ApprovalStatus = 'Approval',
departmentId?: string | null
): Promise<IMatrixRow[]> {
if (!userEmail) return [];
const route = await resolveRoute(context, requestTypeId, userEmail, status);
const route = await resolveRoute(context, requestTypeId, userEmail, status, departmentId);
const phase = status === 'Execution' ? APPROVAL_PHASE.execution : APPROVAL_PHASE.approval;
const ordered = route.steps.slice().sort((a, b) => a.orderNo - b.orderNo);
return Promise.all(