Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/7
This commit was merged in pull request #7.
This commit is contained in:
@@ -11,6 +11,20 @@
|
||||
в `forms/viewRegistry.ts`.
|
||||
4. Плитка в `data/requests.ts`.
|
||||
|
||||
## Формы больше не хардкодят RequestTypeId
|
||||
Числовой id типа заявки во внешнем approval-route API (`GET /api/request-types`)
|
||||
выдаётся сервером при регистрации типа в админке и непредсказуем заранее (в
|
||||
старой pto-tracker у «отпуска» было 1, при заведении типа в новой админке он
|
||||
получил id 11). Раньше каждая форма хардкодила это число константой вида
|
||||
`VACATION_REQUEST_TYPE_ID = 11`; теперь — резолвит его в рантайме по своему
|
||||
`pageUrl` (тот же rptype, что и `id` в `data/requests.ts`) через
|
||||
`useRequestTypeId(context, pageUrl)` (`shared/approval`). Результат кешируется
|
||||
на уровне модуля на время сессии (см. `getRequestTypeIdByPageUrl` в
|
||||
`approvalRoute.service.ts`) — повторный вызов из другой формы не бьёт по сети заново.
|
||||
- Форма подачи знает свой `pageUrl` из пропа `requestType.id`.
|
||||
- Режим согласующего (`<Форма>View`) получает его пропом `formKey` (см.
|
||||
`IApprovalViewProps` в `forms/viewRegistry.ts` и `ApproveFeature.tsx`).
|
||||
|
||||
## Что НЕ дублируем в карточке (лежит в других местах)
|
||||
- Колонки списков → `forms/<Форма>/provisioning.json`.
|
||||
- Параметры ссылок (rptype/rpmode/rpid/rpsource) → [`routing.md`](./routing.md).
|
||||
@@ -30,6 +44,7 @@
|
||||
| [`recruiting-hire`](../src/webparts/requestPortal/forms/RecruitingHire/README.md) | Заявка на прием | Рекрутинг | да | да | да | маска телефона, деньги, условное «взамен кого», источник для орг. места | ✅ |
|
||||
| [`it-workplace-setup`](../src/webparts/requestPortal/forms/WorkplaceSetup/README.md) | Организация рабочего места | IT | да | да | да | префилл из «прием», поля ПО/доступы правит руководитель | ✅ |
|
||||
| [`it-1c-ticket`](../src/webparts/requestPortal/forms/Ticket1C/README.md) | Заявка в отдел 1С | IT | да | нет | да | контакты предзаполняются из Graph (/me); вместо фазы исполнения — карточка в Microsoft Planner (согласовано/сразу без согласования — рабочий бакет, отклонено — отдельный бакет) | ✅ |
|
||||
| [`clearance-form`](../src/webparts/requestPortal/forms/Clearance/README.md) | Обходной лист | Отдел кадров | да | нет | да | подаётся HR за увольняемого (People-picker); условие «IsManager» резолвится по должности из самой заявки; да/нет-поля (парковка, СКУД), сумма обучения | ✅ |
|
||||
| `hr-transfer` | Перемещение сотрудников | Отдел кадров | — | — | — | — | ⏳ заглушка (плитка есть, форма не сделана) |
|
||||
|
||||
Легенда: **Согл.** — есть фаза согласования; **Исп.** — есть фаза исполнения;
|
||||
|
||||
Reference in New Issue
Block a user