Заявка на услуги #18

Merged
gorbenko.pavel merged 15 commits from service-request into main 2026-09-01 12:48:41 +00:00
4 changed files with 14 additions and 2 deletions
Showing only changes of commit 6d92d7f9c1 - Show all commits
@@ -9,6 +9,8 @@
{ "internalName": "StepOrder", "title": "Порядок", "type": "Number" },
{ "internalName": "AllowReassignToOtherApprovers", "title": "Можно перепоручать", "type": "Boolean" },
{ "internalName": "Phase", "title": "Фаза", "type": "Choice", "choices": ["Согласование", "Исполнение"] },
{ "internalName": "SLAhours", "title": "SLA, часов", "type": "Number" },
{ "internalName": "AskOverdueReason", "title": "Опрос причины просрочки", "type": "Boolean" },
{ "internalName": "DelegatedBy", "title": "Кем переназначено", "type": "User", "userSelectionMode": "PeopleOnly" }
]
}
@@ -9,6 +9,8 @@
{ "internalName": "StepOrder", "title": "Порядок", "type": "Number" },
{ "internalName": "AllowReassignToOtherApprovers", "title": "Можно перепоручать", "type": "Boolean" },
{ "internalName": "Phase", "title": "Фаза", "type": "Choice", "choices": ["Согласование", "Исполнение"] },
{ "internalName": "SLAhours", "title": "SLA, часов", "type": "Number" },
{ "internalName": "AskOverdueReason", "title": "Опрос причины просрочки", "type": "Boolean" },
{ "internalName": "DelegatedBy", "title": "Кем переназначено", "type": "User", "userSelectionMode": "PeopleOnly" }
]
}
@@ -1,4 +1,5 @@
import { useState, useEffect } from 'react';
import { friendlyErrorMessage } from '../diagnostics';
import { IMatrixRow } from './models/IMatrixRow';
import { ISiteUser } from './models/ISiteUser';
@@ -175,7 +176,11 @@ export function useMatrixEditor(
})
.catch((err: Error) => {
if (!active) return;
setError(err.message);
// Через friendlyErrorMessage, а не err.message: PnPjs кладёт в message
// тело ответа SharePoint целиком, и кириллица в нём остаётся
// \u-escape-последовательностями — пользователь видел «Поле или
// свойство…» набором «Поле».
setError(friendlyErrorMessage(err));
setLoading(false);
});
return () => {
@@ -1,5 +1,6 @@
import { useEffect, useState } from 'react';
import type { WebPartContext } from '@microsoft/sp-webpart-base';
import { friendlyErrorMessage } from '../diagnostics';
import { getRequestTypeIdByPageUrl } from './approvalRoute.service';
export interface IRequestTypeIdState {
@@ -33,7 +34,9 @@ export function useRequestTypeId(context: WebPartContext, pageUrl: string): IReq
})
.catch((e: Error) => {
if (alive) {
setError(e.message);
// См. useMatrixEditor: сырой message от PnPjs/SharePoint показывает
// кириллицу \u-escape-последовательностями.
setError(friendlyErrorMessage(e));
setLoading(false);
}
});