{# Табло смены — главная по направлению, выбранному владельцем 07.09 после критики Impeccable: одна строка на человека во всю ширину, состояние словом, начало, конец, работа, перерывы, ход дня и неделя у правого края. Строки растут с экраном (--bd-h), на 27" четыре человека занимают лист, на телефоне это компактный список из состояния, имени, работы и недели. Это настоящая таблица: подписи колонок связаны с ячейками, состояние — слово, а не только цвет точки; скринридер читает то же, что и глаз. Тихий день — те же строки: «молчит 3 дн. → Что делать», «на паузе → Снять паузу», «не начинал». Прошлый день — без колонки состояния. Парк — строки по группам с заголовком группы. Легенда цветов — только когда в дне больше одной категории (при выключенном ИИ все отрезки одного цвета). #} {% set b = card.data %}
{{ b.date }}{% if b.today_view and b.n_work %} · {{ tr('день идёт с {t}').format(t=b.since) }}{% elif b.n_started %} · {{ tr('с {a} до {b}').format(a=b.since, b=b.until) }}{% elif b.today_view %} · {{ b.time }}{% if b.yesterday_human %} · {{ tr('вчера') }} {{ b.yesterday_human }}{% endif %}{% endif %}
| {{ tr('Состояние') }} | {% endif %}{{ tr('Сотрудник') }} | {% if not b.lean %}{{ tr('Начало') }} | {{ tr('Конец') }} | {{ tr('Работа') }} | {{ tr('Перерывы') }} | {{ tr('Ход дня') }} | {% endif %}{{ tr('Неделя') }} |
|---|---|---|---|---|---|---|---|
| {% if grp.work_n %}{{ tr('{n} в работе').format(n=grp.work_n) }}{% endif %} | {{ grp.name or tr('Без группы') }} · {{ grp.n }}{% if grp.work_n %}{{ tr('{n} в работе').format(n=grp.work_n) }}{% endif %} | {% if not b.lean %}{{ grp.work_human if grp.work_sec }} | {% endif %} | {{ grp.week_human if grp.week_sec }} | |||
| {{ tr(r.skey).format(**r.sparams) }}{% if r.action %} {{ tr(r.action) }}{% endif %} | {% endif %}{{ r.name }}{% if r.machines > 1 %} {{ tr('{n} машины').format(n=r.machines) }}{% elif not r.assigned %} {{ tr('машина') }}{% endif %} {# на телефоне колонки состояния нет — слово состояния и дверь встают под именем, чтобы строка осталась строкой #} {% if b.today_view %}{{ tr(r.skey).format(**r.sparams) }}{% if r.action %} · {{ tr(r.action) }}{% endif %}{% endif %} | {% if not b.lean %}{{ r.first if r.first_ts }} | {{ r.last if r.last_ts }} | {{ r.work_human if r.work_sec }} | {{ r.break_human if r.break_sec }} | {% if r.sec %} {% endif %} | {% endif %} {# ритм недели: семь столбиков в общем масштабе и итог — то, что было в плитках машин первой версии; в день без работы строка живая #}{{ r.week_human if r.week_sec }} |
| {% endif %} | {{ tr('Итого') }} · {{ tr('{n} чел.').format(n=b.people) }} | {% if not b.lean %}{{ b.work_human if b.n_started }} | {{ b.break_human if b.break_human != '—' }} | {% if b.multi_cat %}{% with legend_note = (tr('штриховка — работа идёт прямо сейчас') if b.is_today) %}{% include "_legend.html" %}{% endwith %} | {% else %}{% endif %} {% endif %}{{ b.week_human if b.week_human != '—' }} |
{{ tr('Строки без сотрудника — это машины, которые ещё никому не закреплены.') }} {{ tr('Закрепить →') }}
{% endif %} {% if b.ai_off and can_settings %}{{ tr('ИИ-разбор выключен — саммари собираются по названиям приложений') }} · {{ tr('включить в настройках →') }}
{% endif %}