diff --git a/src/experiment-components/date-picker-2.vue b/src/experiment-components/date-picker-for-pricing-by-day.vue
similarity index 99%
rename from src/experiment-components/date-picker-2.vue
rename to src/experiment-components/date-picker-for-pricing-by-day.vue
index 414f794e0..df4c9b140 100644
--- a/src/experiment-components/date-picker-2.vue
+++ b/src/experiment-components/date-picker-for-pricing-by-day.vue
@@ -99,8 +99,16 @@
// Supporting files
import loader from "@/ux-components/loader/loader";
import store from "@/store";
-import { TIMINGFUNC_MAP, BUFFER_OFFSET, MONTHS_OF_YEAR } from "@/digital-components/date-picker/mixins/constants";
-import { selectableDaysOptions, requiredParameter, forceTwoDigitString } from "@/digital-components/date-picker/mixins/helpers";
+import {
+ TIMINGFUNC_MAP,
+ BUFFER_OFFSET,
+ MONTHS_OF_YEAR,
+} from "@/digital-components/date-picker/mixins/constants";
+import {
+ selectableDaysOptions,
+ requiredParameter,
+ forceTwoDigitString,
+} from "@/digital-components/date-picker/mixins/helpers";
import {
convertDateToDateString,
convertDateStringToDate,
@@ -111,7 +119,7 @@ import { deepClone } from "@/helpers/object-helper";
import { v4 as uuidv4 } from "uuid";
export default {
- name: "datePicker2",
+ name: "datePickerForPricingByDay",
data() {
return {
isLoading: true,
diff --git a/src/helpers/recal-helper.js b/src/helpers/recal-helper.js
index c73755e8f..d43da5d34 100644
--- a/src/helpers/recal-helper.js
+++ b/src/helpers/recal-helper.js
@@ -58,3 +58,15 @@ export function getTopLevelPartsWithRecal(lineItems) {
return lineItems.filter((li) => isRecalPartOrHasChildRecalPart(li));
}
+
+export function getRecalPartNumbers(glassPartsArray) {
+ if (glassPartsArray && glassPartsArray.length > 0) {
+ const topLevel = glassPartsArray.filter((gp) => isRecalPart(gp)).map((gp) => gp.partNumber);
+
+ const children = glassPartsArray.map((gp) => getRecalPartNumbers(gp.childParts)).flat();
+
+ return [...topLevel, ...children];
+ } else {
+ return [];
+ }
+}
diff --git a/src/layouts/address-lookup/address-lookup.vue b/src/layouts/address-lookup/address-lookup.vue
index e069ee48d..08f602fb4 100644
--- a/src/layouts/address-lookup/address-lookup.vue
+++ b/src/layouts/address-lookup/address-lookup.vue
@@ -357,15 +357,18 @@ export default {
false
);
- if (vinPagesMixin.methods.isPhoneNumber(this.customerQuestions.emailOrSms)) {
- const phone = this.customerQuestions.emailOrSms.replace(/[()]/g, "");
- await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);
- } else {
- await this.dispatchStoreAction(
- storeActions.SAVE_EMAIL,
- this.customerQuestions.emailOrSms,
- false
- );
+ // if no value due to field being optional, blank both phone and email address
+ if (!this.customerQuestions.emailOrSms) {
+ await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false);
+ await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false);
+ }
+ else {
+ if (vinPagesMixin.methods.isPhoneNumber(this.customerQuestions.emailOrSms)) {
+ const phone = this.customerQuestions.emailOrSms.replace(/[()]/g, "");
+ await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);
+ } else {
+ await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.customerQuestions.emailOrSms, false);
+ }
}
await this.dispatchStoreAction(
diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue
index e1b3f721e..6f6521dde 100644
--- a/src/layouts/license-plate-lookup/license-plate-lookup.vue
+++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue
@@ -311,11 +311,18 @@ export default {
false
);
- if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) {
- const phone = this.emailOrSms.replace(/[()]/g, "");
- await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);
- } else {
- await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false);
+ // if no value due to field being optional, blank both phone and email address
+ if (!this.emailOrSms) {
+ await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false);
+ await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false);
+ }
+ else {
+ if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) {
+ const phone = this.emailOrSms.replace(/[()]/g, "");
+ await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);
+ } else {
+ await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false);
+ }
}
await this.dispatchStoreAction(
diff --git a/src/layouts/schedule/schedule.vue b/src/layouts/schedule/schedule.vue
index 0853664e2..27587d08c 100644
--- a/src/layouts/schedule/schedule.vue
+++ b/src/layouts/schedule/schedule.vue
@@ -18,8 +18,8 @@
marginTopSizeOverride="1" />
-
- 0 && carId) {
+ let additionalQueryParams = ``;
+ for (let i = 0; i < recalPartNumbers.length; i++) {
+ additionalQueryParams += `&partNumbers[${i}]=${recalPartNumbers[i]}`;
+ }
+ additionalQueryParams += `&carId=${carId}`;
+ endPoint += additionalQueryParams;
}
if (coverageStatus) {
@@ -3760,15 +3766,3 @@ function getExternalParameterDefaultState() {
function saveExternalParameterState(externalParameterState) {
window.sessionStorage.setItem("externalParameterState", JSON.stringify(externalParameterState));
}
-
-//This function finds the recalibration part and returns the part number for it.
-function getRecalPartNumber(glassPartsArray) {
- const recalPart = glassPartsArray.childParts.find(
- (item) => item.partType === partTypeStrings.ADAS_RECALIBRATION
- );
- if (recalPart) {
- return recalPart.partNumber;
- } else {
- return null;
- }
-}