EMP-07: Форма создания сотрудника

Что сделать

Страница /employees/new — создание нового сотрудника.

Смотри спеку

Секция “Создание” в Сотрудники — Карточка.

Конкретно

Поля формы

ПолеТипОбязательноПримечание
Имяtextда
Фамилияtextда
Emailemailда
Пароль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