diff --git a/src/iss-components/vehicle-banner/vehicle-banner.vue b/src/iss-components/vehicle-banner/vehicle-banner.vue index 64a1ffaa..6a17a3b7 100644 --- a/src/iss-components/vehicle-banner/vehicle-banner.vue +++ b/src/iss-components/vehicle-banner/vehicle-banner.vue @@ -24,7 +24,7 @@ export default { } const imageUrl = (this.mainStore.hasSubmittedOrder()) - ? this.mainStore.submittedOrder.vehicle.imageUrl + ? this.mainStore.getSubmittedOrder().vehicle.imageUrl : this.mainStore.order.vehicle.imageUrl; if (!imageUrl || imageUrl === 'NULL') { @@ -54,7 +54,7 @@ export default { }, methods: { getUnmatchedVehicleIcon() { - const category = this.mainStore.submittedOrder?.vehicle.category ?? this.mainStore.order.vehicle.category; + const category = this.mainStore.getSubmittedOrder()?.vehicle.category ?? this.mainStore.order.vehicle.category; switch (category) { case this.vehicleCategories.CAR: return this.carUnmatchedVehicleIcon; diff --git a/src/layouts/order-confirmation/add-to-calendar/add-to-calendar.vue b/src/layouts/order-confirmation/add-to-calendar/add-to-calendar.vue index ebd7eb47..a469db25 100644 --- a/src/layouts/order-confirmation/add-to-calendar/add-to-calendar.vue +++ b/src/layouts/order-confirmation/add-to-calendar/add-to-calendar.vue @@ -57,7 +57,7 @@ export default { }, setup() { const mainStore = useMainStore(); - const { submittedOrder } = mainStore; + const submittedOrder = mainStore.getSubmittedOrder(); return { mainStore, submittedOrder }; }, data() { diff --git a/src/layouts/order-confirmation/order-confirmation.vue b/src/layouts/order-confirmation/order-confirmation.vue index de1c896e..22e1cf6a 100644 --- a/src/layouts/order-confirmation/order-confirmation.vue +++ b/src/layouts/order-confirmation/order-confirmation.vue @@ -139,7 +139,7 @@ export default { }, setup() { const mainStore = useMainStore(); - const { submittedOrder } = mainStore; + const submittedOrder = mainStore.getSubmittedOrder(); return { mainStore, submittedOrder }; }, computed: { diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 8f69cab3..33ebfbba 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -301,20 +301,31 @@ export default { if (this.paymentMethod === paymentMethods.PAY_AT_TIME_OF_SERVICE) { try { - await submitWorkOrder({ submitType: submitType.SAFELITE }).then(() => { - this.$router.navigate( - this.navigationScenarios.CLICKED_FORWARD, - this.$route - ); - }).catch((submitError) => { - useMainStore().setBailout(bailoutMessage.saveSessionError(submitError.data)); - this.$router.navigate( - this.navigationScenarios.SAVE_SESSION_FAILED, - this.$route, - { query: { issPage: issPageValues.PAYMENT_METHOD } } - ); - }); + await submitWorkOrder({ submitType: submitType.SAFELITE }); + this.$router.navigate( + this.navigationScenarios.CLICKED_FORWARD, + this.$route + ); + // await submitWorkOrder({ submitType: submitType.SAFELITE }).then(() => { + // this.$router.navigate( + // this.navigationScenarios.CLICKED_FORWARD, + // this.$route + // ); + // }).catch((submitError) => { + // useMainStore().setBailout(bailoutMessage.saveSessionError(submitError.data)); + // this.$router.navigate( + // this.navigationScenarios.SAVE_SESSION_FAILED, + // this.$route, + // { query: { issPage: issPageValues.PAYMENT_METHOD } } + // ); + // }); } catch (error) { + useMainStore().setBailout(bailoutMessage.saveSessionError(submitError.data)); + this.$router.navigate( + this.navigationScenarios.SAVE_SESSION_FAILED, + this.$route, + { query: { issPage: issPageValues.PAYMENT_METHOD } } + ); console.error(`error: response from submit work order:${error.message}`); } } else { diff --git a/src/layouts/tpa-confirmation/tpa-confirmation.vue b/src/layouts/tpa-confirmation/tpa-confirmation.vue index 1e817d6b..6c52383c 100644 --- a/src/layouts/tpa-confirmation/tpa-confirmation.vue +++ b/src/layouts/tpa-confirmation/tpa-confirmation.vue @@ -127,7 +127,7 @@ export default { }, setup() { const mainStore = useMainStore(); - const { submittedOrder } = mainStore; + const submittedOrder = mainStore.getSubmittedOrder(); return { mainStore, submittedOrder }; }, computed: { diff --git a/src/router/index.js b/src/router/index.js index 53dfb91f..7c1f702c 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -50,7 +50,7 @@ const routes = [ // Intercept all navigation if a submitted order exists in storage if (useMainStore().hasSubmittedOrder()) { if (to.query.issPage !== issPageValues.ENTRY_PAGE) { - return await GoToConfirmationPage(next, useMainStore().submittedOrder); + return await GoToConfirmationPage(next, useMainStore().getSubmittedOrder()); } } diff --git a/src/store/index.js b/src/store/index.js index 4a911552..1325e971 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -419,8 +419,7 @@ export const useMainStore = defineStore({ experimentSettings: (state) => state.applicationUser.experiments .filter((x) => !!x.isActive) .map((x) => x.settings) - .reduce((r, c) => Object.assign(r, c), {}) ?? {}, - submittedOrder: () => JSON.parse(window.sessionStorage.getItem(webStorageConstants.SUBMITTED_ORDER)) + .reduce((r, c) => Object.assign(r, c), {}) ?? {} }, actions: { @@ -1559,7 +1558,8 @@ export const useMainStore = defineStore({ }, resetState() { - Object.assign(this, getDefaultState()); + //Object.assign(this, getDefaultState()); + this.$reset(); }, resetRegistrationState() { @@ -2529,6 +2529,10 @@ export const useMainStore = defineStore({ return window.sessionStorage.getItem(webStorageConstants.SUBMITTED_ORDER) !== null; }, + getSubmittedOrder() { + return JSON.parse(window.sessionStorage.getItem(webStorageConstants.SUBMITTED_ORDER)); + }, + createSubmittedOrder(submitType) { if (this.hasSubmittedOrder()) { return;