CSR-1144
reset schedule data when appointment data for early bird not found
This commit is contained in:
parent
af8db1c343
commit
b1a2bd4e00
1 changed files with 51 additions and 16 deletions
|
|
@ -11,7 +11,7 @@ import { damageLocationsSelected } from "@/constants/damage-locations-selected";
|
|||
import { fmgPageValues } from "@/router/router-constants/fmgPage-values";
|
||||
import router from "@/router";
|
||||
import { deleteFunnelCookie } from "@/helpers/heritage-integration/cookie-helper.js";
|
||||
import { AppointmentTypeStrings } from "@/constants/schedule-constants";
|
||||
import { AppointmentTypeStrings, PREMIUM_FEE_PART_TYPE } from "@/constants/schedule-constants";
|
||||
|
||||
// Export State
|
||||
const getDefaultState = () => {
|
||||
|
|
@ -1406,6 +1406,7 @@ export const actions = {
|
|||
if (context.state.order.eon && context.state.order.eon != response.data.eon) {
|
||||
context.commit(storeMutations.RESET_STATE);
|
||||
}
|
||||
|
||||
context.commit(
|
||||
storeMutations.UPDATE_STATE_WITH_ORDER_INFORMATION,
|
||||
response.data
|
||||
|
|
@ -2070,6 +2071,40 @@ async function validateAppointment(context, order) {
|
|||
},
|
||||
false
|
||||
);
|
||||
|
||||
if (newTimeSlotsResponse?.data.days?.length === 0) {
|
||||
context.commit(storeMutations.RESET_SCHEDULE);
|
||||
return;
|
||||
}
|
||||
|
||||
var mobileRouteCodeFound = false;
|
||||
// if early bird fee is in supporting items then need to check the timeslot to see if offer premium is also still available
|
||||
if (
|
||||
order.lineItem?.supportingItems?.findIndex(
|
||||
(item) => item.partNumber == PREMIUM_FEE_PART_TYPE
|
||||
)
|
||||
) {
|
||||
newTimeSlotsResponse.data.days?.forEach((day) => {
|
||||
day.timeSlots.forEach((ts) => {
|
||||
if (ts.id === order.schedule.routeCode && ts.offerPremium) {
|
||||
mobileRouteCodeFound = true;
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
newTimeSlotsResponse.data.days?.forEach((day) => {
|
||||
day.timeSlots.forEach((ts) => {
|
||||
if (ts.id === order.schedule.routeCode) {
|
||||
mobileRouteCodeFound = true;
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if (!mobileRouteCodeFound) {
|
||||
context.commit(storeMutations.RESET_SCHEDULE);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
newTimeSlotsResponse = await context.dispatch(
|
||||
storeActions.GET_SHOP_TIME_SLOTS,
|
||||
|
|
@ -2081,24 +2116,24 @@ async function validateAppointment(context, order) {
|
|||
},
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
if (newTimeSlotsResponse?.data.days?.length === 0) {
|
||||
context.commit(storeMutations.RESET_SCHEDULE);
|
||||
return;
|
||||
}
|
||||
if (newTimeSlotsResponse?.data.days?.length === 0) {
|
||||
context.commit(storeMutations.RESET_SCHEDULE);
|
||||
return;
|
||||
}
|
||||
|
||||
var routeCodeFound = false;
|
||||
newTimeSlotsResponse.data.days?.forEach((day) => {
|
||||
day.timeSlots.forEach((ts) => {
|
||||
if (ts.id === order.schedule.routeCode) {
|
||||
routeCodeFound = true;
|
||||
}
|
||||
var routeCodeFound = false;
|
||||
newTimeSlotsResponse.data.days?.forEach((day) => {
|
||||
day.timeSlots.forEach((ts) => {
|
||||
if (ts.id === order.schedule.routeCode) {
|
||||
routeCodeFound = true;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
if (!routeCodeFound) {
|
||||
context.commit(storeMutations.RESET_SCHEDULE);
|
||||
return;
|
||||
if (!routeCodeFound) {
|
||||
context.commit(storeMutations.RESET_SCHEDULE);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue