From e223ae4acfd693f30aec8e723f75fc5b1eb62ce9 Mon Sep 17 00:00:00 2001 From: gandhimathi Date: Fri, 30 Nov 2018 18:57:46 +0530 Subject: [PATCH] personal form changes --- .../personal-info.component.html | 230 +++++----- .../personal-info.component.scss | 7 +- .../personal-info/personal-info.component.ts | 401 ++++++++++-------- 3 files changed, 343 insertions(+), 295 deletions(-) diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.html index 883feab00..62e80b5f4 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.html @@ -1,138 +1,142 @@

Personal Details

+ + + Main Applicant + +
- - - -
- -
- - - Main Applicant - -
-
- - - + + - - + + + + + Enter Valid Age. + + + + + + + + + + {{earning.earning_member_status}} + + + + + + + + {{education.qualification_name}} + + + + + + +
- - Enter Valid Age. + + + + + + Co Applicant + + + + + + + + + + + + Enter Valid Age. + + + + + + + + + + + + {{earning.earning_member_status}} + + - - - - - - - - - {{education.qualification_name}} - - - - - - - - {{earning.earning_member_status}} - - - -
-
- - - - - -
- + + - - - -
- - - Co Applicant - -
-
- - - - - - - - - Enter Valid Age. - - - - - - - - - - - - - {{education.qualification_name}} - - + + + {{education.qualification_name}} + + + + + + + + + + + {{rel.name}} + + + + - - - - - - {{earning.earning_member_status}} - - - - - - - - {{rel.name}} - - - -
-
- - -
- +
- -
- -
+ +
+ + -
+ + + + + + + + - + -
+
+ + Remarks + + +
+
diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.scss b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.scss index 776d000ca..5ebd7c76e 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.scss +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.scss @@ -3,4 +3,9 @@ } .mat-card-actions { background-color: white; - } \ No newline at end of file + } + + mat-form-field { + margin: 0 2%; + } + \ No newline at end of file diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.ts index 0302aca2d..a6618c718 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.ts +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/personal-info/personal-info.component.ts @@ -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 = this._personalForm.controls['main_applicant_details']; + const coValue = 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){ - - this.loadFormData(); + else if(data.dataStatus == false){ + this.mainApplicantDetails.forEach(item => { + item.current_added_status=0 + mainValue.push(this.loadDefaultMainApplicant(item)) + }); - - } + // 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 = 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 = 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 = this._personalForm.controls['co_applicant_details']; + control.push(this.loadCoApplicant(this.const_co_applicant)); + +} + +// remove co applicant details +removeCoApplicant(renoveIndex) { + const remove_control = 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 - }; - 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.!'); - }); + 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); + } + } } +// 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 => { @@ -290,16 +338,7 @@ validateAllFormFields(formGroup: any) { this.validateAllFormFields(control); } }); -} +} -/** 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(); - } -} }