Было — громоздкие шапки (заказы / ремонты / аналитика), у каждой свой вид
3 разных блока фильтров высотой ~200px: заказы (Поиск·Статус·Оплата·2 даты·Применить·Сбросить) · ремонты (Поиск·Статус·Инженер·просроченные·Искать·Сбросить) · аналитика (пилюли День/Неделя/Месяц + даты + менеджер). Разный вид, много места.
Стало — единый компактный фильтр-бар (один партиал, поля по контексту)
заказы:
🔍 № / ФИО / телефон…
📅 01.07.2026 — 17.07.2026 ▾
✕ сброс
ремонты:
🔍 номер / клиент / устройство…
✕ сброс
аналитика (даты — календарём, не пилюлями):
📅 период: 01.07.2026 — 17.07.2026 ▾ (календарь)
деньнеделямесяц
Один компонент _filter_bar.html, поля-слоты по странице. Одна строка вместо карточки, применение по Enter/change (HTMX). Пилюли День/Неделя/Месяц остаются как быстрый набор диапазона, но сам период — календарём (нативный date-range), не «овальные штуки».
Аналитика и ЗП — деньги по источникам
Заработок на продажах84 200 ₽▲ +12% · маржа товаров
Заработок на отправках6 450 ₽▲ +4% · наценка на доставку
Выручка312 800 ₽оборот за период
Чистая прибыль71 300 ₽после налога/комиссий
% сотрудникам (сверх ЗП)19 200 ₽21% от прибыли · комиссии
ЗП каждого сотрудника за период (менеджеры + инженеры в одной таблице):
| Сотрудник | Роль | Оборот/ремонтов | База (маржа) | % | ЗП за период |
| Сергей (SER) | менеджер | 142 000 ₽ | 38 500 ₽ | 15% | 5 775 ₽ |
| Кенни (SRG) | менеджер | 96 000 ₽ | 24 200 ₽ | 15% | 3 630 ₽ |
| Роман | инженер | 14 ремонтов | 52 000 ₽ работ | 40% | 20 800 ₽ |
| Пётр | инженер | 9 ремонтов | 31 000 ₽ работ | 40% | 12 400 ₽ |
| Итого ЗП за период | 42 605 ₽ |
Источники уже в коде: продажи/маржа/налог/комиссии — OrderProfitability; ЗП менеджеров — build_salary_rows; ЗП инженеров — из ремонтов (/repairs/engineers/salary) сводятся в ту же таблицу. Наценка на отправку = доставка с клиента − стоимость СДЭК.