Merge pull request #1986 from Safelite/feature/Digital/CSR-1629

CSR-1629
This commit is contained in:
hiteshkumar87 2024-09-20 13:44:25 +05:30 committed by GitHub
commit 45bb5257d5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -545,7 +545,7 @@ export default {
let accountType = "";
let amount = 0;
let cjEvent = "";
if (store.getters.applicationUser.affiliateCookies) {
if (store.getters.applicationUser.affiliateCookies?.length > 0) {
const affiliateCookies = store.getters.applicationUser.affiliateCookies;
var cookieArray = [];
affiliateCookies.forEach((item) => {
@ -557,48 +557,55 @@ export default {
new Date(b.timestamp.replace("/", "T")) -
new Date(a.timestamp.replace("/", "T"))
);
cjEvent = sortedCookies?.[0]?.tagEvent;
const hasSubmittedOrder = baseMixin.methods.hasSubmittedOrder();
const submittedOrder = baseMixin.methods.getSubmittedOrder();
const filteredCookie = sortedCookies?.find(
(x) => x.tagEvent?.length > 0 && x.batchEvent?.length > 0
);
if (filteredCookie?.length > 0) {
cjEvent = filteredCookie.tagEvent;
const hasSubmittedOrder = baseMixin.methods.hasSubmittedOrder();
const submittedOrder = baseMixin.methods.getSubmittedOrder();
if (hasSubmittedOrder) {
repairReplace = submittedOrder.damage.isRepair ? "Repair" : "Replace";
const promos = submittedOrder.lineItems.promos ?? [];
if (promos.length === 0) {
coupons = "";
} else {
const promoCodes = promos.map((promo) => promo.promoCode);
const promoString = promoCodes.reduce((prev, next) => `${prev}_${next}`);
coupons = promoString;
}
refSequenceNum = submittedOrder.referralSequenceNumber;
if (hasSubmittedOrder) {
repairReplace = submittedOrder.damage.isRepair ? "Repair" : "Replace";
const promos = submittedOrder.lineItems.promos ?? [];
if (promos.length === 0) {
coupons = "";
} else {
const promoCodes = promos.map((promo) => promo.promoCode);
const promoString = promoCodes.reduce(
(prev, next) => `${prev}_${next}`
);
coupons = promoString;
}
refSequenceNum = submittedOrder.referralSequenceNumber;
if (isDefined(submittedOrder.payment.isInsurance)) {
accountType = submittedOrder.payment.isInsurance ? "insurance" : "cash";
} else {
accountType = "";
}
const lineItems = submittedOrder.lineItems ?? {};
const combinedLineItems = [
...(lineItems.glassParts ?? []),
...(lineItems.supportingItems ?? []),
...(lineItems.vaps ?? []),
...(lineItems.promos ?? []),
];
if (isDefined(submittedOrder.payment.isInsurance)) {
accountType = submittedOrder.payment.isInsurance ? "insurance" : "cash";
} else {
accountType = "";
}
const lineItems = submittedOrder.lineItems ?? {};
const combinedLineItems = [
...(lineItems.glassParts ?? []),
...(lineItems.supportingItems ?? []),
...(lineItems.vaps ?? []),
...(lineItems.promos ?? []),
];
const isPricingAvailable =
combinedLineItems.length > 0 &&
combinedLineItems.every(
(lineItem) =>
isDefined(lineItem.kitPrice) &&
isDefined(lineItem.laborAmount) &&
isDefined(lineItem.sellingPrice)
);
if (accountType == "cash" && isPricingAvailable) {
const quoteAmountWithDiscount = baseMixin.methods
.getTotalPriceOfAllLineItemsAndChildParts(combinedLineItems, false)
.toFixed(2);
amount = parseFloat(quoteAmountWithDiscount);
const isPricingAvailable =
combinedLineItems.length > 0 &&
combinedLineItems.every(
(lineItem) =>
isDefined(lineItem.kitPrice) &&
isDefined(lineItem.laborAmount) &&
isDefined(lineItem.sellingPrice)
);
if (accountType == "cash" && isPricingAvailable) {
const quoteAmountWithDiscount = baseMixin.methods
.getTotalPriceOfAllLineItemsAndChildParts(combinedLineItems, false)
.toFixed(2);
amount = parseFloat(quoteAmountWithDiscount);
}
}
}
}