merge : kms

This commit is contained in:
gandhimathi 2019-01-14 19:45:35 +05:30
parent 69b07fc2ca
commit 602e534263
16 changed files with 543 additions and 397 deletions

View File

@ -6,6 +6,8 @@ import { NotifierService } from 'angular-notifier';
import { PdTrigerService } from '../../../pd-service/pd-triger.service';
import { ListPdComponent } from '../list-pd.component';
import { AwsService } from '../../../../AwsService/aws.service';
/**sweet alert */
import Swal from 'sweetalert2';
@Component({
selector: 'app-add-pd',
templateUrl: './add-pd.component.html',
@ -486,11 +488,14 @@ export class AddPdComponent implements OnInit, OnDestroy {
}
}
loadPdListCompoent(from:boolean) {
//alert(from);
if(from){
// alert('if'+from);
this.router.navigate([ '../../' ], { relativeTo: this.route });
this.ListPdComponent.pdListLoad(true);
}
else{
// alert(from);
this.router.navigate([ '../../' ], { relativeTo: this.route });
this.ListPdComponent.showListView(true);
}

View File

@ -17,7 +17,7 @@
<mat-card-title>PD Details</mat-card-title>
</mat-card-header> -->
<mat-card-content>
<mat-form-field style="width: 32%">
<mat-form-field style="width: 29%">
<mat-select placeholder="Lender Name" formControlName="fk_lender_id">
<mat-option>
Select
@ -30,14 +30,14 @@
</mat-form-field>
<mat-form-field style="width: 32%">
<input matInput placeholder="Lender Applicant ID" formControlName="lender_applicant_id" type="text" required>
<mat-form-field style="width: 29%">
<input matInput placeholder="Loan Applicant ID" formControlName="lender_applicant_id" type="text" required>
</mat-form-field>
<mat-form-field style="width: 32%">
<mat-form-field style="width: 29%">
<input matInput placeholder="Lender Contact Person" formControlName="pd_contact_person" type="text" required>
</mat-form-field>
<mat-form-field style="width: 25%">
<input matInput placeholder="Lender Contact Number" formControlName="pd_contact_mobileno" type="text" (keypress)="keyPress($event)">
<mat-form-field style="width: 29%">
<input matInput placeholder="Lender Mobile Number" formControlName="pd_contact_mobileno" type="text" (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 style="width: 10%">
@ -49,7 +49,7 @@
<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-form-field style="width: 29%">
<mat-select placeholder="Product Name" formControlName="fk_product_id" (selectionChange)="getSubproductList(pdMain.fk_product_id.value)">
<mat-option>
Select
@ -61,7 +61,7 @@
<!-- <mat-error *ngIf="pdMain.fk_product_id.hasError('required')">Product Required.</mat-error> -->
</mat-form-field>
<mat-form-field style="width: 32%">
<mat-form-field style="width: 29%">
<mat-select placeholder="Sub product Name" formControlName="fk_subproduct_id">
<mat-option>Select</mat-option>
@ -74,7 +74,7 @@
<!-- <mat-error *ngIf="pdMain.fk_subproduct_id.hasError('required')">Sub Product Required.</mat-error> -->
</mat-form-field>
<mat-form-field style="width: 32%">
<mat-form-field style="width: 29%">
<mat-select placeholder="Customer Segment" formControlName="fk_customer_segment">
<mat-option>Select</mat-option>
<mat-option *ngFor="let CSL of customerSegmentList" [value]="CSL.customer_segment_id" >
@ -83,7 +83,7 @@
</mat-select>
<!-- <mat-error *ngIf="pdMain.fk_customer_segment.hasError('required')">Customer Segment Required.</mat-error> -->
</mat-form-field>
<mat-form-field style="width: 32%">
<mat-form-field style="width: 29%">
<mat-select placeholder="PD Type" formControlName="fk_pd_type">
<mat-option>Select</mat-option>
<mat-option *ngFor="let PDL of pdTypeList" [value]="PDL.pd_type_id" >
@ -94,7 +94,7 @@
<!-- <mat-error *ngIf="pdMain.fk_pd_type.hasError('required')">PD Type Required.</mat-error> -->
</mat-form-field>
<mat-form-field style="width: 24%">
<mat-form-field style="width: 62%">
<!-- <input matInput placeholder="Loan Amount" formControlName="loan_amount"> -->
<input matInput placeholder="Loan Amount" formControlName="loan_amount" (keypress)="keyPress($event)" (keyup)="inWords($event,1)" required autocomplete="off">
<mat-hint align="start" style="font-size:70%" *ngIf="pdMain.loan_amount.value != ''">{{"&#8377;"}} {{loanAmtInWords}} Only</mat-hint>
@ -106,7 +106,7 @@
<textarea matInput placeholder="Address at which PD is to be done" formControlName="addressline1" oninput="this.value = this.value.toUpperCase()"></textarea>
<!-- <mat-error *ngIf="pdMain.addressline1.hasError('required')">Address1 required.</mat-error> -->
</mat-form-field>
<mat-form-field style="width: 32%;">
<mat-form-field style="width: 29%;">
<mat-select placeholder="State" formControlName="fk_state" (selectionChange)="getCityList(pdMain.fk_state.value)">
<mat-option>Select</mat-option>
@ -118,7 +118,7 @@
<!-- <mat-error *ngIf="pdMain.fk_state.hasError('required')">State Required.</mat-error> -->
</mat-form-field>
<mat-form-field style="width: 32%;">
<mat-form-field style="width: 29%;">
<mat-select placeholder="City" formControlName="fk_city">
<mat-option>Select</mat-option>
<mat-option *ngFor="let CL of cityList" [value]="CL.city_id">

View File

@ -89,7 +89,7 @@
</mat-form-field>
</div>
<div fxFlex="33">
<!-- <div fxFlex="33">
<mat-form-field style="width: 80%;">
<mat-select placeholder="Ownership" formControlName="address_ownership">
<mat-option value="{{ownerShip.id}}"
@ -112,7 +112,7 @@
<mat-hint align="start" style="font-size:70%" *ngIf="addressForm.controls['rent_amt'].value != ''">{{"&#8377;"}} {{rentAmtInwords}} Only</mat-hint>
</mat-form-field>
</div>
</div> -->
</div>
<div fxLayout="row wrap">
@ -196,22 +196,22 @@
</mat-form-field>
<mat-form-field style="width: 40%;">
<!-- <mat-form-field style="width: 40%;">
<mat-select placeholder="Ownership" formControlName="premises_ownership">
<mat-option value="{{ownerShip.id}}" *ngFor="let ownerShip of ownerShipData">
{{ownerShip.name}}
</mat-option>
</mat-select>
</mat-form-field>
</mat-form-field> -->
<!-- <mat-form-field *ngIf="addressForm.controls['premises_ownership'].value == 4 "> -->
<mat-form-field *ngIf="item.get('premises_ownership').value == 4" style="width: 40%;">
<!-- <mat-form-field *ngIf="item.get('premises_ownership').value == 4" style="width: 40%;">
<input matInput placeholder="Specify Ownership" formControlName="premises_ownership_others" autocomplete="off">
</mat-form-field>
<mat-form-field *ngIf="item.get('premises_ownership').value == 3" style="width: 40%;">
<input matInput placeholder="What is the monthly rent paid?" formControlName="premises_rent_amt" autocomplete="off" (keypress)="keyPress($event)" (keyup)="inWords($event,i)">
<mat-hint align="start" style="font-size:70%" *ngIf="item.get('premises_rent_amt').value != ''">{{"&#8377;"}} {{premisesRentAmtInwords[i]}} Only</mat-hint>
</mat-form-field>
</mat-form-field> -->
<mat-form-field style="width: 40%">
<input matInput placeholder="Remarks"
formControlName="premises_remarks" style="width: 65%;" autocomplete="off">

View File

@ -37,7 +37,7 @@ export class AddressComponent implements OnInit {
pdid : number;
form_id: number;
pdAddress: string;
CustSegAbbr: any;
loadDataStatus: boolean=true;
PremisesOtherFlag:boolean;
@ -57,8 +57,8 @@ export class AddressComponent implements OnInit {
formPremisesCityArray: any = [];
additional_premises: any=[];
bussiness_address_type: any=[];
premisesRentAmtInwords:any=[];
rentAmtInwords:any;
// premisesRentAmtInwords:any=[];
// rentAmtInwords:any;
tempArr: any[];
placeholderName : any = 'Was any business activity seen at the Address Type during PD visit?';
//neighbourStatusData:any=["Yes","No"];
@ -73,10 +73,10 @@ export class AddressComponent implements OnInit {
public pdLocation: AbstractControl;
public commentlocality: AbstractControl;
public other_comment_locality: AbstractControl;
public customerBehaviour: AbstractControl;
public ownership: AbstractControl;
public other_ownership: AbstractControl;
public rent_amt : AbstractControl;
// public customerBehaviour: AbstractControl;
// public ownership: AbstractControl;
// public other_ownership: AbstractControl;
// public rent_amt : AbstractControl;
public other_premises_bussiness_activity : AbstractControl;
public bussiness_activity_remark: AbstractControl;
public bussinessActivity: AbstractControl;
@ -88,10 +88,18 @@ export class AddressComponent implements OnInit {
private route: ActivatedRoute,
private router: Router,
private _pd: PdTrigerService,
private dialogRef: MatDialogRef<AddressComponent>,
@Inject(MAT_DIALOG_DATA) public pd_all_details: any)
{
console.log(this.pd_all_details);
this.pdid = this.pd_all_details.pdmaster_details.pd_id;
this.form_id = 5;
// console.log(this.pd_all_details.template_forms.form_id);
// console.log(this.pd_all_details.pdmaster_details.customer_segment_abbr);
let CSAbbrSearch = this.pd_all_details.pdmaster_details.customer_segment_abbr.search("-");
this.CustSegAbbr = this.pd_all_details.pdmaster_details.customer_segment_abbr.substr(0,CSAbbrSearch);
this.notifier = notifier;
this.pdAddress = this.pd_all_details.pdmaster_details.addressline1;
}
@ -142,12 +150,12 @@ export class AddressComponent implements OnInit {
this.addressForm.controls.locality_others.setValue(data.records.locality_others);
}
this.addressForm.controls.address_form_remark.setValue(data.records.address_form_remark);
this.addressForm.controls.address_ownership.setValue(data.records.address_ownership);
this.addressForm.controls.other_ownership.setValue(data.records.other_ownership);
this.addressForm.controls.rent_amt.setValue(data.records.rent_amt);
if(data.records.address_ownership == 3){
this.rentAmtInwords = this._pd.convertNumberToWords(data.records.rent_amt);
}
// this.addressForm.controls.address_ownership.setValue(data.records.address_ownership);
// this.addressForm.controls.other_ownership.setValue(data.records.other_ownership);
// this.addressForm.controls.rent_amt.setValue(data.records.rent_amt);
// if(data.records.address_ownership == 3){
// this.rentAmtInwords = this._pd.convertNumberToWords(data.records.rent_amt);
// }
this.addressForm.controls.other_premises_bussiness_activity.setValue(data.records.other_premises_bussiness_activity);
if(data.records.other_premises_bussiness_activity != '' && data.records.other_premises_bussiness_activity !=null) {
this.addressForm.controls.bussiness_activity_remark.setValue(data.records.other_premises_bussiness_activity);
@ -172,7 +180,7 @@ export class AddressComponent implements OnInit {
control.push(this.createUnits());
} else {
resultOfUnits.forEach((datas,index) => {
this.premisesRentAmtInwords[index] = this._pd.convertNumberToWords(datas.premises_rent_amt);
// this.premisesRentAmtInwords[index] = this._pd.convertNumberToWords(datas.premises_rent_amt);
control.push(this.createUnits());
});
this.addressForm.controls.additional_address_units.setValue(resultOfUnits);
@ -204,9 +212,9 @@ export class AddressComponent implements OnInit {
//neighbourhood: this.fb.array([]),
additional_address_units: this.fb.array([]),
address_form_remark:[''],
address_ownership:[''],
other_ownership:[''],
rent_amt:[''],
// address_ownership:[''],
// other_ownership:[''],
// rent_amt:[''],
other_premises_bussiness_activity : [''],
bussiness_activity_remark:[''],
bussiness_activity:[''],
@ -223,9 +231,9 @@ export class AddressComponent implements OnInit {
this.commentlocality = this.addressForm.controls['comment_locality'];
this.other_comment_locality = this.addressForm.controls['other_comment_locality'];
//this.customerBehaviour = this.addressForm.controls['customer_behaviour'];
this.ownership = this.addressForm.controls['address_ownership'];
this.other_ownership = this.addressForm.controls['other_ownership'];
this.rent_amt = this.addressForm.controls['rent_amt'];
// this.ownership = this.addressForm.controls['address_ownership'];
// this.other_ownership = this.addressForm.controls['other_ownership'];
// this.rent_amt = this.addressForm.controls['rent_amt'];
this.other_premises_bussiness_activity = this.addressForm.controls['other_premises_bussiness_activity'],
this.bussiness_activity_remark = this.addressForm.controls['bussiness_activity_remark'],
this.bussinessActivity = this.addressForm.controls['bussiness_activity'];
@ -248,9 +256,9 @@ export class AddressComponent implements OnInit {
premises_type: [''],
premises_type_others: [''],
premises_city: [''],
premises_ownership: [''],
premises_ownership_others: [''],
premises_rent_amt:[''],
// premises_ownership: [''],
// premises_ownership_others: [''],
// premises_rent_amt:[''],
premises_remarks: [''],
});
}
@ -280,6 +288,9 @@ export class AddressComponent implements OnInit {
this.localityData.push(val);
}
else if(type==5 && val.isactive == 1){
if(this.CustSegAbbr == 'SENP' || this.CustSegAbbr == 'SEP'){
val.filter(at => at.address_type != 'Residence' && at.address_type != 'Residence cum Office');
}
this.addressData.push(val);
}
else if(type==6 && val.isactive == 1){
@ -335,9 +346,14 @@ export class AddressComponent implements OnInit {
onSubmit() {
if (!this.addressForm.valid) {
this.notifier.notify('warning', 'Please Fill All Mandatory Fields.!');
return;
}
if(this.address.value.other_premises_bussiness_activity != ''){
if(this.address.value.bussiness_activity_remark != ''){
this.notifier.notify('warning', 'Fill Remark!');
return;
}}
let records: any = {};
records.address = this.address.value;
@ -356,9 +372,9 @@ export class AddressComponent implements OnInit {
//records.neighbourhood = this.addressForm.controls.neighbourhood.value;
records.address_form_remark = this.addressForm.controls.address_form_remark.value;
records.address_ownership = this.ownership.value;
records.other_ownership = this.other_ownership.value;
records.rent_amt = this.rent_amt.value;
// records.address_ownership = this.ownership.value;
// records.other_ownership = this.other_ownership.value;
// records.rent_amt = this.rent_amt.value;
records.other_premises_bussiness_activity = this.other_premises_bussiness_activity.value;
records.bussiness_activity_remark = this.bussiness_activity_remark.value;
records.bussiness_activity = this.bussinessActivity.value;
@ -376,8 +392,13 @@ export class AddressComponent implements OnInit {
// console.log(JSON.stringify(records));
this._pd.saveForm(records).subscribe(data => {
if(data.status == 200) {
this.notifier.notify('success', 'Saved Successfully.');
this.dialogRef.close();
}
else {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
}
}, error => {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
});
@ -420,11 +441,11 @@ export class AddressComponent implements OnInit {
}
}
inWords(e,i){
this.premisesRentAmtInwords[i] = this._pd.convertNumberToWords(e.target.value);
}
// inWords(e,i){
// this.premisesRentAmtInwords[i] = this._pd.convertNumberToWords(e.target.value);
// }
inWordsForRent(e){
this.rentAmtInwords = this._pd.convertNumberToWords(e.target.value);
}
// inWordsForRent(e){
// this.rentAmtInwords = this._pd.convertNumberToWords(e.target.value);
// }
}

View File

@ -164,10 +164,10 @@
</mat-select>
</mat-form-field>
<mat-form-field style="width: 35%;" *ngIf="this.limitCaseFlag[i]"> <!-- *ngIf="itemrow.get('account_type').value != 2"> -->
<mat-form-field style="width: 45%;" *ngIf="this.limitCaseFlag[i]"> <!-- *ngIf="itemrow.get('account_type').value != 2"> -->
<input matInput autocomplete="off" placeholder="Limit in case of OD / CC account"
formControlName="limit" (keypress)="keyPress($event)" (keyup)="inWords($event,i,1)">
<mat-hint align="start" style="font-size:70%" *ngIf="itemrow.get('limit').value != ''">{{"&#8377;"}} {{amtInwords[i]}} Only</mat-hint>
<mat-hint align="start" style="font-size:90%" *ngIf="itemrow.get('limit').value != ''">{{"&#8377;"}} {{amtInwords[i]}} Only</mat-hint>
</mat-form-field>
</div>
<!-- <mat-form-field>

View File

@ -8,6 +8,9 @@
background: #62B013;
color: white;
}
.mat-form-field-appearance-legacy .mat-hint{
color:rgba(0, 0, 0, 0.8) !important;
}
::ng-deep .cdk-global-overlay-wrapper{
justify-content: center !important;

View File

@ -84,7 +84,7 @@ export class BankingDetailsComponent implements OnInit {
this.initBankingForm();
this._pd.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=[];

View File

@ -33,15 +33,15 @@
<mat-card-title><p>Loan Details</p></mat-card-title>
</mat-card-header>
<div formArrayName="loan_details">
<div *ngFor="let details of currentLoanForm.get('loan_details').controls; let i=index"
<div *ngFor="let details of currentLoanForm.get('loan_details').controls; let i=index; let last=last"
[formGroupName]="i">
<!-- {{frequencyData | json}} -->
<mat-card-content class="matcard">
<mat-form-field>
<mat-form-field style="width:45%;">
<input matInput autocomplete="off" placeholder="Loan Amount" formControlName="loan_amount" (keypress)="keyPress($event)" (keyup)="inWords($event,i,1)">
<mat-hint my-mat-hint align="start" *ngIf="details.get('loan_amount').value != ''">{{"&#8377;"}} {{amtInwords[i]}} Only</mat-hint>
<mat-hint my-mat-hint align="start" style="font-size:90%" *ngIf="details.get('loan_amount').value != ''">{{"&#8377;"}} {{amtInwords[i]}} Only</mat-hint>
</mat-form-field>
<mat-form-field>
<mat-form-field style="width:45%;">
<mat-select placeholder="Frequency" (selectionChange)="selectedfrequency($event.value,i)"
formControlName="frequency" >
<mat-option *ngFor="let freq of frequencyData" value="{{freq.frequency_id}}">{{freq.name}}</mat-option>
@ -50,10 +50,10 @@
<mat-form-field *ngIf="details.get('frequency').value == 7">
<input matInput autocomplete="off" placeholder="Specify Frequency" formControlName="other_frequency">
</mat-form-field>
<mat-form-field *ngIf="details.get('frequency').value != ''" style="width:35%">
<mat-form-field *ngIf="details.get('frequency').value != ''" style="width:45%">
<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 my-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:90%" *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" >
@ -103,14 +103,15 @@
<!-- //*ngIf="current_balance_tenure.hasError('min')" class="mat-text-warn" -->
</mat-form-field>
</div>
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Add More Loan Details" matTooltipPosition="above" color="primary" (click)="addLoanDetails()"
*ngIf="i==0">
<mat-icon>add</mat-icon>
</button>
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Delete" matTooltipPosition="above" (click)="deleteLoanDetails(i)"
*ngIf="i>0">
<mat-icon>delete</mat-icon>
</button>
<button type="button" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Add More Loan Details" matTooltipPosition="above" color="primary" (click)="addLoanDetails()"
*ngIf="last">
<mat-icon>add</mat-icon>
</button>
</mat-card-content>
</div>
</div>

View File

@ -17,7 +17,9 @@
// background: #62B013;
// color: white;
// }
.mat-form-field-appearance-legacy .mat-hint{
color:rgba(0, 0, 0, 0.8) !important;
}
.paragraph_change {
color: #fff !important;
background-color: #e00201 !important;

View File

@ -88,7 +88,7 @@ export class CurrentLoanComponent implements OnInit {
this.initCurrentloanForm();
this._pd.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=[];

View File

@ -37,9 +37,21 @@
</mat-select>
</mat-form-field>
<mat-form-field style="width: 42%" *ngIf="neighbourhood.controls.do_know.value=='Yes'">
<input matInput autocomplete="off" placeholder="How Long to Know the Applicant " formControlName="how_long_do_know" type="text" (keypress)="keyPress($event)">
<!-- <mat-form-field style="width: 42%" *ngIf="neighbourhood.controls.do_know.value=='Yes'"> -->
<!-- <input matInput autocomplete="off" placeholder="How Long to Know the Applicant " formControlName="how_long_do_know" type="text" (keypress)="keyPress($event)"> -->
<!-- </mat-form-field> -->
<div fxLayout="row wrap" *ngIf="neighbourhood.controls.do_know.value=='Yes'">
<div fxFlex="100">
<label>How Long to Know the Applicant</label>
<mat-form-field>
<input matInput autocomplete="off" placeholder="Year(s)" formControlName="how_long_do_know_in_year" (keypress)="keyPress($event)">
</mat-form-field>
<mat-form-field>
<input matInput autocomplete="off" placeholder="Month(s)" formControlName="how_long_do_know_in_month" (keypress)="keyPress($event)" (change)="ConvertMonthintoYear(neighbourhood,$event.target.value,1)">
</mat-form-field>
</div>
</div>
<mat-form-field style="width: 42%" *ngIf="neighbourhood.controls.do_know.value=='Yes'">
<mat-select placeholder="Is the Applicant Owner" formControlName="is_applicant_owner">
<mat-option value="Yes">Yes</mat-option>
@ -91,7 +103,7 @@
<input matInput autocomplete="off" placeholder="Year(s)" formControlName="year_relation_applicant" (keypress)="keyPress($event)">
</mat-form-field>
<mat-form-field style="width: 12%">
<input matInput autocomplete="off" placeholder="Month(s)" formControlName="months_relation_applicant" (keypress)="keyPress($event)" (change)="ConvertMonthintoYear(reference,$event.target.value)">
<input matInput autocomplete="off" placeholder="Month(s)" formControlName="months_relation_applicant" (keypress)="keyPress($event)" (change)="ConvertMonthintoYear(reference,$event.target.value,2)">
</mat-form-field>
<mat-form-field style="width: 28%">
<input matInput autocomplete="off" [placeholder]="reference.controls.relationship_with.value ==4 ? 'Rent Amount' : 'Volume of Business'" formControlName="business_volume_amount" type="text" (keypress)="keyPress($event)" (keyup)="inWords($event,r)">

View File

@ -17,7 +17,7 @@ export class NeighbourHoodComponent implements OnInit {
private notifier: NotifierService;
check_type:any=[{'id':0,'type_name':'Neighbourhood'},{'id':1,'type_name':'Reference Check'}]
default_reference_details: any= {'reference_name':'','mobile':'','landline':'-','location':'','relationship_with':'','year_relation_applicant':'','months_relation_applicant':'','business_volume_amount':'','business_volume_unit':'','reference_final_remarks':'','positive_remark':'','negative_remark':'','insufficient_info_remark':''};
default_neighbourhood_details: any= {'neighbourhood_name':'','do_know':'','how_long_do_know':'','is_applicant_owner':''};
default_neighbourhood_details: any= {'neighbourhood_name':'','do_know':'','how_long_do_know_in_year':'','how_long_do_know_in_month':'','is_applicant_owner':''};
busineesRelationshipList:any=[];
volumeunitList:any=[];
@ -175,7 +175,8 @@ export class NeighbourHoodComponent implements OnInit {
return this._fb.group({
neighbourhood_name: [elementValue.neighbourhood_name],
do_know: [elementValue.do_know],
how_long_do_know: [elementValue.how_long_do_know],
how_long_do_know_in_year: [elementValue.how_long_do_know_in_year],
how_long_do_know_in_month: [elementValue.how_long_do_know_in_month],
is_applicant_owner: [elementValue.is_applicant_owner],
});
}
@ -219,7 +220,8 @@ export class NeighbourHoodComponent implements OnInit {
neighbourhood_list.push({
"neighbourhood_name":element.neighbourhood_name,
"do_know":element.do_know,
"how_long_do_know":element.how_long_do_know,
"how_long_do_know_in_year":element.how_long_do_know_in_year,
"how_long_do_know_month":element.how_long_do_know_month,
"is_applicant_owner":element.is_applicant_owner,
})
});
@ -288,17 +290,23 @@ validateAllFormFields(formGroup: any) {
}
/** To Convert Month into Year */
ConvertMonthintoYear(itemrow,e){
// console.log(itemrow);
// console.log(e);
let year = itemrow.controls.year_relation_applicant.value;
ConvertMonthintoYear(itemrow,e,flag){
if(flag == 2){
let year = itemrow.controls.year_relation_applicant.value;
let converted_month : number = e%12;
let converted_year : number = e/12;
itemrow.controls.year_relation_applicant.setValue(+year + +Math.floor(converted_year));
itemrow.controls.months_relation_applicant.setValue(Math.floor(converted_month));
}
else if(flag == 1){
let year = itemrow.controls.how_long_do_know_in_year.value;
let converted_month : number = e%12;
let converted_year : number = e/12;
itemrow.controls.how_long_do_know_in_year.setValue(+year + +Math.floor(converted_year));
itemrow.controls.how_long_do_know_in_month.setValue(Math.floor(converted_month));
}
}
/** Amount InWords */

View File

@ -20,7 +20,7 @@
<mat-card>
<!-- <mat-card-title></mat-card-title> -->
<mat-card-content>
<mat-form-field style="width:25% !important;">
<mat-form-field style="width:45% !important;">
<mat-select (selectionChange)="selectedLoanChanges($event)" placeholder="Other Income"
formControlName="other_income">
<mat-option value="Yes">Yes</mat-option>
@ -33,10 +33,10 @@
<mat-card *ngIf="otherIncomeForm.controls.other_income.value == 'Yes'">
<mat-card-header><mat-card-title><p>Income Details</p></mat-card-title></mat-card-header>
<div formArrayName="income_details">
<div *ngFor="let details of otherIncomeForm.get('income_details').controls; let i=index"
<div *ngFor="let details of otherIncomeForm.get('income_details').controls; let i=index; let last=last;"
[formGroupName]="i">
<mat-card-content class="matcard">
<mat-form-field style="width:25%">
<mat-form-field style="width:45%">
<mat-select placeholder="Source"
formControlName="source">
<mat-option value="{{src.id}}" *ngFor="let src of sourceData">{{src.name}}</mat-option>
@ -48,17 +48,17 @@
</mat-select>
</mat-form-field>
<mat-form-field style="width:25%" *ngIf="details.get('source').value == 5">
<mat-form-field style="width:45%" *ngIf="details.get('source').value == 5">
<input matInput autocomplete="off" placeholder="Specify Source"
formControlName="others_source">
</mat-form-field>
<mat-form-field style="width:25%">
<mat-form-field style="width:45%">
<input matInput autocomplete="off" placeholder="Amount" formControlName="amount" (keypress)="keyPress($event)" (keyup)="inWords($event,i)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('amount').value != ''">{{"&#8377;"}} {{amtInwords[i]}} Only</mat-hint>
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('amount').value != ''">{{"&#8377;"}} {{amtInwords[i]}} Only</mat-hint>
</mat-form-field>
<mat-form-field style="width:25%">
<mat-form-field style="width:45%">
<mat-select placeholder="Frequency" formControlName="frequency">
<mat-option value="{{frq.frequency_id}}" *ngFor="let frq of frequencyData">{{frq.name}}</mat-option>
</mat-select>
@ -66,20 +66,18 @@
<!-- {{otherIncomeForm.controls.frequency.value}} -->
<mat-form-field style="width:25%" *ngIf="details.get('frequency').value == 8">
<mat-form-field style="width:45%" *ngIf="details.get('frequency').value == 8">
<input matInput autocomplete="off" placeholder="Specify Frequency"
formControlName="others_frequency">
</mat-form-field>
<button type="button" matTooltip="Add More Income Details" class="mr-1 mb-1 hover-icon" matTooltipPosition="above" mat-raised-button mat-icon-button (click)="addIncomeDetails()"
color="primary" *ngIf="i==0">
<mat-icon>add</mat-icon>
</button>
<button type="button" matTooltip="Delete" class="mr-1 mb-1 hover-icon" matTooltipPosition="above" mat-raised-button mat-icon-button (click)="deleteIncomeDetails(i)"
*ngIf="i>0">
<mat-icon>delete</mat-icon>
</button>
<button type="button" matTooltip="Add More Income Details" class="mr-1 mb-1 hover-icon" matTooltipPosition="above" mat-raised-button mat-icon-button (click)="addIncomeDetails()"
color="primary" *ngIf="last">
<mat-icon>add</mat-icon>
</button>
</mat-card-content>
</div>
</div>
@ -234,7 +232,7 @@
<mat-card-content>
<p>Other Income Details</p>
<form [formGroup]="otherIncomeForm" class="address">
<mat-form-field style="width:25% !important;">
<mat-form-field style="width:45% !important;">
<mat-select (selectionChange)="selectedLoanChanges($event)" placeholder="Other Income"
formControlName="other_income">
<mat-option value="Yes">Yes</mat-option>

View File

@ -19,6 +19,9 @@
::ng-deep .cdk-global-overlay-wrapper{
justify-content: center !important;
}
.mat-form-field-appearance-legacy .mat-hint{
color:rgba(0, 0, 0, 0.8) !important;
}
.paragraph_change {
color: #fff !important;
background-color: #e00201 !important;

View File

@ -20,7 +20,7 @@
<span *ngIf="master.pd_status!=pdStatusCheck.SCHEDULED && master.pd_status!=pdStatusCheck.QC_COMPLETED " style="text-align:left">{{master.pd_status | titlecase}}</span>
<span *ngIf="master.pd_status==pdStatusCheck.QC_COMPLETED " style="text-align:left">QC Completed</span>
</button>&nbsp;&nbsp;
<button *ngIf="currentPDStatus==pdStatusCheck.DRAFT && mandatoryFieldsValidations.length==0" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Trigger" matTooltipPosition="above" (click)="directTriggerPD(mandatoryFieldsValidations,master.pd_id)"><mat-icon>flash_on</mat-icon></button>
<button *ngIf="currentPDStatus==pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Trigger" matTooltipPosition="above" (click)="directTriggerPD(mandatoryFieldsValidations,master)"><mat-icon>flash_on</mat-icon></button>
<br>
<small *ngIf="master.pd_allocated_to && master.fk_pd_type==1" style="text-align:left" matTooltip="PD Officer" matTooltipPosition="above">{{master.pd_allocated_to | titlecase}}</small>
<small *ngIf="master.executive_name && master.centralofficer && master.fk_pd_type==2" style="text-align:left" matTooltip="PD Officer" matTooltipPosition="above">{{master.executive_name | titlecase}}/{{master.centralofficer | titlecase}}</small>
@ -61,7 +61,7 @@
<div fxLayout="row">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" class="profile-center">
<div fxFlex="10">
<span *ngIf="master.product_name"><i class="fa-1x fa fa-suitcase" style="width: 37px;padding: 8px 9px 8px 9px;border-bottom: 2px solid red;"></i></span>
<span><i class="fa-1x fa fa-suitcase" style="width: 37px;padding: 8px 9px 8px 9px;border-bottom: 2px solid red;"></i></span>
</div>
<div fxFlex="90">
<span *ngIf="master.product_name"> {{master.product_name}}<span *ngIf="master.subproduct_name"> / {{master.subproduct_name}} </span></span>
@ -71,7 +71,7 @@
<div fxLayout="row">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" class="profile-center">
<div fxFlex="10">
<span *ngIf="master.loan_amount"><i class="fa-1x fa fa-rupee" style="width: 37px;padding: 8px 9px 8px 9px;border-bottom: 2px solid red;"></i></span>
<span><i class="fa-1x fa fa-rupee" style="width: 37px;padding: 8px 9px 8px 9px;border-bottom: 2px solid red;"></i></span>
</div>
<div fxFlex="90">
<span *ngIf="master.loan_amount"> {{master.loan_amount}}</span>
@ -81,7 +81,7 @@
<div fxLayout="row">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" class="profile-center">
<div fxFlex="10">
<span *ngIf="master.pd_type_name"><i class="fa-1x fa fa-check-circle" style="width: 37px;padding: 8px 9px 8px 9px;border-bottom: 2px solid red;"></i></span>
<span><i class="fa-1x fa fa-check-circle" style="width: 37px;padding: 8px 9px 8px 9px;border-bottom: 2px solid red;"></i></span>
</div>
<div fxFlex="90">
<span *ngIf="master.pd_type_name"> {{master.pd_type_name}}</span>
@ -91,7 +91,7 @@
<div fxLayout="row">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" class="profile-center">
<div fxFlex="10">
<span *ngIf="master.state_name"><i class="fa-1x fa fa-map-marker" style="width: 37px;padding: 8px 9px 8px 9px;border-bottom: 2px solid red;"></i></span>
<span><i class="fa-1x fa fa-map-marker" style="width: 37px;padding: 8px 9px 8px 9px;border-bottom: 2px solid red;"></i></span>
</div>
<div fxFlex="90">
<span *ngIf="master.state_name" class="hover-icon"> {{master.addressline1}},<br> {{master.city_name}},<br>{{master.state_name}}-{{master.pincode}} </span>
@ -145,11 +145,19 @@
<mat-tab-group class="mt-2">
<mat-tab>
<ng-template mat-tab-label>Applicants</ng-template>
<div class="cardEdit" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
<!-- <div class="cardEdit" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdApplicant(pdApplicantData)"><mat-icon>edit</mat-icon></button>
</div>
<mat-card-header>
<mat-card-title style="color:red !important;">Applicants</mat-card-title>
</mat-card-header> -->
<mat-card-header>
<div fxFlex="70" align="left" style="padding: 10px !important; color:red !important;">
<mat-card-title>Applicants</mat-card-title>
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdApplicant(pdApplicantData)"><mat-icon>edit</mat-icon></button>
</div>
</mat-card-header>
<mat-card-content *ngIf="pdApplicantData.length>0; else noApplicant">
@ -181,11 +189,19 @@
</mat-tab>
<mat-tab>
<ng-template mat-tab-label>Additional Requirements</ng-template>
<div class="cardEdit" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
<!-- <div class="cardEdit" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editAdditionalRequirement(pdAdditionalReqData)"><mat-icon>edit</mat-icon></button>
</div> -->
<!-- <mat-card-header>
<mat-card-title style="color:red !important;">Additional Requirements</mat-card-title>
</mat-card-header> -->
<mat-card-header>
<div fxFlex="70" align="left" style="padding: 10px !important; color:red !important;">
<mat-card-title>Additional Requirements</mat-card-title>
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editAdditionalRequirement(pdAdditionalReqData)"><mat-icon>edit</mat-icon></button>
</div>
<mat-card-header>
<mat-card-title style="color:red !important;">Additional Requirements</mat-card-title>
</mat-card-header>
<mat-card-content *ngIf="pdAdditionalReqData.length>0; else noRequirement">
<mat-list *ngFor="let requirement of pdAdditionalReqData">
@ -271,5 +287,3 @@
</mat-card>
</mat-card-content>
</mat-card>

View File

@ -30,6 +30,59 @@ export class ViewPdComponent implements OnInit, OnDestroy {
masterPdLogsData: any=[];
applicantPDLogsData: any=[];
pdAdditionalReqData: any=[];
FilteredFieldNames : any=[];
localcount :any;
localstring : any;
localMandatoryFields: any=
[ {'backEnd_FieldName':"fk_lender_id",'frontEnd_FieldName':"Lender Name"},
{'backEnd_FieldName':"lender_applicant_id",'frontEnd_FieldName':"Loan Applicant ID"},
{'backEnd_FieldName':"fk_product_id",'frontEnd_FieldName':"Product Name"},
{'backEnd_FieldName':"fk_subproduct_id",'frontEnd_FieldName':"Sub Product Name"},
{'backEnd_FieldName':"fk_pd_type",'frontEnd_FieldName':"PD Type"},
{'backEnd_FieldName':"fk_customer_segment",'frontEnd_FieldName':"Customer Segment"},
{'backEnd_FieldName':"loan_amount",'frontEnd_FieldName':"Loan Amount"},
{'backEnd_FieldName':"addressline1",'frontEnd_FieldName':"Address at which PD is to be done"},
{'backEnd_FieldName':"fk_city",'frontEnd_FieldName':"City"},
{'backEnd_FieldName':"fk_state",'frontEnd_FieldName':"State"},
{'backEnd_FieldName':"pincode",'frontEnd_FieldName':"Pincode"},
{'backEnd_FieldName':"pd_contact_person",'frontEnd_FieldName':"Lender Contact Person"},
{'backEnd_FieldName':"pd_contact_mobileno",'frontEnd_FieldName':"Lender's Mobile Number"},
{'backEnd_FieldName':"pd_branch_id",'frontEnd_FieldName':"Branch"},
{'backEnd_FieldName':"pd_contact_landline",'frontEnd_FieldName':"Lender's Landline Number"}];
// localMandatoryFields: any=
// ['fk_lender_id',
// 'lender_applicant_id',
// 'fk_product_id',
// 'fk_subproduct_id',
// 'fk_pd_type',
// 'fk_customer_segment',
// 'loan_amount',
// 'addressline1',
// 'fk_city',
// 'fk_state',
// 'pincode',
// 'pd_contact_person',
// 'pd_contact_mobileno',
// 'pd_branch_id',
// 'pd_contact_landline'];
// localMandatoryFields2: any=
// [ "Lender Name",
// "Loan Applicant ID",
// "Product Name",
// "Sub Product Name",
// "PD Type",
// "Customer Segment",
// "Loan Amount",
// "Address at which PD is to be done",
// "City",
// "State",
// "Pincode",
// "Lender Contact Person",
// "Lender's Mobile Number",
// "Branch",
// "Lender's Landline Number"];
viewID:string;
viewParams:any;
destroyType:number=1;
@ -119,9 +172,18 @@ export class ViewPdComponent implements OnInit, OnDestroy {
width: '80%',
disableClose: true
});
dialogPDMaster.afterClosed()
dialogPDMaster.afterOpen()
.subscribe(dataresult => {
// this.notifier.notify('success', 'Successfully allocated.!');
if(this.localcount == 1){
let ffd : any = [];
this.FilteredFieldNames.forEach(field => {
ffd.push(field.frontEnd_FieldName);
});
this.notifier.notify('info', 'Please Fill ' + ffd.join(',') + ' are Fields.!');
}
});
dialogPDMaster.afterClosed().subscribe(dataresult => {
this.viewPdDetails(this.viewID)
});
}
@ -233,9 +295,26 @@ export class ViewPdComponent implements OnInit, OnDestroy {
}
// direct trigger the pd
directTriggerPD(data: any,pdid:string){
directTriggerPD(data: any,masterdetail : any){
/** */
let pdid = masterdetail.pd_id;
let getValues = data.filter(val =>val).map(Val => Val);
this.FilteredFieldNames = getValues.map(x => {
let findIndex = this.localMandatoryFields.map(val => val.backEnd_FieldName).indexOf(x);
return this.localMandatoryFields[findIndex];
});
if(data.length>0){
this.notifier.notify('warning', 'Please Fill All Mandatory Fields.!');
// FilteredFieldNames.forEach(field => {
// });
this.localcount = 1;
this.editPdMaster(masterdetail);
// alert(this.localMandatoryFields);
}
else {
let lenderMasterArray = {