CSR-1971 | Reworking quote page
This commit is contained in:
parent
37b876f72c
commit
e67b661279
2 changed files with 18 additions and 14 deletions
|
|
@ -99,7 +99,7 @@ export default {
|
||||||
props: {
|
props: {
|
||||||
modelValue: Object,
|
modelValue: Object,
|
||||||
modalWidgetName: String,
|
modalWidgetName: String,
|
||||||
availableVaps: Object,
|
addableVaps: Object,
|
||||||
pageName: String,
|
pageName: String,
|
||||||
taxPromos: {
|
taxPromos: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
|
|
@ -192,14 +192,14 @@ export default {
|
||||||
resetModalButtonStyle() {
|
resetModalButtonStyle() {
|
||||||
this.modal.resetButtonStyle();
|
this.modal.resetButtonStyle();
|
||||||
},
|
},
|
||||||
async getPromoCodeData(promoCode, lineItems, availableVaps, pageNameToLog = null) {
|
async getPromoCodeData(promoCode, lineItems, addableVaps, pageNameToLog = null) {
|
||||||
const pageName = pageNameToLog ?? this.$options?.name;
|
const pageName = pageNameToLog ?? this.$options?.name;
|
||||||
const promoValidationResponse = await baseMixin.methods.dispatchStoreActionWithLogging(
|
const promoValidationResponse = await baseMixin.methods.dispatchStoreActionWithLogging(
|
||||||
storeActions.VALIDATE_ORDER_PROMO_AND_SAVE_SERVER_DATA,
|
storeActions.VALIDATE_ORDER_PROMO_AND_SAVE_SERVER_DATA,
|
||||||
{
|
{
|
||||||
promoCode: promoCode,
|
promoCode: promoCode,
|
||||||
lineItemsToUse: lineItems,
|
lineItemsToUse: lineItems,
|
||||||
addableVaps: availableVaps,
|
addableVaps: addableVaps,
|
||||||
},
|
},
|
||||||
pageName,
|
pageName,
|
||||||
false
|
false
|
||||||
|
|
@ -264,7 +264,7 @@ export default {
|
||||||
const promoCodeData = await this.getPromoCodeData(
|
const promoCodeData = await this.getPromoCodeData(
|
||||||
this.promoCode,
|
this.promoCode,
|
||||||
this.lineItems,
|
this.lineItems,
|
||||||
this.availableVaps,
|
this.addableVaps,
|
||||||
this.pageName
|
this.pageName
|
||||||
);
|
);
|
||||||
if (promoCodeData.isValid) {
|
if (promoCodeData.isValid) {
|
||||||
|
|
@ -298,7 +298,7 @@ export default {
|
||||||
);
|
);
|
||||||
const taxedVaps = mapTaxedLineItemsToStoreFormat(
|
const taxedVaps = mapTaxedLineItemsToStoreFormat(
|
||||||
taxedLineItems,
|
taxedLineItems,
|
||||||
this.availableVaps
|
this.addableVaps
|
||||||
);
|
);
|
||||||
|
|
||||||
const getVaps = getVapsThatNeedToBeAddedToSatisfyPromos(
|
const getVaps = getVapsThatNeedToBeAddedToSatisfyPromos(
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
<promoModalQuestion
|
<promoModalQuestion
|
||||||
class="small mt-4"
|
class="small mt-4"
|
||||||
v-model="lineItems"
|
v-model="lineItems"
|
||||||
:availableVaps="availableVaps"
|
:addableVaps="addableVaps"
|
||||||
pageName="quote"
|
pageName="quote"
|
||||||
:taxPromos="false"
|
:taxPromos="false"
|
||||||
modalWidgetName="PromoModalWidget" />
|
modalWidgetName="PromoModalWidget" />
|
||||||
|
|
@ -149,8 +149,14 @@ export default {
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// -Check PRs to make sure you've looked at all newly added code
|
||||||
|
// -Briefly investigate new issue, then ask Sneha to look at it via email
|
||||||
|
// -Undo the package selection fix sneha did and see if my changes fix that
|
||||||
|
|
||||||
const resultMap = await settleAllPromises(promiseResultMap);
|
const resultMap = await settleAllPromises(promiseResultMap);
|
||||||
const lineItems = deepClone(store.getters.order.lineItems);
|
const lineItems = deepClone(store.getters.order.lineItems);
|
||||||
|
lineItems.promos = lineItems.promos ?? [];
|
||||||
|
lineItems.vaps = lineItems.vaps ?? [];
|
||||||
const nullSafeGlassParts = lineItems.glassParts ?? [];
|
const nullSafeGlassParts = lineItems.glassParts ?? [];
|
||||||
const availableLineItems = [
|
const availableLineItems = [
|
||||||
resultMap.rainDefense,
|
resultMap.rainDefense,
|
||||||
|
|
@ -173,10 +179,11 @@ export default {
|
||||||
resultMap.supportingItems,
|
resultMap.supportingItems,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
lineItems.supportingItems = resultMap.supportingItems;
|
||||||
|
|
||||||
// Promo logic
|
// Promo logic
|
||||||
// Populate the previous state of promos for toast message usage in "next()"
|
// Populate the previous state of promos for toast message usage in "next()"
|
||||||
const availableVaps = [...resultMap.wipers, resultMap.rainDefense];
|
const addableVaps = [...resultMap.wipers, resultMap.rainDefense];
|
||||||
const oldActivePromos = store.getters.lineItems.promos?.slice(0);
|
const oldActivePromos = store.getters.lineItems.promos?.slice(0);
|
||||||
const oldInactivePromos = store.getters.order.payment.inactivePromos?.slice(0);
|
const oldInactivePromos = store.getters.order.payment.inactivePromos?.slice(0);
|
||||||
|
|
||||||
|
|
@ -189,16 +196,13 @@ export default {
|
||||||
pricingResults,
|
pricingResults,
|
||||||
"quote"
|
"quote"
|
||||||
);
|
);
|
||||||
lineItems.glassParts = nullSafeGlassParts;
|
|
||||||
lineItems.promos = lineItems.promos ?? [];
|
|
||||||
lineItems.vaps = lineItems.vaps ?? [];
|
|
||||||
console.log("lineItems.vaps", JSON.parse(JSON.stringify(lineItems.vaps)));
|
console.log("lineItems.vaps", JSON.parse(JSON.stringify(lineItems.vaps)));
|
||||||
// End of promo logic
|
// End of promo logic
|
||||||
|
|
||||||
// Call the "next" function to complete the transition to this page.
|
// Call the "next" function to complete the transition to this page.
|
||||||
next((vm) => {
|
next((vm) => {
|
||||||
vm.setCmsContent(resultMap.cmsContent);
|
vm.setCmsContent(resultMap.cmsContent);
|
||||||
vm.availableVaps = availableVaps;
|
vm.addableVaps = addableVaps;
|
||||||
vm.lineItems = lineItems;
|
vm.lineItems = lineItems;
|
||||||
vm.availableLineItems = pricingResults;
|
vm.availableLineItems = pricingResults;
|
||||||
vm.isInsuranceSelected = vm.getDefaultIsInsuranceSelectedValue(vm.availableLineItems);
|
vm.isInsuranceSelected = vm.getDefaultIsInsuranceSelectedValue(vm.availableLineItems);
|
||||||
|
|
@ -228,7 +232,7 @@ export default {
|
||||||
isInsuranceSelected: null,
|
isInsuranceSelected: null,
|
||||||
availableLineItems: null,
|
availableLineItems: null,
|
||||||
lineItems: [],
|
lineItems: [],
|
||||||
availableVaps: [],
|
addableVaps: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|
@ -307,7 +311,7 @@ export default {
|
||||||
this.$store.getters.order.payment.parentAccountNumber !=
|
this.$store.getters.order.payment.parentAccountNumber !=
|
||||||
applicationConfig.CASH_PARENT_ACCOUNT_NUMBER
|
applicationConfig.CASH_PARENT_ACCOUNT_NUMBER
|
||||||
) {
|
) {
|
||||||
this.supportingItems = this.filterOutFees(this.supportingItems);
|
this.lineItems.supportingItems = this.filterOutFees(this.lineItems.supportingItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.lineItems.glassParts?.length > 0) {
|
if (this.lineItems.glassParts?.length > 0) {
|
||||||
|
|
@ -323,7 +327,7 @@ export default {
|
||||||
storeActions.SAVE_ACTIVE_AND_OR_INACTIVE_PROMOS,
|
storeActions.SAVE_ACTIVE_AND_OR_INACTIVE_PROMOS,
|
||||||
{
|
{
|
||||||
activePromos: this.lineItems.promos,
|
activePromos: this.lineItems.promos,
|
||||||
inactivePromos: this.$store.getters.order.payment.inactivePromos,
|
inactivePromos: this.$store.getters.order.payment.inactivePromos, // I don't think we need this here
|
||||||
},
|
},
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue