From 23f6693a8c262dcad646b5035a8dd8307aadb979 Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Fri, 27 Mar 2026 09:59:17 -0400 Subject: [PATCH] recal logic updates --- src/layouts/coverage-statement/coverage-statement.vue | 4 +++- src/layouts/schedule-page/schedule-page.vue | 5 +++-- .../service-package-question/service-package-question.vue | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/layouts/coverage-statement/coverage-statement.vue b/src/layouts/coverage-statement/coverage-statement.vue index 2e99a537..70415327 100644 --- a/src/layouts/coverage-statement/coverage-statement.vue +++ b/src/layouts/coverage-statement/coverage-statement.vue @@ -147,6 +147,7 @@ import { getPriceOfLineItems } from '@/helpers/price-calculator'; import coverageStatuses from '@/constants/coverage-statuses'; import coverageType from '@/constants/coverage-type'; import oemEndorsementModal from '@/layouts/coverage-statement/oem-endorsement-modal/oem-endorsement-modal.vue'; +import { containsRecalParts } from '@/helpers/recal-helper'; const RECAL_MODAL_REF_NAME = 'RecalModal'; const CANCEL_CLAIM_REF_NAME = 'CancelClaimModal'; @@ -305,10 +306,11 @@ export default { }, isADAS() { const { glassParts } = useMainStore().order.lineItems; + const orderContainsRecalPart = containsRecalParts(glassParts); return ( glassParts !== null && !!glassParts.find((part) => part.requiresRecalibration) - && !!glassParts.find((part) => part.canSafeliteRecalibrate) + && orderContainsRecalPart ); }, totalServicePrice() { diff --git a/src/layouts/schedule-page/schedule-page.vue b/src/layouts/schedule-page/schedule-page.vue index 26b11e45..cfae7efd 100644 --- a/src/layouts/schedule-page/schedule-page.vue +++ b/src/layouts/schedule-page/schedule-page.vue @@ -421,8 +421,9 @@ export default { displayRecalAckModal() { // if any of the glass parts contain an item with the requiresRecalibration flag set to true // and the order does not contain a recalibration part, show the recalibration acknowledgement modal - const containsRecalPart = containsRecalParts(useMainStore().order.lineItems); - const hasPartWithRecalRequirement = anyPartWithRequiresRecalFlag(useMainStore().order.lineItems); + const { glassParts } = useMainStore().order.lineItems; + const containsRecalPart = containsRecalParts(glassParts); + const hasPartWithRecalRequirement = anyPartWithRequiresRecalFlag(glassParts); if (!containsRecalPart && hasPartWithRecalRequirement && !this.isAcknowledged) { return true; 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 73e29932..63bac64f 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 @@ -23,6 +23,7 @@ import partTypeStrings from '@/constants/part-type-strings'; import { useMainStore } from '@/store'; import { getPriceOfLineItem } from '@/helpers/price-calculator'; import { shallowRef } from 'vue'; +import { containsRecalParts } from '@/helpers/recal-helper'; const glassLocations = damageLocationsSelected; @@ -100,7 +101,7 @@ export default { return modifiedAnswers; }, isRecalibrationOnOrder() { - return this.mainStore.hasRecalibrationPart; + return this.mainStore.hasRecalibrationPart && containsRecalParts(this.mainStore.order.lineItems); }, frontWipersApplicableForTierTwo() { const frontWipersAreAvailable = this.lineItemsContainsPartType(partTypeStrings.FRONT_WIPER);