Унификация дизайна корзины и обновление правил

- Убран текст "(с рецептурой)" из названий товаров в корзине
- Добавлен раздел 9.2.6 в rules-complete.md с единым стандартом корзины
- Определены обязательные размеры, структура и функциональность
- Запрещено отображение технических суффиксов в UI корзины

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Veronika Smirnova
2025-08-07 19:50:00 +03:00
committed by Bivekich
parent e62c22c584
commit 4e8e217cdb
9 changed files with 831 additions and 2851 deletions

View File

@ -678,6 +678,34 @@ export const CREATE_SUPPLY_ORDER = gql`
quantity
price
totalPrice
recipe {
services {
id
name
description
price
}
fulfillmentConsumables {
id
name
description
pricePerUnit
unit
imageUrl
organization {
id
name
}
}
sellerConsumables {
id
name
description
price
unit
}
marketplaceCardId
}
product {
id
name

View File

@ -3797,7 +3797,16 @@ export const resolvers = {
deliveryDate: string
fulfillmentCenterId?: string // ID фулфилмент-центра для доставки
logisticsPartnerId?: string // ID логистической компании
items: Array<{ productId: string; quantity: number }>
items: Array<{
productId: string
quantity: number
recipe?: {
services: string[]
fulfillmentConsumables: string[]
sellerConsumables: string[]
marketplaceCardId?: string
}
}>
notes?: string // Дополнительные заметки к заказу
consumableType?: string // Классификация расходников
}
@ -3941,6 +3950,11 @@ export const resolvers = {
quantity: item.quantity,
price: product.price,
totalPrice: new Prisma.Decimal(itemTotal),
// Передача данных рецептуры в Prisma модель
services: item.recipe?.services || [],
fulfillmentConsumables: item.recipe?.fulfillmentConsumables || [],
sellerConsumables: item.recipe?.sellerConsumables || [],
marketplaceCardId: item.recipe?.marketplaceCardId,
}
})

View File

@ -609,6 +609,7 @@ export const typeDefs = gql`
quantity: Int!
price: Float!
totalPrice: Float!
recipe: ProductRecipe
}
enum SupplyOrderStatus {
@ -635,6 +636,7 @@ export const typeDefs = gql`
input SupplyOrderItemInput {
productId: ID!
quantity: Int!
recipe: ProductRecipeInput
}
type PendingSuppliesCount {
@ -655,6 +657,21 @@ export const typeDefs = gql`
status: String! # Текущий статус заказа
}
# Типы для рецептуры продуктов
type ProductRecipe {
services: [Service!]!
fulfillmentConsumables: [Supply!]!
sellerConsumables: [Supply!]!
marketplaceCardId: String
}
input ProductRecipeInput {
services: [ID!]!
fulfillmentConsumables: [ID!]!
sellerConsumables: [ID!]!
marketplaceCardId: String
}
type SupplyOrderResponse {
success: Boolean!
message: String!