commit
70e441bce2
2 changed files with 37 additions and 18 deletions
|
|
@ -9,7 +9,7 @@
|
|||
<textboxQuestion
|
||||
inputId="policyNumberField"
|
||||
cmsWidgetName="PolicyNumberQuestion"
|
||||
v-model="policyNumber"
|
||||
v-model="welcomePageModel.policyNumber"
|
||||
isRequired
|
||||
ref="policyNumber"
|
||||
disableAutoFill
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
<textboxQuestion
|
||||
type="date"
|
||||
cmsWidgetName="DateOfLossQuestion"
|
||||
v-model="dateOfLoss"
|
||||
v-model="welcomePageModel.dateOfLoss"
|
||||
inputId="dateOfLossField"
|
||||
isRequired
|
||||
ref="dateOfLoss"
|
||||
|
|
@ -41,7 +41,7 @@
|
|||
<div class="col">
|
||||
<dropdownQuestion
|
||||
cmsWidgetName="DamageCauseQuestion"
|
||||
v-model="damageCause"
|
||||
v-model="welcomePageModel.damageCause"
|
||||
ref="damageCause"
|
||||
inputId="damageCauseQuestionField"
|
||||
:options="DamageCauseOptions"
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
<textboxQuestion
|
||||
inputId="damageCityField"
|
||||
cmsWidgetName="DamageCityQuestion"
|
||||
v-model="damageCity"
|
||||
v-model="welcomePageModel.damageCity"
|
||||
isRequired
|
||||
ref="damageCity"
|
||||
disableAutoFill
|
||||
|
|
@ -66,7 +66,7 @@
|
|||
<div class="col">
|
||||
<dropdownQuestion
|
||||
cmsWidgetName="DamageStateQuestion"
|
||||
v-model="damageState"
|
||||
v-model="welcomePageModel.damageState"
|
||||
ref="state"
|
||||
inputId="8fdf9dc2e13e430eb57529499dceb3eb"
|
||||
:options="stateOptions"
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
<div class="row mt-4">
|
||||
<buttonQuestion
|
||||
cmsWidgetName="GlassOnlyQuestion"
|
||||
v-model="isDamageGlassOnly"
|
||||
v-model="welcomePageModel.isDamageGlassOnly"
|
||||
inputId = "isDamageGlassOnly"
|
||||
:answers="DamageGlassOnlyOptions"
|
||||
:questionText="DamageGlassOnlyQuestion"
|
||||
|
|
@ -94,7 +94,7 @@
|
|||
<textboxQuestion
|
||||
inputId="phoneNumberField"
|
||||
cmsWidgetName="PhoneNumberQuestion"
|
||||
v-model="phoneNumber"
|
||||
v-model="welcomePageModel.phoneNumber"
|
||||
validationRules="phone-number-required|phone-number-format"
|
||||
isRequired
|
||||
ref="phoneNumber"
|
||||
|
|
@ -107,7 +107,7 @@
|
|||
<textboxQuestion
|
||||
inputId="emailField"
|
||||
cmsWidgetName="EmailAddressQuestion"
|
||||
v-model="email"
|
||||
v-model="welcomePageModel.email"
|
||||
ref="email"
|
||||
validationRules="email-address-required|email-address-format"
|
||||
isRequired
|
||||
|
|
@ -145,6 +145,7 @@
|
|||
import { required, regex } from "@/helpers/validation-rules";
|
||||
import { errorMessages } from "@/constants/error-messages";
|
||||
import BaseFormMixin from '@/mixins/base-form-mixin.js';
|
||||
import { useMainStore } from '@/store';
|
||||
|
||||
//define validation rules
|
||||
defineRule("loss-date-required", required(errorMessages.LOSS_DATE_REQUIRED));
|
||||
|
|
@ -176,8 +177,8 @@
|
|||
mixins: [BaseFormMixin],
|
||||
data() {
|
||||
return {
|
||||
welcomePageModel: {
|
||||
policyNumber: "",
|
||||
policyZipCode: "",
|
||||
dateOfLoss: "",
|
||||
damageCause: "",
|
||||
damageState: "",
|
||||
|
|
@ -185,8 +186,13 @@
|
|||
isDamageGlassOnly: "",
|
||||
phoneNumber: "",
|
||||
email: ""
|
||||
},
|
||||
};
|
||||
},
|
||||
setup() {
|
||||
const mainStore = useMainStore();
|
||||
return { mainStore };
|
||||
},
|
||||
async beforeRouteEnter(to, from, next)
|
||||
{
|
||||
// Call APIs
|
||||
|
|
@ -210,6 +216,7 @@
|
|||
methods:
|
||||
{
|
||||
async forwardButtonAction() {
|
||||
this.mainStore.updatePolicyData(this.welcomePageModel);
|
||||
return this.navigateForward();
|
||||
},
|
||||
|
||||
|
|
@ -299,14 +306,6 @@
|
|||
};
|
||||
},
|
||||
},
|
||||
welcomePageModel: {
|
||||
get: function () {
|
||||
return this.modelValue;
|
||||
},
|
||||
set: function (newValue) {
|
||||
this.$emit("update:modelValue", newValue);
|
||||
},
|
||||
},
|
||||
},
|
||||
components: {
|
||||
siteHeader,
|
||||
|
|
|
|||
|
|
@ -41,6 +41,16 @@ const getDefaultState = () => {
|
|||
moldingQuestionAnswers: null,
|
||||
capabilityQuestionAnswers: null,
|
||||
},
|
||||
policy: {
|
||||
policyNumber: null,
|
||||
dateOfLoss: null,
|
||||
damageCause: null,
|
||||
damageState: null,
|
||||
damageCity: null,
|
||||
isDamageGlassOnly: null,
|
||||
phoneNumber: null,
|
||||
email: null,
|
||||
},
|
||||
customer: {
|
||||
address: {
|
||||
streetAddress: null,
|
||||
|
|
@ -635,7 +645,17 @@ export const useMainStore = defineStore({
|
|||
updatePageData(pageData) {
|
||||
this.applicationUser.pageData[pageData.page] = pageData.data;
|
||||
},
|
||||
|
||||
updatePolicyData(welcomePageModel)
|
||||
{
|
||||
this.order.policy.policyNumber = welcomePageModel?.policyNumber;
|
||||
this.order.policy.dateOfLoss = welcomePageModel?.dateOfLoss;
|
||||
this.order.policy.damageCause = welcomePageModel?.damageCause;
|
||||
this.order.policy.damageState = welcomePageModel?.damageState;
|
||||
this.order.policy.damageCity = welcomePageModel?.damageCity;
|
||||
this.order.policy.isDamageGlassOnly = welcomePageModel?.isDamageGlassOnly;
|
||||
this.order.policy.phoneNumber = welcomePageModel?.phoneNumber;
|
||||
this.order.policy.email = welcomePageModel?.email;
|
||||
},
|
||||
savePartQuestionAnswers(partQuestionAnswersArray) {
|
||||
// if part question answers have changed, reset subsequent question answers
|
||||
const sortedPreviousResultsArray = sortArrayOfObjectsByPropertyValue(
|
||||
|
|
|
|||
Loading…
Reference in a new issue