From b00c0bdcf6e18dd2e2bc6b4711fa0e5f65e8a2c8 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Tue, 3 Sep 2024 15:48:38 -0400 Subject: [PATCH 1/7] CSR-2182: add new base mixin --- src/mixins/base-mixin.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index 109f90d04..c86cdacb5 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -102,6 +102,12 @@ export default { }); return filteredLineItems; }, + filterOutRecalibration(lineItems) { + const filteredLineItems = lineItems.filter((item) => { + return item.partType != partTypeStrings.RECALIBRATION; + }); + return filteredLineItems; + }, getTotalPriceOfAllLineItemsAndChildParts(lineItems, includeTax) { let totalPrice = 0; lineItems.forEach((lineItem) => { From 01d0c809fa25300346ec8cc7e103886cdd186fe8 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Tue, 3 Sep 2024 15:49:55 -0400 Subject: [PATCH 2/7] CSR-2182: add boolean prop for insurance or not for cart --- src/layouts/payment-method/payment-method.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index f012f7874..e634cecfc 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -30,6 +30,7 @@ pageName="payment-method" servicePackageOptionsCmsName="ServicePackageTitle" recyclingModalCmsWidgetName="RecycleModal" + :isInsurance="isInsurance" :insuranceDeductible="currentDeductible" :insuranceCompanyName="insuranceCompanyName" :showInsuranceCoverageAs="showInsuranceCoverageAs" /> From 785c9fd1bf1052dca3bc8764368bef2ff200cf65 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Tue, 3 Sep 2024 15:59:02 -0400 Subject: [PATCH 3/7] CSR-2182: remove recal prices from cash carts --- src/fmg-components/cart/cart.vue | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/fmg-components/cart/cart.vue b/src/fmg-components/cart/cart.vue index 495973144..c042b3ca8 100644 --- a/src/fmg-components/cart/cart.vue +++ b/src/fmg-components/cart/cart.vue @@ -184,6 +184,7 @@ export default { allowItemRemoval: Boolean, recyclingModalCmsWidgetName: String, showAsPaid: Boolean, + isInsurance: Boolean, insuranceDeductible: Number, insuranceCompanyName: String, showInsuranceCoverageAs: String, @@ -299,6 +300,12 @@ export default { this.$emit("update:modelValue", newValue); }, }, + lineItemsWithoutRecal() { + if (!this.lineItems || this.lineItems.length < 1) return; + const lineItemsCopy = this.lineItems; + lineItemsCopy.supportingItems = baseMixin.methods.filterOutRecalibration(this.lineItems.supportingItems); + return lineItemsCopy; + }, showCoverageAsPending() { return this.showInsuranceCoverageAs === coverageStatus.PENDING; }, @@ -983,16 +990,23 @@ export default { return this.getCmsContent("SubtotalTextWidget", "Text"); }, subTotal() { - return baseMixin.methods.getSubTotal(this.lineItems); + if (!this.lineItems || this.lineItems.length < 1) return; + return this.isInsurance + ? baseMixin.methods.getSubTotal(this.lineItems) + : baseMixin.methods.getSubTotal(this.lineItemsWithoutRecal); }, salesTax() { - return baseMixin.methods.getSalesTax(this.lineItems); + if (!this.lineItems || this.lineItems.length < 1) return; + return this.isInsurance + ? baseMixin.methods.getSalesTax(this.lineItems) + : baseMixin.methods.getSalesTax(this.lineItemsWithoutRecal); }, amountDue() { - if (this.showAsPaid) { - return 0; - } - return baseMixin.methods.getAmountDue(this.lineItems); + if (!this.lineItems || this.lineItems.length < 1) return; + if (this.showAsPaid) return 0; + return this.isInsurance + ? baseMixin.methods.getAmountDue(this.lineItems) + : baseMixin.methods.getAmountDue(this.lineItemsWithoutRecal); }, amountPaid() { if (!this.showAsPaid) { From f0dd92e29f7eac20e6aa56204529f5673748156d Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Tue, 3 Sep 2024 15:59:51 -0400 Subject: [PATCH 4/7] CSR-2182: remove unused clone --- src/fmg-components/cart/cart.vue | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/fmg-components/cart/cart.vue b/src/fmg-components/cart/cart.vue index c042b3ca8..db61508b8 100644 --- a/src/fmg-components/cart/cart.vue +++ b/src/fmg-components/cart/cart.vue @@ -923,8 +923,6 @@ export default { promoCartItems() { const promoCartItems = []; - // clone the promos array - const promosClone = deepClone(this.promo); // get unique promo codes const uniquePromoCodes = [ ...new Set( From 1fbaccc4228a4c730e38632a0c573dcb55fe63a0 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Tue, 3 Sep 2024 17:23:41 -0400 Subject: [PATCH 5/7] CSR-2182: prettier formatting --- src/fmg-components/cart/cart.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fmg-components/cart/cart.vue b/src/fmg-components/cart/cart.vue index db61508b8..4d5f19f76 100644 --- a/src/fmg-components/cart/cart.vue +++ b/src/fmg-components/cart/cart.vue @@ -303,7 +303,9 @@ export default { lineItemsWithoutRecal() { if (!this.lineItems || this.lineItems.length < 1) return; const lineItemsCopy = this.lineItems; - lineItemsCopy.supportingItems = baseMixin.methods.filterOutRecalibration(this.lineItems.supportingItems); + lineItemsCopy.supportingItems = baseMixin.methods.filterOutRecalibration( + this.lineItems.supportingItems + ); return lineItemsCopy; }, showCoverageAsPending() { From 52c9bfecf7483c160366026e81690188f089b9b0 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Thu, 5 Sep 2024 20:42:03 -0400 Subject: [PATCH 6/7] CSR-2182: fix recursive error --- src/fmg-components/cart/cart.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fmg-components/cart/cart.vue b/src/fmg-components/cart/cart.vue index 4d5f19f76..06fa922ef 100644 --- a/src/fmg-components/cart/cart.vue +++ b/src/fmg-components/cart/cart.vue @@ -302,9 +302,9 @@ export default { }, lineItemsWithoutRecal() { if (!this.lineItems || this.lineItems.length < 1) return; - const lineItemsCopy = this.lineItems; + const lineItemsCopy = deepClone(this.lineItems); lineItemsCopy.supportingItems = baseMixin.methods.filterOutRecalibration( - this.lineItems.supportingItems + lineItemsCopy.supportingItems ); return lineItemsCopy; }, From 16538fff6f964f9f30368f3686f312ecef0f71b6 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Fri, 6 Sep 2024 07:18:00 -0400 Subject: [PATCH 7/7] CSR-2182: fix package price to remove recal --- src/fmg-components/cart/cart.vue | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/fmg-components/cart/cart.vue b/src/fmg-components/cart/cart.vue index 06fa922ef..9e5a43bd6 100644 --- a/src/fmg-components/cart/cart.vue +++ b/src/fmg-components/cart/cart.vue @@ -140,7 +140,7 @@
Promo code {{ promoCode }} applied @@ -284,6 +284,7 @@ export default { (lineItemsToKeep) => lineItemsToKeep.cartItemType != cartItemType ); }, + getPromoCodeList() { if (this.$refs["promoModalQuestion"]) { return this.$refs["promoModalQuestion"].getPromoCodeList(); @@ -436,7 +437,14 @@ export default { packagePrice() { let packagePrice = 0; - if (!this.showCoverageAsVerified && !this.showCoverageAsPending) { + if (!this.isInsurance) { + // CASH ONLY + packagePrice = baseMixin.methods.getTierOnePackagePrice( + baseMixin.methods.filterOutFees( + baseMixin.methods.filterOutRecalibration(this.availableLineItems) + ) + ); + } else if (!this.showCoverageAsVerified && !this.showCoverageAsPending) { packagePrice = baseMixin.methods.getTierOnePackagePrice( baseMixin.methods.filterOutFees(this.availableLineItems) );