diff --git a/src/layouts/service-location/service-zip-modal-question/service-zip-modal-question.vue b/src/layouts/service-location/service-zip-modal-question/service-zip-modal-question.vue index 174b74523..5d9631442 100644 --- a/src/layouts/service-location/service-zip-modal-question/service-zip-modal-question.vue +++ b/src/layouts/service-location/service-zip-modal-question/service-zip-modal-question.vue @@ -140,28 +140,34 @@ export default { }, async setZipCode() { - this.resetAlerts(); + if (this.internalModel.zipCode !== this.modelValue.zipCode) + { + this.resetAlerts(); - const zipCodeData = await this.getZipCodeData(this.internalModel.zipCode); + const zipCodeData = await this.getZipCodeData(this.internalModel.zipCode); - if (!zipCodeData.isValid) { - this.displayInvalidZipAlert = true; - this.focusOnZipInput(); - this.resetModalButtonStyle(); - } else { - this.internalModel.state = zipCodeData.state; + if (!zipCodeData.isValid) { + this.displayInvalidZipAlert = true; + this.focusOnZipInput(); + this.resetModalButtonStyle(); + } else { + this.internalModel.state = zipCodeData.state; - // retrieve mobile fee part - const serviceZipCode = this.internalModel.zipCode; - const mobileFeePart = await getPricedMobileFeePart(serviceZipCode); + // retrieve mobile fee part + const serviceZipCode = this.internalModel.zipCode; + const mobileFeePart = await getPricedMobileFeePart(serviceZipCode); - // emit it to parent - this.$emit("updated-mobile-fee-part", mobileFeePart); + // emit it to parent + this.$emit("updated-mobile-fee-part", mobileFeePart); - // Update the page level model - this.$emit("update:modelValue", this.internalModel); - this.$emit("updated-contains-military-base", zipCodeData.containsMilitaryBase); + // Update the page level model + this.$emit("update:modelValue", this.internalModel); + this.$emit("updated-contains-military-base", zipCodeData.containsMilitaryBase); + this.closeModal(); + } + } + else { this.closeModal(); } },