TC-04: Таблица ингредиентов + inline-редактирование
Что сделать
Таблица строк рецепта с inline-редактированием брутто/нетто/% потерь и авто-пересчётом.
Смотри спеку
Секция “Таблица ингредиентов” в Каталог — Товары.
Конкретно
Колонки
| Колонка | Данные | Примечание |
|---|---|---|
| Ингредиент | ingredient_name | Если type=dish — ссылка на /catalog/products/{id} |
| Тип | ingredient_type | Бейдж: Сырьё (ingredient) / Полуфабрикат (dish) |
| Брутто | gross_weight | Inline-edit (Franchise), число + ед.изм |
| Нетто | net_weight | Inline-edit (Franchise) |
| % потерь (хол.) | cold_loss_percent | Inline-edit, ”—” если null |
| % потерь (гор.) | hot_loss_percent | Inline-edit, ”—” если null |
| Стоимость | из /cost | ”45,00 ₽” или ”—“ |
| Действия | — | “Убрать” (Franchise only) |
Авто-пересчёт
- Ввод брутто + нетто → % потерь = (1 - нетто/брутто) × 100
- Ввод брутто + % потерь → нетто = брутто × (1 - %/100)
- Пересчёт на фронте, не ждём сервер
Inline-save
При blur/enter → PATCH /api/v1/admin/warehouse/tech-cards/{id}/items/{itemId}
- Отправляются только изменённые поля
- При ошибке — откат значения + toast
Пустая таблица
“Ингредиенты не добавлены” + “Добавить ингредиент” (Franchise)
Файлы
web/src/pages/catalog/ProductViewPage.tsx— дополнить
Зависит от
- TC-02 (таб Техкарта)