первый вариант

This commit is contained in:
gorbenko.pavel
2026-08-19 16:22:50 +05:00
parent 2fe1696847
commit d9fa4b392b
17 changed files with 890 additions and 39 deletions
@@ -0,0 +1,31 @@
// Домен вкладки «Заявки по согласующему» (ManageByUserScreen) — сводит вместе
// два независимых источника по одному конкретному человеку: живые строки
// согласования (SharePoint, requestManageService.ts) и шаблонные шаги
// маршрутов (Tnsu.ApprovalRoute.Api, TemplateRouteStep с ExecutorEmail).
import { ManagedApprovalRow } from './requestManage';
import { TemplateRouteStep } from './templateRouteSteps';
/**
* Строка согласования, найденная сразу по ВСЕМ типам заявок и ВСЕМ их
* партициям — в отличие от ManagedApprovalRow (одна открытая заявка одного
* типа), здесь нужен контекст, к какому типу/списку/партиции она относится,
* чтобы её можно было и показать, и записать обратно через reassignApprover.
*/
export interface UserApprovalRow extends ManagedApprovalRow {
requestTypeId: number;
requestTypeName: string;
siteUrl: string;
/** Партиция списка ДАННЫХ, где физически лежит заявка. */
listId: string;
approvalListTitle: string;
requestTitle: string;
// eslint-disable-next-line @rushstack/no-new-null -- зеркалит SharePoint: колонки может не быть
requestUniqueCode: string | null;
}
/** Шаг шаблона маршрута с ExecutorEmail = искомый человек, обогащённый для отображения. */
export interface UserTemplateStepRow extends TemplateRouteStep {
requestTypeName: string;
companyName: string;
departmentName: string;
}