coverage statement WIP
This commit is contained in:
parent
60edd72436
commit
9eda911c24
1 changed files with 114 additions and 37 deletions
|
|
@ -8,15 +8,20 @@
|
|||
<div class="row px-3">
|
||||
<div class="col">
|
||||
<div class="select-car-form rounded pb-1">
|
||||
<textBlock
|
||||
<siteSubHeader
|
||||
:cmsWidgetName="SiteSubHeaderWidget"
|
||||
justification="center"
|
||||
|
||||
/>
|
||||
<!-- <textBlock
|
||||
cmsWidgetName="verifyingCoverageStatement"
|
||||
typeStyle="h5"
|
||||
justifyText="center"
|
||||
class="mt-4 mb-4"
|
||||
id="coverage-statement-text-block" />
|
||||
<div>
|
||||
id="coverage-statement-text-block" /> -->
|
||||
<!-- <div>
|
||||
<p v-html="continueWithSchedulingBodyText" class="mt-0 small" ></p>
|
||||
</div>
|
||||
</div> -->
|
||||
<textBlock
|
||||
cmsWidgetName="whatHappensNextCopy"
|
||||
class="mt-4 mb-2 fw-bold"
|
||||
|
|
@ -60,6 +65,8 @@ import { settleAllPromises } from '@/helpers/layout-helper';
|
|||
import { getDamageString } from '@/helpers/damage-helper.js';
|
||||
import { useMainStore } from "@/store";
|
||||
import vehicleQuestionsMixin from "@/mixins/vehicle-questions-mixin";
|
||||
import { processIfStatements } from '@/helpers/cms-content-helper';
|
||||
|
||||
|
||||
const store = useMainStore();
|
||||
|
||||
|
|
@ -79,7 +86,8 @@ export default {
|
|||
return {
|
||||
isITAC: false,
|
||||
deductible: "",
|
||||
policyVehicles: useMainStore().pageData(issPageValues.POLICY_VEHICLES)
|
||||
policyVehicles: useMainStore().pageData(issPageValues.POLICY_VEHICLES),
|
||||
isVerified: useMainStore().order.payment.insuranceCoverage.isVerified,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
|
@ -87,6 +95,30 @@ export default {
|
|||
this.getPriceInfo();
|
||||
},
|
||||
computed: {
|
||||
coverageStatementSubHeader() {
|
||||
return this.getSubheaderTextFromCms("SiteSubHeaderWidget");
|
||||
},
|
||||
// coverageStatementContent() {
|
||||
// if (!this.cmsWidgetName) return [];
|
||||
// const cmsContent = [];
|
||||
// cmsContent.push(
|
||||
// {
|
||||
// Name: 'SubHeader',
|
||||
// cmsWidgetName: 'SiteSubHeaderWidget'
|
||||
// },
|
||||
// {
|
||||
// Name: 'ExplanatoryText',
|
||||
// cmsWidgetName: 'ExplanatoryTextWidget'
|
||||
// },
|
||||
// {
|
||||
// Name: 'NextSteps',
|
||||
// cmsWidgetName: 'NextStepsWidget'
|
||||
// }
|
||||
// );
|
||||
// //if cms content has not yet loaded, skip
|
||||
// if (this.getCmsContent(cmsAnswersContent[0].cmsWidgetName, 'HeaderText') == '') {
|
||||
// return {};
|
||||
// }
|
||||
bodyText() {
|
||||
if (useMainStore().damage.isRepair) {
|
||||
return this.unverifiedNonADASRepairBodyText;
|
||||
|
|
@ -120,24 +152,37 @@ export default {
|
|||
var damageString = getDamageString();
|
||||
return damageString == "match" ? "" : damageString;
|
||||
},
|
||||
selectedVehiclePolicyInfo() {
|
||||
const matchingVehicle = this.policyVehicles.filter(
|
||||
(vehicle) => vehicle.vin === store.order.vehicle.vin
|
||||
)
|
||||
return matchingVehicle;
|
||||
},
|
||||
// selectedVehiclePolicyInfo() {
|
||||
// const matchingVehicle = this.policyVehicles.filter(
|
||||
// (vehicle) => vehicle.vin === store.order.vehicle.vin
|
||||
// )
|
||||
// return matchingVehicle;
|
||||
// },
|
||||
vehicleDeductible() {
|
||||
if (this.coverageVerified) {
|
||||
if (this.store.order.damage.isRepair) {
|
||||
return this.store.order.policy.deductible.repair;
|
||||
}
|
||||
else {
|
||||
return this.store.order.policy.deductible.replace;
|
||||
}
|
||||
}
|
||||
//console.log(this.selectedVehicle[0].coverages[0].deductible);
|
||||
const deductible = this.selectedVehiclePolicyInfo[0].coverages[0].deductible;
|
||||
//const deductible = this.selectedVehiclePolicyInfo[0].coverages[0].deductible;
|
||||
//console.log(!this.selectedVehiclePolicyInfo[0].coverages[0]);
|
||||
return deductible;
|
||||
//return deductible;
|
||||
},
|
||||
isDeductibleZero() {
|
||||
return this.vehicleDeductible === 0;
|
||||
},
|
||||
coverageVerified() {
|
||||
const isCoverageVerified = store.order.payment.insuranceCoverage.isVerified;
|
||||
return isCoverageVerified;
|
||||
const isVerified = store.order.payment.insuranceCoverage.isVerified;
|
||||
return isVerified;
|
||||
},
|
||||
coverageUnverified() {
|
||||
return true;
|
||||
// const isUnverified = !this.coverageVerified;
|
||||
// return isUnverified;
|
||||
},
|
||||
verifiedNoComp() {
|
||||
if (!this.policyVehicles.coverages || this.policyVehicles.noCoverage === true) {
|
||||
|
|
@ -166,7 +211,7 @@ export default {
|
|||
return true;
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
async beforeRouteEnter(to, from, next) {
|
||||
// Call APIs
|
||||
const cmsContentPromise = fetchCmsContentForPage(to.query.issPage);
|
||||
|
|
@ -194,28 +239,60 @@ export default {
|
|||
});
|
||||
},
|
||||
methods: {
|
||||
arePagePrerequisitesValid() {
|
||||
if (useMainStore().vehicle.vin) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
getPriceInfo() {
|
||||
const servicePrice = store.getPriceOrderItems();
|
||||
|
||||
if (servicePrice > this.vehicleDeductible) {
|
||||
return this.isITAC = true;
|
||||
processIfStatements,
|
||||
getSubheaderTextFromCms(cmsWidgetName) {
|
||||
return this.getCmsContent(cmsWidgetName, 'SubHeaderText');
|
||||
},
|
||||
getBodyTextFromCms(cmsWidgetName) {
|
||||
const bodyText = this.getCmsContent(cmsWidgetName, "BodyText");
|
||||
return this.processIfStatements(bodyText, "custom", this.getCustomValueFromString);
|
||||
},
|
||||
getSecondaryTextFromCms(cmsWidgetName) {
|
||||
const secondaryText = this.getCmsContent(cmsWidgetName, "SecondaryText");
|
||||
return this.processIfStatements(secondaryText, "custom", this.getCustomValueFromString);
|
||||
},
|
||||
arePagePrerequisitesValid() {
|
||||
if (useMainStore().vehicle.vin) {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
async forwardButtonAction() {
|
||||
return this.navigateForward();
|
||||
},
|
||||
navigateForward() {
|
||||
this.$router.navigate(
|
||||
this.navigationScenarios.CLICKED_FORWARD,
|
||||
this.$route
|
||||
);
|
||||
},
|
||||
return false;
|
||||
},
|
||||
getCustomValueFromString(str) {
|
||||
switch (str) {
|
||||
case 'coverageUnverified':
|
||||
return this.coverageUnverified;
|
||||
case 'verifiedDeductible':
|
||||
return this.verifiedDeductible;
|
||||
case 'verifiedITAC':
|
||||
return this.verifiedITAC;
|
||||
case 'verifiedNoComp':
|
||||
return this.verifiedNoComp;
|
||||
case 'ADASReplace':
|
||||
return this.ADASReplace;
|
||||
case 'nonADASReplace':
|
||||
return this.nonADASReplace;
|
||||
case 'nonADASRepair':
|
||||
return this.nonADASRepair;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
},
|
||||
getPriceInfo() {
|
||||
const servicePrice = store.getPriceOrderItems();
|
||||
|
||||
if (servicePrice > this.vehicleDeductible) {
|
||||
return this.isITAC = true;
|
||||
}
|
||||
},
|
||||
async forwardButtonAction() {
|
||||
return this.navigateForward();
|
||||
},
|
||||
navigateForward() {
|
||||
this.$router.navigate(
|
||||
this.navigationScenarios.CLICKED_FORWARD,
|
||||
this.$route
|
||||
);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in a new issue