policy number disabling functionality
This commit is contained in:
saumyaChaturvedi123 2023-04-25 20:00:32 +05:30
parent cea20119bf
commit 121dd208d8
2 changed files with 38 additions and 1 deletions

View file

@ -14,6 +14,7 @@
isRequired isRequired
ref="policyNumber" ref="policyNumber"
disableAutoFill disableAutoFill
:isDisabled="this.isClientPassed"
validationRules="policy-number-required" /> validationRules="policy-number-required" />
</div> </div>
</div> </div>
@ -166,6 +167,7 @@ import { required, regex } from "@/helpers/validation-rules";
import { errorMessages } from "@/constants/error-messages"; import { errorMessages } from "@/constants/error-messages";
import BaseFormMixin from '@/mixins/base-form-mixin.js'; import BaseFormMixin from '@/mixins/base-form-mixin.js';
import { useMainStore } from '@/store'; import { useMainStore } from '@/store';
import { issPageValues } from "@/router/router-constants/issPage-values"
//define validation rules //define validation rules
defineRule("loss-date-required", required(errorMessages.LOSS_DATE_REQUIRED)); defineRule("loss-date-required", required(errorMessages.LOSS_DATE_REQUIRED));
@ -233,6 +235,16 @@ export default {
methods: methods:
{ {
async forwardButtonAction() { async forwardButtonAction() {
if (this.isClientPassed)
{
//if disabled state is broken maliciously and policy number is changed, do not update new policy number
if (this.welcomePageModel.policyNumber != this.mainStore.order.policy.policyNumber)
{
this.welcomePageModel.policyNumber = this.mainStore.order.policy.policyNumber
}
this.mainStore.order.policy.IsPolicyNumberDisabled = true;
}
this.mainStore.updatePolicyData(this.welcomePageModel); this.mainStore.updatePolicyData(this.welcomePageModel);
return this.navigateForward(); return this.navigateForward();
}, },
@ -351,7 +363,30 @@ export default {
else{ else{
return true; return true;
} }
},
isClientPassed()
{
const visitedPolicyHolderPage = this.mainStore.pageData(issPageValues.POLICY_HOLDER_DETAILS) ? true : false;
if(this.mainStore.issConfig.isAuthenticated)
{
if (!visitedPolicyHolderPage){ //checking if the page is loaded for the first time
if(this.mainStore.order.policy.policyNumber )
{
return true;
}
}else
{
if (this.mainStore.order.policy.IsPolicyNumberDisabled)
{
return true;
}
}
}
} }
}, },
components: { components: {
siteHeader, siteHeader,

View file

@ -47,7 +47,8 @@ const getDefaultState = () => {
damageCause: null, damageCause: null,
damageState: null, damageState: null,
damageCity: null, damageCity: null,
isDamageGlassOnly: null isDamageGlassOnly: null,
isPolicyNumberDisabled: false
}, },
customer: { customer: {
address: { address: {
@ -814,6 +815,7 @@ export const useMainStore = defineStore({
this.order.policy.isDamageGlassOnly = welcomePageModel?.isDamageGlassOnly; this.order.policy.isDamageGlassOnly = welcomePageModel?.isDamageGlassOnly;
this.order.customer.phoneNumber = welcomePageModel?.phoneNumber; this.order.customer.phoneNumber = welcomePageModel?.phoneNumber;
this.order.customer.emailAddress = welcomePageModel?.email; this.order.customer.emailAddress = welcomePageModel?.email;
this.order.policy.isPolicyNumberDisabled = welcomePageModel?.isPolicyNumberDisabled;
}, },
updatePolicyHolderDetails(customerQuestions) updatePolicyHolderDetails(customerQuestions)
{ {