From 9c7c83c470b0c21e88110ecd6a558bd2437c6da8 Mon Sep 17 00:00:00 2001 From: Josh Dassinger Date: Wed, 7 Aug 2024 10:28:12 -0500 Subject: [PATCH] SSR-1446 Bailout Fixes Fixed bailout not submitting after save session error Fixed being able to navigate to any page after bailout submit Fixed query=[object Object] in url on submit WO error --- src/constants/submit-type.js | 3 ++- src/helpers/order-helper.js | 8 ++++++++ src/layouts/bailout-page/bailout-page.vue | 4 ++-- src/layouts/payment-method/payment-method.vue | 4 ++-- src/layouts/tpa-submit/tpa-submit.vue | 2 +- src/router/index.js | 2 ++ src/store/index.js | 7 +------ 7 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/constants/submit-type.js b/src/constants/submit-type.js index 4b90b5f3..9463f9bc 100644 --- a/src/constants/submit-type.js +++ b/src/constants/submit-type.js @@ -1,6 +1,7 @@ const submitType = Object.freeze({ SAFELITE: 0, - TPA: 1 + TPA: 1, + BAILOUT: 2 }); export default submitType; diff --git a/src/helpers/order-helper.js b/src/helpers/order-helper.js index f96b8a2a..1d3004da 100644 --- a/src/helpers/order-helper.js +++ b/src/helpers/order-helper.js @@ -1,5 +1,6 @@ import { useMainStore } from '@/store'; import { updateOrCreateISSCookie } from '@/helpers/cookie-helper'; +import submitType from '@/constants/submit-type'; /* Encapsulates asynchronous Save Session logic inside a promise to allow for Save Session queuing @@ -43,3 +44,10 @@ export async function submitWorkOrder({ submitType }) { }); store.createSubmittedOrder(submitType); } + +export async function submitBailout() { + const store = useMainStore(); + store.resetSubmittedOrder(); + await store.saveSession({}); + store.createSubmittedOrder(submitType.BAILOUT); +} diff --git a/src/layouts/bailout-page/bailout-page.vue b/src/layouts/bailout-page/bailout-page.vue index f13d9ba4..692837e1 100644 --- a/src/layouts/bailout-page/bailout-page.vue +++ b/src/layouts/bailout-page/bailout-page.vue @@ -91,7 +91,7 @@ import canBailoutNavigateBack from '@/helpers/bailout-helper'; import BailoutCode from '@/constants/bailoutCode'; import issPageValues from '@/router/router-constants/issPage-values'; import MaskaFormattedMasks from '@/constants/maska-masks'; -import { saveSession } from '@/helpers/order-helper'; +import { submitBailout } from '@/helpers/order-helper'; export default { name: 'bailout-page', @@ -203,7 +203,7 @@ export default { }, async forwardButtonAction() { this.mainStore.setBailoutContactInfo(this.bailoutPageModel); - await saveSession({ shouldAwaitSaveSessionQueue: true }); + await submitBailout(); this.$router.navigate( this.navigationScenarios.CLICKED_FORWARD, this.$route, diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 8f69cab3..3a1c415b 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -297,7 +297,7 @@ export default { this.$refs.siteFooter.updateButtonText(newValue); }, async forwardButtonAction() { - await useMainStore().savePaymentMethodChoice(this.paymentMethod); + useMainStore().savePaymentMethodChoice(this.paymentMethod); if (this.paymentMethod === paymentMethods.PAY_AT_TIME_OF_SERVICE) { try { @@ -311,7 +311,7 @@ export default { this.$router.navigate( this.navigationScenarios.SAVE_SESSION_FAILED, this.$route, - { query: { issPage: issPageValues.PAYMENT_METHOD } } + { issPage: issPageValues.PAYMENT_METHOD } ); }); } catch (error) { diff --git a/src/layouts/tpa-submit/tpa-submit.vue b/src/layouts/tpa-submit/tpa-submit.vue index 200b92b1..08f43bec 100644 --- a/src/layouts/tpa-submit/tpa-submit.vue +++ b/src/layouts/tpa-submit/tpa-submit.vue @@ -361,7 +361,7 @@ export default { this.navigate( this.navigationScenarios.SAVE_SESSION_FAILED, this.$route, - { query: { issPage: this.issPageValues.TPA_SUBMIT } } + { issPage: this.issPageValues.TPA_SUBMIT } ); }); } catch (error) { diff --git a/src/router/index.js b/src/router/index.js index 53dfb91f..8948388d 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -377,6 +377,8 @@ function getConfirmationPageFromOrder(order) { return issPageValues.ORDER_CONFIRMATION; case submitType.TPA: return issPageValues.TPA_CONFIRMATION; + case submitType.BAILOUT: + return issPageValues.CONTACT_CONFIRMATION; default: return issPageValues.ORDER_CONFIRMATION; } diff --git a/src/store/index.js b/src/store/index.js index 3d33c91c..58e1b450 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1307,12 +1307,7 @@ export const useMainStore = defineStore({ isCreditCard: payment.payInAdvanceType === paymentMethods.CREDIT_CARD, isAfterpay: payment.payInAdvanceType === paymentMethods.AFTERPAY, nextGenSettledAmount: payment.nextGenSettledAmount, - CCToken: payment.creditCardToken, - insuranceCoverage: { - isVerified: this.isVerified, - coverageStatus: this.isNoComp ? coverageStatuses.NO_COVERAGE : this.isVerified ? coverageStatuses.VERIFIED : coverageStatuses.PENDING, - claimNumber: insuranceCoverage.claimNumber - } + CCToken: payment.creditCardToken }, serviceLocation: { address: {