diff --git a/src/constants/insurance.js b/src/constants/insurance.js index 1df261d63..f7550513b 100644 --- a/src/constants/insurance.js +++ b/src/constants/insurance.js @@ -29,6 +29,19 @@ export function coverageStatusValue(intCoverageStatus) { } } +export function coverageStatusEnum(strCoverageStatus) { + switch (strCoverageStatus) { + case coverageStatus.PENDING: + return 0; + case coverageStatus.NOCOMP: + return 1; + case coverageStatus.VERIFIED: + return 2; + default: + return null; + } +} + export const coverageType = { NONE: "None", DEDUCTIBLE: "Deductible", @@ -50,3 +63,18 @@ export function coverageTypeValue(intCoverageType) { return null; } } + +export function coverageTypeEnum(strCoverageType) { + switch (strCoverageType) { + case coverageType.NONE: + return 0; + case coverageType.DEDUCTIBLE: + return 1; + case coverageType.ITAC: + return 2; + case coverageType.NOCOMP: + return 3; + default: + return null; + } +} diff --git a/src/layouts/quote/quote.vue b/src/layouts/quote/quote.vue index 8aedcc754..78ce15fa4 100644 --- a/src/layouts/quote/quote.vue +++ b/src/layouts/quote/quote.vue @@ -611,12 +611,7 @@ export default { }); eventLabel = eventLabel.slice(0, -1); - this.pushEventToGA( - "quote", - this.GaActions.SERVICE_PACKAGE_PRICE, - eventLabel, - true - ); + this.pushEventToGA("quote", this.GaActions.SERVICE_PACKAGE_PRICE, eventLabel, true); }); }, }, diff --git a/src/store/index.js b/src/store/index.js index 89d0db2a3..562659bf0 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -36,8 +36,10 @@ import sharedMutations from "./vuex-shared-mutations/vuexSharedMutations"; import { coverageStatus, coverageStatusValue, + coverageStatusEnum, coverageType, coverageTypeValue, + coverageTypeEnum, } from "@/constants/insurance"; // Export State @@ -1531,15 +1533,38 @@ export const actions = { }, getMobileFeePart(context, { pageNameToLog }) { - const damageType = context.getters.damage.isRepair ? "Repair" : "Replace"; + const serviceType = context.getters.damage.isRepair ? "Repair" : "Install"; + const facilityType = "Mobile"; const parentAccountNumber = context.getters.payment.parentAccountNumber; const billToAccountNumber = context.getters.payment.billToAccountNumber ? context.getters.payment.billToAccountNumber : applicationConfig.CASH_DEFAULT_BILL_TO_ACCOUNT_NUMBER; + const order = context.getters.order; + const coverageStatus = coverageStatusEnum(order.payment?.insuranceCoverage?.coverageStatus); + const coverageType = coverageTypeEnum(order.payment?.insuranceCoverage?.coverageType); + const isItacOptimized = order.policy?.isItac ?? false; + const zipCode = + order.serviceLocation?.provider?.address?.zipCode ?? order.serviceLocation?.zipCode; + + var providerNumber = + order.serviceLocation?.provider?.providerNumber ?? order.serviceLocation?.zipCodeCtu; + if (providerNumber.startsWith("00") && providerNumber.length > 5) { + providerNumber = providerNumber.substring(1); + } + + var endPoint = `${endpoints.GetMobileFeePart.url}/?serviceType=${serviceType}&facilityType=${facilityType}&parentAccountNumber=${parentAccountNumber}&billToAccountNumber=${billToAccountNumber}&providerNumber=${providerNumber}&isItac=${isItacOptimized}&zipCode=${zipCode}`; + if (coverageStatus) { + endPoint = `${endPoint}&coverageStatus=${coverageStatus}`; + } + + if (coverageType) { + endPoint = `${endPoint}&coverageType=${coverageType}`; + } + return globalMethods.callHttpClient({ method: endpoints.GetMobileFeePart.method, - endpoint: `${endpoints.GetMobileFeePart.url}/${damageType}/${parentAccountNumber}/${billToAccountNumber}`, + endpoint: endPoint, logApiCall: true, pageNameToLog: pageNameToLog, });