diff --git a/src/constants/store-actions.js b/src/constants/store-actions.js index 392e7b59e..9020ae2db 100644 --- a/src/constants/store-actions.js +++ b/src/constants/store-actions.js @@ -84,6 +84,7 @@ const storeActions = { SAVE_SUPPORTING_ITEMS_SUPPRESSING_STATE_RESETTING: "saveSupportingItemsSuppressingStateResetting", SAVE_VAPS: "saveVaps", + SAVE_SWITCH_INSURANCE_TO_CASH: "saveSwitchInsuranceToCash", }; export { storeActions }; diff --git a/src/constants/store-mutations.js b/src/constants/store-mutations.js index d4e07cf0a..66a0f5047 100644 --- a/src/constants/store-mutations.js +++ b/src/constants/store-mutations.js @@ -22,6 +22,7 @@ const storeMutations = { UPDATE_VAPS: "updateVaps", UPDATE_SUPPORTING_ITEMS: "updateSupportingItems", UPDATE_LINE_ITEMS_SERVER_DATA: "updateLineItemsServerData", + UPDATE_SWITCH_INSURANCE_TO_CASH: "updateSwitchInsuranceToCash", UPDATE_REGISTRATION_LICENSE_PLATE: "updateRegistrationLicensePlate", UPDATE_REGISTRATION_ADDRESS: "updateRegistrationAddress", diff --git a/src/helpers/heritage-integration/navigation-helper.js b/src/helpers/heritage-integration/navigation-helper.js index 913fbcb1b..c8f320b1f 100644 --- a/src/helpers/heritage-integration/navigation-helper.js +++ b/src/helpers/heritage-integration/navigation-helper.js @@ -63,6 +63,7 @@ export async function navigateToHeritageFunnel({ shouldSaveSession = true, loadi src: "concept-funnel", conceptsqid: store.getters.applicationUser.savedSessionId, isInsurance: store.getters.payment.isInsurance, + switchInsuranceToCash: store.getters.order.switchInsuranceToCash, }); } diff --git a/src/layouts/quote/quote.vue b/src/layouts/quote/quote.vue index 1e78647dc..c05495339 100644 --- a/src/layouts/quote/quote.vue +++ b/src/layouts/quote/quote.vue @@ -150,7 +150,7 @@ export default { (store.getters.order.damage.isRepair || (store.getters.order.lineItems?.glassParts != null && store.getters.order.lineItems.glassParts.length > 0)) && - store.getters.order.referralNumber?.length !== 6 + !store.getters.payment.insuranceCoverage.isVerified ); }, getDefaultIsInsuranceSelectedValue(availableLineItems) { @@ -177,6 +177,27 @@ export default { vehicleQuestionsMixin.methods.navigateBack(this); }, forwardButtonAction() { + // if referral is 6 digits unverified it indicates they were previously insurance and been to heritage + // need to set an indicator for heritage if they switched from insurance to cash. many things to reset on the referral in heritage if so + const prevPayment = this.$store.getters.payment; + if ( + this.$store.getters.order.referralNumber?.length === 6 && + !prevPayment.insuranceCoverage.isVerified && + prevPayment.isInsurance + ) { + this.dispatchStoreAction( + this.storeActions.SAVE_SWITCH_INSURANCE_TO_CASH, + true, + false + ); + } else { + this.dispatchStoreAction( + this.storeActions.SAVE_SWITCH_INSURANCE_TO_CASH, + false, + false + ); + } + this.dispatchStoreAction( this.storeActions.SAVE_PAYMENT_TYPE, this.isInsuranceSelected, diff --git a/src/mixins/vehicle-questions-mixin.js b/src/mixins/vehicle-questions-mixin.js index 4b05067ea..4a0c49c81 100644 --- a/src/mixins/vehicle-questions-mixin.js +++ b/src/mixins/vehicle-questions-mixin.js @@ -446,9 +446,7 @@ export default { const payment = store.getters.payment; - if (store.getters.order.referralNumber?.length === 6) { - navigateToHeritageFunnel({ loadingModal: self.$refs.loadingModal }); - } else if (payment.isInsurance && payment.insuranceCoverage.isVerified) { + if (payment.isInsurance && payment.insuranceCoverage.isVerified) { navigateToHeritageFunnel({ loadingModal: self.$refs.loadingModal }); } else { self.$router.navigateWithSaving( diff --git a/src/store/index.js b/src/store/index.js index c3c9fc8a0..23e7e14df 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -95,6 +95,7 @@ const getDefaultState = () => { referralDate: null, referralCorrelationId: null, eon: null, + switchInsuranceToCash: false, }, applicationUser: { eventBus: [], @@ -280,6 +281,9 @@ export const mutations = { state.order.schedule.jobMaxMinutes = scheduleInfo.jobMaxMinutes; } }, + updateSwitchInsuranceToCash(state, switchValue) { + state.order.switchInsuranceToCash = switchValue; + }, // applicationUser MUTATIONS updateSaveSessionPromise(state, saveSessionPromise) { @@ -1867,6 +1871,10 @@ export const actions = { context.commit(storeMutations.UPDATE_VAPS, vaps); }, + saveSwitchInsuranceToCash(context, switchValue) { + context.commit(storeMutations.UPDATE_SWITCH_INSURANCE_TO_CASH, switchValue); + }, + // Price order actions async priceOrderItemsAndSaveServerData( context,