UI changes

This commit is contained in:
venbatechnologies@gmail.com 2019-01-11 19:11:17 +05:30
commit 128302ad53
19 changed files with 311 additions and 119 deletions

View File

@ -122,7 +122,7 @@
</mat-form-field>
<mat-form-field style="width: 28%">
<input matInput autocomplete="off" placeholder="Loan Amount" formControlName="loan_amount" (keypress)="keyPress($event)" (keyup)="inWords($event,1)" required autocomplete="off">
<mat-hint align="start" style="font-size:100%" *ngIf="pdMain.loan_amount.value">{{"&#8377;"}} {{loanAmtInWords}} Only</mat-hint>
<mat-hint align="start" style="font-size:70%" *ngIf="pdMain.loan_amount.value">{{"&#8377;"}} {{loanAmtInWords}} Only</mat-hint>
<!-- <mat-error *ngIf="pdMain.loan_amount.hasError('required')">Amount Required.</mat-error> -->
<mat-error *ngIf="pdMain.loan_amount.hasError('pattern')">Enter valid amount. </mat-error>

View File

@ -83,8 +83,10 @@ export class AddPdComponent implements OnInit, OnDestroy {
mobile_no: [null,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],
// landline : [null,Validators.compose([Validators.minLength(12),Validators.maxLength(13)])],
// email: [null],
stdcode:[null, Validators.compose([Validators.minLength(2),Validators.maxLength(4),Validators.pattern('^[0-9]*$')])],
landline : [null, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],
lender_stdcode:[null, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],
lender_landline:[null, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],
applicant_stdcode:[null, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],
applicant_landline:[null, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],
company_name: [null],
  addressline1: [null],
fk_city: [null],
@ -398,6 +400,7 @@ export class AddPdComponent implements OnInit, OnDestroy {
"pd_branch_id":formValue.pd_branch_id,
"pd_contact_person":formValue.lender_contact_person,
"pd_contact_mobileno":formValue.lender_contact_mobile,
"pd_contact_landline":formValue.lender_stdcode +'-'+formValue.lender_landline,
"fk_product_id":formValue.fk_product_id,
"fk_subproduct_id":formValue.fk_subproduct_id,
"fk_pd_type":formValue.fk_pd_type,
@ -418,7 +421,7 @@ export class AddPdComponent implements OnInit, OnDestroy {
"applicant_title_name":formValue.applicant_title_name,
"company_name":formValue.company_name,
"mobile_no":formValue.mobile_no,
"landline":formValue.stdcode +'-'+formValue.landline,
"landline":formValue.applicant_stdcode +'-'+formValue.applicant_landline,
"applicant_type":1,
"relation":"",
});

View File

@ -40,7 +40,7 @@
</mat-form-field>
<mat-form-field style="width: 15%">
<input matInput placeholder="STD Code" formControlName="stdcode" type="text" (keypress)="keyPress($event)">
<span matPrefix>+91</span>
<!-- <span matPrefix>+91</span> -->
<mat-error *ngIf="pdMainApplicant.stdcode.hasError('maxlength') || pdMainApplicant.stdcode.hasError('minlength')">Enter Valid STD Code. </mat-error>
</mat-form-field> &nbsp;-&nbsp;
<mat-form-field style="width: 60%">
@ -81,7 +81,7 @@
</mat-form-field> -->
<mat-form-field style="width: 15%">
<input matInput placeholder="STD Code" formControlName="coapplicant_stdcode" type="text" (keypress)="keyPress($event)">
<span matPrefix>+91</span>
<!-- <span matPrefix>+91</span> -->
<mat-error *ngIf="coDetails['controls'].coapplicant_stdcode.hasError('maxlength') || coDetails['controls'].coapplicant_stdcode.hasError('minlength')">Enter Valid STD Number. </mat-error>
</mat-form-field> &nbsp;-&nbsp;
<mat-form-field style="width: 60%">

View File

@ -45,8 +45,8 @@ export class EditPdApplicantComponent implements OnInit {
fk_applicant_primary_id: [null],
applicant_name: [null, Validators.compose([Validators.required])],
mobile_no: [null, Validators.compose([Validators.minLength(10),Validators.maxLength(12)])],
stdcode: [null, Validators.compose([Validators.minLength(2),Validators.maxLength(4)])],
landline: [null, Validators.compose([Validators.minLength(8),Validators.maxLength(12)])],
stdcode: [null, Validators.compose([Validators.minLength(3),Validators.maxLength(5)])],
landline: [null, Validators.compose([Validators.minLength(6),Validators.maxLength(8)])],
company_name: [null],
applicant_type: [1],
coApplicantItems: this._fb.array([]),
@ -62,7 +62,7 @@ export class EditPdApplicantComponent implements OnInit {
fk_applicant_primary_id: [this.mainApplicantData[0].pd_co_applicant_id],
applicant_name: [this.mainApplicantData[0].applicant_name, Validators.compose([Validators.required])],
mobile_no: [this.mainApplicantData[0].mobile_no, Validators.compose([Validators.minLength(10),Validators.maxLength(12)])],
stdcode: [stdcode, Validators.compose([Validators.minLength(2),Validators.maxLength(4)])],
stdcode: [stdcode, Validators.compose([Validators.minLength(3),Validators.maxLength(5)])],
landline: [landline, Validators.compose([Validators.minLength(6),Validators.maxLength(8)])],
company_name: [this.mainApplicantData[0].company_name],
applicant_type: [this.mainApplicantData[0].applicant_type, Validators.compose([Validators.required])],
@ -97,7 +97,7 @@ export class EditPdApplicantComponent implements OnInit {
applicant_title_name: [listData.applicant_title_name, Validators.compose([Validators.required])],
coapplicantName: [listData.applicant_name, Validators.compose([Validators.required])],
coapplicant_mobile_no: [listData.mobile_no,Validators.compose([Validators.minLength(10),Validators.maxLength(12),Validators.pattern('^[0-9]*$')])],
coapplicant_stdcode: [stdcode, Validators.compose([Validators.minLength(2),Validators.maxLength(4)])],
coapplicant_stdcode: [stdcode, Validators.compose([Validators.minLength(3),Validators.maxLength(5)])],
// landline: [landline, Validators.compose([Validators.minLength(6),Validators.maxLength(8)])],
coapplicant_landline: [landline,Validators.compose([Validators.minLength(6),Validators.maxLength(8)])],
relationship: [listData.relation],
@ -112,13 +112,12 @@ export class EditPdApplicantComponent implements OnInit {
applicant_title_name: [null, Validators.compose([Validators.required])],
coapplicantName: [null, Validators.compose([Validators.required])],
coapplicant_mobile_no: [null, Validators.compose([Validators.minLength(10),Validators.maxLength(12),Validators.pattern('^[0-9]*$')])],
coapplicant_stdcode: [null, Validators.compose([Validators.minLength(2),Validators.maxLength(4)])],
coapplicant_stdcode: [null, Validators.compose([Validators.minLength(3),Validators.maxLength(5)])],
coapplicant_landline: [null,Validators.compose([Validators.minLength(6),Validators.maxLength(8)])],
//coapplicant_landline: [null, Validators.compose([Validators.minLength(8),Validators.maxLength(12)])],
relationship: [null],
applicant_type: [0],
company_name: [null],
});
}
@ -185,17 +184,17 @@ export class EditPdApplicantComponent implements OnInit {
pd_applicant_details.push(obj1)
});
this._pd.updatePdApplicant(pd_applicant_details).subscribe(result => {
if (result.status == 200) {
this.notifier.notify('success', 'PD Details Updated.');
this.dialogRef.close();
}
else {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
}
}, error => {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
});
// this._pd.updatePdApplicant(pd_applicant_details).subscribe(result => {
// if (result.status == 200) {
// this.notifier.notify('success', 'PD Details Updated.');
// this.dialogRef.close();
// }
// else {
// this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
// }
// }, error => {
// this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
// });
}
}

View File

@ -39,7 +39,16 @@
<mat-form-field style="width: 32%">
<input matInput placeholder="Lender Contact Number" formControlName="pd_contact_mobileno" type="text" required (keypress)="keyPress($event)">
<mat-error *ngIf="pdMain.pd_contact_mobileno.hasError('pattern') || pdMain.pd_contact_mobileno.hasError('maxlength') || pdMain.pd_contact_mobileno.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
</mat-form-field>
</mat-form-field>
<mat-form-field style="width: 10%">
<input matInput placeholder="STD Code" formControlName="lender_stdcode" type="text" (keypress)="keyPress($event)">
<!-- <span matPrefix>+91</span> -->
<mat-error *ngIf="pdMain.lender_stdcode.hasError('maxlength') || pdMain.lender_stdcode.hasError('minlength')">Enter Valid STD Code. </mat-error>
</mat-form-field> &nbsp;-&nbsp;
<mat-form-field style="width: 20%">
<input matInput placeholder="LandLine Number" formControlName="lender_landline" type="text" (keypress)="keyPress($event)">
<mat-error *ngIf="pdMain.lender_landline.hasError('maxlength') || pdMain.lender_landline.hasError('minlength')">Enter Valid Landline Number. </mat-error>
</mat-form-field>
<mat-form-field style="width: 32%">
<mat-select placeholder="Product Name" formControlName="fk_product_id" (selectionChange)="getSubproductList(pdMain.fk_product_id.value)">
<mat-option>

View File

