CSR-1022 | Refactor child part pricing
This commit is contained in:
parent
6ab421025b
commit
9d2dd8742d
1 changed files with 14 additions and 18 deletions
|
|
@ -1416,15 +1416,8 @@ export const actions = {
|
|||
},
|
||||
// Price order actions
|
||||
async priceOrderItems(context, availableLineItems) {
|
||||
const availableLineItemsFormattedForRequest = availableLineItems
|
||||
.map((lineItem) => {
|
||||
let queryStringSnippet = `&LineItems=${lineItem.partNumber}`;
|
||||
if (lineItem.childParts) {
|
||||
queryStringSnippet += lineItem.childParts.map(childPart => `&LineItems=${childPart.partNumber}`).join("");
|
||||
}
|
||||
return queryStringSnippet;
|
||||
})
|
||||
.join("");
|
||||
const availableLineItemsFormattedForRequest =
|
||||
getLineItemQueryStringForPricing(availableLineItems);
|
||||
const vehicle = context.getters.order.vehicle;
|
||||
let queryString =
|
||||
`ParentAccountNumber=${applicationConfig.CASH_ACCOUNT_NUMBER}` +
|
||||
|
|
@ -1605,15 +1598,7 @@ function addPricesToLineItems(lineItems, pricingLineItems) {
|
|||
(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;
|
||||
});
|
||||
addPricesToLineItems(lineItem.childParts, pricingLineItems);
|
||||
}
|
||||
let pricedLineItem = pricingLineItems.splice(lineItemIndex, 1)[0];
|
||||
lineItem.laborAmount = pricedLineItem.laborAmount;
|
||||
|
|
@ -1622,3 +1607,14 @@ function addPricesToLineItems(lineItems, pricingLineItems) {
|
|||
});
|
||||
return lineItems;
|
||||
}
|
||||
function getLineItemQueryStringForPricing(lineItems) {
|
||||
return lineItems
|
||||
.map((lineItem) => {
|
||||
let queryStringSnippet = `&LineItems=${lineItem.partNumber}`;
|
||||
if (lineItem.childParts) {
|
||||
queryStringSnippet += getLineItemQueryStringForPricing(lineItem.childParts);
|
||||
}
|
||||
return queryStringSnippet;
|
||||
})
|
||||
.join("");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue