personal form changes

This commit is contained in:
gandhimathi 2018-11-30 18:57:46 +05:30
parent 2cc206ed44
commit e223ae4acf
3 changed files with 343 additions and 295 deletions

View File

@ -1,138 +1,142 @@
<mat-card style="padding: 12px;">
<p>Personal Details</p>
<form *ngIf="loadDataStatus" [formGroup]="_personalForm" (submit)="submitPersonalForm(_personalForm.value)" novalidate>
<!-- start main applicant -->
<mat-card>
<mat-card-title>Main Applicant</mat-card-title>
<mat-card-content formArrayName="main_applicant_details">
<div *ngFor="let mainDetails of _personalForm.controls.main_applicant_details['controls']; let i = index;" [formGroupName]="i">
<mat-card-content>
<!-- start main applicant details -->
<mat-form-field style="width: 35%">
<input matInput placeholder="Name" formControlName="name_ans" type="text" required>
<div fxLayout="row wrap">
</mat-form-field>
<mat-form-field style="width: 10%">
<div fxFlex="50" class="text-xs-left">
<input matInput placeholder="Age" formControlName="age_ans" type="text" required (keypress)="keyPress($event)">
<mat-error *ngIf="mainDetails['controls'].age_ans.hasError('pattern') || mainDetails['controls'].age_ans.hasError('maxlength') || mainDetails['controls'].age_ans.hasError('minlength')">Enter Valid Age. </mat-error>
<mat-card>
<mat-card-title>Main Applicant</mat-card-title>
<mat-card-content>
<div [formArrayName]="'mainItem'" *ngFor="let mainDetails of pdMainapplicant.controls; let i = index;">
<div [formGroup]="mainDetails">
</mat-form-field>
<mat-form-field style="width: 42%">
<mat-form-field style="width: 100%">
<input matInput placeholder="Name" formControlName="name_ans" type="text" required>
<input matInput placeholder="Entity" formControlName="entity_ans" type="text" required>
</mat-form-field>
<mat-form-field style="width: 49%">
<mat-select placeholder="Earning Status" formControlName="earning_ans" required>
<mat-option *ngFor="let earning of earningStatus" [value]="earning.earning_member_status_id" >
{{earning.earning_member_status}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 42%">
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="Educational Qualification" formControlName="qualification_ans" required>
<mat-option *ngFor="let education of qualifications" [value]="education.qualification_id" >
{{education.qualification_name}}
</mat-option>
</mat-select>
<input matInput placeholder="Age" formControlName="age_ans" type="text" required (keypress)="keyPress($event)">
<mat-error *ngIf="mainDetails['controls'].age_ans.hasError('pattern') || mainDetails['controls'].age_ans.hasError('maxlength') || mainDetails['controls'].age_ans.hasError('minlength')">Enter Valid Age. </mat-error>
</mat-form-field>
</div>
</mat-card-content>
</mat-card>
<!-- end main applicant -->
<!-- start co applicant form details -->
<mat-card>
<mat-card-title>Co Applicant</mat-card-title>
<mat-card-content formArrayName="co_applicant_details">
<mat-card *ngFor="let coDetails of _personalForm.controls.co_applicant_details['controls']; let c = index;" [formGroupName]="c">
<mat-card-content>
<mat-form-field style="width: 20%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<input matInput placeholder="Name" formControlName="name_ans" type="text" required>
</mat-form-field>
<mat-form-field style="width: 10%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<input matInput placeholder="Age" formControlName="age_ans" type="text" required>
<mat-error *ngIf="coDetails['controls'].age_ans.hasError('pattern') || coDetails['controls'].age_ans.hasError('maxlength') || coDetails['controls'].age_ans.hasError('minlength')">Enter Valid Age. </mat-error>
</mat-form-field>
<mat-form-field style="width: 20%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<input matInput placeholder="Entity" formControlName="entity_ans" type="text" required>
</mat-form-field>
<mat-form-field style="width: 34%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<mat-select placeholder="Earning Status" formControlName="earning_ans" required>
<mat-option *ngFor="let earning of earningStatus" [value]="earning.earning_member_status_id" >
{{earning.earning_member_status}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 34%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<mat-select placeholder="Educational Qualification" formControlName="qualification_ans" required>
<mat-option *ngFor="let education of qualifications" [value]="education.qualification_id" >
{{education.qualification_name}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput placeholder="Entity" formControlName="entity_ans" type="text" required>
<mat-form-field style="width: 48%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<mat-select placeholder="Relationship With Main Applicant" formControlName="relation_ans" required>
<mat-option *ngFor="let rel of relationShipList" [value]="rel.relationship_id" >
{{rel.name}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="Educational Qualification" formControlName="qualification_ans" required>
<mat-option *ngFor="let education of qualifications" [value]="education.qualification_id" >
{{education.qualification_name}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="Earning Status" formControlName="earning_ans" required>
<mat-option *ngFor="let earning of earningStatus" [value]="earning.earning_member_status_id" >
{{earning.earning_member_status}}
</mat-option>
</mat-select>
</mat-form-field>
</div>
</div>
</mat-card-content>
</mat-card>
</div>
<!-- end main applicant details -->
<!-- start co applicant form details -->
<div fxFlex="50" class="text-xs-left" [formArrayName]="'coItem'" *ngFor="let coDetails of pdCoapplicant.controls; let i = index;">
<mat-card>
<mat-card-title>Co Applicant</mat-card-title>
<mat-card-content>
<div >
<div [formGroup]="coDetails">
<mat-form-field style="width: 100%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<input matInput placeholder="Name" formControlName="name_ans" type="text" required>
</mat-form-field>
<mat-form-field style="width: 100%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<input matInput placeholder="Age" formControlName="age_ans" type="text" required>
<mat-error *ngIf="coDetails['controls'].age_ans.hasError('pattern') || coDetails['controls'].age_ans.hasError('maxlength') || coDetails['controls'].age_ans.hasError('minlength')">Enter Valid Age. </mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<input matInput placeholder="Entity" formControlName="entity_ans" type="text" required>
</mat-form-field>
<mat-form-field style="width: 100%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<mat-select placeholder="Educational Qualification" formControlName="qualification_ans" required>
<mat-option *ngFor="let education of qualifications" [value]="education.qualification_id" >
{{education.qualification_name}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 100%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<mat-select placeholder="Earning Status" formControlName="earning_ans" required>
<mat-option *ngFor="let earning of earningStatus" [value]="earning.earning_member_status_id" >
{{earning.earning_member_status}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 100%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<mat-select placeholder="Relationship With Main Applicant" formControlName="relation_ans" required>
<mat-option *ngFor="let rel of relationShipList" [value]="rel.relationship_id" >
{{rel.name}}
</mat-option>
</mat-select>
</mat-form-field>
</div>
</div>
</mat-card-content>
<button type="button" mat-raised-button mat-icon-button (click)="removeCoApplicant(c)"
matTooltip="Remove Co Applicant" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary" *ngIf="coDetails.controls.current_added_status.value==1">
<mat-icon>delete</mat-icon>
</button>
</mat-card-content>
</mat-card>
</div>
</mat-card-content>
<mat-card-actions align="end">
<button type="button" mat-raised-button mat-icon-button (click)="addCoApplicant()"
matTooltip="Add More Co Applicant" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary">
<mat-icon>add</mat-icon>
</button>
</div>
</mat-card-actions>
<div fxLayout="row">
</mat-card>
<!-- end co apllicant -->
<!-- <div fxLayout="row">
<div fxFlex="60" class="pb-0 text-sm-left">
<mat-form-field appearance="outline" style="width: 100%">
<mat-label>Remarks</mat-label>
<textarea matInput placeholder="Remarks" formControlName="personal_info_form_remark" required></textarea>
</mat-form-field>
</div>
</div>
</div> -->
<!-- end co applicant form details -->
</mat-card-content>
<!-- </mat-card-content> -->
<mat-card-actions>
<div fxFlexOffset="90" fxFlex="10" style="text-align:left;">
<div fxFlex="60" class="pb-0 text-sm-left" align="left">
<mat-form-field appearance="outline" style="width: 100%">
<mat-label>Remarks</mat-label>
<textarea matInput placeholder="Remarks" formControlName="personal_info_form_remark" required></textarea>
</mat-form-field>
</div>
<div fxFlex="40" align="end">
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="submit" matTooltip="Save" matTooltipPosition="above"><mat-icon>save</mat-icon></button>
</div>
</mat-card-actions>

View File

@ -4,3 +4,8 @@
.mat-card-actions {
background-color: white;
}
mat-form-field {
margin: 0 2%;
}

View File

@ -13,6 +13,7 @@ export class PersonalInfoComponent implements OnInit {
//qualifications:any=["Graduate","Under Graduate","Post Graduate","Professional"];
//earningStatus:any=["Earning Member","House Wife","Student","Retired","Pensioner","Other Non earning member"];
loadDataStatus: boolean=true;
earningStatus:any=[];
qualifications:any=[];
relationShipList:any=[];
@ -25,15 +26,26 @@ export class PersonalInfoComponent implements OnInit {
public mainApplicantQuestions : any = ["Name","Age","Entity","Educational Qualification","Earning Status"];
public coApplicantQuestions : any = ["Name","Age","Entity","Educational Qualification","Earning Status","Relationship"];
public const_main_applicant : any = {
"name_ans": '',
"age_ans":'',
"earning_ans": '',
"entity_ans": '',
"qualification_ans": '',
"current_added_status":1
};
public const_co_applicant : any = {
"name_ans": '',
"age_ans":'',
"earning_ans": '',
"entity_ans": '',
"qualification_ans": '',
"relation_ans": '',
"current_added_status":1
};
public mainApplicantDetails :any=[];
public coApplicantDetails :any=[];
errorMessage:any;
//coItem:any;
//mainItem:any;
repeat:number=3;
constructor(notifier: NotifierService,private _fb: FormBuilder,private _pd: PdTrigerService) {
this.notifier = notifier;
@ -41,7 +53,8 @@ export class PersonalInfoComponent implements OnInit {
}
ngOnInit() {
this.loadPDDetails(this.pdid,this.form_id);
this.initFormDetails()
this.loadPDDetails();
this.getMasterDetails('RELATIONSHIPS',1);
this.getMasterDetails('EARNINGMEMBERSSTATUS',2);
this.getMasterDetails('EDUQUALIFICATION',3);
@ -51,155 +64,71 @@ export class PersonalInfoComponent implements OnInit {
}
// load form pd details
loadPDDetails(pd:string,form:number){
loadPDDetails(){
this._pd.getPDFormDetailsWithID(this.pdid,this.form_id).subscribe(
data => {
if (data.status == 200) {
this.loadFormWithIDData(data.records);
const mainValue = <FormArray>this._personalForm.controls['main_applicant_details'];
const coValue = <FormArray>this._personalForm.controls['co_applicant_details'];
mainValue.controls = [];
coValue.controls = [];
if (data.dataStatus == true) {
let retriveData = data.records;
this._personalForm.controls['personal_info_form_remark'].setValue(data.records.personal_info_form_remark ? data.records.personal_info_form_remark : '');
let pullMainApplicant = Object.keys(data.records.main_applicant_details).map(function(key) {
return data.records.main_applicant_details[key];
});
if (pullMainApplicant.length > 0) {
pullMainApplicant.forEach(val => {
val.current_added_status=0
mainValue.push(this.loadMainApplicant(val));
});
// retriveData.main_applicant_details = pullMainApplicant;
} else {
mainValue.push(this.loadMainApplicant(this.const_main_applicant));
}
if(data.records.co_applicant_details){
let pullCoApplicant = Object.keys(data.records.co_applicant_details).map(function(key) {
return data.records.co_applicant_details[key];
});
if (pullCoApplicant.length > 0) {
pullCoApplicant.forEach(val => {
val.current_added_status=0
coValue.push(this.loadCoApplicant(val));
});
// retriveData.co_applicant_details = pullCoApplicant;
} else {
coValue.push(this.loadCoApplicant(this.const_co_applicant));
}
}
else {
coValue.push(this.loadCoApplicant(this.const_co_applicant));
}
}
else if(data.status == 204){
else if(data.dataStatus == false){
this.mainApplicantDetails.forEach(item => {
item.current_added_status=0
mainValue.push(this.loadDefaultMainApplicant(item))
});
this.loadFormData();
// check co applicant
if(this.coApplicantDetails.length > 0){
this.coApplicantDetails.forEach(coItem => {
coItem.current_added_status=0
coValue.push(this.loadDefaultCoApplicant(coItem)
)
});
}
else {
coValue.push(this.loadCoApplicant(this.const_co_applicant))
}
}
}
}, error => this.errorMessage = <any> error);
}
loadDataStatus: boolean;
loadFormWithIDData(data) {
// main applicant
var main_result = Object.keys(data.main_applicant_details).map(function(key) {
return data.main_applicant_details[key];
});
let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({
name_ans:new FormControl(item.name_ans, Validators.required),
age_ans:new FormControl(item.age_ans, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])),
entity_ans:new FormControl(item.entity_ans, Validators.required),
qualification_ans:new FormControl(item.qualification_ans, Validators.required),
earning_ans:new FormControl(item.earning_ans, Validators.required),
})));
// co applicant
let coApplicantGroup;
if(data.co_applicant_details!=undefined){
var co_result = Object.keys(data.co_applicant_details).map(function(key) {
return data.co_applicant_details[key];
});
coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({
name_ans:new FormControl(item.name_ans, Validators.required),
age_ans:new FormControl(item.age_ans, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])),
entity_ans:new FormControl(item.entity_ans, Validators.required),
qualification_ans:new FormControl(item.qualification_ans, Validators.required),
earning_ans:new FormControl(item.earning_ans, Validators.required),
relation_ans:new FormControl(item.relation_ans, Validators.required),
})));
}
else{
coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({
name_ques:new FormControl(this.coApplicantQuestions[0]),
name_ans:new FormControl(item.applicant_name, Validators.required),
name_id:new FormControl(0),
age_ques:new FormControl(this.coApplicantQuestions[1]),
age_id:new FormControl(1),
age_ans:new FormControl(null, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])),
entity_ques: new FormControl(this.coApplicantQuestions[2]),
entity_id: new FormControl(2),
entity_ans:new FormControl(this.pd_all_details.pdmaster_details.customer_segment_abbr.substring(0,3).toUpperCase()==='SAL' ? 'Individual' : '', Validators.required),
qualification_ques: new FormControl(this.coApplicantQuestions[3]),
qualification_id: new FormControl(3),
qualification_ans:new FormControl(null, Validators.required),
earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),
earning_id: new FormControl(4),
earning_ans:new FormControl(null, Validators.required),
relationShip_ques:new FormControl(this.coApplicantQuestions[5]),
relation_id:new FormControl(5),
relation_ans:new FormControl(null, Validators.required),
})));
}
this._personalForm = this._fb.group({
pdid:null,
form_id:null,
mainItem: mainApplicantGroup,
coItem: coApplicantGroup,
personal_info_form_remark: [data.personal_info_form_remark]
});
//console.log(this._personalForm);
this.loadDataStatus = true;
}
loadFormData(){
// main applicant
let mainApplicantGroup = new FormArray(this.mainApplicantDetails.map((item,key) => new FormGroup({
name_ques:new FormControl(this.mainApplicantQuestions[0]),
name_ans:new FormControl(item.applicant_name, Validators.required),
name_id:new FormControl(0),
age_ques:new FormControl(this.mainApplicantQuestions[1]),
age_id:new FormControl(1),
age_ans:new FormControl(null, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])),
entity_ques: new FormControl(this.mainApplicantQuestions[2]),
entity_id: new FormControl(2),
entity_ans:new FormControl(this.pd_all_details.pdmaster_details.customer_segment_abbr.substring(0,3).toUpperCase()==='SAL' ? 'Individual' : '', Validators.required),
qualification_ques: new FormControl(this.mainApplicantQuestions[3]),
qualification_id: new FormControl(3),
qualification_ans:new FormControl(null, Validators.required),
earningStatus_ques:new FormControl(this.mainApplicantQuestions[4]),
earning_id: new FormControl(4),
earning_ans:new FormControl(null, Validators.required),
})));
// co applicant
let coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({
name_ques:new FormControl(this.coApplicantQuestions[0]),
name_ans:new FormControl(item.applicant_name, Validators.required),
name_id:new FormControl(0),
age_ques:new FormControl(this.coApplicantQuestions[1]),
age_id:new FormControl(1),
age_ans:new FormControl(null, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])),
entity_ques: new FormControl(this.coApplicantQuestions[2]),
entity_id: new FormControl(2),
entity_ans:new FormControl(this.pd_all_details.pdmaster_details.customer_segment_abbr.substring(0,3).toUpperCase()==='SAL' ? 'Individual' : '', Validators.required),
qualification_ques: new FormControl(this.coApplicantQuestions[3]),
qualification_id: new FormControl(3),
qualification_ans:new FormControl(null, Validators.required),
earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),
earning_id: new FormControl(4),
earning_ans:new FormControl(null, Validators.required),
relationShip_ques:new FormControl(this.coApplicantQuestions[5]),
relation_id:new FormControl(5),
relation_ans:new FormControl(null, Validators.required),
})));
this._personalForm = this._fb.group({
pdid:null,
form_id:null,
mainItem: mainApplicantGroup,
coItem: coApplicantGroup,
personal_info_form_remark:null
});
//console.log(this._personalForm);
this.loadDataStatus = true;
}
//get pd main applicant array values
get pdMainapplicant() { return this._personalForm.get('mainItem') as FormArray; }
// get pd co applicant array values
get pdCoapplicant() {return this._personalForm.get('coItem') as FormArray;}
// get all master details
getMasterDetails(table:string,type:number){
this._pd.getAllMasterDatas(table).subscribe(
@ -219,7 +148,92 @@ this.loadDataStatus = true;
}
}, error => this.errorMessage = <any> error);
}
// submit forms details
/** On Key Press Event For Mobile Number */
keyPress(event: any) {
const pattern = /[0-9]/;
let inputChar = String.fromCharCode(event.charCode);
if (event.keyCode != 8 && !pattern.test(inputChar)) {
event.preventDefault();
}
}
// init form details
public initFormDetails(): void {
this._personalForm = this._fb.group({
pdid:this.pdid,
formid:this.form_id,
main_applicant_details: this._fb.array([]),
co_applicant_details: this._fb.array([]),
personal_info_form_remark:null
});
}
// add more co applicant details
addCoApplicant() {
const control = <FormArray>this._personalForm.controls['co_applicant_details'];
control.push(this.loadCoApplicant(this.const_co_applicant));
}
// remove co applicant details
removeCoApplicant(renoveIndex) {
const remove_control = <FormArray>this._personalForm.controls['co_applicant_details'];
remove_control.removeAt(renoveIndex)
}
// load main applicant
loadMainApplicant(applicant:any) {
return this._fb.group({
name_ans: [applicant.name_ans, Validators.required],
age_ans: [applicant.age_ans, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])],
entity_ans: [applicant.entity_ans, Validators.required],
qualification_ans: [applicant.qualification_ans, Validators.required],
earning_ans: [applicant.earning_ans, Validators.required],
current_added_status: [applicant.current_added_status],
});
}
// load co applicant
loadCoApplicant(applicant:any) {
return this._fb.group({
name_ans: [applicant.name_ans, Validators.required],
age_ans: [applicant.age_ans, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])],
entity_ans: [applicant.entity_ans, Validators.required],
qualification_ans: [applicant.qualification_ans, Validators.required],
earning_ans: [applicant.earning_ans, Validators.required],
relation_ans: [applicant.relation_ans, Validators.required],
current_added_status: [applicant.current_added_status],
});
}
// load default main applicant form data
loadDefaultMainApplicant(applicant:any){
return this._fb.group({
name_ans: [applicant.applicant_name, Validators.required],
age_ans: ['', Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])],
entity_ans: [this.pd_all_details.pdmaster_details.customer_segment_abbr.substring(0,3).toUpperCase()==='SAL' ? 'Individual' : '', Validators.required],
qualification_ans: ['', Validators.required],
earning_ans: ['', Validators.required],
current_added_status: [applicant.current_added_status],
});
}
// load co applicant details
loadDefaultCoApplicant(applicant:any){
return this._fb.group({
name_ans: [applicant.applicant_name, Validators.required],
age_ans: ['', Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])],
entity_ans: [this.pd_all_details.pdmaster_details.customer_segment_abbr.substring(0,3).toUpperCase()==='SAL' ? 'Individual' : '', Validators.required],
qualification_ans: ['', Validators.required],
earning_ans: ['', Validators.required],
relation_ans: ['', Validators.required],
current_added_status: [applicant.current_added_status],
});
}
// submit forms details
submitPersonalForm(formData:any) {
if (this._personalForm.invalid) {
this.validateAllFormFields(this._personalForm);
@ -231,8 +245,8 @@ submitPersonalForm(formData:any) {
else{
let main_applicantDetails:any=[];
let co_applicantDetails:any=[];
formData.mainItem.forEach((element,key) => {
let new_co_applicant:any=[];
formData.main_applicant_details.forEach((element,key) => {
if(key==0){
main_applicantDetails.push({
"name_ans":element.name_ans,
@ -244,9 +258,8 @@ submitPersonalForm(formData:any) {
}
});
formData.coItem.forEach((Coelement,Cokey) => {
formData.co_applicant_details.forEach((Coelement,Cokey) => {
co_applicantDetails.push({
"name_ans":Coelement.name_ans,
"age_ans":Coelement.age_ans,
"qualification_ans":Coelement.qualification_ans,
@ -254,29 +267,64 @@ submitPersonalForm(formData:any) {
"earning_ans":Coelement.earning_ans,
"relation_ans":Coelement.relation_ans,
})
// get new co applicant list for applicant table
if(Coelement.current_added_status==1){
new_co_applicant.push({
"fk_pd_id": this.pdid,
"pd_co_applicant_id": '',
"applicant_name":Coelement.name_ans,
"relation":Coelement.relation_ans,
"email":'',
"mobile_no":'',
"landline":'',
"applicant_type":0,
"isactive":1
});
}
});
let save_details:any={
"pdid": this.pdid,
"formid": this.form_id,
"main_applicant_details":main_applicantDetails,
"co_applicant_details":co_applicantDetails,
"personal_info_form_remark": this._personalForm.get('personal_info_form_remark').value
};
if(new_co_applicant.length > 0){
this._pd.updatePdApplicant(new_co_applicant).subscribe(result => {
if (result.status == 200) {
this.questionsSubmitCheck(save_details);
}
else {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
}
}, error => {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
});
}
else{
this.questionsSubmitCheck(save_details);
}
let save_details:any={
"pdid": this.pdid,
"formid": this.form_id,
"main_applicant_details":main_applicantDetails,
"co_applicant_details":co_applicantDetails,
"personal_info_form_remark": this._personalForm.get('personal_info_form_remark').value
};
this._pd.savePDFormDetailsWithID(save_details).subscribe(result => {
if (result.status == 200) {
this.notifier.notify('success', 'Success.');
}
else {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
}
}, error => {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
});
}
}
// submit and check all questions
questionsSubmitCheck(questionAns: any) {
this._pd.savePDFormDetailsWithID(questionAns).subscribe(result => {
if (result.status == 200) {
this.notifier.notify('success', 'Success.');
this.loadPDDetails();
}
else {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
}
}, error => {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
});
return;
}
// validate all form group and form array fields
validateAllFormFields(formGroup: any) {
Object.keys(formGroup.controls).forEach(field => {
@ -292,14 +340,5 @@ validateAllFormFields(formGroup: any) {
});
}
/** On Key Press Event For Mobile Number */
keyPress(event: any) {
const pattern = /[0-9]/;
let inputChar = String.fromCharCode(event.charCode);
if (event.keyCode != 8 && !pattern.test(inputChar)) {
event.preventDefault();
}
}
}