diff --git a/src/global-methods.js b/src/global-methods.js index 3f7e75b8..92e31d54 100644 --- a/src/global-methods.js +++ b/src/global-methods.js @@ -21,7 +21,7 @@ export default { url: cfDistroUrl + endpoint, data: payloadAndAnalyticsData, crossDomain: true, - responseType: {}, + responseType: 'json', headers: headers, }) .then((response) => { diff --git a/src/layouts/service-packages/service-package-question/service-package-question.vue b/src/layouts/service-packages/service-package-question/service-package-question.vue index ede27160..1a44ba9b 100644 --- a/src/layouts/service-packages/service-package-question/service-package-question.vue +++ b/src/layouts/service-packages/service-package-question/service-package-question.vue @@ -24,6 +24,7 @@ }; export default { name: 'servicePackageQuestion', + emits: ['vapsItemsSelected'], props: { cmsWidgetName: String, groupName: String, @@ -34,16 +35,10 @@ data() { return { servicePackageRadio: servicePackageRadio, - selectedPackageName: null + selectedPackageName: packageNames.TIER_ONE }; }, watch: { - availableLineItems() { - const store = useMainStore(); - if (this.allGlassPartsAndSupportingItemsHavePrices(store.order.lineItems)) { - this.selectDefaultPackage(); - } - }, selectedPackageName(newValue) { const VapsProductsInSelectedPackage = this.getVapsLineItemsForSelectedPackage(newValue); this.$emit('vapsItemsSelected', VapsProductsInSelectedPackage); @@ -51,10 +46,14 @@ }, computed: { nullSafeAvailableLineItems() { + if (this.availableLineItems?.lineItems) { + return this.availableLineItems.lineItems; + } + return this.availableLineItems ?? []; }, servicePackageAnswers() { - if (!this.cmsWidgetName) return {}; + if (!this.cmsWidgetName) return []; const cmsAnswersContent = [ { Name: 'TierOne', @@ -84,6 +83,9 @@ )); return modifiedAnswers; }, + isRecalibrationOnOrder() { + return this.lineItemsContainsPartType(partTypeStrings.RECALIBRATION); + }, frontWipersApplicableForTierTwo() { const store = useMainStore(); const frontWipersAreAvailable = this.lineItemsContainsPartType( @@ -205,50 +207,6 @@ }); return vapsPrice; }, - selectDefaultPackage() { - const store = useMainStore(); - const vapsFromStore = store.lineItems.vaps; - let lowestTierForPackage = packageNames.TIER_ONE; - if (vapsFromStore?.length > 0) { - vapsFromStore.every((vapsItem) => { - let lowestTierForThisItem = this.getLowestTierForThisItem(vapsItem); - if (lowestTierForThisItem === packageNames.TIER_THREE) { - lowestTierForPackage = packageNames.TIER_THREE; - return false; - } else if (lowestTierForThisItem === packageNames.TIER_TWO) { - lowestTierForPackage = packageNames.TIER_TWO; - return true; - } else { - return true; - } - }); - } - this.selectedPackageName = lowestTierForPackage; - }, - allGlassPartsAndSupportingItemsHavePrices(lineItems) { - if (lineItems?.glassParts) { - for (let i = 0; i < lineItems.glassParts.length; i++) { - if (this.priceIsNullOrZero(lineItems.glassParts[i])) { - return false; - } - } - } - if (lineItems?.supportingItems) { - for (let i = 0; i < lineItems.supportingItems.length; i++) { - if (this.priceIsNullOrZero(lineItems.supportingItems[i])) { - return false; - } - } - } - return true; - }, - priceIsNullOrZero(lineItem) { - return ( - (lineItem.kitPrice == null || lineItem.kitPrice == 0) && - (lineItem.laborAmount == null || lineItem.laborAmount == 0) && - (lineItem.sellingPrice == null || lineItem.sellingPrice == 0) - ); - }, getLowestTierForThisItem(vapsItem) { let lowestTierForThisItem = null; switch (vapsItem.partType) { @@ -345,7 +303,7 @@ return !!glassLocationMatches.length; }, getTotalLineItemPrice(lineItem) { - return lineItem.kitPrice + lineItem.laborAmount + lineItem.sellingPrice + return lineItem.kitPrice + lineItem.laborAmount + lineItem.sellingPrice; } }, components: { diff --git a/src/layouts/service-packages/service-package-question/service-package-radio/service-package-radio.vue b/src/layouts/service-packages/service-package-question/service-package-radio/service-package-radio.vue index c32dd9d3..fbf3f111 100644 --- a/src/layouts/service-packages/service-package-question/service-package-radio/service-package-radio.vue +++ b/src/layouts/service-packages/service-package-question/service-package-radio/service-package-radio.vue @@ -1,5 +1,5 @@