Команда — сотрудники, смены, навыки, зарплата
Раздел «Команда» — это всё про ваших работников: кто сейчас стоит на смене, сколько часов отработано за неделю, у кого какая роль и навыки, когда истекает сертификат. Отсюда же добавляют новых людей в систему, планируют смены и считают зарплату.
Как открыть
Нажмите иконку Команда (три силуэта) в нижней навигационной панели кабинета. Адрес в браузере: app.carsexp.com/#/team.
Все подразделы открываются из этого экрана через иконки в верхней строке.
Что на экране
Главный экран «Команда» состоит из пяти блоков, расположенных сверху вниз:
- Сейчас на смене — кто прямо сейчас отметился на работу; имя, аватар, время начала смены, бейдж «На смене» (зелёный).
- Табель за неделю — сводка за 7 дней: имя, количество смен, итоговые часы, пометка «На смене» у тех, кто открыт прямо сейчас.
- Все сотрудники — ростер активных сотрудников. У каждого: аватар с инициалами, имя, e-mail, чип текущей роли, значок 📌 если установлен PIN для планшета. Тап по строке открывает меню действий.
- Деактивированные — приглушённый список бывших сотрудников с кнопкой «Реактивировать» (появляется только если они есть).
- Приглашения — ожидающие принятия ссылки-приглашения; раздел виден только тому, у кого есть право добавлять сотрудников.
В верхней строке — шесть иконок-ярлыков на подэкраны:
| Иконка | Подпись | Куда ведёт |
|---|---|---|
Планшет (tablet_mac_outlined) | Киоск-табель | /team/kiosk — планшет для отметки прихода по PIN |
Мозг/нейроны (psychology_outlined) | Компетенции | /team/skills — матрица навыков |
Калькулятор (calculate_outlined) | Расчёт ЗП | /team/pay — калькулятор зарплаты |
Календарь (calendar_month_outlined) | Смены | /team/shifts — расписание смен |
Звезда-премиум (workspace_premium_outlined) | Сертификации | /team/certifications — учёт сертификатов |
Кубок (emoji_events_outlined) | Лидерборд | Лидерборд продуктивности (открывается поверх) |
На версии Aurora (скин CarsEXP, skinId = 'aurora') основной экран выглядит иначе: стеклянный хедер вместо стандартного AppBar, два столбца (на широких экранах ≥ 980px), таблица сотрудников с колонками «Мастер / эффект. / Рейтинг / переделки», справа — панель «Лидерборд» (реальные данные из leaderboardProvider, топ-3) и «Сертификации». Все шесть иконок навигации те же, что в обычном режиме. FAB «Сотрудник» гейтирован по staff:create. Pull-to-refresh обновляет все блоки. Данные те же, только облик другой.
Каждая кнопка и действие
Главный экран «Команда» (/team)
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка-FAB + Сотрудник | Нижний правый угол | Открывает форму добавления нового сотрудника | Только при праве staff:create (обычно владелец/менеджер) |
| Иконка планшета (верхняя строка) | AppBar | Открывает «Киоск-табель» /team/kiosk | Все |
| Иконка компетенций (верхняя строка) | AppBar | Открывает «Компетенции» /team/skills | Все |
| Иконка калькулятора (верхняя строка) | AppBar | Открывает «Расчёт ЗП» /team/pay | Все |
| Иконка календаря (верхняя строка) | AppBar | Открывает «Смены» /team/shifts | Все |
| Иконка сертификата (верхняя строка) | AppBar | Открывает «Сертификации» /team/certifications | Все |
| Иконка кубка (верхняя строка) | AppBar | Открывает «Лидерборд» поверх текущего экрана | Все |
| Потянуть список вниз (pull-to-refresh) | Список | Обновляет все три блока данных (смена, табель, ростер) | Все |
| Тап по строке активного сотрудника | Блок «Все сотрудники» | Открывает меню действий над сотрудником (назначить роль, изменить данные, задать PIN, деактивировать) | Все (пункты меню скрыты без права staff:update) |
| Кнопка Реактивировать | Блок «Деактивированные» | Возвращает сотрудника в активный ростер без подтверждения | Только при праве staff:update |
| Кнопка Пригласить (текстовая) | Блок «Приглашения» | Открывает форму создания ссылки-приглашения | Только при праве staff:create |
| Кнопка Отозвать | Строка ожидающего приглашения | Аннулирует ссылку; принятая по ней регистрация станет невозможной | Только при праве staff:create |
| Кнопка Повторить | Карточка ошибки загрузки | Повторяет запрос к серверу | Все |
Меню действий над сотрудником (всплывающий список)
Открывается тапом по строке сотрудника в ростере. Все четыре пункта видны только при праве staff:update.
| Элемент | Что делает |
|---|---|
| Назначить роль | Открывает панель выбора роли из списка системных и кастомных ролей |
| Изменить данные | Открывает форму редактирования имени, e-mail, телефона |
| Задать PIN | Открывает диалог ввода цифрового PIN для отметки на планшете-киоске |
| Деактивировать (красный) | Открывает диалог подтверждения деактивации; сотрудник теряет доступ |
Подэкран «Киоск-табель» (/team/kiosk)
Планшет вешают в цеху. Каждый мастер сам отмечает приход и уход.
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Карточка сотрудника (плитка с аватаром и именем) | Сетка плиток | Тап открывает диалог ввода PIN для этого мастера | Все (анонимный доступ планшета) |
| Поле PIN (скрытый ввод, только цифры, до 8 знаков) | Диалог ввода PIN | Вводится цифровой код мастера | — |
| Кнопка Отметиться | Диалог ввода PIN | Отправляет PIN → если смена закрыта, открывает её; если открыта — закрывает | — |
| Кнопка Отмена | Диалог ввода PIN | Закрывает диалог без действий | — |
| Нажатие Enter на поле PIN | Диалог ввода PIN | То же, что «Отметиться» | — |
| Кнопка Повторить (текстовая) | Экран ошибки загрузки | Повторяет загрузку ростера | — |
Подэкран «Компетенции» (/team/skills)
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Иконка + (верхняя строка) | AppBar | Открывает диалог создания нового навыка в справочник | Только при праве staff:update |
| Выпадающий список Сотрудник | Блок «Компетенции сотрудника» | Переключает, чьи навыки показывать | Все |
| Тап по строке навыка | Список навыков сотрудника | Открывает диалог изменения уровня/сертификата навыка | Только при праве staff:update |
| Иконка карандаша | Строка навыка | Открывает диалог изменения уровня/сертификата | Только при праве staff:update |
| Иконка × | Строка навыка | Снимает навык с сотрудника (без подтверждения) | Только при праве staff:update |
| Кнопка Назначить навык | Низ списка навыков | Открывает диалог добавления навыка сотруднику из справочника | Только при праве staff:update |
| Кнопка Повторить | Экран ошибки | Перезагружает список навыков | Все |
Подэкран «Расчёт ЗП» (/team/pay)
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Выпадающий список Тип оплаты | Верх формы | Меняет тип расчёта; состав полей подстраивается автоматически | Все |
| Поле Отработано часов | Тип «Почасовая» и «Смешанная» | Вводится число часов | Все |
| Поле Оплачено часов (billed) | Тип «Нормо-час (flat rate)» | Число нормо-часов по наряду | Все |
| Поле Ставка в час (€) | Почасовая / Нормо-час / Смешанная | Стоимость одного часа | Все |
| Поле Оклад (€) | Тип «Оклад» и «Смешанная» | Фиксированная месячная сумма | Все |
| Поле Выручка (€) | Тип «Комиссия» и «Смешанная» | Общая выручка, с которой считается комиссия | Все |
| Поле Комиссия (%) | Тип «Комиссия» и «Смешанная» | Процент комиссии от выручки | Все |
| Кнопка Рассчитать | Низ формы | Отправляет данные на сервер и показывает карточку «К выплате €…» | Все |
Подэкран «Смены» (/team/shifts)
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка-FAB + Смена | Нижний правый угол | Открывает диалог создания новой смены | Только при праве staff:update |
| Потянуть список вниз | Список смен | Обновляет расписание | Все |
| Кнопка Повторить | Экран ошибки | Перезагружает список | Все |
В диалоге создания смены:
| Элемент | Что делает |
|---|---|
| Выпадающий список Сотрудник | Выбор, кому назначить смену |
| Строка Начало (тап открывает выбор даты и времени) | Задаёт дату и время начала смены |
| Строка Конец (тап открывает выбор даты и времени) | Задаёт дату и время окончания смены (необязательно) |
| Кнопка Сохранить | Создаёт смену |
| Кнопка Отмена | Закрывает диалог без сохранения |
Подэкран «Сертификации» (/team/certifications)
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка-FAB + Сертификат | Нижний правый угол | Открывает диалог добавления сертификата | Только при праве staff:update |
| Иконка корзины | Строка сертификата | Открывает диалог подтверждения удаления | Только при праве staff:update |
| Потянуть список вниз | Список сертификатов | Обновляет список | Все |
| Кнопка Повторить | Экран ошибки | Перезагружает список | Все |
В диалоге добавления сертификата:
| Элемент | Что делает |
|---|---|
| Выпадающий список Сотрудник | Кому выдан сертификат |
| Поле Название сертификата | Название (напр. «Права категории B», «Сварщик 4 разряда») |
| Строка Истекает + кнопка «Выбрать дату» | Дата окончания срока действия (необязательно) |
| Кнопка Сохранить | Записывает сертификат |
| Кнопка Отмена | Закрывает без сохранения |
В диалоге удаления сертификата:
| Элемент | Что делает |
|---|---|
| Кнопка Удалить | Безвозвратно удаляет запись |
| Кнопка Отмена | Закрывает без удаления |
Подэкран «Лидерборд»
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
Иконка обновления (refresh) | AppBar | Пересчитывает продуктивность всех мастеров по закрытым нарядам (POST /v1/hr/leaderboard/recompute) и обновляет рейтинг | Все |
| Потянуть список вниз | Список | Обновляет данные (leaderboardProvider) | Все |
| Текст «Повторить» (не кнопка) | Центр экрана при ошибке загрузки | Информационный текст; нажатие не поддерживается — для обновления используйте иконку в AppBar или потяните список | Все |
Экран принятия приглашения (/accept-invite?token=…)
Открывается по ссылке, которую приёмщик/владелец отправил новому работнику. Экран виден без входа в систему. При открытии сразу отправляет токен на сервер (автоматически, без нажатия).
| Элемент | Где | Что делает |
|---|---|---|
| Спиннер загрузки | Центр экрана | Отображается во время обработки токена сервером |
| Кнопка Войти (заполненная, при успехе) | Центр экрана после «Вы добавлены в команду!» | Переходит на страницу входа по e-mail/OTP |
| Кнопка Войти (текстовая, при ошибке) | Центр экрана после сообщения об ошибке | Переходит на страницу входа |
Диалоги и подэкраны
Форма «Добавить сотрудника» (bottom-sheet)
Открывается кнопкой + Сотрудник. Требует права staff:create.
Поля:
- Имя и фамилия — обязательное. Если оставить пустым и нажать «Создать», появится красная подпись «Обязательное поле».
- Роль — выпадающий список: Механик, Приёмщик, Менеджер, Бухгалтер и др. По умолчанию «Механик».
- E-mail · необязательно — почта сотрудника (через неё потом придёт код для входа).
- Телефон · необязательно — телефон.
Кнопка Создать: отправляет данные на сервер. Пока идёт запрос — кнопка заблокирована, крутится кружок. При успехе — уведомление «Сотрудник добавлен», лист закрывается, ростер обновляется.
Форма «Изменить данные» (bottom-sheet)
Открывается из меню действий → «Изменить данные». Требует права staff:update.
Поля (предзаполнены текущими данными):
- Имя и фамилия — обязательное.
- E-mail — можно оставить пустым.
- Телефон — можно оставить пустым.
Кнопка Сохранить: при успехе — «Данные сотрудника обновлены».
Панель «Назначить роль» (bottom-sheet)
Открывается из меню действий → «Назначить роль». Требует права staff:update.
Список разбит на две группы: Кастомные роли (созданные в разделе «Роли») и Системные роли (встроенные). Рядом с активной ролью — зелёная галочка.
В конце списка — пункт Снять кастомную роль (подсказка: «Вернуть базовую роль сотрудника»). Он доступен только если у сотрудника сейчас назначена кастомная роль.
Тап по любой строке сразу назначает роль (подтверждение не требуется). Пока идёт запрос — список заблокирован, внизу кружок.
Диалог «Задать PIN»
Открывается из меню действий → «Задать PIN».
Поле PIN (4–8 цифр): принимает только цифры. Подсказка: «Пусто — снять PIN. Минимум 4 цифры.»
- Кнопка Сохранить: если введено меньше 4 цифр — появляется уведомление снизу «Пусто — снять PIN. Минимум 4 цифры.» и PIN не сохраняется. При успехе — «PIN сохранён».
- Кнопка Отмена: закрывает диалог.
Чтобы снять PIN (убрать значок 📌 у мастера) — оставьте поле пустым и нажмите «Сохранить».
Диалог «Деактивировать сотрудника»
Открывается из меню действий → «Деактивировать».
Показывает имя сотрудника и текст: «Сотрудник потеряет доступ и исчезнет из активного ростера. Деактивировать?»
- Кнопка Деактивировать: при успехе — «Сотрудник деактивирован», сотрудник уходит в блок «Деактивированные».
- Кнопка Отмена: закрывает диалог.
Форма «Пригласить» (bottom-sheet)
Открывается кнопкой Пригласить в блоке «Приглашения». Требует права staff:create.
Поля:
- E-mail — обязательное, должен содержать
@. Если пустой или без@— красная ошибка «Обязательное поле». - Роль — выпадающий список (без роли «Владелец» — её нельзя передать приглашением).
- Имя и фамилия · необязательно — можно оставить пустым.
Кнопка Создать приглашение: генерирует одноразовую ссылку.
После успеха форма заменяется экраном со ссылкой:
- Текст «Приглашение создано».
- Подсказка «Отправьте сотруднику ссылку — он примет приглашение и войдёт по e-mail/OTP:».
- Выделяемый текст ссылки (можно выделить и скопировать вручную).
- Кнопка Копировать — копирует ссылку в буфер обмена, показывает уведомление «Ссылка скопирована».
- Кнопка Готово — закрывает панель, список приглашений обновляется.
Диалог создания навыка (в «Компетенции»)
Поля:
- Название навыка — обязательное.
- Категория · необязательно — группа, напр. «Кузовной» или «ДВС».
Кнопка Создать / Отмена.
Диалог назначения/изменения навыка сотруднику
При добавлении нового — выпадающий список навыков из справочника. При редактировании — название навыка показывается жирным (изменить навык нельзя, только уровень и сертификат).
- Уровень (ползунок 1–5): тянуть влево-вправо.
- Переключатель Сертифицирован — включить, если есть документ.
Кнопка Сохранить / Отмена.
Диалог создания смены
Описан в таблице раздела «Смены» выше. При нажатии на строку «Начало» или «Конец» появляется системный выбор даты, затем выбор времени.
Диалог добавления/удаления сертификата
Описан в разделе «Сертификации» выше.
Экран предпросмотра дизайна («/team-preview»)
Доступен по маршруту /team-preview. Это демонстрационный экран дизайна CarsEXP-10 Team со статичными (не серверными) данными — владелец использует его для оценки нового облика до раскатки. В production-ростере не отображается.
| Элемент | Где | Что делает |
|---|---|---|
| Иконка «назад» | Glass-хедер (верхний левый угол) | Возвращает на предыдущий экран (Navigator.maybePop) |
Иконка тёмной/светлой темы (dark_mode/light_mode) | Glass-хедер | Переключает локальную тему экрана между светлой и тёмной (не меняет глобальную тему приложения) |
| Кнопка + Сотрудник | Glass-хедер (правый угол, скрывается на узком экране) | Пустой обработчик — заглушка для демо, данные не сохраняются |
| Строка таблицы мастера | Левая карточка «Сотрудники · эффективность» | Тап подсвечивает строку (toggle); повторный тап снимает выделение |
Что если…
Кнопки «Задать PIN», «Деактивировать», «Назначить роль» не видны в меню
— у вашего аккаунта нет права staff:update. Обратитесь к владельцу сервиса, чтобы он назначил вам нужную роль в разделе «Роли и права».
Кнопка «+ Сотрудник» или «Пригласить» не появляется
— у вас нет права staff:create. Только владелец или менеджер с нужными правами могут добавлять людей.
Нельзя деактивировать сотрудника — ошибка «Нельзя деактивировать последнего активного владельца»
— в системе должен оставаться хотя бы один владелец. Сначала назначьте роль владельца другому сотруднику, потом деактивируйте.
Нельзя деактивировать себя — «Нельзя деактивировать самого себя»
— войдите под другим аккаунтом с правами владельца.
Нельзя назначить роль — «Нельзя: это последний сотрудник с правом управлять организацией»
— аналогично: сначала дайте такое право кому-то другому.
В блоке «Сейчас на смене» пусто
— никто из сотрудников не открыл смену через «Киоск-табель». Попросите мастеров отметиться на планшете.
Лидерборд пустой («Пока нет рейтингов»)
— нажмите иконку обновления (стрелка по кругу) в правом верхнем углу лидерборда. Рейтинг считается по закрытым нарядам; если нарядов мало, рейтинг может не набраться.
Ссылка-приглашение говорит «Срок приглашения истёк»
— пригласите заново: старые ссылки одноразовые и имеют ограниченный срок действия.
Ссылка-приглашение говорит «Приглашение уже использовано или отозвано»
— сотрудник уже принял её раньше (или вы нажали «Отозвать»). Создайте новое приглашение.
В «Киоск-табель» пишет «Неверный PIN»
— мастер ввёл неправильный код. Код задаётся в меню действий → «Задать PIN». Если PIN ни разу не задавался, значка 📌 у сотрудника нет — сначала задайте PIN.
Калькулятор ЗП не считает
— убедитесь, что все поля заполнены числами (разделитель — точка или запятая). Поле «Выручка» и «Ставка в час» принимают дробные числа.
Вопрос-ответ
Как добавить нового мастера в систему?
Нажмите + Сотрудник (кнопка с плюсом внизу справа), заполните имя и выберите роль. E-mail желателен — по нему мастер потом войдёт в кабинет через одноразовый код. Кнопки не видно — значит нет нужных прав, обратитесь к владельцу сервиса.
В: Мастер говорит, что не может войти в кабинет. Как его пустить?
О: Воспользуйтесь приглашением. Нажмите Пригласить в блоке «Приглашения», укажите e-mail мастера, нажмите Создать приглашение. Скопируйте ссылку и отправьте ему (в мессенджер или по почте). Он перейдёт по ссылке, его добавят в команду, и дальше войдёт через e-mail + одноразовый код.
В: Мастер ушёл из сервиса. Как закрыть ему доступ?
О: Тапните на имя мастера в ростере → Деактивировать → подтвердите. Он исчезнет из активного списка и потеряет возможность входить. Его данные (наряды, история) останутся. Если понадобится вернуть — найдите его в блоке «Деактивированные» и нажмите Реактивировать.
В: Что такое «Киоск-табель» и зачем это?
О: Это режим для общего планшета в цеху. Мастера подходят к планшету и отмечаются пальцем по своей карточке, затем вводят PIN — система открывает или закрывает смену. Никаких телефонов и логинов не нужно. Чтобы это работало, каждому мастеру нужно задать PIN через меню действий → «Задать PIN». PIN можно сделать любым от 4 до 8 цифр.
В: Как узнать, кто сколько отработал за неделю?
О: Откройте «Команда» — там есть блок Табель за неделю. Там видно каждого сотрудника, количество смен и общие часы. Более детально по отдельным дням — в разделе «Смены».
В: Кто может видеть лидерборд и что там показывается?
О: Лидерборд виден всем, у кого есть доступ в кабинет. Там рейтинг сотрудников по эффективности (насколько быстро выполняют наряды относительно нормы) и проценту переделок (сколько нарядов пришлось переделывать). Чтобы данные появились, нажмите иконку обновления — система пересчитает продуктивность по всем закрытым нарядам. Рейтинг показывает не зарплату, а качество работы.