pass endorsement code and answers in save session
This commit is contained in:
parent
aa3306ec06
commit
368148bf6f
4 changed files with 49 additions and 3 deletions
6
src/constants/endorsement-codes.js
Normal file
6
src/constants/endorsement-codes.js
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
const endorsementCodes = Object.freeze({
|
||||
EDUCATOR: '001',
|
||||
PARKING_GUARD: '003'
|
||||
});
|
||||
|
||||
export default endorsementCodes;
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue