From 9a7ea68d1ab3eaaa346d0709921dec07014f9321 Mon Sep 17 00:00:00 2001 From: CarlNation Date: Wed, 23 Oct 2024 13:02:33 -0400 Subject: [PATCH] CSR-2263 persist zip code CSR-2263 persist zip code if leadgen navigation stops prior to service-zip page --- .../capability-questions/capability-questions.vue | 14 +++++++++++++- .../molding-questions/molding-questions.vue | 15 ++++++++++++++- src/layouts/part-questions/part-questions.vue | 14 +++++++++++++- src/layouts/vehicle-damage/vehicle-damage.vue | 11 +++++++++++ 4 files changed, 51 insertions(+), 3 deletions(-) diff --git a/src/layouts/capability-questions/capability-questions.vue b/src/layouts/capability-questions/capability-questions.vue index a94db9786..4679fcb19 100644 --- a/src/layouts/capability-questions/capability-questions.vue +++ b/src/layouts/capability-questions/capability-questions.vue @@ -24,6 +24,7 @@ import questionsPageLayout from "@/fmg-components/layouts/questions-page-layout/ import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; import { settleAllPromises } from "@/helpers/layout-helper"; import store from "@/store"; +import { storeActions } from "@/constants/store-actions"; import { fmgPageValues } from "@/router/router-constants/fmgPage-values"; import { Form, defineRule } from "vee-validate"; import { required } from "@/helpers/validation-rules"; @@ -52,9 +53,20 @@ export default { const resultMap = await settleAllPromises(promiseResultMap); // Call the "next" function to complete the transition to this page. - next((vm) => { + next(async (vm) => { vm.setCmsContent(resultMap.cmsContent); if (store.getters.externalParameterState?.isExternalParameter) { + if (store.getters.externalParameterServiceZip.zipCode) { + await baseMixin.methods.dispatchStoreAction( + storeActions.SAVE_SERVICE_ZIP_CODE_INFO, + { + zipCode: store.getters.externalParameterServiceZip.zipCode, + state: null, + zipCodeCtu: null, + }, + false + ); + } baseMixin.methods.ResetExternalParamsAndHideModal(); } }); diff --git a/src/layouts/molding-questions/molding-questions.vue b/src/layouts/molding-questions/molding-questions.vue index e2838c27e..00df8c04b 100644 --- a/src/layouts/molding-questions/molding-questions.vue +++ b/src/layouts/molding-questions/molding-questions.vue @@ -24,6 +24,7 @@ import questionsPageLayout from "@/fmg-components/layouts/questions-page-layout/ import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; import { settleAllPromises } from "@/helpers/layout-helper"; import store from "@/store"; +import { storeActions } from "@/constants/store-actions"; import { fmgPageValues } from "@/router/router-constants/fmgPage-values"; import { Form, defineRule } from "vee-validate"; import { required } from "@/helpers/validation-rules"; @@ -52,9 +53,21 @@ export default { const resultMap = await settleAllPromises(promiseResultMap); // Call the "next" function to complete the transition to this page. - next((vm) => { + next(async (vm) => { vm.setCmsContent(resultMap.cmsContent); if (store.getters.externalParameterState?.isExternalParameter) { + if (store.getters.externalParameterServiceZip.zipCode) { + await baseMixin.methods.dispatchStoreAction( + storeActions.SAVE_SERVICE_ZIP_CODE_INFO, + { + zipCode: store.getters.externalParameterServiceZip.zipCode, + state: null, + zipCodeCtu: null, + }, + false + ); + } + baseMixin.methods.ResetExternalParamsAndHideModal(); } }); diff --git a/src/layouts/part-questions/part-questions.vue b/src/layouts/part-questions/part-questions.vue index f49f5876c..ae1146aad 100644 --- a/src/layouts/part-questions/part-questions.vue +++ b/src/layouts/part-questions/part-questions.vue @@ -24,6 +24,7 @@ import questionsPageLayout from "@/fmg-components/layouts/questions-page-layout/ import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; import { settleAllPromises } from "@/helpers/layout-helper"; import store from "@/store"; +import { storeActions } from "@/constants/store-actions"; import { fmgPageValues } from "@/router/router-constants/fmgPage-values"; import { Form, defineRule } from "vee-validate"; import { required } from "@/helpers/validation-rules"; @@ -52,9 +53,20 @@ export default { const resultMap = await settleAllPromises(promiseResultMap); // Call the "next" function to complete the transition to this page. - next((vm) => { + next(async (vm) => { vm.setCmsContent(resultMap.cmsContent); if (store.getters.externalParameterState?.isExternalParameter) { + if (store.getters.externalParameterServiceZip.zipCode) { + await baseMixin.methods.dispatchStoreAction( + storeActions.SAVE_SERVICE_ZIP_CODE_INFO, + { + zipCode: store.getters.externalParameterServiceZip.zipCode, + state: null, + zipCodeCtu: null, + }, + false + ); + } baseMixin.methods.ResetExternalParamsAndHideModal(); } }); diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index 62da598db..51da0cc1e 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -157,6 +157,17 @@ export default { if (isValid) { vm.forwardButtonAction(); } else { + if (store.getters.externalParameterServiceZip.zipCode) { + await baseMixin.methods.dispatchStoreAction( + storeActions.SAVE_SERVICE_ZIP_CODE_INFO, + { + zipCode: store.getters.externalParameterServiceZip.zipCode, + state: null, + zipCodeCtu: null, + }, + false + ); + } baseMixin.methods.ResetExternalParamsAndHideModal(); } } else {