@ -112,12 +112,27 @@ export class EditPdMasterComponent implements OnInit {
}
loadFormData() {
this._EditPDtriggerForm = this._fb.group({
let stdcode;
let landline;
if(this.data.records.pd_contact_landline){
if(this.data.records.pd_contact_landline != null){
let stdcodesearch = this.data.records.pd_contact_landline.search("-");
stdcode = this.data.records.pd_contact_landline.substr(0,stdcodesearch);
landline = this.data.records.pd_contact_landline.substr(+stdcodesearch + 1,8);
}
else{
stdcode = null;
landline = null;
}
}
this._EditPDtriggerForm = this._fb.group({
pd_id: [this.data.records.pd_id],
fk_lender_id: [this.data.records.fk_lender_id, Validators.compose([Validators.required])],
lender_applicant_id: [this.data.records.lender_applicant_id, Validators.compose([Validators.required])],
pd_contact_person: [this.data.records.pd_contact_person, Validators.compose([Validators.required])],
pd_contact_mobileno: [this.data.records.pd_contact_mobileno, Validators.compose([Validators.required,Validators.minLength(10),Validators.maxLength(12),Validators.pattern('^[0-9]*$')])],
lender_stdcode: [stdcode, Validators.compose([Validators.minLength(3),Validators.maxLength(5)])],
lender_landline: [landline,Validators.compose([Validators.minLength(6),Validators.maxLength(8)])],
fk_product_id: [this.data.records.fk_product_id],
fk_subproduct_id: [this.data.records.fk_subproduct_id],
fk_pd_type: [this.data.records.fk_pd_type],
@ -235,19 +250,55 @@ export class EditPdMasterComponent implements OnInit {
}
else{
let my_array = this._EditPDtriggerForm.value;
Object.keys(my_array).forEach((key) => ( my_array[key] == null) && delete my_array[key]);
this._pd.editPdMasterDetails(my_array, updateStatus).subscribe(result => {
let concat_landline
if(my_array.lender_stdcode != null && my_array.lender_landline != null){
if(my_array.lender_stdcode == '' && my_array.lender_landline == ''){
concat_landline = null;
}else{
let std = my_array.lender_stdcode == '' ? '' : my_array.lender_stdcode;
let landline = my_array.lender_landerline == '' ? '' : my_array.lender_landerline;
concat_landline = std+'-'+landline;
}
}else if(my_array.lender_stdcode == '' && my_array.lender_landerline == ''){
concat_landline = null;
}else{
concat_landline = null;
}
let lenderMasterArray = {
"pd_id": my_array.pd_id,
"fk_lender_id": my_array.fk_lender_id,
"lender_applicant_id": my_array.lender_applicant_id,
"pd_contact_person": my_array.pd_contact_person,
"pd_contact_mobileno": my_array.pd_contact_mobileno,
"pd_Contant_landline": concat_landline,
"fk_product_id": my_array.fk_product_id,
"fk_subproduct_id": my_array.fk_subproduct_id,
"fk_pd_type": my_array.fk_pd_type,
"fk_customer_segment": my_array.fk_customer_segment,
"loan_amount": my_array.loan_amount,
  "addressline1": my_array.addressline1,
"fk_city": my_array.fk_city,
"fk_state": my_array.fk_state,
  "pincode": my_array.pincode,
"remarks": my_array.remarks,
}
console.log(lenderMasterArray);
this._pd.editPdMasterDetails(lenderMasterArray, updateStatus).subscribe(result => {
if (result.status == 200) {
this.notifier.notify('success', 'PD Details Updated.');
this.dialogRef.close();
}
else {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
}
}//else
}, error => {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
});
}
});//error closed
}//else closed
}
/** To Reset Popup Data */
onReset() {
@ -282,7 +333,6 @@ validateAllFormFields(formGroup: any) {
}
});
}
/** To Convert Amount into Words */
inWords(e,flag:number){
switch(flag){

View File

@ -28,7 +28,7 @@
<div fxLayout="row wrap" fxLayoutGap="5px" fxLayoutAlign="start none">
<mat-form-field style="width:100%">
<mat-select (selectionChange)="selectedAssetsType($event,i,2)" placeholder="Assets Type" formControlName="business_assets_mode" requried>
<mat-option *ngFor="let asset of m_assets_type" [value]="asset.id">{{ asset.name | titlecase }}</mat-option>
<mat-option *ngFor="let asset of m_assets_type" [value]="asset.id" [disabled]="asset.flag!=1">{{ asset.name | titlecase }}</mat-option>
</mat-select>
</mat-form-field>
</div>
@ -55,26 +55,38 @@
</div>
</div>
<!--Four Wheeler-->
<!--vehicle-->
<div *ngIf="sup.get('business_assets_mode').value == 2">
<div *ngFor="let detail of sup['controls'].business_details['controls']; let s = index">
<div [formGroupName]="s">
<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none">
<!--<mat-form-field style="width:40%">
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_four_weeler" autocomplete="off">-->
<mat-form-field style="width:40%">
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_four_weeler" autocomplete="off">
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_vehicle" autocomplete="off">
</mat-form-field>
</div>
</div>
</div>
</div>
<!--Two Wheeler-->
<!-- Eqipment Manufacturing -->
<div *ngIf="sup.get('business_assets_mode').value == 3">
<div *ngFor="let detail of sup['controls'].business_details['controls']; let s = index">
<div [formGroupName]="s">
<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none">
<!--<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none">
<mat-form-field style="width:40%">
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_two_weeler" autocomplete="off">
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_two_weeler" autocomplete="off">-->
<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none">
<mat-form-field style="width:95%">
<input matInput placeholder="Description" formControlName="equipment_manufacturing_description" >
</mat-form-field>
</div>
</div>
@ -321,19 +333,28 @@
<div [formGroupName]="s">
<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none">
<mat-form-field style="width:40%">
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_four_weeler" autocomplete="off">
<!--<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_four_weeler" autocomplete="off">
<mat-form-field style="width:30%">-->
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_vehicle" autocomplete="off">
</mat-form-field>
</div>
</div>
</div>
</div>
<!--Two Wheeler-->
<!-- Eqipment Manufacturing -->
<div *ngIf="sup.get('assets_mode').value == 3">
<div *ngFor="let detail of sup['controls'].details['controls']; let s = index">
<div [formGroupName]="s">
<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none">
<!--<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none">
<mat-form-field style="width:40%">
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_two_weeler" autocomplete="off">
<input matInput placeholder="Manufacturer, Model" formControlName="manufacturer_model_two_weeler" autocomplete="off">-->
<div fxLayout="row" fxLayoutGap="2px" fxLayoutAlign="start none">
<mat-form-field style="width:95%">
<input matInput placeholder="Description" formControlName="equipment_manufacturing_description" >
</mat-form-field>
</div>
</div>
@ -419,7 +440,10 @@
<mat-form-field style="width:40%">
<input matInput placeholder="Amount of Investment" formControlName="amount_of_invest" (keypress)="keyPress($event)" autocomplete="off" (keyup)="inWords($event,i,10)">
<mat-hint align="start" style="font-size:90%" *ngIf="sup.get('amount_of_invest').value != ''">{{"&#8377;"}} {{OtherAmtInvestInwords[i]}} Only</mat-hint>
<!--<mat-hint align="start" style="font-size:90%" *ngIf="sup.get('amount_of_invest').value != ''">{{"&#8377;"}} {{OtherAmtInvestInwords[i]}} Only</mat-hint>-->
<mat-hint align="start" style="font-size:90%" *ngIf="detail.get('amount_of_invest').value != ''">{{"&#8377;"}} {{OtherAmtInvestInwords[i]}} Only</mat-hint>
</mat-form-field>
</div>

View File

@ -225,7 +225,7 @@ public m_investmentType = [];
// });
this.pdTrigerService.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{
if(data.dataStatus){
this.existCompanyList = data.records.filter(val =>val.is_active);
this.existCompanyList = data.records.filter(val =>val.is_active===true && val.is_company_applicant===true);
}
let modifyCompanyList : any=[];
@ -234,9 +234,7 @@ public m_investmentType = [];
return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};
});
this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})
}
let modifyApplicantList: any=[];
if(this.applicants.length > 0){
modifyApplicantList = this.applicants.map(element => {
@ -448,7 +446,7 @@ public m_investmentType = [];
case '3': {
const control = (flag == 1) ? (<FormArray>this._assetsQuesFrom.controls['assets_details']).at(val).get('details') as FormArray
: (<FormArray>this._assetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;
control.push(this.load_Two_Weeler());
control.push(this.loadEquipmentManufacturingDescription());
break;
}
case '4': {
@ -512,6 +510,12 @@ public m_investmentType = [];
});
}
loadEquipmentManufacturingDescription() {
return this._formBuilder.group({
equipment_manufacturing_description: ['']
});
}
otherAssetsDescription() {
return this._formBuilder.group({
any_other_assets: [''],
@ -547,20 +551,20 @@ public m_investmentType = [];
return this._formBuilder.group({
investments_type: [''],
other_investments_type:[''],
amount_of_invest: [''],
amount_of_invest: [],
bank_name: ['']
});
}
load_Four_Weeler() {
return this._formBuilder.group({
manufacturer_model_four_weeler: ['']
manufacturer_model_vehicle: ['']
});
}
load_Two_Weeler() {
return this._formBuilder.group({
manufacturer_model_two_weeler: ['']
manufacturer_model_vehicle: ['']
});
}
@ -583,6 +587,11 @@ public m_investmentType = [];
consumer_durable_description: [data.consumer_durable_description]
});
}
loadEquipmentManufacturingDescriptionWithData(data) {
return this._formBuilder.group({
equipment_manufacturing_description: [data.equipment_manufacturing_description]
});
}
otherAssetsDescriptionWithData(data) {
return this._formBuilder.group({
@ -627,13 +636,13 @@ public m_investmentType = [];
load_Four_WeelerWithData(data) {
return this._formBuilder.group({
manufacturer_model_four_weeler: [data.manufacturer_model_four_weeler]
manufacturer_model_vehicle: [data.manufacturer_model_vehicle]
});
}
load_Two_WeelerWithData(data) {
return this._formBuilder.group({
manufacturer_model_two_weeler: [data.manufacturer_model_two_weeler]
manufacturer_model_vehicle: [data.manufacturer_model_vehicle]
});
}
@ -758,7 +767,7 @@ public m_investmentType = [];
case '2': {
let array_data : any;
data.forEach((datas,i) => {
array_data = { 'manufacturer_model_four_weeler': datas.manufacturer_model_four_weeler };
array_data = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle };
});
const control = (<FormArray>this._assetsQuesFrom.controls['assets_details']).at(val).get('details') as FormArray;
control.push(this.load_Four_WeelerWithData(array_data));
@ -767,10 +776,10 @@ public m_investmentType = [];
case '3': {
let array_data : any;
data.forEach((datas,i) => {
array_data = { 'manufacturer_model_two_weeler': datas.manufacturer_model_two_weeler };
array_data = { 'equipment_manufacturing_description': datas.equipment_manufacturing_description };
});
const control = (<FormArray>this._assetsQuesFrom.controls['assets_details']).at(val).get('details') as FormArray;
control.push(this.load_Two_WeelerWithData(array_data));
control.push(this.loadEquipmentManufacturingDescriptionWithData(array_data));
break;
}
case '4': {
@ -860,19 +869,19 @@ public m_investmentType = [];
case '2': {
let business_Four_Weeler_datas : any;
data.forEach((datas,i) => {
business_Four_Weeler_datas = { 'manufacturer_model_four_weeler': datas.manufacturer_model_four_weeler };
business_Four_Weeler_datas = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle };
});
const control = (<FormArray>this._assetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;
control.push(this.load_Four_WeelerWithData(business_Four_Weeler_datas));
break;
}
case '3': {
let business_Two_Weeler_datas : any;
let equipment_manufacturing_description_datas : any;
data.forEach((datas,i) => {
business_Two_Weeler_datas = { 'manufacturer_model_two_weeler': datas.manufacturer_model_two_weeler };
equipment_manufacturing_description_datas= { 'equipment_manufacturing_description': datas.equipment_manufacturing_description };
});
const control = (<FormArray>this._assetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;
control.push(this.load_Two_WeelerWithData(business_Two_Weeler_datas));
control.push(this.loadEquipmentManufacturingDescriptionWithData(equipment_manufacturing_description_datas));
break;
}
case '4': {

View File

@ -117,10 +117,10 @@
</mat-form-field>
<p style="padding-left: 2% !important">No of Years in Current Business</p>
<mat-form-field style="width: 20%;">
<input matInput type="number" placeholder="Year" formControlName="current_business_experiance_year" (keyup)="getWorkExperience(members.value,i)" required min='0'>
<input matInput placeholder="Year" formControlName="current_business_experiance_year" (keyup)="getWorkExperience(members.value,i)" required autocomplete="off" (keypress)="keyPress($event)">
</mat-form-field>
<mat-form-field style="width: 21%;">
<input matInput type="number" placeholder="Month" formControlName="current_business_experiance_month" required min='0' max='12'>
<input matInput placeholder="Month" formControlName="current_business_experiance_month" required (keypress)="keyPress($event)" (change)="ConvertMonthintoYear(members,$event.target.value)" autocomplete="off">
</mat-form-field>
<mat-form-field style="width: 35%;">
<input matInput type="number" placeholder="Total Work Experience"
@ -151,10 +151,11 @@
</mat-card-header>
<mat-card-content>
<mat-form-field style="width: 20%;">
<input matInput type="number" placeholder="Year" formControlName="business_years" required min='0'>
<input matInput placeholder="Year" formControlName="business_years" required autocomplete="off" (keypress)="keyPress($event)">
<mat-error>Please Enter Correct Year</mat-error>
</mat-form-field>
<mat-form-field style="width: 20%;">
<input matInput type="number" placeholder="Month" formControlName="business_month" required min='0' max='12'>
<input matInput type="number" placeholder="Month" formControlName="business_month" required (keypress)="keyPress($event)" (change)="ConvertMonthintoYearforBusiness($event.target.value)">
</mat-form-field>
<mat-form-field style="width: 40%;">
<input matInput [max]="maxDate" [matDatepicker]="picker" formControlName="business_date_object" placeholder="Enter Date of Formation, If Available">
@ -1173,11 +1174,11 @@
formControlName="employees_total" required>
</mat-form-field>
<mat-form-field>
<input matInput placeholder="Permanent"
<input matInput placeholder="Permanent" (change)="checkTotal(businessForm)"
formControlName="employees_permanent" required>
</mat-form-field>
<mat-form-field>
<input matInput placeholder="Temporary"
<input matInput placeholder="Temporary" (change)="checkTotal(businessForm)"
formControlName="employees_temporary" required>
</mat-form-field>
</mat-card-content>

View File

@ -1214,7 +1214,38 @@ export class BusinessInfoComponent implements OnInit {
else {
control.controls[key].removeControl('total_business_previous_experience')
}
let total ;
if(control.length > 0){
total = control.value.reduce((sum, val) => sum + +val.current_business_experiance_year, 0);
console.log(total);
this.businessForm.controls.business_years.setValidators([Validators.required, Validators.min(+total)]);
this.businessForm.controls.business_years.updateValueAndValidity();
}
}
/** To Convert Month into Year */
ConvertMonthintoYear(itemrow,e){
let year = itemrow.controls.current_business_experiance_year.value;
let converted_month : number = e%12;
let converted_year : number = e/12;
itemrow.controls.current_business_experiance_year.setValue(+year + +Math.floor(converted_year));
itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));
}
ConvertMonthintoYearforBusiness(e){
let business_year = this.businessForm.controls.business_years.value;
let converted_month : number = e%12;
let converted_year : number = e/12;
this.businessForm.controls.business_years.setValue(+business_year + +Math.floor(converted_year));
this.businessForm.controls.business_month.setValue(Math.floor(converted_month));
}
/**
@ -1452,4 +1483,11 @@ export class BusinessInfoComponent implements OnInit {
}
})
}
checkTotal(FormData){
// console.log(FormData.value.employees_permanent);
// console.log(FormData.value.employees_temporary);
// console.log(FormData.value.employees_total);
this.businessForm.controls['employees_total'].setValue((+FormData.value.employees_permanent ||0)+(+FormData.value.employees_temporary||0));
}
}

View File

@ -39,7 +39,7 @@
<mat-card-content class="matcard">
<mat-form-field>
<input matInput autocomplete="off" placeholder="Loan Amount" formControlName="loan_amount" (keypress)="keyPress($event)" (keyup)="inWords($event,i,1)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('loan_amount').value != ''">{{"&#8377;"}} {{amtInwords[i]}} Only</mat-hint>
<mat-hint my-mat-hint align="start" *ngIf="details.get('loan_amount').value != ''">{{"&#8377;"}} {{amtInwords[i]}} Only</mat-hint>
</mat-form-field>
<mat-form-field>
<mat-select placeholder="Frequency" (selectionChange)="selectedfrequency($event.value,i)"
@ -53,7 +53,7 @@
<mat-form-field *ngIf="details.get('frequency').value != ''" style="width:35%">
<input matInput autocomplete="off" [placeholder]="placeholderName[i] != '' ? placeholderName[i] : 'Instalment Amount' " formControlName="emi" (keypress)="keyPress($event)" (keyup)="inWords($event,i,2)">
<!-- <input matInput autocomplete="off" placeholder="details.get('loan_type').value + Instalment Amount " formControlName="emi" (keypress)="keyPress($event)" (keyup)="inWords($event,i,2)"> -->
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('emi').value != ''">{{"&#8377;"}} {{emiAmtInwords[i]}} Only</mat-hint>
<mat-hint my-mat-hint align="start" style="font-size:70%" *ngIf="details.get('emi').value != ''">{{"&#8377;"}} {{emiAmtInwords[i]}} Only</mat-hint>
</mat-form-field>
<mat-form-field>
<mat-select placeholder="Loan Type" formControlName="loan_type" >

View File

@ -26,7 +26,7 @@
line-height: 1.2em;
transform: translateY(10px);
font-size: 75%;
}
}
.mat-card-content {
background-color: white;
}

View File

@ -63,11 +63,12 @@
<mat-card-content>
<div fxLayout="row wrap" formArrayName="companies">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" *ngFor="let com of _generalForm.controls.companies['controls']; let c = index; let last = last;" [formGroupName]="c">
<mat-form-field style="width: 60%" *ngIf="com.value.is_active==true">
<mat-form-field style="width: 45%" *ngIf="com.value.is_active==true">
<input matInput placeholder="Company/Firm" formControlName="company_name" type="text">
</mat-form-field>
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button (click)="removeCompanies(c)" *ngIf="c>0 && com.value.is_active==true"
<mat-checkbox class="table-checkbox-com" color="primary" formControlName="is_company_applicant"> Is Applicant</mat-checkbox>
<button type="button" class="mr-1 mb-1 hover-icon table-checkbox-com" mat-raised-button mat-icon-button (click)="removeCompanies(c)" *ngIf="c>0 && com.value.is_active==true"
matTooltip="Remove Company/Firm" matTooltipPosition="above">
<mat-icon>delete</mat-icon>
</button>

View File

@ -20,6 +20,9 @@
.table-checkbox {
margin-left: 15% !important;
}
.table-checkbox-com {
margin-left: 3% !important;
}
.p-text {
color:#e00201 !important;
font-weight: bold;

View File

@ -217,13 +217,13 @@ export class GeneralInfoComponent implements OnInit {
// create companies
if(element.company_name!='' && element.company_name!=null){
let setCompanyValues: any = {company_order_id :companyControl.controls.length+1,company_name:element.company_name,is_active:true}
let setCompanyValues: any = {company_order_id :companyControl.controls.length+1,company_name:element.company_name,is_company_applicant:element.is_company_applicant,is_active:true}
companyControl.push(this.createCompanies(setCompanyValues))
}
});
// check company if null update one row
if(companyControl.controls.length ==0){
let setCompanyValues: any = {company_order_id :companyControl.controls.length+1,company_name:'',is_active:true}
let setCompanyValues: any = {company_order_id :companyControl.controls.length+1,company_name:'',is_company_applicant:false,is_active:true,is_new:false}
companyControl.push(this.createCompanies(setCompanyValues))
}
@ -258,7 +258,9 @@ export class GeneralInfoComponent implements OnInit {
company_order_id: [elementValue.company_order_id],
company_name: [elementValue.company_name],
company_messrs_name: ['M/s'],
is_active: [elementValue.is_active]
is_company_applicant:[elementValue.is_company_applicant],
is_active: [elementValue.is_active],
is_new:[elementValue.is_new]
});
}
@ -305,7 +307,7 @@ export class GeneralInfoComponent implements OnInit {
// add more companies
addMoreCompanies() {
let control: any = this._generalForm.get('companies') as FormArray;
let setValues: any = {company_order_id :control.controls.length+1,company_name:'',is_active:true}
let setValues: any = {company_order_id :control.controls.length+1,company_name:'',is_company_applicant:false,is_active:true,is_new: true}
control.push(this.createCompanies(setValues))
}

View File

@ -26,7 +26,7 @@
</mat-form-field>
<mat-form-field style="width: 28%">
<mat-select multiple (selectionChange)="endUserChange($event.value)" placeholder="What is the end use" formControlName="end_use" >
<mat-option *ngFor="let enduse of m_endUseofLoad" [value]="enduse.subproduct_id">{{ enduse.name }}</mat-option>
<mat-option *ngFor="let enduse of m_endUseForLoan" [value]="enduse.enduse_of_loan_id">{{ enduse.enduse_of_loan}}</mat-option>
</mat-select>
<!--<mat-select multiple placeholder="What is the end use"
formControlName="end_use" (selectionChange)="endUserChange($event)">

View File

@ -50,6 +50,7 @@ export class LoanDetailsComponent implements OnInit {
endUserList: any = [];
sourceList : any = [];
ownerNames: any = [];
m_endUseForLoan = [];
m_endUseofLoad = [];
m_sourceofamount = [];
m_mortageTypeProperty = [];
@ -109,6 +110,7 @@ export class LoanDetailsComponent implements OnInit {
console.clear();
this.initloanDetailsForm();
this.getM_EndUseofLoad();
this.getM_EndUseForLoan(this.pdid);
this.getM_sourceofamount();
this.getM_MortageTypeProperty();
this.getM_StatusofCunstruction();
@ -122,33 +124,40 @@ export class LoanDetailsComponent implements OnInit {
let result = Object.keys(value.records.end_use_group).map(function(key) {
return value.records.end_use_group[key];
});
let owner = Object.keys(value.records.owner_name_group).map(function(key) {
return value.records.owner_name_group[key];
});
let ownername: any = [];
if(value.records.owner_name_group != null){
let owner = Object.keys(value.records.owner_name_group).map(function(key) {
return value.records.owner_name_group[key];
});
owner.forEach(val => {
ownername.push(val.owner_name);
if(val.owner_name == 'Others'){
this.OtherOwnerFlag = true;
}
else{
this.OtherOwnerFlag = false;
}
});
}
let enduse: any = [];
result.forEach(val => {
enduse.push(val.end_use);
});
let ownername: any = [];
owner.forEach(val => {
ownername.push(val.owner_name);
if(val.owner_name == 'Others'){
this.OtherOwnerFlag = true;
}
else{
this.OtherOwnerFlag = false;
}
});
this.loanDetailsForm.controls['end_use'].setValue(enduse);
this.endUserChange(enduse);
// console.log('enduse', enduse);
// console.log('ownername', ownername);
this.loanDetailsForm.controls['loan_amount'].setValue(value.records.loan_amount);
if(value.records.loan_amount){ this.loanAmtInWords = this._pd.convertNumberToWords(value.records.loan_amount); }
this.loanDetailsForm.controls['end_use'].setValue(enduse);
this.endUserChange(enduse);
if (value.records.end_use_other) {
if (value.records.end_use_other != null) {
this.loanDetailsForm.controls['end_use_other'].setValue(value.records.end_use_other);
}
this.loanDetailsForm.controls['is_transfer'].setValue(value.records.is_transfer);
@ -211,8 +220,11 @@ export class LoanDetailsComponent implements OnInit {
this.loanDetailsForm.controls['property_type'].setValue(value.records.property_type);
this.propertyType = value.records.property_type;
//console.log(value.records.property_type);
this.mortage_type(value.records.property_type);
if(this.propertyType != null){
this.mortage_type(this.propertyType);
}
//console.log(this.propertyType);
if(this.mortageCardAccess == true){
this.loanDetailsForm.controls['property_type_others'].setValue(value.records.property_type_others);
this.loanDetailsForm.controls['owner_name'].setValue(ownername);
this.loanDetailsForm.controls['other_owners_name'].setValue(value.records.other_owners_name);
@ -228,6 +240,10 @@ export class LoanDetailsComponent implements OnInit {
this.loanDetailsForm.controls['emv_per_customer'].setValue(value.records.emv_per_customer);
this.emvAmtInWords = this._pd.convertNumberToWords(value.records.emv_per_customer);
}
}
// this.loanDetailsForm.controls['value_per_agreement'].setValue(value.records.value_per_agreement);
// if(value.records.value_per_agreement){ this.valAsPerAgmtInWords = this._pd.convertNumberToWords(value.records.value_per_agreement); }
@ -256,6 +272,17 @@ export class LoanDetailsComponent implements OnInit {
}
)
}
getM_EndUseForLoan(pdid) {
this._pd.getEndUseForLoan(pdid).subscribe(
data => {
this.m_endUseForLoan = data.records.filter(data => data.isactive == 1);
},
error => {
// this.notifier.notify('warning', 'No Category Records Found.!');
// this.m_assets_type = "No Category Records Found.";
}
)
}
getM_sourceofamount() {
this._pd.getAllMasterDatas('SOURCEOFBALANCETRANSFER').subscribe(
@ -381,13 +408,15 @@ getM_sourceofamount() {
this.endUserList = [];
let OthersAvaliable;
event.forEach(option => {
let othersData = this.m_endUseofLoad.filter(sub=>sub.subproduct_id==option)[0];
OthersAvaliable = othersData.name.substr(0,6).toLowerCase();
// let othersData = this.m_endUseofLoad.filter(sub=>sub.subproduct_id==option)[0];
let othersData = this.m_endUseForLoan.filter(sub=>sub.enduse_of_loan_id==option)[0];
console.log(othersData);
OthersAvaliable = othersData.enduse_of_loan.substr(0,6).toLowerCase();
console.log(OthersAvaliable);
this.endUserList.push({ end_use: option });
});
if (OthersAvaliable == 'others') {
if(OthersAvaliable == 'others') {
this.isOtherPurpose = true;
}else
{
@ -442,23 +471,25 @@ getM_sourceofamount() {
records.fk_createdby = this.pdid;
records.loan_amount = this.loanDetailsForm.controls['loan_amount'].value;
// get end user final group data
let dataEnd_user_data = [];
this.loanDetailsForm.controls['end_use'].value.forEach(element => {
dataEnd_user_data.push({end_use: element})
// get end user final group data
let dataEnd_user_data = [];
this.loanDetailsForm.controls['end_use'].value.forEach(element => {
dataEnd_user_data.push({end_use: element})
});
records.end_use_group = dataEnd_user_data;
if (this.isOtherPurpose) {
records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value;
}else{ records.end_use_other = '' ;}
records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value;
}else{ records.end_use_other = null ;}
records.is_transfer = this.loanDetailsForm.controls['is_transfer'].value;
records.is_topup = this.loanDetailsForm.controls['is_topup'].value;
if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {
records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;
records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;
}
else if(this.loanDetailsForm.controls['is_transfer'].value == 'no') {
records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value;
records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value;
// records.source = this.loanDetailsForm.controls['source'].value;
// if (this.loanDetailsForm.controls['source'].value == 'other') {
// records.lender_name_type = this.loanDetailsForm.controls['lender_name_type'].value;
@ -488,19 +519,36 @@ getM_sourceofamount() {
}
records.emi_level = this.loanDetailsForm.controls['emi_level'].value;
records.property_type = this.loanDetailsForm.controls['property_type'].value;
records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value;
// records.owner_name_group = this.ownerNames;
// console.log(this.loanDetailsForm.controls['owner_name'].value);
let dataOwner_name = [];
this.loanDetailsForm.controls['owner_name'].value.forEach(element => {
if(this.mortageCardAccess == true){
records.property_type = this.loanDetailsForm.controls['property_type'].value;
records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value;
// records.owner_name_group = this.ownerNames;
// console.log(this.loanDetailsForm.controls['owner_name'].value);
let dataOwner_name = [];
this.loanDetailsForm.controls['owner_name'].value.forEach(element => {
dataOwner_name.push({owner_name: element})
});
records.owner_name_group = dataOwner_name;
records.owner_name_group = dataOwner_name;
if(this.OtherOwnerFlag){
records.other_owners_name = this.loanDetailsForm.controls['other_owners_name'].value;
}else{ records.other_owners_name = ''; }
records.construction_status = this.loanDetailsForm.controls['construction_status'].value;
records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value;
}else{
records.property_type = null;
records.property_type_others = null;
records.owner_name_group = null;
records.other_owners_name = null;
records.construction_status = null;
records.emv_per_customer = null;
}
if(this.OtherOwnerFlag){
records.other_owners_name = this.loanDetailsForm.controls['other_owners_name'].value;
}else{ records.other_owners_name = ''; }
if(this.isOtherSource){
records.other_source = this.loanDetailsForm.controls['other_source'].value;
@ -510,7 +558,7 @@ getM_sourceofamount() {
records.personal_loan_source = this.loanDetailsForm.controls['personal_loan_source'].value;
}else{ records.personal_loan_source = ''; }
records.construction_status = this.loanDetailsForm.controls['construction_status'].value;
//records.percentage_of_construction = this.loanDetailsForm.controls['percentage_of_construction'].value;
records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value;
//records.value_per_agreement = this.loanDetailsForm.controls['value_per_agreement'].value;
@ -612,8 +660,6 @@ getM_sourceofamount() {
}else{
this.mortageAccess = false;
}
}
/**

View File

@ -164,7 +164,7 @@
</span> &nbsp;&nbsp;&nbsp;
<span *ngIf="applicant.landline != '' && applicant.landline != 'null-null' && applicant.landline != null " class="mb-2 text-center hover-icon">
<i class="fa-1x fa fa-phone" style="width: 37px;padding: 8px 9px 8px 9px;border-bottom: 2px solid red;"></i>
&nbsp;<span matPrefix>+91</span>{{applicant.landline}}
&nbsp;{{applicant.landline}}
</span>
<span *ngIf="applicant.applicant_type=='1';else codetails" style="font-size:12px;">( Main Applicant ) </span>
<ng-template #codetails><span>( {{applicant.relation_name}} )</span></ng-template>

View File

@ -477,6 +477,13 @@ export class PdTrigerService {
)
}
getEndUseForLoan(pdid: any): Observable<any> {
return this._http.post<any>(this.apiUrl + "getEndUseOfLoan",{ "records":{ "pd_id" : pdid}})
.pipe(
catchError(this.handleError('operation', []))
)
}
// private handleError<T>(operation = 'operation', result?: T) {
// return (error: any): Observable<T> => {
// return of(result as T);