TC-02: Таб “Техкарта” — основа и шапка
Что сделать
Добавить таб “Техкарта” в карточку товара (ProductViewPage) между “Модификаторы” и “Версии”. Только для type=dish.
Смотри спеку
Секция “Таб Техкарта” в Каталог — Товары.
Конкретно
Табы карточки
[Информация] [Модификаторы] [Техкарта] [Версии]
- “Техкарта” виден только если
product.type === 'dish' - Для good и ingredient — скрыт
Загрузка
- API:
GET /api/v1/admin/warehouse/tech-cards?product_id={id}&product_version={selectedVersion} - Загружается при переключении на таб или при смене версии (переключатель BR 1.8.2)
Состояние “Техкарта не создана”
Если GET вернул пустой массив:
- “Техкарта не создана” + кнопка “Создать техкарту” (Franchise only)
- API:
POST /api/v1/admin/warehouse/tech-cardsс product_id, product_version, name (= product.name) - После создания — показать пустую техкарту
Шапка
| Элемент | Данные |
|---|---|
| Выход | output_weight + output_unit (inline-edit для Franchise) |
| Себестоимость | из /cost — “187,50 ₽” или ”—“ |
| Статус | Бейдж active/inactive (toggle для Franchise) |
Read-only для старых версий
Если selectedVersion !== product.version — все кнопки скрыты, только просмотр.
Ролевой доступ
- Franchise: CRUD
- Franchisee/Manager: read-only
- Cashier: таб не виден
Файлы
web/src/pages/catalog/ProductViewPage.tsx— добавить таб + state + загрузку
Зависит от
- TC-01 (shared типы + API client)