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 endorsementOptions from '@/constants/endorsement-options';
|
||||||
|
import endorsementCodes from '@/constants/endorsement-codes';
|
||||||
|
|
||||||
export function noCoverageForSelectedVehicle(vehicle) {
|
export function noCoverageForSelectedVehicle(vehicle) {
|
||||||
return (vehicle?.coverages?.length ?? 0) === 0;
|
return (vehicle?.coverages?.length ?? 0) === 0;
|
||||||
|
|
@ -18,6 +19,27 @@ export function endorsementsForSelectedVehicle(vehicle) {
|
||||||
}
|
}
|
||||||
return [];
|
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) {
|
export function repairWaivedForSelectedVehicle(vehicle) {
|
||||||
return vehicle?.endorsements?.includes(endorsementOptions.REPAIR_WAIVED) ?? false;
|
return vehicle?.endorsements?.includes(endorsementOptions.REPAIR_WAIVED) ?? false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ import { useMainStore } from '@/store/index.js';
|
||||||
import {
|
import {
|
||||||
deductibleForSelectedVehicle,
|
deductibleForSelectedVehicle,
|
||||||
endorsementsForSelectedVehicle,
|
endorsementsForSelectedVehicle,
|
||||||
|
endorsementCodesForSelectedVehicle,
|
||||||
noCoverageForSelectedVehicle,
|
noCoverageForSelectedVehicle,
|
||||||
repairWaivedForSelectedVehicle
|
repairWaivedForSelectedVehicle
|
||||||
} from '@/helpers/policy-vehicle-helper';
|
} from '@/helpers/policy-vehicle-helper';
|
||||||
|
|
@ -132,6 +133,9 @@ export default {
|
||||||
endorsementsForSelectedVehicle() {
|
endorsementsForSelectedVehicle() {
|
||||||
return endorsementsForSelectedVehicle(this.selectedPolicyVehicle);
|
return endorsementsForSelectedVehicle(this.selectedPolicyVehicle);
|
||||||
},
|
},
|
||||||
|
endorsementCodesForSelectedVehicle() {
|
||||||
|
return endorsementCodesForSelectedVehicle(this.selectedPolicyVehicle);
|
||||||
|
},
|
||||||
repairWaivedForSelectedVehicle() {
|
repairWaivedForSelectedVehicle() {
|
||||||
return repairWaivedForSelectedVehicle(this.selectedPolicyVehicle);
|
return repairWaivedForSelectedVehicle(this.selectedPolicyVehicle);
|
||||||
}
|
}
|
||||||
|
|
@ -201,7 +205,8 @@ export default {
|
||||||
noCoverage: this.noCoverageForSelectedVehicle,
|
noCoverage: this.noCoverageForSelectedVehicle,
|
||||||
deductible: this.deductibleForSelectedVehicle,
|
deductible: this.deductibleForSelectedVehicle,
|
||||||
repairWaived: this.repairWaivedForSelectedVehicle,
|
repairWaived: this.repairWaivedForSelectedVehicle,
|
||||||
endorsements: this.endorsementsForSelectedVehicle
|
endorsements: this.endorsementsForSelectedVehicle,
|
||||||
|
cvrgEndorsementCode: this.endorsementCodesForSelectedVehicle
|
||||||
});
|
});
|
||||||
this.navigateForward();
|
this.navigateForward();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import bailoutCode from '@/constants/bailoutCode';
|
||||||
import coverageStatuses from '@/constants/coverage-statuses';
|
import coverageStatuses from '@/constants/coverage-statuses';
|
||||||
import coverageType from '@/constants/coverage-type';
|
import coverageType from '@/constants/coverage-type';
|
||||||
import damageLocationsSelected from '@/constants/damage-locations-selected';
|
import damageLocationsSelected from '@/constants/damage-locations-selected';
|
||||||
|
import endorsementOptions from '@/constants/endorsement-options';
|
||||||
import endpoints from '@/constants/endpoints';
|
import endpoints from '@/constants/endpoints';
|
||||||
import { experimentSettings, experimentTriggers, experimentUniverses } from '@/constants/experiments';
|
import { experimentSettings, experimentTriggers, experimentUniverses } from '@/constants/experiments';
|
||||||
import partNumberStrings from '@/constants/part-number-strings';
|
import partNumberStrings from '@/constants/part-number-strings';
|
||||||
|
|
@ -17,7 +18,7 @@ import { convertDateStringToDate, getDateDifferenceInDays, militaryToTwelveHourT
|
||||||
import { getExperimentSettingValue, getFeatureTogglesPayloadObject } from '@/helpers/experiment-helper';
|
import { getExperimentSettingValue, getFeatureTogglesPayloadObject } from '@/helpers/experiment-helper';
|
||||||
import { findLineItemIndex, getLineItemsFlattened } from '@/helpers/line-items-helper';
|
import { findLineItemIndex, getLineItemsFlattened } from '@/helpers/line-items-helper';
|
||||||
import {
|
import {
|
||||||
deductibleForSelectedVehicle, endorsementsForSelectedVehicle,
|
deductibleForSelectedVehicle, endorsementsForSelectedVehicle, endorsementCodesForSelectedVehicle,
|
||||||
noCoverageForSelectedVehicle,
|
noCoverageForSelectedVehicle,
|
||||||
repairWaivedForSelectedVehicle
|
repairWaivedForSelectedVehicle
|
||||||
} from '@/helpers/policy-vehicle-helper';
|
} from '@/helpers/policy-vehicle-helper';
|
||||||
|
|
@ -28,6 +29,7 @@ import { isMobileDevice } from '@/helpers/useragent-helper';
|
||||||
import issPageValues from '@/router/router-constants/issPage-values';
|
import issPageValues from '@/router/router-constants/issPage-values';
|
||||||
import CoverageStatuses from '@/constants/coverage-statuses';
|
import CoverageStatuses from '@/constants/coverage-statuses';
|
||||||
import { getNonFalseValuesOfPropertyInArrayOfObjects, sortArrayOfObjectsByPropertyValue } from '@/helpers/object-helper';
|
import { getNonFalseValuesOfPropertyInArrayOfObjects, sortArrayOfObjectsByPropertyValue } from '@/helpers/object-helper';
|
||||||
|
import endorsementCodes from '@/constants/endorsement-codes';
|
||||||
|
|
||||||
const storeId = 'main';
|
const storeId = 'main';
|
||||||
|
|
||||||
|
|
@ -109,6 +111,9 @@ export const getDefaultState = () => ({
|
||||||
vehicles: [],
|
vehicles: [],
|
||||||
endorsements: [],
|
endorsements: [],
|
||||||
endorsementQuestionAnswers: [],
|
endorsementQuestionAnswers: [],
|
||||||
|
cvrgEndorsementCode: null,
|
||||||
|
educatorEndorsementAnswer: null,
|
||||||
|
parkingGuardEndorsementAnswer: null,
|
||||||
status: null,
|
status: null,
|
||||||
policyData: null
|
policyData: null
|
||||||
},
|
},
|
||||||
|
|
@ -1469,7 +1474,10 @@ export const useMainStore = defineStore({
|
||||||
currentDeductible: this.currentDeductible,
|
currentDeductible: this.currentDeductible,
|
||||||
OemEndorsement: this.hasOemEndorsement,
|
OemEndorsement: this.hasOemEndorsement,
|
||||||
noCoverage: this.isNoComp,
|
noCoverage: this.isNoComp,
|
||||||
isItac: this.isITAC
|
isItac: this.isITAC,
|
||||||
|
cvrgEndorsementCode: policy.cvrgEndorsementCode,
|
||||||
|
educatorEndorsement: policy.educatorEndorsementAnswer,
|
||||||
|
parkingGuardEndorsement: policy.parkingGuardEndorsementAnswer
|
||||||
},
|
},
|
||||||
customer: {
|
customer: {
|
||||||
address: {
|
address: {
|
||||||
|
|
@ -2071,6 +2079,7 @@ export const useMainStore = defineStore({
|
||||||
this.order.policy.deductible.replace = coverage.deductible;
|
this.order.policy.deductible.replace = coverage.deductible;
|
||||||
this.order.policy.deductible.repair = coverage?.repairWaived ?? false ? 0 : coverage.deductible;
|
this.order.policy.deductible.repair = coverage?.repairWaived ?? false ? 0 : coverage.deductible;
|
||||||
this.order.policy.endorsements = coverage?.endorsements;
|
this.order.policy.endorsements = coverage?.endorsements;
|
||||||
|
this.order.policy.cvrgEndorsementCode = coverage?.cvrgEndorsementCode;
|
||||||
|
|
||||||
this.order.originalDeductible.replace = this.order.policy.deductible.replace;
|
this.order.originalDeductible.replace = this.order.policy.deductible.replace;
|
||||||
this.order.currentDeductible.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) {
|
updateEndorsementQuestionAnswers(answersArray) {
|
||||||
this.order.policy.endorsementQuestionAnswers = 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) {
|
updateIsRepair(isRepair) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue