Merge pull request #2677 from Safelite/feature/CASH-1221

CASH-1221
This commit is contained in:
bmauger 2025-07-22 13:07:13 -04:00 committed by GitHub
commit 5b4e4d1b45
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 17 additions and 2 deletions

View file

@ -307,6 +307,7 @@ export default {
}, },
set(newSelectedDate) { set(newSelectedDate) {
this.$emit("update:modelValue", newSelectedDate); this.$emit("update:modelValue", newSelectedDate);
this.dispatchStoreAction(this.storeActions.SAVE_WAITLIST_REQUESTED, false, false);
}, },
}, },
dropOffDurationText() { dropOffDurationText() {

View file

@ -22,6 +22,7 @@
@updated-serviceability="setServiceabilityDetails" @updated-serviceability="setServiceabilityDetails"
@updated-contains-military-base="setContainsMilitaryBase" @updated-contains-military-base="setContainsMilitaryBase"
@updated-bill-to-account-number="setBillToAccountNumber" @updated-bill-to-account-number="setBillToAccountNumber"
@reset-waitlist="resetWaitlist"
linkWidgetName="ServiceZipLinkWidget" linkWidgetName="ServiceZipLinkWidget"
modalWidgetName="ServiceZipModalWidget" /> modalWidgetName="ServiceZipModalWidget" />
<alert <alert
@ -991,6 +992,10 @@ export default {
this.isVehicleProtected = null; this.isVehicleProtected = null;
}, },
resetWaitlist() {
this.dispatchStoreAction(this.storeActions.SAVE_WAITLIST_REQUESTED, false, false);
this.waitListRequested = false;
},
setServiceabilityDetails(serviceabilityDetails) { setServiceabilityDetails(serviceabilityDetails) {
this.isGlassServiceableInshop = serviceabilityDetails.isGlassServiceableInshop; this.isGlassServiceableInshop = serviceabilityDetails.isGlassServiceableInshop;
this.isRecalibrationServiceableInshop = this.isRecalibrationServiceableInshop =
@ -1105,6 +1110,7 @@ export default {
}; };
}, },
onShopSelected(shopQuestionPopUpData) { onShopSelected(shopQuestionPopUpData) {
this.resetWaitlist();
this.shopProviderData = shopQuestionPopUpData.shopProviderData; this.shopProviderData = shopQuestionPopUpData.shopProviderData;
this.setServiceabilityDetails(shopQuestionPopUpData.serviceabilityDetails); this.setServiceabilityDetails(shopQuestionPopUpData.serviceabilityDetails);
const selectedProvider = this.shopProviderData.shopProviders.find((shopProvider) => { const selectedProvider = this.shopProviderData.shopProviders.find((shopProvider) => {

View file

@ -76,6 +76,7 @@ import alert from "@/ux-components/alert/alert.vue";
import experimentMixin from "@/mixins/experiment-mixin"; import experimentMixin from "@/mixins/experiment-mixin";
import { experimentSettings } from "@/constants/experiments"; import { experimentSettings } from "@/constants/experiments";
import store from "@/store"; import store from "@/store";
import { storeActions } from "@/constants/store-actions";
// Helpers // Helpers
import { deepClone } from "@/helpers/object-helper"; import { deepClone } from "@/helpers/object-helper";
@ -144,7 +145,6 @@ export default {
return { return {
selectedRouteCode: null, selectedRouteCode: null,
timeSlotModalListButton: timeSlotModalListButton, timeSlotModalListButton: timeSlotModalListButton,
waitListRequested: this.getWaitListRequestedFromStore(),
selectedAnswerForDropOffOrInshop: null, selectedAnswerForDropOffOrInshop: null,
selectedAnswerForTimeSlots: null, selectedAnswerForTimeSlots: null,
}; };
@ -345,6 +345,14 @@ export default {
waitListSuccessText() { waitListSuccessText() {
return this.getCmsContent("WaitListSuccessWidget", "BodyText"); return this.getCmsContent("WaitListSuccessWidget", "BodyText");
}, },
waitListRequested: {
get() {
return this.$store.getters.order.customer?.waitListRequested;
},
set(value) {
this.dispatchStoreAction(storeActions.SAVE_WAITLIST_REQUESTED, value);
},
},
isMobileAppointment() { isMobileAppointment() {
return this.appointmentType === AppointmentTypeStrings.MOBILE; return this.appointmentType === AppointmentTypeStrings.MOBILE;
}, },

View file

@ -219,7 +219,7 @@ export default {
this.$emit("updated-serviceability", serviceabilityDetails.data); this.$emit("updated-serviceability", serviceabilityDetails.data);
this.$emit("updated-contains-military-base", zipCodeData.containsMilitaryBase); this.$emit("updated-contains-military-base", zipCodeData.containsMilitaryBase);
this.$emit("updated-bill-to-account-number", billToAccountNumber); this.$emit("updated-bill-to-account-number", billToAccountNumber);
this.$emit("reset-waitlist");
// update the page level model // update the page level model
this.$emit("update:modelValue", this.internalModel); this.$emit("update:modelValue", this.internalModel);