Merge branch 'release/2023.12.07' into rlsmerge/2023.12.07-to-develop

This commit is contained in:
CarlNation 2023-12-05 05:44:07 -05:00
commit d5fbc45004
3 changed files with 48 additions and 12 deletions

View file

@ -252,6 +252,7 @@ export default {
this.$emit("updated-mobile-fee-part", mobileFeePart); this.$emit("updated-mobile-fee-part", mobileFeePart);
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-mobile-ctu", zipCodeData.zipCodeCtu);
// update the page level model // update the page level model
this.$emit("update:modelValue", this.internalModel); this.$emit("update:modelValue", this.internalModel);

View file

@ -83,6 +83,7 @@
@updated-mobile-fee-part="setMobileFeePart" @updated-mobile-fee-part="setMobileFeePart"
@updated-serviceability="setServiceabilityDetails" @updated-serviceability="setServiceabilityDetails"
@updated-contains-military-base="setContainsMilitaryBase" @updated-contains-military-base="setContainsMilitaryBase"
@updated-mobile-ctu="setCtuForMobile"
validationRules="mobile-location-required" validationRules="mobile-location-required"
ref="mobileLocationQuestions" ref="mobileLocationQuestions"
linkWidgetName="MobileLocationLinkWidget" linkWidgetName="MobileLocationLinkWidget"
@ -128,6 +129,7 @@ import contentGroupModal from "@/fmg-components/content-group-modal/content-grou
// Supporting files // Supporting files
import baseMixin from "@/mixins/base-mixin.js"; import baseMixin from "@/mixins/base-mixin.js";
import { AppointmentTypeStrings } from "@/constants/schedule-constants";
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
import { settleAllPromises } from "@/helpers/layout-helper"; import { settleAllPromises } from "@/helpers/layout-helper";
@ -181,6 +183,7 @@ export default {
zipContainsMilitaryBase: false, zipContainsMilitaryBase: false,
zipCodeCtu: null, zipCodeCtu: null,
shopProviderData: null, shopProviderData: null,
navigatingForward: false,
}; };
}, },
async beforeRouteEnter(to, from, next) { async beforeRouteEnter(to, from, next) {
@ -374,6 +377,9 @@ export default {
this.zipContainsMilitaryBase = val; this.zipContainsMilitaryBase = val;
} }
}, },
setCtuForMobile(val) {
this.zipCodeCtu = val;
},
setMobileFeePart(mobileFeePart) { setMobileFeePart(mobileFeePart) {
this.mobileFeePart = mobileFeePart; this.mobileFeePart = mobileFeePart;
}, },
@ -472,6 +478,33 @@ export default {
} }
}, },
async forwardButtonAction() { async forwardButtonAction() {
this.navigatingForward = true;
// clear items not needed for appointmentType
if (this.selectedAppointmentType == AppointmentTypeStrings.IN_SHOP) {
// if we have a provider.zipCodeCtu that's different than the servicelocation.zipCodeCtu then they
// may have selected a shop in a different ctu. change the servicelocation zip/ctu if different
if (this.zipCodeCtu != this.selectedProvider.address.zipCodeCtu) {
this.zipCodeCtu = this.selectedProvider.address.zipCodeCtu;
this.zipCode = this.selectedProvider.address.zipCode;
}
this.city = null;
this.streetAddress = null;
}
if (
this.selectedAppointmentType == AppointmentTypeStrings.MOBILE &&
this.selectedProvider &&
this.selectedProvider.address
) {
this.selectedProvider.address.streetAddress = null;
this.selectedProvider.address.city = null;
this.selectedProvider.address.state = null;
this.selectedProvider.address.zipCode = null;
this.selectedProvider.address.zipCodeCtu = null;
}
await this.dispatchStoreAction( await this.dispatchStoreAction(
this.storeActions.SAVE_SERVICE_LOCATION, this.storeActions.SAVE_SERVICE_LOCATION,
{ {
@ -507,16 +540,18 @@ export default {
watch: { watch: {
zipCode: { zipCode: {
handler(newValue) { handler(newValue) {
getShopProviderData(this.zipCode).then(async (result) => { if (!this.navigatingForward) {
this.shopProviderData = result.data; getShopProviderData(this.zipCode).then(async (result) => {
if (this.selectedAppointmentType === "Mobile") { this.shopProviderData = result.data;
this.selectedProvider = new Provider( if (this.selectedAppointmentType === "Mobile") {
this.shopProviderData.mobileProviderNumber this.selectedProvider = new Provider(
); this.shopProviderData.mobileProviderNumber
} else { );
this.selectedProvider = new Provider(); } else {
} this.selectedProvider = new Provider();
}); }
});
}
}, },
}, },
selectedAppointmentType: { selectedAppointmentType: {

View file

@ -155,7 +155,7 @@ export default {
const deviceId = getDeviceIdValue(); // cookieNames.DXDEV const deviceId = getDeviceIdValue(); // cookieNames.DXDEV
const sessionId = getSessionIdValue(); // cookieNames.SESSION_ID const sessionId = getSessionIdValue(); // cookieNames.SESSION_ID
const userAgent = navigator.userAgent; // navigator.userAgent const userAgent = navigator.userAgent; // navigator.userAgent
const refferer = const referrer =
applicationConfig.CURRENT_ENVIRONMENT != "Localhost" ? document.referrer : null; // see above applicationConfig.CURRENT_ENVIRONMENT != "Localhost" ? document.referrer : null; // see above
const payload = { const payload = {
@ -163,7 +163,7 @@ export default {
deviceId: deviceId, deviceId: deviceId,
sessionId: sessionId, sessionId: sessionId,
userAgent: userAgent, userAgent: userAgent,
refferer: refferer, referrer: referrer,
}; };
const response = await baseMixin.methods.dispatchStoreAction( const response = await baseMixin.methods.dispatchStoreAction(