Merge branch 'release/2025.02.27' into feature/CASH-153
This commit is contained in:
commit
ca65ba6659
5 changed files with 69 additions and 39 deletions
|
|
@ -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 [];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -330,11 +330,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(
|
||||
|
|
@ -380,11 +387,18 @@ export default {
|
|||
);
|
||||
}
|
||||
|
||||
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(
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ import {
|
|||
containsRecalParts,
|
||||
getTopLevelPartsWithRecal,
|
||||
isRecalPartOrHasChildRecalPart,
|
||||
getRecalPartNumbers,
|
||||
} from "@/helpers/recal-helper";
|
||||
import { externalParameterStatus } from "@/constants/external-parameters";
|
||||
import { experimentSettings } from "@/constants/experiments";
|
||||
|
|
@ -1712,10 +1713,15 @@ export const actions = {
|
|||
|
||||
var endPoint = `${endpoints.GetMobileFeePart.url}/?serviceType=${serviceType}&facilityType=${facilityType}&parentAccountNumber=${parentAccountNumber}&billToAccountNumber=${billToAccountNumber}&providerNumber=${providerNumber}&isItacOptimized=${isItacOptimized}&zipCode=${zipCode}`;
|
||||
|
||||
const recalPartNumber = getRecalPartNumber(order.lineItems?.glassParts[0]);
|
||||
const recalPartNumbers = getRecalPartNumbers(order.lineItems?.glassParts);
|
||||
const carId = order.vehicle?.carId;
|
||||
if (recalPartNumber && carId) {
|
||||
endPoint = `${endPoint}&partNumbers=${recalPartNumber}&carId=${carId}`;
|
||||
if (recalPartNumbers && recalPartNumbers.length > 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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue