pass endorsement code and answers in save session

This commit is contained in:
Katie Kroell 2026-04-15 16:01:03 -04:00
parent aa3306ec06
commit 368148bf6f
4 changed files with 49 additions and 3 deletions

View file

@ -0,0 +1,6 @@
const endorsementCodes = Object.freeze({
EDUCATOR: '001',
PARKING_GUARD: '003'
});
export default endorsementCodes;

View file

@ -1,4 +1,5 @@
import endorsementOptions from '@/constants/endorsement-options';
import endorsementCodes from '@/constants/endorsement-codes';
export function noCoverageForSelectedVehicle(vehicle) {
return (vehicle?.coverages?.length ?? 0) === 0;
@ -18,6 +19,27 @@ export function endorsementsForSelectedVehicle(vehicle) {
}
return [];
}
export function endorsementCodesForSelectedVehicle(vehicle) {
if (vehicle?.endorsements.length === 1) {
switch (true) {
case vehicle.endorsements.includes(endorsementOptions.EDUCATOR):
return endorsementCodes.EDUCATOR;
case vehicle.endorsements.includes(endorsementOptions.PARKING_GUARD):
return endorsementCodes.PARKING_GUARD;
}
}
else if (vehicle?.endorsements?.length > 1) {
let codes = [];
if (vehicle.endorsements.includes(endorsementOptions.EDUCATOR)) {
codes.push(endorsementCodes.EDUCATOR);
}
if (vehicle.endorsements.includes(endorsementOptions.PARKING_GUARD)) {
codes.push(endorsementCodes.PARKING_GUARD);
}
return codes.join(',');
}
return "";
}
export function repairWaivedForSelectedVehicle(vehicle) {
return vehicle?.endorsements?.includes(endorsementOptions.REPAIR_WAIVED) ?? false;
}

View file

@ -55,6 +55,7 @@ import { useMainStore } from '@/store/index.js';
import {
deductibleForSelectedVehicle,
endorsementsForSelectedVehicle,
endorsementCodesForSelectedVehicle,
noCoverageForSelectedVehicle,
repairWaivedForSelectedVehicle
} from '@/helpers/policy-vehicle-helper';
@ -132,6 +133,9 @@ export default {
endorsementsForSelectedVehicle() {
return endorsementsForSelectedVehicle(this.selectedPolicyVehicle);
},
endorsementCodesForSelectedVehicle() {
return endorsementCodesForSelectedVehicle(this.selectedPolicyVehicle);
},
repairWaivedForSelectedVehicle() {
return repairWaivedForSelectedVehicle(this.selectedPolicyVehicle);
}
@ -201,7 +205,8 @@ export default {
noCoverage: this.noCoverageForSelectedVehicle,
deductible: this.deductibleForSelectedVehicle,
repairWaived: this.repairWaivedForSelectedVehicle,
endorsements: this.endorsementsForSelectedVehicle
endorsements: this.endorsementsForSelectedVehicle,
cvrgEndorsementCode: this.endorsementCodesForSelectedVehicle
});
this.navigateForward();
} catch (e) {

View file

@ -4,6 +4,7 @@ import bailoutCode from '@/constants/bailoutCode';
import coverageStatuses from '@/constants/coverage-statuses';
import coverageType from '@/constants/coverage-type';
import damageLocationsSelected from '@/constants/damage-locations-selected';
import endorsementOptions from '@/constants/endorsement-options';
import endpoints from '@/constants/endpoints';
import { experimentSettings, experimentTriggers, experimentUniverses } from '@/constants/experiments';
import partNumberStrings from '@/constants/part-number-strings';
@ -17,7 +18,7 @@ import { convertDateStringToDate, getDateDifferenceInDays, militaryToTwelveHourT
import { getExperimentSettingValue, getFeatureTogglesPayloadObject } from '@/helpers/experiment-helper';
import { findLineItemIndex, getLineItemsFlattened } from '@/helpers/line-items-helper';
import {
deductibleForSelectedVehicle, endorsementsForSelectedVehicle,
deductibleForSelectedVehicle, endorsementsForSelectedVehicle, endorsementCodesForSelectedVehicle,
noCoverageForSelectedVehicle,
repairWaivedForSelectedVehicle
} from '@/helpers/policy-vehicle-helper';
@ -28,6 +29,7 @@ import { isMobileDevice } from '@/helpers/useragent-helper';
import issPageValues from '@/router/router-constants/issPage-values';
import CoverageStatuses from '@/constants/coverage-statuses';
import { getNonFalseValuesOfPropertyInArrayOfObjects, sortArrayOfObjectsByPropertyValue } from '@/helpers/object-helper';
import endorsementCodes from '@/constants/endorsement-codes';
const storeId = 'main';
@ -109,6 +111,9 @@ export const getDefaultState = () => ({
vehicles: [],
endorsements: [],
endorsementQuestionAnswers: [],
cvrgEndorsementCode: null,
educatorEndorsementAnswer: null,
parkingGuardEndorsementAnswer: null,
status: null,
policyData: null
},
@ -1469,7 +1474,10 @@ export const useMainStore = defineStore({
currentDeductible: this.currentDeductible,
OemEndorsement: this.hasOemEndorsement,
noCoverage: this.isNoComp,
isItac: this.isITAC
isItac: this.isITAC,
cvrgEndorsementCode: policy.cvrgEndorsementCode,
educatorEndorsement: policy.educatorEndorsementAnswer,
parkingGuardEndorsement: policy.parkingGuardEndorsementAnswer
},
customer: {
address: {
@ -2071,6 +2079,7 @@ export const useMainStore = defineStore({
this.order.policy.deductible.replace = coverage.deductible;
this.order.policy.deductible.repair = coverage?.repairWaived ?? false ? 0 : coverage.deductible;
this.order.policy.endorsements = coverage?.endorsements;
this.order.policy.cvrgEndorsementCode = coverage?.cvrgEndorsementCode;
this.order.originalDeductible.replace = this.order.policy.deductible.replace;
this.order.currentDeductible.replace = this.order.policy.deductible.replace;
@ -2292,6 +2301,10 @@ export const useMainStore = defineStore({
updateEndorsementQuestionAnswers(answersArray) {
this.order.policy.endorsementQuestionAnswers = answersArray;
const educatorEndorsement = answersArray.find((endorsement) => endorsement.endorsementName === endorsementOptions.EDUCATOR);
const parkingGuardEndorsement = answersArray.find((endorsement) => endorsement.endorsementName === endorsementOptions.PARKING_GUARD);
this.order.policy.educatorEndorsementAnswer = educatorEndorsement ? educatorEndorsement.selectedAnswer : null;
this.order.policy.parkingGuardEndorsementAnswer = parkingGuardEndorsement ? parkingGuardEndorsement.selectedAnswer : null;
},
updateIsRepair(isRepair) {