capture if there is a provider but no timeslot
reset provider to mimic coming into page first time. * TPA probably needs similar to clear if timeslot present
This commit is contained in:
parent
f0e294a928
commit
49f65766cb
1 changed files with 13 additions and 6 deletions
|
|
@ -225,18 +225,24 @@ export default {
|
|||
async beforeRouteEnter(to, from, next) {
|
||||
// Call APIs
|
||||
const cmsContentPromise = fetchCmsContentForPage(to.query.issPage);
|
||||
const storeServiceLocation = useMainStore().order.serviceLocation;
|
||||
let storeServiceLocation = useMainStore().order.serviceLocation;
|
||||
let storeSelectedProvider = storeServiceLocation?.provider;
|
||||
|
||||
const storeSelectedSchedule = useMainStore().order.schedule;
|
||||
if (storeSelectedProvider?.providerNumber && !storeSelectedSchedule?.routeCode) {
|
||||
useMainStore().resetServiceLocationProvider();
|
||||
storeServiceLocation = useMainStore().order.serviceLocation;
|
||||
storeSelectedProvider = storeServiceLocation?.provider;
|
||||
}
|
||||
const storeSelectedAppointmentType = storeServiceLocation?.appointmentType;
|
||||
const isMobileAppointment = storeSelectedAppointmentType === AppointmentTypeStrings.MOBILE
|
||||
|| storeSelectedAppointmentType === AppointmentTypeStrings.MOBILE_NOT_ITAC_AND_NOT_NOCOMP;
|
||||
const storeSelectedProvider = storeServiceLocation?.provider;
|
||||
const serviceZipCode = storeServiceLocation?.zipCode || useMainStore().order.customer.address.zipCode;
|
||||
const zipCodeData = getZipCodeData(serviceZipCode);
|
||||
const mobileFeePartPromise = getPricedMobileFeePart(serviceZipCode);
|
||||
const serviceabilityDetailsPromise = useMainStore().getServiceabilityDetails(serviceZipCode);
|
||||
const getGlassFeesPromise = useMainStore().getGlassFees();
|
||||
const providersPromise = useMainStore().getSafeliteProviders(serviceZipCode, 150);
|
||||
|
||||
const premiumFeePromise = useMainStore().getMobilePremiumFee();
|
||||
const premiumFeeWithPricePromise = premiumFeePromise.then((result) => {
|
||||
if (result.data) {
|
||||
|
|
@ -279,7 +285,7 @@ export default {
|
|||
|
||||
// use resultMap to populate layout content.
|
||||
const resultMap = await settleAllPromises(promiseResultMap);
|
||||
const providersUnderOneHundredMiles = resultMap.providers?.shopProviders?.filter((provider) => provider.distanceMiles <= 100);
|
||||
const providersUnderOneHundredMiles = resultMap.providers?.shopProviders?.filter((provider) => provider.distanceInMiles <= 100);
|
||||
const serviceLocationData = {
|
||||
defaultMobileZipCode: isMobileAppointment
|
||||
? storeServiceLocation?.zipCode
|
||||
|
|
@ -296,9 +302,9 @@ export default {
|
|||
useMainStore().updateIsSafeliteProvider(true);
|
||||
next(async (vm) => {
|
||||
const foundProviderInFullList = resultMap.providers?.shopProviders
|
||||
.find((provider) => provider.providerNumber === storeSelectedProvider?.providerNumber) || resultMap.providers?.shopProviders[0];
|
||||
.find((provider) => provider.providerNumber === storeSelectedProvider?.providerNumber) || null;
|
||||
const foundProviderInHundredMiles = providersUnderOneHundredMiles
|
||||
.find((provider) => provider.providerNumber === storeSelectedProvider?.providerNumber) || providersUnderOneHundredMiles[0];
|
||||
.find((provider) => provider.providerNumber === storeSelectedProvider?.providerNumber) || null;
|
||||
|
||||
if (!foundProviderInHundredMiles && !foundProviderInFullList) {
|
||||
if (storeSelectedProvider?.providerNumber && resultMap.providers?.shopProviders) {
|
||||
|
|
@ -307,6 +313,7 @@ export default {
|
|||
} else if (!foundProviderInHundredMiles && foundProviderInFullList) {
|
||||
serviceLocationData.providers?.shopProviders.push(foundProviderInFullList);
|
||||
}
|
||||
|
||||
const initialServiceLocationObj = {
|
||||
mobileProviderNumber: isMobileAppointment
|
||||
? storeSelectedProvider?.providerNumber
|
||||
|
|
|
|||
Loading…
Reference in a new issue