From 7950e2b532543647280a451b9d6fbdda2a623d90 Mon Sep 17 00:00:00 2001 From: b3aton Date: Fri, 17 Mar 2023 14:41:44 +0800 Subject: [PATCH] fix: cart to quote issue --- apps/storefront/src/hooks/useCartToQuote.ts | 7 ++++--- .../pages/quickorder/components/QuickOrderFooter.tsx | 11 ++++------- apps/storefront/src/pages/quote/QuoteDraft.tsx | 2 +- .../src/shared/service/b2b/graphql/quickorder.ts | 3 ++- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/apps/storefront/src/hooks/useCartToQuote.ts b/apps/storefront/src/hooks/useCartToQuote.ts index 9de2f5a5..09a88f74 100644 --- a/apps/storefront/src/hooks/useCartToQuote.ts +++ b/apps/storefront/src/hooks/useCartToQuote.ts @@ -246,12 +246,13 @@ const useCartToQuote = ({ name, quantity, variantId, - originalPrice, salePrice, imageUrl, + listPrice, } = product const optionsList = getOptionsList(options) + const currentProductSearch = newProductInfo.find((product: any) => +product.id === +productId) const quoteListitem = { @@ -265,8 +266,8 @@ const useCartToQuote = ({ quantity: +quantity || 1, optionList: JSON.stringify(optionsList), productId, - basePrice: originalPrice, - tax: salePrice - originalPrice, + basePrice: listPrice, + tax: salePrice - listPrice, }, } diff --git a/apps/storefront/src/pages/quickorder/components/QuickOrderFooter.tsx b/apps/storefront/src/pages/quickorder/components/QuickOrderFooter.tsx index fa5ad75b..3c01695b 100644 --- a/apps/storefront/src/pages/quickorder/components/QuickOrderFooter.tsx +++ b/apps/storefront/src/pages/quickorder/components/QuickOrderFooter.tsx @@ -117,6 +117,7 @@ interface NodeProps { variantId: number, variantSku: string, productsSearch: CustomFieldItems, + optionSelections: CustomFieldItems, } interface ProductsProps { @@ -208,17 +209,12 @@ const QuickOrderFooter = (props: QuickOrderFooterProps) => { inventoryInfos.forEach((inventory: CustomFieldItems) => { if (node.variantSku === inventory.variantSku) { const { - optionList, + optionSelections, quantity, } = node - const options = optionList.map((option: CustomFieldItems) => ({ - optionId: option.product_option_id, - optionValue: option.value, - })) - lineItems.push({ - optionList: options, + optionSelections, productId: parseInt(inventory.productId, 10) || 0, quantity, variantId: parseInt(inventory.variantId, 10) || 0, @@ -347,6 +343,7 @@ const QuickOrderFooter = (props: QuickOrderFooterProps) => { } = product const optionsList = getOptionsList(optionList) + const currentProductSearch = newProductInfo.find((product: CustomFieldItems) => +product.id === +productId) const variantItem = currentProductSearch.variants.find((item: CustomFieldItems) => item.sku === variantSku) diff --git a/apps/storefront/src/pages/quote/QuoteDraft.tsx b/apps/storefront/src/pages/quote/QuoteDraft.tsx index e4897e08..dcd335f7 100644 --- a/apps/storefront/src/pages/quote/QuoteDraft.tsx +++ b/apps/storefront/src/pages/quote/QuoteDraft.tsx @@ -490,7 +490,7 @@ const QuoteDraft = ({ let prices = 0 let tax = 0 - node.additionalCalculatedPrices.forEach((item: CustomFieldItems) => { + node.additionalCalculatedPrices?.forEach((item: CustomFieldItems) => { prices += item.additionalCalculatedPrice tax += item.additionalCalculatedPriceTax }) diff --git a/apps/storefront/src/shared/service/b2b/graphql/quickorder.ts b/apps/storefront/src/shared/service/b2b/graphql/quickorder.ts index c165edfa..4210b980 100644 --- a/apps/storefront/src/shared/service/b2b/graphql/quickorder.ts +++ b/apps/storefront/src/shared/service/b2b/graphql/quickorder.ts @@ -43,7 +43,8 @@ const orderedProducts = (data: CustomFieldItems) => `{ discount, tax, enteredInclusive, - productUrl + productUrl, + optionSelections, } } }