EMP-07: Форма создания сотрудника
Что сделать
Страница /employees/new — создание нового сотрудника.
Смотри спеку
Секция “Создание” в Сотрудники — Карточка.
Конкретно
Поля формы
| Поле | Тип | Обязательно | Примечание |
|---|---|---|---|
| Имя | text | да | |
| Фамилия | text | да | |
| да | |||
| Пароль | password | да | мин. 6 символов |
| Телефон | text | нет | маска +7 |
| PIN-код | text | нет | 4 цифры |
| Роль | select | да | зависит от роли текущего пользователя |
| Торговые точки | multi-select | зависит от роли | |
| Курьер | checkbox | нет |
Логика роли
- Franchise: видит 4 роли (franchise, franchisee, manager, cashier)
- Franchisee: видит только manager, cashier
Логика ТТ
- Роль franchise → поле ТТ скрыто (доступ ко всем)
- Роль franchisee → автозаполнение ТТ текущего пользователя, disabled
- Роль manager → обязательно ровно 1 ТТ
- Роль cashier → обязательно ровно 1 ТТ
Валидация
- Клиент: обязательные поля, email формат, пароль мин. 6, PIN 4 цифры
- Сервер: EMAIL_DUPLICATE (409), PIN_DUPLICATE (409), ROLE_ESCALATION (403)
- Ошибки сервера → под полем
Поведение
- “Сохранить” → POST → redirect на
/employees/:id+ toast “Сотрудник создан” - “Отмена” → список (подтверждение если dirty)
Файлы
web/src/pages/employees/CreatePage.tsx— создатьweb/src/api/employees.ts— добавить create
Зависит от
- EMP-01, EMP-02