CSR-774 | Default package selection
Fixed a bug with save/load session
This commit is contained in:
parent
e5087a4f35
commit
b613623aa0
2 changed files with 61 additions and 13 deletions
|
|
@ -4,7 +4,7 @@
|
||||||
:groupName="groupName"
|
:groupName="groupName"
|
||||||
buttonTypeString="servicePackageRadio"
|
buttonTypeString="servicePackageRadio"
|
||||||
:buttonTypeObject="servicePackageRadio"
|
:buttonTypeObject="servicePackageRadio"
|
||||||
v-model="selectedValues"
|
v-model="selectedPackageName"
|
||||||
isRequired />
|
isRequired />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -35,19 +35,23 @@ export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
servicePackageRadio: servicePackageRadio,
|
servicePackageRadio: servicePackageRadio,
|
||||||
|
selectedPackageName: null,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
watch: {
|
||||||
selectedValues: {
|
availableLineItems() {
|
||||||
get: function () {
|
console.log('supportingItems from store', this.$store.getters.lineItems.supportingItems);
|
||||||
return this.modelValue;
|
if(this.$store.getters.lineItems.vaps) {
|
||||||
},
|
this.selectDefaultPackage();
|
||||||
set: function (newValue) {
|
}
|
||||||
const VapsProductsInSelectedPackage =
|
|
||||||
this.getVapsLineItemsForSelectedPackage(newValue);
|
|
||||||
this.$emit("update:modelValue", VapsProductsInSelectedPackage);
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
selectedPackageName(newValue) {
|
||||||
|
const VapsProductsInSelectedPackage =
|
||||||
|
this.getVapsLineItemsForSelectedPackage(newValue);
|
||||||
|
this.$emit("update:modelValue", VapsProductsInSelectedPackage);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
nullSafeAvailableLineItems() {
|
nullSafeAvailableLineItems() {
|
||||||
return this.availableLineItems ?? [];
|
return this.availableLineItems ?? [];
|
||||||
},
|
},
|
||||||
|
|
@ -208,6 +212,50 @@ export default {
|
||||||
});
|
});
|
||||||
return vapsPrice;
|
return vapsPrice;
|
||||||
},
|
},
|
||||||
|
selectDefaultPackage() {
|
||||||
|
const vapsFromStore = this.$store.getters.lineItems.vaps;
|
||||||
|
let lowestTierForPackage = packageNames.TIER_ONE;
|
||||||
|
vapsFromStore.every(vapsItem => {
|
||||||
|
let lowestTierForThisItem = this.getLowestTierForThisItem(vapsItem);
|
||||||
|
if (lowestTierForThisItem === packageNames.TIER_THREE) {
|
||||||
|
lowestTierForPackage = packageNames.TIER_THREE;
|
||||||
|
return false;
|
||||||
|
} else if (lowestTierForThisItem === packageNames.TIER_TWO) {
|
||||||
|
lowestTierForPackage = packageNames.TIER_TWO;
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.selectedPackageName = lowestTierForPackage;
|
||||||
|
},
|
||||||
|
getLowestTierForThisItem(vapsItem) {
|
||||||
|
let lowestTierForThisItem = null;
|
||||||
|
switch (vapsItem.partType) {
|
||||||
|
case partTypeStrings.FRONT_WIPER:
|
||||||
|
if (this.frontWipersApplicableForTierThree) {
|
||||||
|
lowestTierForThisItem = packageNames.TIER_THREE;
|
||||||
|
}
|
||||||
|
if (this.frontWipersApplicableForTierTwo) {
|
||||||
|
lowestTierForThisItem = packageNames.TIER_TWO;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case partTypeStrings.REAR_WIPER:
|
||||||
|
if (this.rearWiperApplicableForTierThree) {
|
||||||
|
lowestTierForThisItem = packageNames.TIER_THREE;
|
||||||
|
}
|
||||||
|
if (this.rearWiperApplicableForTierTwo) {
|
||||||
|
lowestTierForThisItem = packageNames.TIER_TWO;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case partTypeStrings.RAIN_DEFENSE:
|
||||||
|
if(this.rainDefenseApplicableForTierThree) {
|
||||||
|
lowestTierForThisItem = packageNames.TIER_THREE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return lowestTierForThisItem;
|
||||||
|
},
|
||||||
getVapsLineItemsForSelectedPackage(packageName) {
|
getVapsLineItemsForSelectedPackage(packageName) {
|
||||||
const vapsLineItemsForSelectedPackage = [];
|
const vapsLineItemsForSelectedPackage = [];
|
||||||
if (packageName === packageNames.TIER_TWO) {
|
if (packageName === packageNames.TIER_TWO) {
|
||||||
|
|
|
||||||
|
|
@ -356,7 +356,7 @@ export const mutations = {
|
||||||
|
|
||||||
state.order.lineItems.glassParts = sessionInformation.order.lineItems.glassParts;
|
state.order.lineItems.glassParts = sessionInformation.order.lineItems.glassParts;
|
||||||
state.order.lineItems.supportingItems = sessionInformation.order.lineItems.supportingItems;
|
state.order.lineItems.supportingItems = sessionInformation.order.lineItems.supportingItems;
|
||||||
state.order.lineItems.vapsItems = sessionInformation.order.lineItems.vapsItems;
|
state.order.lineItems.vaps = sessionInformation.order.lineItems.vaps;
|
||||||
state.order.lineItems.serverData = sessionInformation.order.lineItems.serverData;
|
state.order.lineItems.serverData = sessionInformation.order.lineItems.serverData;
|
||||||
state.order.accountNumber = sessionInformation.order.accountNumber;
|
state.order.accountNumber = sessionInformation.order.accountNumber;
|
||||||
state.order.providerNumber = sessionInformation.order.providerNumber;
|
state.order.providerNumber = sessionInformation.order.providerNumber;
|
||||||
|
|
@ -1011,7 +1011,7 @@ export const actions = {
|
||||||
lineItems: {
|
lineItems: {
|
||||||
glassParts: lineItems.glassParts,
|
glassParts: lineItems.glassParts,
|
||||||
supportingItems: lineItems.supportingItems,
|
supportingItems: lineItems.supportingItems,
|
||||||
vapsItems: lineItems.vapsItems,
|
vaps: lineItems.vaps,
|
||||||
serverData: lineItems.serverData,
|
serverData: lineItems.serverData,
|
||||||
},
|
},
|
||||||
payment: {
|
payment: {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue