BUG-018: Декомпозиция
Admin Web (erp-admin/web)
CreatePage.tsx
- Валидация имени: обязательное, 2–100 символов, trim пробелы
- Валидация фамилии: аналогично
- Валидация пароля: минимум 6 символов, показать подсказку под полем
- Валидация телефона: маска +7XXXXXXXXXX, автоформатирование при вводе
- Заменить текстовое поле “Торговые точки” (ввод UUID) на выпадающий список:
- Загрузить список ТТ из
GET /api/v1/admin/stores - Select с названиями ТТ
- При выборе — сохранять store_id
- Для менеджера: один select (ровно 1 ТТ)
- Для кассира: один select (ровно 1 ТТ)
- Загрузить список ТТ из
- Показывать ошибки валидации под каждым полем (красный текст)
EditPage.tsx
- Те же валидации что и в CreatePage
- Заменить ввод UUID на select для ТТ
- При загрузке формы: предвыбрать текущую ТТ сотрудника
Тестирование
- Создать сотрудника с пустым именем → ошибка валидации
- Создать с коротким паролем (3 символа) → ошибка
- Ввести телефон
89001234567→ автоформатируется в+79001234567 - Выбрать ТТ из выпадающего списка → сохраняется корректный store_id
- Редактировать сотрудника → ТТ предвыбрана в select