policy vehicle update

This commit is contained in:
Bill Richardson 2025-12-03 12:51:09 -05:00
parent c1d14593af
commit b0dc48d7ef

View file

@ -4,29 +4,23 @@
v-slot="{ meta }" v-slot="{ meta }"
@submit="onSubmit" @submit="onSubmit"
@invalidSubmit="onInvalidSubmit"> @invalidSubmit="onInvalidSubmit">
<div class="container-fluid fade-on-route-transition policy-vehicles"> <div class="fade-on-route-transition policy-vehicles">
<div class="row justify-content-center"> <div class="justify-content-center">
<div class="col-md-6 px-0 px-md-2"> <siteHeader
<siteHeader class="header"
class="mb-2 header" cmsWidgetName="SiteHeaderWidget" />
cmsWidgetName="SiteHeaderWidget" />
</div>
</div> </div>
<div class="row justify-content-center"> <div class="iss-heritage-container-width">
<div class="col-md-6 col-xl-4"> <div class="policy-vehicles-container iss-heritage-content-container-width">
<div class="select-car-form rounded text-center"> <div class="select-car-form rounded text-center">
<vehicleBanner
cmsWidgetName="VehicleBannerWidget"
:displayGenericVehicleImage="displayGeneric"
class="mt-2" />
<policyVehiclesQuestion <policyVehiclesQuestion
v-model="selectedVehicleVin" v-model="selectedVehicleVin"
cmsWidgetName="PolicyVehiclesQuestion" cmsWidgetName="PolicyVehiclesQuestion"
:vehicles="VehiclesForQuestions" :vehicles="VehiclesForQuestions"
:validationRules="rules.optionRequired" /> :validationRules="rules.optionRequired" />
<alert <alert
ref="AlertNoService"
v-if="displayNoServiceAlert" v-if="displayNoServiceAlert"
ref="AlertNoService"
class="mt-3" class="mt-3"
cmsWidgetName="AlertVehicleSelection" cmsWidgetName="AlertVehicleSelection"
alertClass="alert-danger" alertClass="alert-danger"
@ -47,7 +41,6 @@
// Components // Components
import siteHeader from '@/iss-components/site-header/site-header.vue'; import siteHeader from '@/iss-components/site-header/site-header.vue';
import siteFooter from '@/iss-components/site-footer/site-footer.vue'; import siteFooter from '@/iss-components/site-footer/site-footer.vue';
import vehicleBanner from '@/iss-components/vehicle-banner/vehicle-banner.vue';
import policyVehiclesQuestion from '@/layouts/policy-vehicles/policy-vehicles-question/policy-vehicles-question.vue'; import policyVehiclesQuestion from '@/layouts/policy-vehicles/policy-vehicles-question/policy-vehicles-question.vue';
// Supporting files // Supporting files
import { fetchCmsContentForPage } from '@/helpers/cms-content-helper.js'; import { fetchCmsContentForPage } from '@/helpers/cms-content-helper.js';
@ -72,7 +65,6 @@ export default {
components: { components: {
siteHeader, siteHeader,
siteFooter, siteFooter,
vehicleBanner,
policyVehiclesQuestion, policyVehiclesQuestion,
// eslint-disable-next-line vue/no-reserved-component-names // eslint-disable-next-line vue/no-reserved-component-names
Form, Form,
@ -94,7 +86,6 @@ export default {
return { return {
policyVehicles, policyVehicles,
selectedVehicleVin: '', selectedVehicleVin: '',
displayGeneric: true,
policyVinFound: true, policyVinFound: true,
rules: { rules: {
optionRequired: globalRules.OPTION_REQUIRED optionRequired: globalRules.OPTION_REQUIRED
@ -150,7 +141,6 @@ export default {
if (value === vehicleSelectionOptions.VEHICLE_NOT_LISTED) { if (value === vehicleSelectionOptions.VEHICLE_NOT_LISTED) {
// clear previously selected vehicle and image // clear previously selected vehicle and image
this.mainStore.resetVehicleState(); this.mainStore.resetVehicleState();
this.displayGeneric = true;
} else { } else {
// get vehicle details from selected VIN // get vehicle details from selected VIN
const vehicle = await this.lookupVehicleByVin(value); const vehicle = await this.lookupVehicleByVin(value);
@ -158,7 +148,6 @@ export default {
// handle error in case vehicle info doesn't come back for selected VIN // handle error in case vehicle info doesn't come back for selected VIN
if (vehicle?.error === true) { if (vehicle?.error === true) {
this.mainStore.resetVehicleState(); this.mainStore.resetVehicleState();
this.displayGeneric = true;
return; return;
} }
if (!vehicle?.data.canSafeliteService) { if (!vehicle?.data.canSafeliteService) {
@ -167,7 +156,6 @@ export default {
} }
if (vehicle) { if (vehicle) {
// save selected vehicle to the store // save selected vehicle to the store
this.displayGeneric = false;
useMainStore().updateVehicle({ useMainStore().updateVehicle({
...vehicle.data, ...vehicle.data,
policyVehicleId: this.selectedPolicyVehicle?.id, policyVehicleId: this.selectedPolicyVehicle?.id,
@ -232,8 +220,7 @@ export default {
repairWaived: this.repairWaivedForSelectedVehicle, repairWaived: this.repairWaivedForSelectedVehicle,
endorsements: this.endorsementsForSelectedVehicle endorsements: this.endorsementsForSelectedVehicle
}); });
} } else {
else {
useMainStore().updateCoverageType(coverageType.NONE); useMainStore().updateCoverageType(coverageType.NONE);
} }
return this.navigateForward(); return this.navigateForward();
@ -292,6 +279,15 @@ export default {
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.iss-heritage-container-width {
.policy-vehicles-container {
position: relative;
min-height: 1px;
padding-left: .9375rem;
padding-right: .9375rem;
}
}
.policy-vehicles { .policy-vehicles {
.button-question { .button-question {
.question-text { .question-text {