military zip alert

This commit is contained in:
Kroell 2023-04-24 13:02:15 -04:00
parent b85a8343b4
commit 1910497b2e

View file

@ -12,7 +12,15 @@
<serviceZipModalQuestion
v-model="serviceZipCodeQuestion"
ref="serviceZipCodeQuestion"
@updated-serviceability="setServiceabilityDetails"
@updated-contains-military-base="setContainsMilitaryBase"
modalWidgetName="ServiceZipModalWidget" />
<alert
ref="alertMilitaryBaseZip"
class="my-5"
cmsWidgetName="AlertMilitaryBaseZipWidget"
v-if="displayMilitaryZipAlert"
alertClass="alert-warning" />
<buttonQuestion
cmsWidgetName="ServiceTypeQuestionWidget"
:questionText="questionText"
@ -58,6 +66,7 @@ import { useMainStore } from "@/store";
import { getServiceabilityDetails, getZipCodeData } from "@/helpers/service-location-helper";
// Import Component
import alert from "@/ux-components/alert/alert";
import baseFormMixin from "@/mixins/base-form-mixin";
import baseMixin from "@/mixins/base-mixin";
import { Form, defineRule } from "vee-validate";
@ -100,6 +109,10 @@ export default {
next((vm) => {
vm.setCmsContent(resultMap.cmsContent);
vm.setData(
resultMap.zipCodeData,
resultMap.serviceabilityDetails,
)
});
},
setup() {
@ -111,7 +124,10 @@ export default {
zipCode: this.mainStore.order.customer.address.zipCode,
state: this.mainStore.order.customer.address.state,
isServiceZipServiceable: null,
isGlassServiceableMobile: null,
isRecalibrationServiceableMobile: null,
selectedAppointmentType: "",
zipContainsMilitaryBase: false,
};
},
computed: {
@ -138,6 +154,16 @@ export default {
this.$nextTick();
},
},
isServiceableMobile() {
if (this.isRecalibrationServiceableMobile !== null) {
return this.isGlassServiceableMobile && this.isRecalibrationServiceableMobile;
} else {
return this.isGlassServiceableMobile;
}
},
displayMilitaryZipAlert() {
return this.zipContainsMilitaryBase && this.isServiceableMobile;
}
},
methods: {
@ -154,7 +180,30 @@ export default {
//validate and save data here
this.$router.navigate(this.navigationScenarios.CLICKED_FORWARD, this.$route);
},
resetDependentState() {},
resetDependentState() {
},
setData(zipCodeData, serviceabilityDetails) {
if (zipCodeData) {
this.zipContainsMilitaryBase = zipCodeData.containsMilitaryBase;
}
if (serviceabilityDetails) {
this.setServiceabilityDetails(serviceabilityDetails);
}
},
setContainsMilitaryBase(val) {
if (this.zipContainsMilitaryBase !== val) {
this.zipContainsMilitaryBase = val;
}
},
setServiceabilityDetails(serviceabilityDetails) {
this.isGlassServiceableInshop = serviceabilityDetails.isGlassServiceableInshop;
this.isRecalibrationServiceableInshop =
serviceabilityDetails.isRecalibrationServiceableInshop;
this.isGlassServiceableMobile = serviceabilityDetails.isGlassServiceableMobile;
this.isRecalibrationServiceableMobile =
serviceabilityDetails.isRecalibrationServiceableMobile;
},
},
components: {
siteFooter,
@ -163,6 +212,7 @@ export default {
buttonQuestion,
Form,
serviceZipModalQuestion,
alert
},
};
</script>