Заявление на увольнение #15

Merged
gorbenko.pavel merged 15 commits from fired-request into main 2026-08-26 07:07:03 +00:00
3 changed files with 7 additions and 6 deletions
Showing only changes of commit 0f6d1b7ddf - Show all commits
@@ -51,7 +51,7 @@ RequestTypeId» в `docs/forms.md`). Тип уже зарегистрирова
Пара связана колонками-гиперссылками: `DismissalUrl` здесь → на заявление,
`ClearanceUrl` в заявлении → на лист. Форма их не пишет (заполняет автосоздание либо
вручную в SharePoint), но **показывает**: поле «Заявление на увольнение» —
`LinkField` из `shared/ui`, read-only, открывается в новой вкладке; у листов,
`LinkField` из `shared/ui`, read-only, открывается в той же вкладке; у листов,
заведённых руками, ссылки нет и поле не рендерится.
## Секции формы
@@ -63,7 +63,7 @@ approval-route (`getPlannedMatrix` для фаз «Согласование» и
Ссылки **видны на обеих формах** и кликабельны: поле «Обходной лист» в заявлении и
«Заявление на увольнение» в обходном листе (`LinkField`, `shared/ui`) — read-only,
открываются в новой вкладке и появляются только когда связь есть. У согласующего,
открывают парную заявку в ТОЙ ЖЕ вкладке и появляются только когда связь есть. У согласующего,
только что одобрившего заявление, ссылка появляется сразу, без перезагрузки.
Что важно знать про это поведение:
@@ -18,9 +18,10 @@ interface ILinkFieldProps {
* заполняется автосозданием обходного листа), и до этого момента их нет смысла
* показывать.
*
* Открывается в НОВОЙ вкладке: портал — одна страница, и переход по ссылке в
* текущей означал бы полную перезагрузку с потерей того, что открыто и, возможно,
* не сохранено.
* Открывается в ТОЙ ЖЕ вкладке — обычной навигацией. Ссылка ведёт на ту же страницу
* портала с другими rp-параметрами (см. requestLinkUrl), то есть страница
* перезагрузится и покажет парную заявку; для пользователя это переход «туда и
* обратно кнопкой назад», а не второе окно, которое потом закрывать.
*/
export const LinkField: React.FC<ILinkFieldProps> = ({ label, url, text }) => {
if (!url) return null;
@@ -28,7 +29,7 @@ export const LinkField: React.FC<ILinkFieldProps> = ({ label, url, text }) => {
return (
<FormField label={label} full>
<div className={styles.box}>
<a className={styles.link} href={url} target="_blank" rel="noreferrer">
<a className={styles.link} href={url}>
<span>{text || url}</span>
<Icon name="chevron-right" size="sm" />
</a>