From 0f6d1b7ddfddcb8e6d2c85c1fe6367a377fc1bf2 Mon Sep 17 00:00:00 2001 From: "gorbenko.pavel" Date: Tue, 25 Aug 2026 13:40:22 +0500 Subject: [PATCH] =?UTF-8?q?fix:=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BF=D0=B0=D1=80=D0=BD=D1=83=D1=8E=20=D0=B7?= =?UTF-8?q?=D0=B0=D1=8F=D0=B2=D0=BA=D1=83=20=D0=BE=D1=82=D0=BA=D1=80=D1=8B?= =?UTF-8?q?=D0=B2=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=B2=20=D1=82=D0=BE?= =?UTF-8?q?=D0=B9=20=D0=B6=D0=B5=20=D0=B2=D0=BA=D0=BB=D0=B0=D0=B4=D0=BA?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Было target="_blank" — на проде это читалось как «портал зачем-то плодит окна». Ссылка ведёт на ту же страницу портала с другими rp-параметрами, так что обычная навигация даёт нормальный переход с работающей кнопкой «назад». Co-Authored-By: Claude Opus 5 --- src/webparts/requestPortal/forms/Clearance/README.md | 2 +- src/webparts/requestPortal/forms/Dismissal/README.md | 2 +- .../requestPortal/shared/ui/LinkField/LinkField.tsx | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/webparts/requestPortal/forms/Clearance/README.md b/src/webparts/requestPortal/forms/Clearance/README.md index 23e6407..2a0f73d 100644 --- a/src/webparts/requestPortal/forms/Clearance/README.md +++ b/src/webparts/requestPortal/forms/Clearance/README.md @@ -51,7 +51,7 @@ RequestTypeId» в `docs/forms.md`). Тип уже зарегистрирова Пара связана колонками-гиперссылками: `DismissalUrl` здесь → на заявление, `ClearanceUrl` в заявлении → на лист. Форма их не пишет (заполняет автосоздание либо вручную в SharePoint), но **показывает**: поле «Заявление на увольнение» — -`LinkField` из `shared/ui`, read-only, открывается в новой вкладке; у листов, +`LinkField` из `shared/ui`, read-only, открывается в той же вкладке; у листов, заведённых руками, ссылки нет и поле не рендерится. ## Секции формы diff --git a/src/webparts/requestPortal/forms/Dismissal/README.md b/src/webparts/requestPortal/forms/Dismissal/README.md index fecf596..1c4273c 100644 --- a/src/webparts/requestPortal/forms/Dismissal/README.md +++ b/src/webparts/requestPortal/forms/Dismissal/README.md @@ -63,7 +63,7 @@ approval-route (`getPlannedMatrix` для фаз «Согласование» и Ссылки **видны на обеих формах** и кликабельны: поле «Обходной лист» в заявлении и «Заявление на увольнение» в обходном листе (`LinkField`, `shared/ui`) — read-only, -открываются в новой вкладке и появляются только когда связь есть. У согласующего, +открывают парную заявку в ТОЙ ЖЕ вкладке и появляются только когда связь есть. У согласующего, только что одобрившего заявление, ссылка появляется сразу, без перезагрузки. Что важно знать про это поведение: diff --git a/src/webparts/requestPortal/shared/ui/LinkField/LinkField.tsx b/src/webparts/requestPortal/shared/ui/LinkField/LinkField.tsx index 381341f..558e2ce 100644 --- a/src/webparts/requestPortal/shared/ui/LinkField/LinkField.tsx +++ b/src/webparts/requestPortal/shared/ui/LinkField/LinkField.tsx @@ -18,9 +18,10 @@ interface ILinkFieldProps { * заполняется автосозданием обходного листа), и до этого момента их нет смысла * показывать. * - * Открывается в НОВОЙ вкладке: портал — одна страница, и переход по ссылке в - * текущей означал бы полную перезагрузку с потерей того, что открыто и, возможно, - * не сохранено. + * Открывается в ТОЙ ЖЕ вкладке — обычной навигацией. Ссылка ведёт на ту же страницу + * портала с другими rp-параметрами (см. requestLinkUrl), то есть страница + * перезагрузится и покажет парную заявку; для пользователя это переход «туда и + * обратно кнопкой назад», а не второе окно, которое потом закрывать. */ export const LinkField: React.FC = ({ label, url, text }) => { if (!url) return null; @@ -28,7 +29,7 @@ export const LinkField: React.FC = ({ label, url, text }) => { return (