Merge branch 'master' of https://bitbucket.org/sriramv18/sparqsineedge
This commit is contained in:
commit
755a493b96
@ -31,54 +31,67 @@
|
||||
</mat-card-header>
|
||||
<mat-card-content formArrayName="applicant_relation">
|
||||
<div fxLayout="row wrap">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" *ngFor="let relation of _generalForm.controls.applicant_relation['controls']; let r = index;" [formGroupName]="r">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" *ngFor="let relation of _generalForm.controls.applicant_relation['controls']; let r = index;" [formGroupName]="r">
|
||||
<mat-card >
|
||||
<mat-card-header>
|
||||
<mat-card-title>{{relation.controls.applicant_name.value | titlecase}}</mat-card-title>
|
||||
</mat-card-header>
|
||||
<mat-card-content>
|
||||
|
||||
<mat-form-field style="width: 50%" *ngIf="relation.controls.company_name.value">
|
||||
<input matInput placeholder="Company / Firm" formControlName="company_name" [readonly]="true" type="text">
|
||||
</mat-form-field>
|
||||
<mat-form-field style="width: 40%" *ngIf="relation.controls.company_name.value">
|
||||
<mat-select placeholder="Relation" formControlName="company_relationship">
|
||||
<mat-option>Select</mat-option>
|
||||
<mat-option *ngFor="let comrelShip of companyRelationShipList" [value]="comrelShip.company_relationship_id">
|
||||
{{comrelShip.name | titlecase}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<mat-form-field style="width: 50%">
|
||||
|
||||
<mat-select placeholder="Relation to" formControlName="applicant_relation_to">
|
||||
<mat-option>Select</mat-option>
|
||||
<mat-option *ngFor="let rel of fetch_related_details" [value]="rel">
|
||||
<!-- [disabled]="relation.controls.applicant_name.value == rel" -->
|
||||
{{rel | titlecase}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
|
||||
<!-- <input matInput placeholder="Relation to" formControlName="applicant_relation_to" type="text"> -->
|
||||
</mat-form-field>
|
||||
<mat-form-field style="width: 40%" *ngIf="relation.controls.applicant_relation_to.value">
|
||||
<mat-select placeholder="Relation" formControlName="relationship">
|
||||
<mat-option>Select</mat-option>
|
||||
<mat-option *ngFor="let relShip of relationShipList" [value]="relShip.relationship_id">
|
||||
{{relShip.name | titlecase}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<div align="end" *ngIf="relation.controls.pd_co_applicant_id.value==0">
|
||||
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button (click)="removeOthers(r,relation.value)"
|
||||
matTooltip="Delete" matTooltipPosition="above">
|
||||
<mat-icon>delete</mat-icon>
|
||||
</button>
|
||||
|
||||
<div formArrayName="multiple_relation">
|
||||
<div *ngFor="let mulRel of relation.get('multiple_relation').controls; let m = index" [formGroupName]="m">
|
||||
<div fxLayout="row nowrap">
|
||||
<mat-form-field style="width: 45%">
|
||||
<mat-select placeholder="Relation to" formControlName="applicant_relation_to">
|
||||
<mat-option>Select</mat-option>
|
||||
<mat-option *ngFor="let rel of fetch_related_details" [value]="rel">
|
||||
<!-- [disabled]="relation.controls.applicant_name.value == rel" -->
|
||||
{{rel | titlecase}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<mat-form-field style="width: 40%">
|
||||
<mat-select placeholder="Relation" formControlName="relationship">
|
||||
<mat-option>Select</mat-option>
|
||||
<mat-option *ngFor="let relShip of relationShipList" [value]="relShip.relationship_id">
|
||||
{{relShip.name | titlecase}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Add More Relation" matTooltipPosition="above" color="primary" (click)="addMoreRelation(r,m)" *ngIf="m==0"><mat-icon>add</mat-icon></button>
|
||||
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button (click)="removeRelation(r,m)" *ngIf="m>0"
|
||||
matTooltip="Remove Relation" matTooltipPosition="above">
|
||||
<mat-icon>delete</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
<div formArrayName="multiple_company_relation">
|
||||
<div fxLayout="row nowrap" *ngFor="let comRel of mulRel.get('multiple_company_relation').controls; let c = index" [formGroupName]="c">
|
||||
<mat-form-field style="width: 40%">
|
||||
<input matInput placeholder="Company / Firm" formControlName="company_name" type="text">
|
||||
</mat-form-field>
|
||||
<mat-form-field style="width: 30%">
|
||||
<mat-select placeholder="Relation" formControlName="company_relationship">
|
||||
<mat-option>Select</mat-option>
|
||||
<mat-option *ngFor="let comrelShip of companyRelationShipList" [value]="comrelShip.company_relationship_id">
|
||||
{{comrelShip.name | titlecase}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Add More Company" matTooltipPosition="above" color="primary" (click)="addMoreCompanyRelation(r,m,c)" *ngIf="c==0"><mat-icon>add</mat-icon></button>
|
||||
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button (click)="removeCompanyRelation(r,m,c)" *ngIf="c>0"
|
||||
matTooltip="Remove Company" matTooltipPosition="above">
|
||||
<mat-icon>delete</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</mat-card-content>
|
||||
<mat-card-actions align="end" *ngIf="relation.controls.pd_co_applicant_id.value==0">
|
||||
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button (click)="removeOthers(r,relation.value)"
|
||||
matTooltip="Delete" matTooltipPosition="above">
|
||||
<mat-icon>delete</mat-icon>
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card>
|
||||
</div>
|
||||
|
||||
@ -112,16 +112,54 @@ export class GeneralInfoComponent implements OnInit {
|
||||
|
||||
}
|
||||
if(exist_applicant_relation.length > 0){
|
||||
exist_applicant_relation.forEach(val => {
|
||||
relationControl.push(this.createApplicantRelation(val));
|
||||
exist_applicant_relation.forEach((val,key) => {
|
||||
let control: any = this._generalForm.get('applicant_relation') as FormArray;
|
||||
control.push(this.createApplicantRelation(val));
|
||||
control = control.controls[key].get('multiple_relation') as FormArray;
|
||||
val.multiple_relation.forEach((firstInnerelement,firstInnerKey) => {
|
||||
control.push(this.createMultipleRelation(firstInnerelement));
|
||||
let innerControl = this._generalForm.get('applicant_relation') as FormArray;
|
||||
innerControl = innerControl.controls[key].get('multiple_relation') as FormArray;
|
||||
innerControl = innerControl.controls[firstInnerKey].get('multiple_company_relation') as FormArray;
|
||||
firstInnerelement.multiple_company_relation.forEach((secondInnerValue,secondInnerKey) => {
|
||||
innerControl.push(this.createMultipleCompanyRelation(secondInnerValue))
|
||||
});
|
||||
|
||||
});
|
||||
//push related to details
|
||||
this.fetch_related_details.push(val.applicant_name);
|
||||
this.fetch_related_details.push(val.applicant_name);
|
||||
});
|
||||
}
|
||||
}, error => this.errorMessage = <any> error);
|
||||
|
||||
}
|
||||
|
||||
// check and uncheck function
|
||||
checkboxChange(event, index, item) {
|
||||
if(item.exist_status.value){
|
||||
let relationControl: any = <FormArray>this._generalForm.controls['applicant_relation'];
|
||||
let applicant_details: any= {'pd_co_applicant_id':item.pd_co_applicant_id.value,'applicant_name':item.applicant_name.value,'applicant_relation_to':'','relation':'','company_name':item.company_name.value,'company_relation':''};
|
||||
relationControl.push(this.createApplicantRelation(applicant_details));
|
||||
relationControl = <FormArray> relationControl.controls[relationControl.controls.length-1].get('multiple_relation');
|
||||
relationControl.push(this.createMultipleRelation(applicant_details))
|
||||
relationControl = <FormArray> relationControl.controls[relationControl.controls.length-1].get('multiple_company_relation');
|
||||
relationControl.push(this.createMultipleCompanyRelation(applicant_details))
|
||||
// to push selected persons names
|
||||
this.fetch_related_details.push(item.applicant_name.value);
|
||||
|
||||
}
|
||||
else {
|
||||
if(item.pd_co_applicant_id.value!=0){
|
||||
let relationControl = <FormArray>this._generalForm.controls['applicant_relation'];
|
||||
let pos_id = relationControl.value.map(e=> e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);
|
||||
relationControl.removeAt(pos_id);
|
||||
// remove related to details
|
||||
let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);
|
||||
this.fetch_related_details.splice(pos_name, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// create applicant form array
|
||||
createApplicant(elementValue:any){
|
||||
return this._fb.group({
|
||||
@ -137,34 +175,59 @@ export class GeneralInfoComponent implements OnInit {
|
||||
return this._fb.group({
|
||||
pd_co_applicant_id: [elementValue.pd_co_applicant_id],
|
||||
applicant_name: [elementValue.applicant_name],
|
||||
company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],
|
||||
company_relationship: [elementValue.company_relationship],
|
||||
applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],
|
||||
relationship: [elementValue.relationship],
|
||||
multiple_relation: this._fb.array([]),
|
||||
});
|
||||
}
|
||||
|
||||
// checkand un check function
|
||||
checkboxChange(event, index, item) {
|
||||
if(item.exist_status.value){
|
||||
let relationControl = <FormArray>this._generalForm.controls['applicant_relation'];
|
||||
let applicant_details: any= {'pd_co_applicant_id':item.pd_co_applicant_id.value,'applicant_name':item.applicant_name.value,'applicant_relation_to':'','relation':'','company_name':item.company_name.value,'company_relation':''};
|
||||
relationControl.push(this.createApplicantRelation(applicant_details));
|
||||
// push related to details
|
||||
this.fetch_related_details.push(item.applicant_name.value);
|
||||
|
||||
}
|
||||
else {
|
||||
if(item.pd_co_applicant_id.value!=0){
|
||||
let relationControl = <FormArray>this._generalForm.controls['applicant_relation'];
|
||||
let pos_id = relationControl.value.map(e=> e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);
|
||||
relationControl.removeAt(pos_id);
|
||||
// remove related to details
|
||||
let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);
|
||||
this.fetch_related_details.splice(pos_name, 1);
|
||||
}
|
||||
// create multiple relation details
|
||||
createMultipleRelation(elementValue: any) {
|
||||
return this._fb.group({
|
||||
applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],
|
||||
relationship: [elementValue.relationship],
|
||||
multiple_company_relation : this._fb.array([]),
|
||||
});
|
||||
}
|
||||
|
||||
// add more relation
|
||||
addMoreRelation(rindex,mindex) {
|
||||
let control: any = this._generalForm.get('applicant_relation') as FormArray;
|
||||
control = control.controls[rindex].get('multiple_relation') as FormArray;
|
||||
let setValues: any = {applicant_relation_to :'',relationship:''}
|
||||
control.push(this.createMultipleRelation(setValues))
|
||||
let setCompanyValue = {company_name :'',company_relationship:''};
|
||||
control = <FormArray> control.controls[control.controls.length-1].get('multiple_company_relation');
|
||||
control.push(this.createMultipleCompanyRelation(setCompanyValue))
|
||||
}
|
||||
|
||||
// remove relation
|
||||
removeRelation(rindex,mindex) {
|
||||
let control: any = this._generalForm.get('applicant_relation') as FormArray;
|
||||
control = control.controls[rindex].get('multiple_relation') as FormArray;
|
||||
control.removeAt(mindex);
|
||||
}
|
||||
|
||||
// create multiple company relation
|
||||
createMultipleCompanyRelation(elementValue: any) {
|
||||
return this._fb.group({
|
||||
company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],
|
||||
company_relationship: [elementValue.company_relationship],
|
||||
});
|
||||
}
|
||||
// add more company relation
|
||||
addMoreCompanyRelation(rindex,mindex,cindex) {
|
||||
let control: any = this._generalForm.get('applicant_relation') as FormArray;
|
||||
control = control.controls[rindex].get('multiple_relation') as FormArray;
|
||||
control = control.controls[mindex].get('multiple_company_relation') as FormArray;
|
||||
let setValues: any = {company_name :'',company_relationship:''}
|
||||
control.push(this.createMultipleCompanyRelation(setValues))
|
||||
}
|
||||
|
||||
// remove company relation
|
||||
removeCompanyRelation(rindex,mindex,cindex) {
|
||||
let control: any = this._generalForm.get('applicant_relation') as FormArray;
|
||||
control = control.controls[rindex].get('multiple_relation') as FormArray;
|
||||
control = control.controls[mindex].get('multiple_company_relation') as FormArray;
|
||||
control.removeAt(cindex);
|
||||
}
|
||||
}
|
||||
|
||||
// add more applicant details
|
||||
addOtherApplicant() {
|
||||
@ -176,10 +239,14 @@ export class GeneralInfoComponent implements OnInit {
|
||||
dialogRef.afterClosed()
|
||||
.subscribe(dataresult => {
|
||||
if(dataresult.data.length>0){
|
||||
let relationControl = <FormArray>this._generalForm.controls['applicant_relation'];
|
||||
dataresult.data.forEach(element => {
|
||||
let applicant_details: any= {'pd_co_applicant_id':element.pd_co_applicant_id,'applicant_name':element.applicant_name,'applicant_relation_to':'','relation':'','company_name':element.company_name,'company_relation':''};
|
||||
let relationControl = <FormArray>this._generalForm.controls['applicant_relation'];
|
||||
let applicant_details: any= {'pd_co_applicant_id':element.pd_co_applicant_id,'applicant_name':element.applicant_name,'applicant_relation_to':'','relation':'','company_name':element.company_name,'company_relation':''};
|
||||
relationControl.push(this.createApplicantRelation(applicant_details));
|
||||
relationControl = <FormArray> relationControl.controls[relationControl.controls.length-1].get('multiple_relation');
|
||||
relationControl.push(this.createMultipleRelation(applicant_details))
|
||||
relationControl = <FormArray> relationControl.controls[relationControl.controls.length-1].get('multiple_company_relation');
|
||||
relationControl.push(this.createMultipleCompanyRelation(applicant_details))
|
||||
// push related to details
|
||||
this.fetch_related_details.push(element.applicant_name);
|
||||
});
|
||||
@ -192,7 +259,6 @@ export class GeneralInfoComponent implements OnInit {
|
||||
|
||||
// remove other details
|
||||
removeOthers(index, item: any){
|
||||
console.log(item)
|
||||
if(item.pd_co_applicant_id==0){
|
||||
let relationControl = <FormArray>this._generalForm.controls['applicant_relation'];
|
||||
relationControl.removeAt(index);
|
||||
@ -226,22 +292,22 @@ export class GeneralInfoComponent implements OnInit {
|
||||
}
|
||||
});
|
||||
// this is for selected applicant relation
|
||||
formData.applicant_relation.forEach((element,key) => {
|
||||
applicantRelationList.push({
|
||||
"pd_co_applicant_id":element.pd_co_applicant_id,
|
||||
"applicant_name":element.applicant_name,
|
||||
"company_name":element.company_name,
|
||||
"company_relationship":element.company_relationship,
|
||||
"applicant_relation_to":element.applicant_relation_to,
|
||||
"relationship":element.relationship,
|
||||
})
|
||||
});
|
||||
// formData.applicant_relation.forEach((element,key) => {
|
||||
// applicantRelationList.push({
|
||||
// "pd_co_applicant_id":element.pd_co_applicant_id,
|
||||
// "applicant_name":element.applicant_name,
|
||||
// "company_name":element.company_name,
|
||||
// "company_relationship":element.company_relationship,
|
||||
// "applicant_relation_to":element.applicant_relation_to,
|
||||
// "relationship":element.relationship,
|
||||
// })
|
||||
// });
|
||||
|
||||
saveRecords.pdid=formData.pdid;
|
||||
saveRecords.formid=formData.formid;
|
||||
saveRecords.general_remark=formData.general_remark;
|
||||
saveRecords.selected_applicant=applicantList;
|
||||
saveRecords.applicant_relation=applicantRelationList;
|
||||
saveRecords.applicant_relation=formData.applicant_relation;
|
||||
this._pd.savePDFormDetailsWithID(saveRecords).subscribe(
|
||||
dataresult => {
|
||||
if (dataresult.status == 200) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user