From 51f0225e1999dc09c75d242db1f6dd51215c6801 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Wed, 12 Mar 2025 11:11:37 -0400 Subject: [PATCH] CASH-152: refactor/improve some base-mixin helpers --- src/mixins/base-mixin.js | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index e76ebc79b..78bde1e1d 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -110,6 +110,22 @@ export default { }); return filteredLineItems; }, + filterOutCertainPartTypesOrNumbers(lineItemsArray, {partTypesToRemove = [], partNumbersToRemove = []}) { + // lineItems s/b an ARRAY here + if (!Array.isArray(lineItemsArray)) return; + + partTypesToRemove.forEach((partType) => { + lineItemsArray = lineItemsArray.filter((item) => { + return !item?.partType?.includes(partType); + }); + }); + partNumbersToRemove.forEach((partNumber) => { + lineItemsArray = lineItemsArray.filter((item) => { + return !item?.partNumber?.includes(partNumber); + }); + }); + return lineItemsArray; + }, filterOutServicePackageDiscountPart(lineItems) { const filteredLineItems = lineItems?.filter((item) => { return !item?.partType?.includes(partTypeStrings.SERVICE_PACKAGE_DISCOUNT); @@ -133,15 +149,20 @@ export default { return totalPrice; }, getTotalLineItemPrice(lineItem, includeTax) { + const kitPrice = lineItem.kitPrice ?? 0; + const laborAmount = lineItem.laborAmount ?? 0; + const sellingPrice = lineItem.sellingPrice ?? 0; + const salesTax = lineItem.salesTax ?? 0; + if (includeTax) { return ( - lineItem.kitPrice + - lineItem.laborAmount + - lineItem.sellingPrice + - lineItem.salesTax + kitPrice + + laborAmount + + sellingPrice + + salesTax ); } else { - return lineItem.kitPrice + lineItem.laborAmount + lineItem.sellingPrice; + return kitPrice + laborAmount + sellingPrice; } },