diff --git a/src/layouts/schedule/schedule.vue b/src/layouts/schedule/schedule.vue index 809c2d069..24db46594 100644 --- a/src/layouts/schedule/schedule.vue +++ b/src/layouts/schedule/schedule.vue @@ -422,6 +422,7 @@ export default { navigatingForward: false, isMobileAddressValid: true, shopListButton: shopListButton, + lastInshopProvider: null, }; }, async beforeRouteEnter(to, from, next) { @@ -1601,11 +1602,28 @@ export default { appointmentType: { handler(newValue, oldValue) { if (newValue === AppointmentTypeStrings.MOBILE) { + const providerExists = this.shopProviderData.shopProviders.some( + (p) => p.providerNumber === this.selectedProvider?.providerNumber + ); + if (providerExists) { + this.lastInshopProvider = this.selectedProvider; + } this.selectedProvider = new Provider( this.shopProviderData.mobileProviderNumber ); this.isMobileSelected = true; - } else { + } + else if(newValue === AppointmentTypeStrings.DROP_OFF || newValue === AppointmentTypeStrings.IN_SHOP || newValue === AppointmentTypeStrings.IN_SHOP_OR_DROP_OFF) { + const providerExists = this.shopProviderData.shopProviders.some( + (p) => p.providerNumber === this.selectedProvider?.providerNumber + ); + if (providerExists) { + this.selectedProvider = this.lastInshopProvider; + } else { + this.selectedProvider = this.shopProviderData.shopProviders[0] + } + } + else { this.selectedProvider = this.shopProviderData.shopProviders[0]; } }, @@ -1707,4 +1725,8 @@ export default { } } } +.shop-question-button .list-button-content { + background: $blue-100; + box-shadow: 0 0 0 1px $primary; +}