feat(admin-ui): wizard tabs in record form (no internal scroll)

Поля авто-распределяются по 3 табам:
- Идентификация: businessKey + validFrom/validTo + required scalar поля
- Описание: все x-localized поля (i18n)
- Дополнительно: optional scalar поля

UX:
- Все табы mounted (через hidden) — RHF state сохраняется при переключении.
- Бейдж с числом ошибок на каждом табе (variant=error).
- На submit: ajv валидация → если есть ошибки, форма автопереключает на таб
  первой ошибки + setError по всем затронутым полям.
- Таб «Описание» / «Дополнительно» скрывается если нет соответствующих полей.

Дроп FormSection — табы заменяют секционирование. Layout стал плоский
(Tabs + grid 1/2 cols + FormActions).
This commit is contained in:
Zimin A.N.
2026-05-04 02:50:12 +03:00
parent 43a06d1a7b
commit ff9e6b26b4
2 changed files with 134 additions and 19 deletions
+6
View File
@@ -32,6 +32,9 @@ i18n
'dict.confirmClose.reason': 'Причина (опционально)',
'dict.confirmClose.reasonPlaceholder': 'например, «дубликат» или «выведено из эксплуатации»',
'form.identity': 'Идентификация',
'form.tabs.identity': 'Идентификация',
'form.tabs.description': 'Описание',
'form.tabs.extra': 'Дополнительно',
'form.businessKey': 'Бизнес-ключ',
'form.validFrom': 'Действует с',
'form.validTo': 'Действует до',
@@ -84,6 +87,9 @@ i18n
'dict.confirmClose.reason': 'Reason (optional)',
'dict.confirmClose.reasonPlaceholder': 'e.g., "duplicate" or "decommissioned"',
'form.identity': 'Identity',
'form.tabs.identity': 'Identity',
'form.tabs.description': 'Description',
'form.tabs.extra': 'Additional',
'form.businessKey': 'Business key',
'form.validFrom': 'Valid from',
'form.validTo': 'Valid to',