From 6ab421025b384708d81c130a383b25c1ccb71c16 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Fri, 6 Jan 2023 11:12:31 -0500 Subject: [PATCH] CSR-753 | Defect where child parts were not being priced Still needs some refactoring --- src/store/index.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/store/index.js b/src/store/index.js index 5243ed6d1..ebfc404de 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1417,7 +1417,13 @@ export const actions = { // Price order actions async priceOrderItems(context, availableLineItems) { const availableLineItemsFormattedForRequest = availableLineItems - .map((lineItem) => `&LineItems=${lineItem.partNumber}`) + .map((lineItem) => { + let queryStringSnippet = `&LineItems=${lineItem.partNumber}`; + if (lineItem.childParts) { + queryStringSnippet += lineItem.childParts.map(childPart => `&LineItems=${childPart.partNumber}`).join(""); + } + return queryStringSnippet; + }) .join(""); const vehicle = context.getters.order.vehicle; let queryString = @@ -1598,6 +1604,17 @@ function addPricesToLineItems(lineItems, pricingLineItems) { let lineItemIndex = pricingLineItems.findIndex( (pricingLineItem) => pricingLineItem.partNumber === lineItem.partNumber ); + if (lineItem.childParts) { + lineItem.childParts.forEach((childPart) => { + let childPartIndex = pricingLineItems.findIndex( + (pricingLineItem) => pricingLineItem.partNumber === childPart.partNumber + ); + let pricedChildPart = pricingLineItems.splice(childPartIndex, 1)[0]; + childPart.laborAmount = pricedChildPart.laborAmount; + childPart.sellingPrice = pricedChildPart.sellingPrice; + childPart.kitPrice = pricedChildPart.kitPrice; + }); + } let pricedLineItem = pricingLineItems.splice(lineItemIndex, 1)[0]; lineItem.laborAmount = pricedLineItem.laborAmount; lineItem.sellingPrice = pricedLineItem.sellingPrice;