diff --git a/src/layouts/scheduling/scheduling.vue b/src/layouts/scheduling/scheduling.vue index ea3f715b0..958c203e6 100644 --- a/src/layouts/scheduling/scheduling.vue +++ b/src/layouts/scheduling/scheduling.vue @@ -59,19 +59,28 @@ function toDateString(offsetDays, base = new Date()) { export default { name: "scheduling", async beforeRouteEnter(to, from, next) { + const serviceZipCode = store.getters.order.serviceLocation.zipCode; + + const shopProviderData = await store.dispatch("getProviders", { + payload: { serviceZipCode }, + pageNameToLog: to.name, + }); + const inShopProviderNumber = shopProviderData?.data?.shopProviders[0]?.providerNumber; + const mobileProviderNumber = shopProviderData?.data?.mobileProviderNumber; + const promiseResultMap = [ { resultKey: "cmsContent", promise: fetchCmsContentForPage(to.name), }, { - resultKey: "InshopOrDropoffTimeSlots", + resultKey: "inshopOrDropoffTimeSlots", promise: store.dispatch("getShopTimeSlots", { payload: { startDate: toDateString(0), endDate: toDateString(15), shopAppointmentType: "InshopOrDropoff", - providerNumber: "003417", + providerNumber: inShopProviderNumber, }, pageNameToLog: to.name, }), @@ -80,7 +89,9 @@ export default { const resultMap = await settleAllPromises(promiseResultMap); next((vm) => { vm.setCmsContent(resultMap.cmsContent); - vm.InshopOrDropoffTimeSlots = resultMap.InshopOrDropoffTimeSlots; + vm.inshopOrDropoffTimeSlots = resultMap.inshopOrDropoffTimeSlots; + vm.inShopProviderNumber = inShopProviderNumber; + vm.mobileProviderNumber = mobileProviderNumber; }); }, computed: { @@ -88,7 +99,7 @@ export default { return this.getCmsContent("ServiceLocationText", "Text"); }, availableDates() { - return (this.InshopOrDropoffTimeSlots?.days ?? []).map((d) => d.date); + return (this.inshopOrDropoffTimeSlots?.days ?? []).map((d) => d.date); }, }, data() { @@ -97,7 +108,9 @@ export default { isLoadingDates: false, datePickerStartDate: toDateString(0), datePickerEndDate: toDateString(15), - InshopOrDropoffTimeSlots: null, + inshopOrDropoffTimeSlots: null, + inShopProviderNumber: null, + mobileProviderNumber: null, }; }, methods: {