TC-04: Таблица ингредиентов + inline-редактирование

Что сделать

Таблица строк рецепта с inline-редактированием брутто/нетто/% потерь и авто-пересчётом.

Смотри спеку

Секция “Таблица ингредиентов” в Каталог — Товары.

Конкретно

Колонки

КолонкаДанныеПримечание
Ингредиентingredient_nameЕсли type=dish — ссылка на /catalog/products/{id}
Типingredient_typeБейдж: Сырьё (ingredient) / Полуфабрикат (dish)
Бруттоgross_weightInline-edit (Franchise), число + ед.изм
Неттоnet_weightInline-edit (Franchise)
% потерь (хол.)cold_loss_percentInline-edit, ”—” если null
% потерь (гор.)hot_loss_percentInline-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 (таб Техкарта)