CSR-1981 add back removed mobile fee references
CSR-1981 add back removed mobile fee references and use fee amount to determine when to show mobile fees
This commit is contained in:
parent
907ed95d96
commit
92e8ab0965
3 changed files with 65 additions and 11 deletions
|
|
@ -377,6 +377,10 @@ export default {
|
|||
cartItems.push(this.suppliesRepairCartItem);
|
||||
}
|
||||
|
||||
if (this.mobileFeeCartItem) {
|
||||
cartItems.push(this.mobileFeeCartItem);
|
||||
}
|
||||
|
||||
if (this.servicePackageDiscountCartItem) {
|
||||
cartItems.push(this.servicePackageDiscountCartItem);
|
||||
}
|
||||
|
|
@ -756,6 +760,39 @@ export default {
|
|||
|
||||
return cartItem;
|
||||
},
|
||||
mobileFeeCartItemName() {
|
||||
return this.getCmsContent("MobileServiceTextWidget", "Text");
|
||||
},
|
||||
mobileFeeCartItem() {
|
||||
let cartItem = null;
|
||||
const mobileFeeLineItem = this.supportingItems.find(
|
||||
(lineItem) => lineItem.partType == partTypeStrings.MOBILE_FEE
|
||||
);
|
||||
|
||||
if (mobileFeeLineItem) {
|
||||
cartItem = {
|
||||
name: this.mobileFeeCartItemName,
|
||||
category: cartItemCategories.SUPPORTING_ITEMS,
|
||||
cartItemType: cartItemTypes.MOBILE_FEE,
|
||||
isDisplayed: true,
|
||||
isRemovable: false,
|
||||
subTotal: 0,
|
||||
salesTax: 0,
|
||||
lineItems: [],
|
||||
isCoveredByInsurance: cartItemTypesCoveredByInsurance.includes(
|
||||
cartItemTypes.MOBILE_FEE
|
||||
),
|
||||
};
|
||||
mobileFeeLineItem.cartItemType = cartItem.cartItemType;
|
||||
cartItem.lineItems.push(mobileFeeLineItem);
|
||||
cartItem.subTotal +=
|
||||
(mobileFeeLineItem.kitPrice ?? 0) +
|
||||
(mobileFeeLineItem.laborAmount ?? 0) +
|
||||
(mobileFeeLineItem.sellingPrice ?? 0);
|
||||
cartItem.salesTax += mobileFeeLineItem.salesTax ?? 0;
|
||||
}
|
||||
return cartItem;
|
||||
},
|
||||
servicePackageDiscountCartItemName() {
|
||||
return this.getCmsContent("ServicePackageDiscountTextWidget", "Text");
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,6 +24,11 @@
|
|||
{{ errorMessage }}
|
||||
</span>
|
||||
</div>
|
||||
<textBlock
|
||||
v-if="mobileFeeApplies"
|
||||
:customText="mobileFeeText"
|
||||
cmsWidgetName="MobileFeeDisclaimerWidget"
|
||||
typeStyle="caption" />
|
||||
</div>
|
||||
<modal
|
||||
:ref="modalName"
|
||||
|
|
@ -149,6 +154,7 @@ export default {
|
|||
alertInvalidZipWidgetName: String,
|
||||
customComponentId: String,
|
||||
validationRules: String,
|
||||
mobileFeeApplies: Boolean,
|
||||
},
|
||||
computed: {
|
||||
mobileLocationLinkPromptText() {
|
||||
|
|
@ -170,6 +176,21 @@ export default {
|
|||
}
|
||||
return this.getCmsContent(this.linkWidgetName, "BodyText");
|
||||
},
|
||||
mobileFeeText() {
|
||||
const cmsContentText = this.getCmsContent("MobileFeeDisclaimerWidget", "Text");
|
||||
return cmsContentText.replaceAll("{custom:mobileFee}", this.mobileFee);
|
||||
},
|
||||
mobileFee() {
|
||||
if (!this.mobileFeePart) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return (
|
||||
this.mobileFeePart.laborAmount +
|
||||
this.mobileFeePart.sellingPrice +
|
||||
this.mobileFeePart.kitPrice
|
||||
);
|
||||
},
|
||||
modalName() {
|
||||
return "MobileLocationModalWidget";
|
||||
},
|
||||
|
|
|
|||
|
|
@ -87,6 +87,7 @@
|
|||
v-if="selectedAppointmentType === 'Mobile'"
|
||||
v-model="mobileLocationQuestions"
|
||||
:mobileFeePart="mobileFeePart"
|
||||
:mobileFeeApplies="mobileFeeApplies"
|
||||
@updated-mobile-fee-part="setMobileFeePart"
|
||||
@updated-serviceability="setServiceabilityDetails"
|
||||
@updated-contains-military-base="setContainsMilitaryBase"
|
||||
|
|
@ -308,23 +309,16 @@ export default {
|
|||
}
|
||||
},
|
||||
mobileFeeApplies() {
|
||||
if (this.mobileFeePart) {
|
||||
if (this.mobileFeePart?.laborAmount > 0 ||
|
||||
this.mobileFeePart?.sellingPrice > 0 ||
|
||||
this.mobileFeePart?.kitPrice > 0) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
showMobileFreeAlert() {
|
||||
var hasMobileFee = true;
|
||||
if (
|
||||
this.mobileFeePart?.laborAmount == 0 &&
|
||||
this.mobileFeePart?.sellingPrice == 0 &&
|
||||
this.mobileFeePart?.kitPrice == 0
|
||||
) {
|
||||
hasMobileFee = false;
|
||||
}
|
||||
|
||||
if (this.isServiceableMobile && !this.isInsurance && !hasMobileFee) {
|
||||
if (this.isServiceableMobile && !this.isInsurance && !this.mobileFeeApplies) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -391,6 +385,7 @@ export default {
|
|||
) {
|
||||
return true;
|
||||
} else {
|
||||
console.log("ins: servce-location invalid prereq:" + store.getters.payment.parentAccountNumber + ":" + store.getters.order.policy.policyNumber + ":" + store.getters.order.serviceLocation.zipCode);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -400,6 +395,7 @@ export default {
|
|||
) {
|
||||
return true;
|
||||
} else {
|
||||
console.log("cash: servce-location invalid prereq:" + JSON.stringify(store.getters.lineItems.supportingItems) + ":" + store.getters.order.serviceLocation.zipCode);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue