merge : kms

This commit is contained in:
gandhimathi 2019-02-28 12:32:55 +05:30
parent 77518de272
commit 2cf2c0d6e8
8 changed files with 854 additions and 880 deletions

View File

@ -128,53 +128,61 @@
<mat-card-header>
<mat-card-title>Address Details</mat-card-title>
</mat-card-header>
<mat-card-content>
<div formArrayName="addresses" *ngFor="let addresses of pdAddresses.controls; let i = index;">
<mat-card-content [formGroupName]="i">
<mat-form-field style="width: 96%">
<textarea matInput autocomplete="off" placeholder="Address at which PD is to be done" formControlName="addressline1" style="text-transform: uppercase"></textarea>
<textarea matInput autocomplete="off" placeholder="Address at which PD is to be done" formControlName="addressline" style="text-transform: uppercase"></textarea>
<!-- oninput="this.value = this.value.toUpperCase()" -->
<!-- <mat-error *ngIf="pdMain.addressline1.hasError('required')">Address1 required.</mat-error> -->
<!-- <mat-error *ngIf="pdAddresses.addressline1.hasError('required')">Address1 required.</mat-error> -->
</mat-form-field>
<mat-form-field style="width: 32%">
<mat-select placeholder="State" formControlName="fk_state" (selectionChange)="getCityList(pdMain.fk_state.value)">
<mat-option>
Select
</mat-option>
<mat-select placeholder="State" formControlName="fk_state" (selectionChange)="getCityList($event.value,i)">
<mat-option> Select </mat-option>
<mat-option *ngFor="let SL of stateList" [value]="SL.state_id">
{{SL.name}}
</mat-option>
</mat-select>
<!-- <mat-error *ngIf="pdMain.fk_state.hasError('required')">State Required.</mat-error> -->
<!-- <mat-error *ngIf="pdAddresses.fk_state.hasError('required')">State Required.</mat-error> -->
</mat-form-field>
<mat-form-field style="width: 32%">
<mat-select placeholder="City" formControlName="fk_city">
<mat-option> Select </mat-option>
<mat-option *ngFor="let CL of cityList" [value]="CL.city_id">
<mat-option *ngFor="let CL of cityList[i]" [value]="CL.city_id">
{{CL.city_name}}
</mat-option>
</mat-select>
<!-- <mat-error *ngIf="pdMain.fk_city.hasError('required')">City Required.</mat-error> -->
<!-- <mat-error *ngIf="pdAddresses.fk_city.hasError('required')">City Required.</mat-error> -->
</mat-form-field>
<mat-form-field style="width: 24%">
<mat-select placeholder="Pincode" formControlName="pincode" >
<mat-select placeholder="Pincode" formControlName="pincode" (selectionChange)="getPincode($event.value,i)">
<mat-option>Select</mat-option>
<mat-option *ngFor="let PL of pincodeList" [value]="PL.pincode_id">{{PL.pincode}}</mat-option>
<mat-option *ngFor="let PL of pincodeList[i]" [value]="PL.pincode_id">{{PL.pincode}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 24%" *ngIf="pdMain.pincode.value == 1" >
<mat-form-field style="width: 24%" *ngIf="pincodeflag[i]">
<!-- *ngIf="pdAddresses.pincode.value == 1" -->
<input matInput autocomplete="off" placeholder="Specify Pincode" formControlName="other_pincode" (keypress)="keyPress($event)">
<mat-error *ngIf="pdMain.other_pincode.hasError('maxlength') || pdMain.other_pincode.hasError('minlength')">Enter Valid Pincode. </mat-error>
<!-- <mat-error *ngIf="pdAddresses.other_pincode.hasError('maxlength') || pdMain.other_pincode.hasError('minlength')">Enter Valid Pincode. </mat-error> -->
</mat-form-field>
<div align="end" *ngIf="pdAddresses.controls.length > 1">
<button mat-raised-button mat-icon-button matTooltip="Delete" matTooltipPosition="above" (click)="removeAddresses(i)" type="button"><mat-icon>delete</mat-icon></button>
</div>
</mat-card-content>
</div>
<mat-card-actions align="end">
<button type="button" mat-raised-button mat-icon-button (click)="addAddresses()"
matTooltip="Add More Additional Addresses" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary" type="button">
<mat-icon>add</mat-icon>
</button>
</mat-card-actions>
</mat-card>
<mat-card>
@ -182,6 +190,7 @@
<mat-card-title>Applicant Details</mat-card-title>
</mat-card-header>
<mat-card-content>
<h5>Applicant 1</h5>
<mat-form-field style="width: 12%">
<mat-select placeholder="Title" formControlName="applicant_title_name">
<mat-option *ngFor="let tl of titleList" [value]="tl.title_id">
@ -213,69 +222,62 @@
<mat-error *ngIf="pdMain.applicant_landline.hasError('maxlength') || pdMain.applicant_landline.hasError('minlength')">Enter Valid LandLine Number. </mat-error>
</mat-form-field>
<!-- <mat-card formArrayName="items">
<mat-card-content>
<mat-list *ngFor="let coappList of items.controls; let ca = index;" [formGroupName]="ca">
<h3>Co App</h3>
<mat-list-item>
<mat-form-field style="width: 70%">
<input matInput autocomplete="off" placeholder="coapp Name" formControlName="coapplicantName" type="text">
</mat-form-field>
<div formArrayName="coapplicants" *ngFor="let coDetails of pdCoApplicant.controls; let i = index;">
<div class="row" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
<div style="width:50%">
<h5>{{coDetails.controls.label.value}} {{i+2}}</h5>
<!-- <span (click)="removeItem(d)">
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Delete" matTooltipPosition="above" type="button"><mat-icon>delete</mat-icon></button>
</span> --
</div>
</mat-list-item>
</mat-list>
</mat-card-content>
<mat-card-actions align="end">
</mat-card-actions>
</mat-card> -->
<!-- Phone field to be split into 2 parts. Mobile Number mandatory and optional land line number with std code. -->
</mat-card-content>
<mat-dialog-actions align="end">
<!-- <button mat-raised-button mat-icon-button matTooltip="Add Document" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary" (click)="addCoApplicant()" type="button"><mat-icon>attach_file</mat-icon></button> -->
</mat-dialog-actions>
</mat-card>
<!---- <div fxLayout="row" fxLayoutGap="5%" fxLayoutAlign="start none">
<mat-form-field style="width: 50%">
<input matInput placeholder="Mobile" formControlName="coapplicant_mobile_no" type="text" (keypress)="keyPress($event)" required>
<!-- <mat-error *ngIf="coDetails['controls'].coapplicant_mobile_no.hasError('maxlength') || coDetails['controls'].coapplicant_mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error> --
</mat-form-field>
<mat-form-field style="width: 50%">
<input matInput placeholder="LandLine" formControlName="coapplicant_landline" type="text" (keypress)="keyPress($event)">
<!-- <mat-error *ngIf="coDetails['controls'].coapplicant_landline.hasError('maxlength') || coDetails['controls'].coapplicant_landline.hasError('minlength')">Enter Valid Phone Number. </mat-error> --
</mat-form-field>
</div>
<mat-form-field style="width: 100%">
<mat-select placeholder="Relationship" formControlName="relationship">
<mat-option *ngFor="let rel of relationShipList" [value]="rel.relationship_id" >
{{rel.name}}
<div [formGroupName]="i">
<mat-form-field style="width: 12%">
<mat-select placeholder="Title" formControlName="applicant_title_name">
<mat-option *ngFor="let tl of titleList" [value]="tl.title_id">
{{tl.name}}
</mat-option>
</mat-select>
</mat-form-field>
<div style="width:20%">
<span (click)="removeCoApplicant(i)">
<button mat-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Delete" matTooltipPosition="above"><mat-icon>delete</mat-icon></button>
</span>
<mat-form-field style="width: 38%">
<input matInput autocomplete="off" placeholder="Name of Individual Applicant" formControlName="coapplicant_name" type="text" required>
<!-- <mat-error *ngIf="pdMain.applicant_name.hasError('required')">Name is Required.</mat-error> -->
</mat-form-field>
<mat-form-field style="width: 38%">
<input matInput autocomplete="off" placeholder="Company / Firm Name" formControlName="company_name" type="text">
</mat-form-field>
<!-- <mat-form-field style="width: 100%">
<input matInput placeholder="Name" formControlName="coapplicant_name" type="text" required>
</mat-form-field> -->
<mat-form-field style="width: 38%">
<input matInput placeholder="Mobile" formControlName="coapplicant_mobile_no" type="text" (keypress)="keyPress($event)" required>
<mat-error *ngIf="coDetails['controls'].coapplicant_mobile_no.hasError('maxlength') || coDetails['controls'].coapplicant_mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
</mat-form-field>
<mat-form-field style="width: 12%">
<input matInput autocomplete="off" placeholder="STD Code" formControlName="coapplicant_stdcode" type="text" (keypress)="keyPress($event)">
<mat-error *ngIf="coDetails['controls'].coapplicant_stdcode.hasError('maxlength') || coDetails['controls'].coapplicant_stdcode.hasError('minlength')">Enter Valid STD Code. </mat-error>
</mat-form-field> &nbsp; - &nbsp;
<mat-form-field style="width: 22%">
<input matInput autocomplete="off" placeholder="Landline Number" formControlName="coapplicant_landline" type="text" (keypress)="keyPress($event)">
<mat-error *ngIf="coDetails['controls'].coapplicant_landline.hasError('maxlength') || coDetails['controls'].coapplicant_landline.hasError('minlength')">Enter Valid Landline Number. </mat-error>
</mat-form-field>
<button mat-raised-button mat-icon-button matTooltip="Delete" matTooltipPosition="above" (click)="removeCoApplicant(i)" type="button"><mat-icon>delete</mat-icon></button>
</div>
</div>
</div>
<!-- Phone field to be split into 2 parts. Mobile Number mandatory and optional land line number with std code. ---->
</mat-card-content>
<mat-card-actions align="end">
<button mat-fab class="mr-1 mb-1" color="primary" matTooltip="Add More Applicant" matTooltipPosition="above" style="opacity: 0.8;border:2px;border-radius: 50%;" (click)="addCoApplicant()"><mat-icon>group_add</mat-icon><div class="mat-button-ripple mat-ripple" matripple=""></div><div class="mat-button-focus-overlay"></div></button>
</mat-card-actions>
</mat-card>
</div>
</div>-->
<mat-card>
<mat-card-header>
<mat-card-title>Additional Requirements</mat-card-title>
@ -353,89 +355,3 @@
</mat-card-content>
</mat-card>
<notifier-container></notifier-container>
<!-- <div fxLayout="row" fxLayoutWrap="wrap">
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
<mat-card class="p-2">
<h5>Main Applicant</h5>
<mat-form-field style="width: 100%">
<input matInput placeholder="Name" formControlName="applicant_name">
<mat-error *ngIf="pdMain.applicant_name.hasError('required')">Name is Required.</mat-error>
</mat-form-field>
<div fxLayout="row" fxLayoutGap="5%" fxLayoutAlign="start none">
<mat-form-field style="width: 50%">
<input matInput placeholder="Mobile" formControlName="mobile_no" type="text" (keypress)="keyPress($event)" required>
<mat-error *ngIf="pdMain.mobile_no.hasError('maxlength') || pdMain.mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
</mat-form-field>
<mat-form-field style="width: 50%">
<input matInput placeholder="LandLine" formControlName="landline" type="text" (keypress)="keyPress($event)">
<mat-error *ngIf="pdMain.landline.hasError('maxlength') || pdMain.landline.hasError('minlength')">Enter Valid Phone Number. </mat-error>
</mat-form-field>
</div>
<mat-form-field style="width: 100%">
<input matInput placeholder="Email" formControlName="email" type="email">
<!-- <mat-error *ngIf="pdMain.email.hasError('required')">Email Required.</mat-error> ----
</mat-form-field>
</mat-card>
</div>
</div>
<div fxLayout="row" fxLayoutWrap="wrap" formArrayName="items" *ngFor="let coDetails of pdCoApplicant.controls; let i = index;">
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
<mat-card class="p-2">
<h5>{{coDetails.controls.label.value}} {{i+1}}</h5>
<div [formGroupName]="i">
<mat-form-field style="width: 100%">
<input matInput placeholder="Name" formControlName="coapplicantName" type="text" required>
</mat-form-field>
<div fxLayout="row" fxLayoutGap="5%" fxLayoutAlign="start none">
<mat-form-field style="width: 50%">
<input matInput placeholder="Mobile" formControlName="coapplicant_mobile_no" type="text" (keypress)="keyPress($event)" required>
<mat-error *ngIf="coDetails['controls'].coapplicant_mobile_no.hasError('maxlength') || coDetails['controls'].coapplicant_mobile_no.hasError('minlength')">Enter Valid Mobile Number. </mat-error>
</mat-form-field>
<mat-form-field style="width: 50%">
<input matInput placeholder="LandLine" formControlName="coapplicant_landline" type="text" (keypress)="keyPress($event)">
<mat-error *ngIf="coDetails['controls'].coapplicant_landline.hasError('maxlength') || coDetails['controls'].coapplicant_landline.hasError('minlength')">Enter Valid Phone Number. </mat-error>
</mat-form-field>
</div>
<mat-form-field style="width: 100%">
<mat-select placeholder="Relationship" formControlName="relationship">
<mat-option *ngFor="let rel of relationShipList" [value]="rel.relationship_id" >
{{rel.name}}
</mat-option>
</mat-select>
</mat-form-field>
<div style="width:20%">
<span (click)="removeCoApplicant(i)">
<button mat-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Delete" matTooltipPosition="above"><mat-icon>delete</mat-icon></button>
</span>
</div>
</div>
</mat-card>
</div>
</div> -->
<!-- <div fxLayout="row" fxLayoutWrap="wrap">
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
<mat-card class="p-2">
<h5>Co-Applicant</h5>
<button mat-fab class="mr-1 mb-1" color="primary" matTooltip="Add Co-Applicant" matTooltipPosition="above" style="opacity: 0.8;border:2px;border-radius: 50%;" (click)="addCoApplicant()"><mat-icon>group_add</mat-icon><div class="mat-button-ripple mat-ripple" matripple=""></div><div class="mat-button-focus-overlay"></div></button>
<button mat-raised-button mat-button-sm color="primary" (click)="addCoApplicant()" type="button">Add More Co-Applicant</button>
</mat-card>
</div>
</div> -->

View File

@ -23,15 +23,18 @@ export class AddPdComponent implements OnInit, OnDestroy {
PDTriggerStatus: string;
private notifier: NotifierService;
public _PDtriggerForm: FormGroup;
items: FormArray;
addresses: FormArray;
coapplicants: FormArray;
addtional_requirements: FormArray;
productList: any;
subProductList: any;
lenderList: any;
lenderBranchList: any;
customerSegmentList: any;
stateList: any;
cityList: any;
stateList: any = [];
cityList: any = [];
pdTypeList: any;
billingList: any;
relationShipList: any;
@ -43,6 +46,7 @@ export class AddPdComponent implements OnInit, OnDestroy {
createWithLongContent = false;
dynamicCoApplicant = [];
disableAfterSubmit: boolean;
pincodeflag : any = [];
constructor(notifier: NotifierService, private _fb: FormBuilder, private route: ActivatedRoute,
private router: Router, private _pd: PdTrigerService, private _aws: AwsService, private ListPdComponent: ListPdComponent) {
this.notifier = notifier;
@ -92,26 +96,21 @@ export class AddPdComponent implements OnInit, OnDestroy {
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],
fk_state: [null],
pincode: [null],/** ,Validators.compose([Validators.minLength(6),Validators.maxLength(6)]) */
other_pincode: [null, Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],
remarks: [null],
// allocation_type: [null],
// sub_allocation_type: [null],
items: this._fb.array([]),
coapplicants: this._fb.array([]),
addresses: this._fb.array([this.createAddresses()]),
documents: this._fb.array([]),
addtional_requirements: this._fb.array([this.createRequiremnt()])
});
}
/** FOR Dropdowns */
selectedLender(lender) {
// console.log(JSON.stringify(lender));
// alert(JSON.stringify(lender['branches ']));
this.lenderBranchList = lender['branches'];
this._PDtriggerForm.controls.pd_branch_id.setValue(null);
}
getLenderList() {
@ -122,6 +121,7 @@ export class AddPdComponent implements OnInit, OnDestroy {
}
}, error => this.errorMessage = <any>error);
}
getProductsList() {
this._pd.getProductsDetails().subscribe(
data => {
@ -131,6 +131,7 @@ export class AddPdComponent implements OnInit, OnDestroy {
}
}, error => this.errorMessage = <any>error);
}
getCustomerSegmentList() {
this._pd.getCustomersDetails().subscribe(
data => {
@ -139,14 +140,8 @@ export class AddPdComponent implements OnInit, OnDestroy {
}
}, error => this.errorMessage = <any>error);
}
// getStateCityList(){
// this._pd.getStateCityDetails().subscribe(
// data => {
// if (data.status == 200) {
// this.stateList=data.records
// }
// }, error => this.errorMessage = <any> error);
// }
//get State
getStateCityList() {
this._pd.getAllMasterDatas('STATE').subscribe(
data => {
@ -155,6 +150,8 @@ export class AddPdComponent implements OnInit, OnDestroy {
}
});
}
//get PDType List
getPDTypeList() {
this._pd.getPDTypeDetails().subscribe(
data => {
@ -164,31 +161,21 @@ export class AddPdComponent implements OnInit, OnDestroy {
}
}, error => this.errorMessage = <any>error);
}
//get sub product list based on prokduct id
getSubproductList(productID: string) {
this.subProductList = this.productList.filter(item => item.product_id == productID);
this.subProductList = this.subProductList[0].subproducts;
this.subProductList = this.subProductList.filter(item => item.is_others == 0);
}
// get city list details based on state id
// getCityList(stateID:string){
// console.log(this.cityList);
// this.cityList= this.stateList.filter(item => item.state_id == stateID);
// console.log(this.cityList);
// this.cityList=this.cityList[0].cities;
// console.log(this.cityList);
// }
//get city list details based on state id
getCityList(stateID: string) {
// console.log('getCityList',stateID);
getCityList(stateID: string,index) {
this._pd.getStateWiseCities(stateID).subscribe(data => {
if (data.status == 200) {
// console.log(data);
this.cityList = data.records.cities;
this.pincodeList = data.records.pincode;
this.cityList[index] = data.records.cities;
this.pincodeList[index] = data.records.pincode;
}
});
}
@ -200,10 +187,10 @@ export class AddPdComponent implements OnInit, OnDestroy {
data => {
if (data.status == 200) {
this.relationShipList = data.records;
}
}, error => this.errorMessage = <any>error);
}
// get title master
getTitleMaster() {
let relation = "TITLES";
@ -211,31 +198,11 @@ export class AddPdComponent implements OnInit, OnDestroy {
data => {
if (data.status == 200) {
this.titleList = data.records.filter(val => val.isactive == 1);
// console.log(this.titleList);
// let index1 = this.titleList.map(data => data.name).indexOf("Master");
// this.titleList.splice(index1, 1);
}
}, error => this.errorMessage = <any>error);
}
createItem(): FormGroup {
return this._fb.group({
coapplicantName: [null, Validators.compose([Validators.required])],
// coapplicantTitleName: [null],
// companyName: [null],
// applicantType: 0,
// coapplicant_mobile_no: [null, Validators.compose([Validators.minLength(10), Validators.maxLength(10), Validators.required])],
// coapplicant_landline: [null, Validators.compose([Validators.minLength(12), Validators.maxLength(13)])],
// relationship: [null],
});
};
addCoApplicant() {
this.items = this._PDtriggerForm.get('items') as FormArray;
this.items.push(this.createItem());
}
/** FOR Documents */
addMoreDocs() {
if (this.totalfiles.length != 0) {
if (this.documents.value[0].doc_name != "" && ((this.lengthCheckToaddMore) === (this.totalfiles.length))) {
@ -259,15 +226,11 @@ export class AddPdComponent implements OnInit, OnDestroy {
get documents(): FormArray {
return this._PDtriggerForm.get('documents') as FormArray;
};
get pdMain() {
return this._PDtriggerForm.controls;
}
// get pdCoApplicant() { return this._PDtriggerForm.get('items') as FormArray; }
removeCoApplicant(i: number) {
const control = <FormArray>this._PDtriggerForm.controls['items'];
control.removeAt(i);
}
removeItem(index: number) {
this.totalfiles.splice(index, 1);
this.totalFileName.splice(index, 1);
@ -275,6 +238,53 @@ export class AddPdComponent implements OnInit, OnDestroy {
this.lengthCheckToaddMore = this.lengthCheckToaddMore - 1;
}
/** FOR Coapplicant */
get pdCoApplicant() { return this._PDtriggerForm.get('coapplicants') as FormArray; }
addCoApplicant() {
this.coapplicants = this._PDtriggerForm.get('coapplicants') as FormArray;
this.coapplicants.push(this.createCoApplicant());
}
createCoApplicant(): FormGroup {
return this._fb.group({
label: ['Applicant'],
applicant_title_name:[null],
coapplicant_name: [null, Validators.compose([Validators.required])],
coapplicant_mobile_no: [null,Validators.compose([Validators.minLength(10),Validators.maxLength(10),Validators.required])],
coapplicant_stdcode:[null, Validators.compose([Validators.minLength(3), Validators.maxLength(5), Validators.pattern('^[0-9]*$')])],
coapplicant_landline : [null,Validators.compose([Validators.minLength(12),Validators.maxLength(13)])],
company_name:[null],
relationship: [null],
});
};
removeCoApplicant(i: number) {
const control = <FormArray>this._PDtriggerForm.controls['coapplicants'];
control.removeAt(i);
}
/** FOr Adress */
get pdAddresses() { return this._PDtriggerForm.get('addresses') as FormArray; }
createAddresses(): FormGroup {
return this._fb.group({
addressline: [null],
fk_city: [null],
fk_state: [null],
pincode: [null],/** ,Validators.compose([Validators.minLength(6),Validators.maxLength(6)]) */
other_pincode: [null, Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],
});
};
addAddresses() {
this.addresses = this._PDtriggerForm.get('addresses') as FormArray;
this.addresses.push(this.createAddresses());
}
removeAddresses(index: number) {
const address_control = <FormArray>this._PDtriggerForm.controls['addresses'];
address_control.removeAt(index);
}
get pdRequirements() { return this._PDtriggerForm.get('addtional_requirements') as FormArray; }
createRequiremnt(): FormGroup {
return this._fb.group({
@ -317,7 +327,8 @@ export class AddPdComponent implements OnInit, OnDestroy {
this.lengthCheckToaddMore = 1;
}
}
getPincode(e,i){ this.pincodeflag[i] = e == 1 ? true : false;
}
// save pd in draft
saveDraftPD(formValue: any, status: string) {
//alert('Inside The Draft PD');
@ -351,17 +362,17 @@ export class AddPdComponent implements OnInit, OnDestroy {
this._PDtriggerForm.controls['mobile_no'].setValidators([Validators.required]);
this._PDtriggerForm.controls['mobile_no'].updateValueAndValidity();
this._PDtriggerForm.controls['addressline1'].setValidators([Validators.required]);
this._PDtriggerForm.controls['addressline1'].updateValueAndValidity();
// this._PDtriggerForm.controls['addressline1'].setValidators([Validators.required]);
// this._PDtriggerForm.controls['addressline1'].updateValueAndValidity();
this._PDtriggerForm.controls['fk_city'].setValidators([Validators.required]);
this._PDtriggerForm.controls['fk_city'].updateValueAndValidity();
// this._PDtriggerForm.controls['fk_city'].setValidators([Validators.required]);
// this._PDtriggerForm.controls['fk_city'].updateValueAndValidity();
this._PDtriggerForm.controls['fk_state'].setValidators([Validators.required]);
this._PDtriggerForm.controls['fk_state'].updateValueAndValidity();
// this._PDtriggerForm.controls['fk_state'].setValidators([Validators.required]);
// this._PDtriggerForm.controls['fk_state'].updateValueAndValidity();
this._PDtriggerForm.controls['pincode'].setValidators([Validators.required]);
this._PDtriggerForm.controls['pincode'].updateValueAndValidity();
// this._PDtriggerForm.controls['pincode'].setValidators([Validators.required]);
// this._PDtriggerForm.controls['pincode'].updateValueAndValidity();
setTimeout(() => {
this.clearCustomValidatorFields();
}, 10000);
@ -397,23 +408,24 @@ export class AddPdComponent implements OnInit, OnDestroy {
this._PDtriggerForm.controls['mobile_no'].clearValidators();
this._PDtriggerForm.controls['mobile_no'].updateValueAndValidity();
this._PDtriggerForm.controls['addressline1'].clearValidators();
this._PDtriggerForm.controls['addressline1'].updateValueAndValidity();
// this._PDtriggerForm.controls['addressline1'].clearValidators();
// this._PDtriggerForm.controls['addressline1'].updateValueAndValidity();
this._PDtriggerForm.controls['fk_city'].clearValidators();
this._PDtriggerForm.controls['fk_city'].updateValueAndValidity();
// this._PDtriggerForm.controls['fk_city'].clearValidators();
// this._PDtriggerForm.controls['fk_city'].updateValueAndValidity();
this._PDtriggerForm.controls['fk_state'].clearValidators();
this._PDtriggerForm.controls['fk_state'].updateValueAndValidity();
// this._PDtriggerForm.controls['fk_state'].clearValidators();
// this._PDtriggerForm.controls['fk_state'].updateValueAndValidity();
this._PDtriggerForm.controls['pincode'].clearValidators();
this._PDtriggerForm.controls['pincode'].updateValueAndValidity();
// this._PDtriggerForm.controls['pincode'].clearValidators();
// this._PDtriggerForm.controls['pincode'].updateValueAndValidity();
this.validateAllFormFields(this._PDtriggerForm);
}
// common function for both draft and process pd
submitPdDetails(formValue: any, status: string) {
if (this._PDtriggerForm.invalid) {
this.validateAllFormFields(this._PDtriggerForm);
this.notifier.notify('warning', 'Please Fill All Mandatory Fields.!');
@ -426,30 +438,32 @@ export class AddPdComponent implements OnInit, OnDestroy {
}
else {
this.disableAfterSubmit = true;
let concat_landline
let concat_landline1
let lender_landline_no;
let applicant_landline_no;
if (formValue.lender_stdcode != null || formValue.lender_landline != null) {
if (formValue.lender_stdcode != '' && formValue.lender_landline != '') {
concat_landline = formValue.lender_stdcode + '-' + formValue.lender_landline;
lender_landline_no = formValue.lender_stdcode + '-' + formValue.lender_landline;
}
else {
concat_landline = null;
lender_landline_no = null;
}
}
else {
concat_landline = null;
lender_landline_no = null;
}
if (formValue.applicant_stdcode != null || formValue.applicant_landline != null) {
if (formValue.applicant_stdcode != '' && formValue.applicant_landline != '') {
concat_landline1 = formValue.applicant_stdcode + '-' + formValue.applicant_landline;
applicant_landline_no = formValue.applicant_stdcode + '-' + formValue.applicant_landline;
}
else {
concat_landline1 = null;
applicant_landline_no = null;
}
}
else {
concat_landline1 = null;
applicant_landline_no = null;
}
let pd_details: any = {
@ -458,21 +472,23 @@ 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": concat_landline,
"pd_contact_landline": lender_landline_no,
"fk_product_id": formValue.fk_product_id,
"fk_subproduct_id": formValue.fk_subproduct_id,
"fk_pd_type": formValue.fk_pd_type,
"fk_customer_segment": formValue.fk_customer_segment,
"loan_amount": formValue.loan_amount,
"addressline1": formValue.addressline1.toUpperCase(),
"fk_city": formValue.fk_city,
"fk_state": formValue.fk_state,
"pincode": formValue.pincode,
"other_pincode": formValue.other_pincode,
"addressline1": formValue.addresses[0].addressline.toUpperCase(),
"fk_city": formValue.addresses[0].fk_city,
"fk_state": formValue.addresses[0].fk_state,
"pincode": formValue.addresses[0].pincode,
"other_pincode": formValue.addresses[0].other_pincode,
"remarks": formValue.remarks,
"pd_status": status,
"fk_createdby": this._aws.getlocale(),
};
var pd_applicant_details: any = [];
if (formValue.applicant_name) {
pd_applicant_details.push({
@ -480,20 +496,35 @@ export class AddPdComponent implements OnInit, OnDestroy {
"applicant_title_name": formValue.applicant_title_name,
"company_name": formValue.company_name,
"mobile_no": formValue.mobile_no,
"landline": concat_landline1,
"landline": applicant_landline_no,
"applicant_type": 1,
"relation": "",
});
}
formValue.items.forEach((itemElement, itemIndex) => {
formValue.coapplicants.forEach((itemElement, itemIndex) => {
let coapplicant_landline_no;
if (itemElement.coapplicant_stdcode != null || itemElement.coapplicant_landline != null) {
if (itemElement.coapplicant_stdcode != '' && itemElement.coapplicant_landline != '') {
coapplicant_landline_no = formValue.coapplicant_stdcode + '-' + itemElement.applicant_landline;
}
else {
coapplicant_landline_no = null;
}
}
else {
coapplicant_landline_no = null;
}
let obj1 = {
"applicant_name": itemElement.coapplicantName,
"applicant_name":itemElement.coapplicant_name,
"applicant_title_name": itemElement.applicant_title_name,
"company_name": itemElement.company_name,
"mobile_no": itemElement.coapplicant_mobile_no,
"landline": itemElement.coapplicant_landline,
"applicant_type": 0,
"mobile_no":itemElement.coapplicant_mobile_no,
"landline": coapplicant_landline_no,
"applicant_type":0,
"relation": "",
}
pd_applicant_details.push(obj1)
@ -519,12 +550,26 @@ export class AddPdComponent implements OnInit, OnDestroy {
}
pd_form.append("pd_document_titles", JSON.stringify(AllFilesObj))
if (formValue.addtional_requirements.length > 0) {
pd_form.append("addtional_requirements", JSON.stringify(formValue.addtional_requirements))
}
// console.log('pd_form',pd_form);
// console.log('pd_details',pd_details);
// formValue.addresses.forEach((addressElement, itemIndex) => {
// let addressobj = {
// "addressline": addressElement.addressline.toUpperCase(),
// "fk_city": addressElement.fk_city,
// "fk_state": addressElement.fk_state,
// "pincode": addressElement.pincode,
// "other_pincode": addressElement.other_pincode,
// }
// });
if (formValue.addresses.length > 0) {
pd_form.append("addresses", JSON.stringify(formValue.addresses))
}
this._pd.addPdDetails(pd_form).subscribe(result => {
if (result.status == 200) {
this.disableAfterSubmit = false;

View File

@ -136,22 +136,47 @@ export class CurrentLoanComponent implements OnInit {
const control = <FormArray>this.currentLoanForm.controls['loan_details'];
if (value.status == 200) {
console.log('value.records',value.records);
this.currentLoanForm.controls['existing_loan'].setValue(value.records.existing_loan);
this.currentLoanForm.controls['currentloan_remarks'].setValue(value.records.currentloan_remarks);
if (value.records.existing_loan == 'Yes') {
var result = Object.keys(value.records.loan_details).map(function (key) {
return value.records.loan_details[key];
console.log('value.records.loan_details',);
let loandetails = value.records.loan_details
var result = Object.keys(loandetails).map(function (key) {
return loandetails[key];
});
const control = <FormArray>this.currentLoanForm.controls['loan_details'];
if (result.length > 0) {
result.forEach((val,index) => {
this.amtInwords[index] = this._pd.convertNumberToWords(val.loan_amount);
this.emiAmtInwords[index] = this._pd.convertNumberToWords(val.emi);
this.selectedfrequency(val.frequency,index);
//this.selectedLoanTakenBy(val.loan_taken_by,index);
let objs = {
'label': val.loan_amount,
'loan_amount': val.loan_amount,
'frequency':val.frequency,
'other_frequency':val.other_frequency,
'emi': val.emi,
'loan_type': val.loan_type,
'others_loan_type': val.others_loan_type,
'loan_taken_by':val.loan_taken_by,
'others_loan_taken':val.others_loan_taken,
'lender': val.lender,
'others_lender':val.others_lender,
'original_tenure': val.original_tenure,
'current_balance_tenure': val.current_balance_tenure,
'elapsed_tenure':val.elapsed_tenure
}
control.push(this.createLoanDetail(objs));
});
this.currentLoanForm.controls['loan_details'].setValue(result);
// this.currentLoanForm.controls['loan_details'].setValue(result_data);
} else {
// control.push(this.createLoanDetail());
}
@ -424,19 +449,19 @@ export class CurrentLoanComponent implements OnInit {
createLoanDetail(data) {
return this.fb.group({
label: data == null ? [''] : [data.label],
loan_amount: [''],
frequency:[''],
other_frequency:[''],
emi: [''],
loan_type: [''],
others_loan_type: [''],
loan_taken_by:[''],
others_loan_taken:[''],
lender: [''],
others_lender:[''],
original_tenure: [''],
current_balance_tenure: [''],
elapsed_tenure:['']
loan_amount: null ? [''] : [data.loan_amount],
frequency:null ? [''] : [data.frequency],
other_frequency:null ? [''] : [data.other_frequency],
emi: null ? [''] : [data.emi],
loan_type: null ? [''] : [data.loan_type],
others_loan_type: null ? [''] : [data.others_loan_type],
loan_taken_by:null ? [''] : [data.loan_taken_by],
others_loan_taken:null ? [''] : [data.others_loan_taken],
lender: null ? [''] : [data.lender],
others_lender:null ? [''] : [data.others_lender],
original_tenure: null ? [''] : [data.original_tenure],
current_balance_tenure: null ? [''] : [data.current_balance_tenure],
elapsed_tenure:null ? [''] : [data.elapsed_tenure]
});
}

View File

@ -1,19 +1,17 @@
<form [formGroup]="financialForm" class="address">
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;">
<span>{{main_applicant}} ({{lender_applicant_id}}), {{customer_segment_abbr}} - {{subproduct_abbr}} </span><br>
{{pageTitle}}
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="right" mat-dialog-close><mat-icon>close</mat-icon></button>
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close"
matTooltipPosition="right" mat-dialog-close>
<mat-icon>close</mat-icon>
</button>
</div>
</h2>
<mat-dialog-content>
<mat-tab-group>
<mat-tab label="Questions">
<ng-template matTabContent>
@ -22,383 +20,416 @@
<mat-card>
<mat-card-header>
<mat-card-title>
<!-- <p> Financial as per Statements</p> -->
<p>Data as Per Financial Statements</p>
</mat-card-title>
</mat-card-header>
<div style="width:100%">
<mat-form-field style="width:31%">
<mat-select placeholder="Financial Statements Available ?" formControlName="is_financial_statements" (selectionChange)="selectedStatement($event.value)">
<mat-form-field style="width:35%">
<mat-select placeholder="Financial Statements Available ?" formControlName="is_financial_statements"
(selectionChange)="selectedStatement($event.value)">
<mat-option value="yes">Yes</mat-option>
<mat-option value="no">No</mat-option>
</mat-select>
</mat-form-field>
</div>
<div *ngIf="isDisplay">
<mat-form-field style="width:37%">
<mat-label>Enter year from which financials provided</mat-label>
<input matInput autocomplete="off" placeholder="YYYY eg.2018" formControlName="financial_starting_year" (keypress)="keyPress($event)" [readonly]="isReadOnly">
<input matInput autocomplete="off" placeholder="YYYY eg.2018" formControlName="financial_starting_year"
(keypress)="keyPress($event)" [readonly]="isReadOnly">
<mat-error> Invalid year format</mat-error>
</mat-form-field>
<!-- <mat-form-field hintLabel="Max 10 characters">
<input matInput #input maxlength="10" placeholder="Enter some input">
<mat-hint align="start" style="font-size:70%">{{input.value?.length || 0}}/10</mat-hint>
</mat-form-field> -->
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Number of Financial Years" formControlName="financial_no_of_year" (change)="dynamicalFinYear($event)" (keypress)="keyPress($event)" [readonly]="isReadOnly">
<input matInput autocomplete="off" placeholder="Number of Financial Years"
formControlName="financial_no_of_year" (change)="dynamicalFinYear($event)"
(keypress)="keyPress($event)" [readonly]="isReadOnly">
</mat-form-field>
</div>
<div *ngIf="financial_no_of_year != ''" formArrayName="date_per_financial">
<!-- <div formArrayName="date_per_financial"> -->
<div *ngFor="let details of financialForm.controls.date_per_financial['controls']; let i=index" [formGroupName]="i">
<div *ngFor="let details of financialForm.controls.date_per_financial['controls']; let i=index"
[formGroupName]="i">
<mat-card-content class="matcard">
<mat-label class="highlight"> <i>Financial Year : {{details.get('financial_year').value}} </i> </mat-label>
<mat-label class="highlight"> <i>Financial Year :
{{details.get('financial_year').value}} </i> </mat-label>
<hr>
<div style="width:100%">
<br>
<mat-form-field style="width:30%">
<!-- <input matInput autocomplete="off" placeholder="Annual Sale" formControlName="financial_annual_sale" (change)="calMargin(i, details)" type="number" > -->
<input matInput autocomplete="off" placeholder="Annual Sale" formControlName="financial_annual_sale" (change)="calculationForFinanicalStatement()" (keypress)="keyPress($event)" (keyup)="inWords($event,i,1)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('financial_annual_sale').value != ''">{{"&#8377;"}} {{FY_annualSalesInwords[i]}} Only</mat-hint>
<input matInput autocomplete="off" placeholder="Annual Sale"
formControlName="financial_annual_sale" (change)="calculationForFinanicalStatement()"
(keypress)="keyPress($event)" (keyup)="inWords($event,i,1)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('financial_annual_sale').value != ''">{{"&#8377;"}}
{{FY_annualSalesInwords[i]}} Only</mat-hint>
</mat-form-field>
<span *ngIf="i != 0">
<mat-form-field style="width:60%">
<input matInput autocomplete="off" placeholder="Sale Variation from Previous Year in %" formControlName="financial_annualsales_variation" (keypress)="keyPress($event)" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('financial_annualsales_variation').value != '' " >
<input matInput autocomplete="off" placeholder="Sale Variation from Previous Year in %"
formControlName="financial_annualsales_variation"
(keypress)="keyPress($event)" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('financial_annualsales_variation').value != '' ">
<span *ngIf="details.get('financial_annualsales_variation').value == 0">
No difference in Sales in FY <i> {{details.get('financial_year').value}} </i> over Sales in FY <i> {{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}} </i>
No difference in Sales in FY <i>
{{details.get('financial_year').value}} </i> over
Sales in FY <i>
{{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}}
</i>
</span>
<span *ngIf="details.get('financial_annualsales_variation').value > 0" class="greenhighlight">
Increase in Sales in FY <i> {{details.get('financial_year').value}} </i> over Sales in FY <i> {{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}} </i> <b> {{details.get('financial_annualsales_variation').value}} % </b>
<span *ngIf="details.get('financial_annualsales_variation').value > 0"
class="greenhighlight">
Increase in Sales in FY <i>
{{details.get('financial_year').value}} </i> over
Sales in FY <i>
{{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}}
</i> <b>
{{details.get('financial_annualsales_variation').value}}
% </b>
</span>
<span *ngIf="details.get('financial_annualsales_variation').value < 0" class="highlight">
Decrease in Sales in FY <i> {{details.get('financial_year').value}} </i> over Sales in FY <i>{{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}} </i> <b> {{(details.get('financial_annualsales_variation').value).replace('-', '')}} % </b>
<span *ngIf="details.get('financial_annualsales_variation').value < 0"
class="highlight">
Decrease in Sales in FY <i>
{{details.get('financial_year').value}} </i> over
Sales in FY <i>{{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}}
</i> <b>
{{(details.get('financial_annualsales_variation').value).replace('-',
'')}} % </b>
</span>
</mat-hint>
</mat-form-field>
</span>
</div>
<div style="width:100%">
<mat-form-field style="width:30%">
<!-- <input matInput autocomplete="off" placeholder="Net Profit / Loss" formControlName="financial_net_profit" (change)="calMargin( i, details); calYearVariation( i, details)" type="number" > -->
<mat-select placeholder="Is there Net Profit or Net Loss?" formControlName="finanical_profit_or_loss" (selectionChange)="selectedProfitOrLossType($event,details)">
<mat-option value="1" >Net Profit</mat-option>
<mat-option value="2" >Net Loss</mat-option>
<mat-select placeholder="Is there Net Profit or Net Loss?"
formControlName="finanical_profit_or_loss" (selectionChange)="selectedProfitOrLossType($event,details)">
<mat-option value="1">Net Profit</mat-option>
<mat-option value="2">Net Loss</mat-option>
</mat-select>
</mat-form-field>
<span *ngIf="details.get('finanical_profit_or_loss').value == 1 ">
<mat-form-field style="width:28%">
<input matInput autocomplete="off" placeholder="Net Profit Amount" formControlName="financial_net_profit" (change)="calculationForFinanicalStatement()" (keypress)="keyPress($event)" (keyup)="inWords($event,i,2)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('financial_net_profit').value != ''">{{"&#8377;"}} {{FY_netProfitAmtInwords[i]}} Only</mat-hint>
<input matInput autocomplete="off" placeholder="Net Profit Amount"
formControlName="financial_net_profit" (change)="calculationForFinanicalStatement()"
(keypress)="keyPress($event)" (keyup)="inWords($event,i,2)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('financial_net_profit').value != ''">{{"&#8377;"}}
{{FY_netProfitAmtInwords[i]}} Only</mat-hint>
</mat-form-field>
<mat-form-field style="width:28%">
<input matInput autocomplete="off" placeholder="Net Profit to Sales in %" formControlName="financial_margin_of_profit" (keypress)="keyPress($event)" readonly>
<input matInput autocomplete="off" placeholder="Net Profit to Sales in %"
formControlName="financial_margin_of_profit" (keypress)="keyPress($event)"
readonly>
</mat-form-field>
</span>
<span *ngIf="details.get('finanical_profit_or_loss').value == 2 ">
<mat-form-field style="width:28%">
<input matInput autocomplete="off" placeholder="Net Loss Amount" formControlName="financial_net_loss" (change)="calculationForFinanicalStatement()" (keypress)="keyPress($event)" (keyup)="inWords($event,i,3)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('financial_net_loss').value != ''">{{"&#8377;"}} {{FY_netLossAmtInwords[i]}} Only</mat-hint>
<input matInput autocomplete="off" placeholder="Net Loss Amount"
formControlName="financial_net_loss" (change)="calculationForFinanicalStatement()"
(keypress)="keyPress($event)" (keyup)="inWords($event,i,3)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('financial_net_loss').value != ''">{{"&#8377;"}}
{{FY_netLossAmtInwords[i]}} Only</mat-hint>
</mat-form-field>
<mat-form-field style="width:28%">
<input matInput autocomplete="off" placeholder="Net Loss to Sales in %" formControlName="financial_margin_of_loss" (keypress)="keyPress($event)" reaonly>
<input matInput autocomplete="off" placeholder="Net Loss to Sales in %"
formControlName="financial_margin_of_loss" (keypress)="keyPress($event)"
reaonly>
</mat-form-field>
</span>
</div>
<span *ngIf="i != 0">
<mat-form-field style="width:45%">
<input matInput autocomplete="off" [ngClass]="{'highlight': (details.controls['financial_variation'].value > 40) || (details.controls['financial_variation'].value < -40)}" placeholder="Profit Variation from Previous Year in %" formControlName="financial_variation" (keypress)="keyPress($event)" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="i != 0 && details.get('financial_variation').value != '' " [ngClass]="{'highlight': (details.controls['financial_variation'].value > 40) || (details.controls['financial_variation'].value < -40)}" >
<input matInput autocomplete="off" [ngClass]="{'highlight': (details.controls['financial_variation'].value > 40) || (details.controls['financial_variation'].value < -40)}"
placeholder="Profit Variation from Previous Year in %"
formControlName="financial_variation" (keypress)="keyPress($event)"
readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="i != 0 && details.get('financial_variation').value != '' "
[ngClass]="{'highlight': (details.controls['financial_variation'].value > 40) || (details.controls['financial_variation'].value < -40)}">
<span *ngIf="details.get('financial_variation').value == 0">
No difference in Profit in FY <i> {{details.get('financial_year').value}} </i> over Profit in FY <i> {{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}} </i>
No difference in Profit in FY <i>
{{details.get('financial_year').value}} </i> over
Profit in FY <i>
{{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}}
</i>
</span>
<span *ngIf="details.get('financial_variation').value > 0" class="greenhighlight">
Increase in Profit in FY <i> {{details.get('financial_year').value}} </i> over Profit in FY <i> {{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}} </i> <b> {{details.get('financial_variation').value}} % </b>
<span *ngIf="details.get('financial_variation').value > 0"
class="greenhighlight">
Increase in Profit in FY <i>
{{details.get('financial_year').value}} </i> over
Profit in FY <i>
{{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}}
</i> <b> {{details.get('financial_variation').value}} % </b>
</span>
<span *ngIf="details.get('financial_variation').value < 0" class="highlight">
Decrease in Profit in FY <i> {{details.get('financial_year').value}} </i> over Profit in FY <i> {{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}} </i> <b> {{(details.get('financial_variation').value).replace('-', '')}} % </b>
<span *ngIf="details.get('financial_variation').value < 0"
class="highlight">
Decrease in Profit in FY <i>
{{details.get('financial_year').value}} </i> over
Profit in FY <i>
{{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}}
</i> <b>
{{(details.get('financial_variation').value).replace('-',
'')}} % </b>
</span>
</mat-hint>
<!-- “Increase in Sales in FY 2017-2018 over sales in FY 2016-2017 is 11.11%” -->
<!-- <mat-hint align="start" style="font-size:70%" *ngIf="i != 0" [ngClass]="{'highlight': (details.controls['financial_variation'].value > 40) || (details.controls['financial_variation'].value < -40)}" >{{SalesStatement[i]}}</mat-hint> -->
</mat-form-field>
<mat-form-field style="width:45%">
<input matInput autocomplete="off" [ngClass]="{'highlight': (details.controls['financial_profit_to_sale_variation'].value > 40) || (details.controls['financial_profit_to_sale_variation'].value < -40)}" placeholder="Variation of Profit % over sales" formControlName="financial_profit_to_sale_variation" (keypress)="keyPress($event)" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="i != 0 && details.get('financial_profit_to_sale_variation').value != '' " [ngClass]="{'highlight': (details.controls['financial_profit_to_sale_variation'].value > 40) || (details.controls['financial_profit_to_sale_variation'].value < -40)}">
<input matInput autocomplete="off" [ngClass]="{'highlight': (details.controls['financial_profit_to_sale_variation'].value > 40) || (details.controls['financial_profit_to_sale_variation'].value < -40)}"
placeholder="Variation of Profit % over sales" formControlName="financial_profit_to_sale_variation"
(keypress)="keyPress($event)" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="i != 0 && details.get('financial_profit_to_sale_variation').value != '' "
[ngClass]="{'highlight': (details.controls['financial_profit_to_sale_variation'].value > 40) || (details.controls['financial_profit_to_sale_variation'].value < -40)}">
<span *ngIf="details.get('financial_profit_to_sale_variation').value == 0">
No difference in Profit sales % in FY <i> {{details.get('financial_year').value}} </i> over Profit sales % in FY <i> {{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}} </i>
No difference in Profit sales % in FY <i>
{{details.get('financial_year').value}} </i> over
Profit sales % in FY <i>
{{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}}
</i>
</span>
<span *ngIf="details.get('financial_profit_to_sale_variation').value > 0" class="greenhighlight">
Increase in Profit sales % in FY <i> {{details.get('financial_year').value}} </i> over Profit sales % in FY <i> {{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}} </i> <b> {{details.get('financial_profit_to_sale_variation').value}} % </b>
<span *ngIf="details.get('financial_profit_to_sale_variation').value > 0"
class="greenhighlight">
Increase in Profit sales % in FY <i>
{{details.get('financial_year').value}} </i> over
Profit sales % in FY <i>
{{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}}
</i> <b>
{{details.get('financial_profit_to_sale_variation').value}}
% </b>
</span>
<span *ngIf="details.get('financial_profit_to_sale_variation').value < 0" class="highlight">
Decrease in Profit sales % in FY <i> {{details.get('financial_year').value}} </i> over Profit sales % in FY <i> {{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}} </i> <b> {{(details.get('financial_profit_to_sale_variation').value).replace('-', '')}} % </b>
<span *ngIf="details.get('financial_profit_to_sale_variation').value < 0"
class="highlight">
Decrease in Profit sales % in FY <i>
{{details.get('financial_year').value}} </i> over
Profit sales % in FY <i>
{{financialForm.controls.date_per_financial['controls'][i-1].get('financial_year').value}}
</i> <b>
{{(details.get('financial_profit_to_sale_variation').value).replace('-',
'')}} % </b>
</span>
</mat-hint>
</mat-form-field>
</span>
</mat-card-content>
</div>
</div>
<span *ngIf="isDisplay">
<mat-form-field *ngIf="financial_no_of_year != '' && customerCommentsFlag" style="width:90%">
<input matInput autocomplete="off" placeholder="Comments on Financials" formControlName="financial_reason" >
<input matInput autocomplete="off" placeholder="Comments on Financials"
formControlName="financial_reason">
</mat-form-field>
</span>
</mat-card>
</div>
</div>
<div fxLayout="row wrap" *ngIf="CustSegAbbr != 'AI'">
<div fxFlex="100">
<!-- -->
<mat-card>
<mat-card-header>
<mat-card-title><p> Financial as per Customer</p></mat-card-title>
<mat-card-title>
<p> Financial as per Customer</p>
</mat-card-title>
</mat-card-header>
<!-- *ngIf="isDisplay" -->
<mat-form-field style="width:35%">
<mat-select placeholder="Same as Financial Statements ?" formControlName="is_financial_customer" (selectionChange)="selectedFinancialCustomer($event.value)">
<mat-select placeholder="Same as Financial Statements ?" formControlName="is_financial_customer"
(selectionChange)="selectedFinancialCustomer($event.value)">
<mat-option value="yes">Yes</mat-option>
<mat-option value="no">No</mat-option>
</mat-select>
</mat-form-field>
<div formArrayName="estimated_value">
<div *ngFor="let details of financialForm.controls.estimated_value['controls']; let i=index"
[formGroupName]="i">
<mat-card-content class="matcard">
<!-- <mat-label class="highlight"> <i>Financial Year : {{details.get('estimate_year').value}} </i> </mat-label>
<hr> -->
<!-- <div fxLayout="row"> -->
<div style="width:100%">
<!-- <br> -->
<!-- <span style="width:10%;padding-left:2%"><p>Sales</p></span> -->
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Annual Sales From" formControlName="estimate_sales_from" (change)="calculateSalesAverage(i, details);" (keyup)="inWords($event,i,11)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_sales_from').value != ''">{{"&#8377;"}} {{AV_SalesFrmInwords[i]}} Only</mat-hint>
<input matInput autocomplete="off" placeholder="Annual Sales From"
formControlName="estimate_sales_from" (change)="calculateSalesAverage(i, details);"
(keyup)="inWords($event,i,11)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_sales_from').value != ''">{{"&#8377;"}}
{{AV_SalesFrmInwords[i]}} Only</mat-hint>
</mat-form-field>
<!-- <span style="width:10%;padding-left:2%"><p>to</p></span> -->
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Annual Sales To" formControlName="estimate_sales_to" (change)="confirmAlert(i, details);" (keyup)="inWords($event,i,12)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_sales_to').value != ''">{{"&#8377;"}} {{AV_SalesToInwords[i]}} Only</mat-hint>
<input matInput autocomplete="off" placeholder="Annual Sales To"
formControlName="estimate_sales_to" (change)="confirmAlert(i, details);"
(keyup)="inWords($event,i,12)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_sales_to').value != ''">{{"&#8377;"}}
{{AV_SalesToInwords[i]}} Only</mat-hint>
</mat-form-field>
<!-- <span style="width:10%;padding-left:2%"><p>Average</p></span> -->
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Considered Sales Average" formControlName="estimate_sales_average" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_sales_average').value != ''">{{"&#8377;"}} {{AV_SalesInwords[i]}} Only</mat-hint>
<!-- //{{"&#8377;"}} {{AV_SalesInwords[i]}} Only -->
<input matInput autocomplete="off" placeholder="Considered Sales Average"
formControlName="estimate_sales_average" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_sales_average').value != ''">{{"&#8377;"}}
{{AV_SalesInwords[i]}} Only</mat-hint>
</mat-form-field>
</div>
<!-- </div> -->
<div style="width:100%">
<mat-form-field style="width:39%">
<!-- <input matInput autocomplete="off" placeholder="Net Profit / Loss" formControlName="financial_net_profit" (change)="calMargin( i, details); calYearVariation( i, details)" type="number" > -->
<mat-select placeholder="Was there Net Profit or Net Loss?" formControlName="estimate_profit_or_loss" >
<!-- (selectionChange)="selectedProfitOrLossType($event.value,2)"> -->
<mat-option value="1" >Net Profit</mat-option>
<mat-option value="2" >Net Loss</mat-option>
<mat-select placeholder="Was there Net Profit or Net Loss?"
formControlName="estimate_profit_or_loss">
<mat-option value="1">Net Profit</mat-option>
<mat-option value="2">Net Loss</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width:40%" *ngIf="details.get('estimate_profit_or_loss').value != '' ">
<mat-select placeholder="Is there Net Margin information Available?" formControlName="estimate_net_margin_availablity" >
<mat-option value="yes" >Yes</mat-option>
<mat-option value="no" >No</mat-option>
<mat-select placeholder="Is there Net Margin information Available?"
formControlName="estimate_net_margin_availablity">
<mat-option value="yes">Yes</mat-option>
<mat-option value="no">No</mat-option>
</mat-select>
</mat-form-field>
<!-- <span *ngIf="details.get('estimate_profit_or_loss').value == 1 "> -->
<!-- <mat-form-field style="width:28%">
<input matInput autocomplete="off" placeholder="Net Profit Amount" formControlName="estimate_net_profit" (change)="calMarginVal( i, details); calVariation( i, details)" (keyup)="inWords($event,i,5)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_profit').value != ''">{{"&#8377;"}} {{AV_netProfitAmtInwords[i]}} Only</mat-hint>
</mat-form-field>
<mat-form-field style="width:28%">
<input matInput autocomplete="off" placeholder="Net Profit to Sales in %" formControlName="estimate_margin_of_profit" (change)="calProfitAndLossVal(i,details); calVariation( i, details)" (keypress)="keyPress($event)" >
</mat-form-field> -->
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 1 && details.get('estimate_net_margin_availablity').value == 'yes' ">
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Profit % From" formControlName="estimate_profit_range_from" type="number" min='0' max='100' (change)="calculateMarginProfit( i, details);">
<input matInput autocomplete="off" placeholder="Net Profit % From"
formControlName="estimate_profit_range_from" type="number"
min='0' max='100' (change)="calculateMarginProfit( i, details);">
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Profit % To" formControlName="estimate_profit_range_to" type="number" min='0' max='100' (change)="calculateMarginProfit( i, details);">
<input matInput autocomplete="off" placeholder="Net Profit % To"
formControlName="estimate_profit_range_to" type="number"
min='0' max='100' (change)="calculateMarginProfit( i, details);">
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Profit % Considered" formControlName="estimate_profit_margin_percent" type="number" readonly>
<input matInput autocomplete="off" placeholder="Net Profit % Considered"
formControlName="estimate_profit_margin_percent" type="number"
readonly>
<!-- <mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_profit_margin').value != ''"> {{"&#8377;"}} {{AV_marginProfitAmtInwords[i]}} Only ( {{"&#8377;"}} {{details.get('estimate_profit_margin').value}} ) </mat-hint> -->
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput placeholder="Net Profit Amount Considered" formControlName="estimate_profit_margin" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_profit_margin').value != ''"> {{"&#8377;"}} {{AV_marginProfitAmtInwords[i]}} Only </mat-hint>
<input matInput placeholder="Net Profit Amount Considered"
formControlName="estimate_profit_margin" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_profit_margin').value != ''">
{{"&#8377;"}} {{AV_marginProfitAmtInwords[i]}} Only
</mat-hint>
</mat-form-field>
</div>
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 1 && details.get('estimate_net_margin_availablity').value == 'no' ">
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Profit Amount From" formControlName="estimate_net_profit_from" type="number" (change)="calculateProfitAmount(i, details);" (keyup)="inWords($event,i,7)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_profit_from').value != ''">{{"&#8377;"}} {{AV_netProfitAmtFrmInwords[i]}} Only </mat-hint>
<input matInput autocomplete="off" placeholder="Net Profit Amount From"
formControlName="estimate_net_profit_from" type="number"
(change)="calculateProfitAmount(i, details);" (keyup)="inWords($event,i,7)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_profit_from').value != ''">{{"&#8377;"}}
{{AV_netProfitAmtFrmInwords[i]}} Only </mat-hint>
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Profit Amount To" formControlName="estimate_net_profit_to" type="number" (change)="calculateProfitAmount(i, details);" (keyup)="inWords($event,i,8)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_profit_to').value != ''">{{"&#8377;"}} {{AV_netProfitAmtToInwords[i]}} Only </mat-hint>
<input matInput autocomplete="off" placeholder="Net Profit Amount To"
formControlName="estimate_net_profit_to" type="number"
(change)="calculateProfitAmount(i, details);" (keyup)="inWords($event,i,8)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_profit_to').value != ''">{{"&#8377;"}}
{{AV_netProfitAmtToInwords[i]}} Only </mat-hint>
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Considered Net Profit % " formControlName="estimate_net_profit_percent" readonly>
<input matInput autocomplete="off" placeholder="Considered Net Profit % "
formControlName="estimate_net_profit_percent" readonly>
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Considered Profit Amount" formControlName="estimate_net_profit" type="number" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_profit').value != ''">{{"&#8377;"}} {{AV_netProfitAmtInwords[i]}} Only </mat-hint>
<!-- // -->
<input matInput autocomplete="off" placeholder="Considered Profit Amount"
formControlName="estimate_net_profit" type="number"
readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_profit').value != ''">{{"&#8377;"}}
{{AV_netProfitAmtInwords[i]}} Only </mat-hint>
</mat-form-field>
</div>
<!-- </span> -->
<div *ngIf="details.get('estimate_net_profit').value != ''">
<mat-card-subtitle> Working Capital Details </mat-card-subtitle>
<mat-form-field style="width:50%">
<input matInput autocomplete="off" placeholder="In case of Credit Sales, what is the average no of days taken to receive the money?" formControlName="estimate_receive_the_money_in_days" type="number">
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 2 && details.get('estimate_net_margin_availablity').value == 'yes' ">
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Loss % From"
formControlName="estimate_loss_range_from" min='0' max='100'
type="number" (change)="calculateMarginLoss( i, details);">
</mat-form-field>
<mat-form-field style="width:50%">
<input matInput autocomplete="off" placeholder="In case of Credit Purchase, what is the average no of days taken to pay the money?" formControlName="estimate_pay_the_money_in_days" type="number">
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Loss % To"
formControlName="estimate_loss_range_to" min='0' max='100'
type="number" (change)="calculateMarginLoss( i, details);">
</mat-form-field>
<mat-form-field style="width:50%">
<input matInput autocomplete="off" placeholder="What is the average no of days for which stock lies unsold during the year?" formControlName="estimate_unsold_stock_lies_in_days" type="number">
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Loss % Considered"
formControlName="estimate_loss_margin_percent" type="number"
readonly>
</mat-form-field>
<mat-form-field style="width:50%">
<mat-form-field style="width:25%">
<input matInput placeholder="Net Loss Amount Considered"
formControlName="estimate_loss_margin" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_loss_margin').value != ''">{{"&#8377;"}}
{{AV_marginLossAmtInwords[i]}} Only </mat-hint>
</mat-form-field>
</div>
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 2 && details.get('estimate_net_margin_availablity').value == 'no' ">
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Loss Amount From"
formControlName="estimate_net_loss_from" type="number"
(change)="calculateLossAmount(i, details);" (keyup)="inWords($event,i,9)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_loss_from').value != ''">{{"&#8377;"}}
{{AV_netLossAmtFrmInwords[i]}} Only </mat-hint>
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Loss Amount To"
formControlName="estimate_net_loss_to" type="number"
(change)="calculateLossAmount(i, details);" (keyup)="inWords($event,i,10)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_loss_to').value != ''">{{"&#8377;"}}
{{AV_netLossAmtToInwords[i]}} Only </mat-hint>
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Considered Net Loss %"
formControlName="estimate_net_loss_percent" readonly>
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Considered Loss Amount"
formControlName="estimate_net_loss" type="number" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_loss').value != ''">{{"&#8377;"}}
{{AV_netLossAmtInwords[i]}} Only</mat-hint>
</mat-form-field>
</div>
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 2">
<mat-form-field style="width:83%">
<input matInput autocomplete="off" placeholder="What is the reason for the Loss?"
formControlName="estimate_reason_for_loss">
</mat-form-field>
</div>
</div>
</mat-card-content>
</div>
</div>
</mat-card>
</div>
</div>
<div fxLayout="row wrap">
<div fxFlex="100">
<mat-card>
<mat-card-header>
<mat-card-title>
<p>Working Capital Details</p>
</mat-card-title>
</mat-card-header>
<mat-card-content>
<!-- <mat-card-subtitle> Working Capital Details </mat-card-subtitle> -->
<mat-form-field style="width:92%">
<input matInput autocomplete="off" placeholder="In case of Credit Sales, what is the average no of days taken to receive the money?"
formControlName="receive_the_money_in_days" type="number">
</mat-form-field>
<mat-form-field style="width:92%">
<input matInput autocomplete="off" placeholder="In case of Credit Purchase, what is the average no of days taken to pay the money?"
formControlName="pay_the_money_in_days" type="number">
</mat-form-field>
<mat-form-field style="width:92%">
<input matInput autocomplete="off" placeholder="What is the average no of days for which stock lies unsold during the year?"
formControlName="unsold_stock_lies_in_days" type="number">
</mat-form-field>
<mat-form-field style="width:92%">
<mat-select placeholder="Is there Working Capital Facilities?" formControlName="is_there_working_capital_available">
<mat-option value="yes">Yes</mat-option>
<mat-option value="no">No</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width:45%;" *ngIf="details.get('is_there_working_capital_available').value == 'yes'">
<mat-select multiple formControlName="estimate_working_capital_facilities_availed" placeholder="Working Capital Facilities availed">
<mat-form-field style="width:45%;" *ngIf="financialForm.controls.is_there_working_capital_available.value == 'yes'">
<mat-select multiple formControlName="working_capital_facilities_availed"
placeholder="Working Capital Facilities availed">
<!-- <mat-option>Select</mat-option> -->
<mat-option *ngFor="let a of av" [value]="a.id">{{a.name}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width:45%;" *ngIf="details.get('estimate_working_capital_facilities_availed').value != ''">
<input matInput autocomplete="off" placeholder="Specify The Reason" formControlName="reason_for_working_capital_facilities_availed">
<mat-form-field style="width:42%;" *ngIf="financialForm.controls.is_there_working_capital_available.value == 'yes' && financialForm.controls.working_capital_facilities_availed.value != ''">
<input matInput autocomplete="off" placeholder="Specify The Reason"
formControlName="reason_for_working_capital_facilities_availed">
</mat-form-field>
</div>
<!-- <table>
<tr *ngFor="let value of values">
<ng-container>
<td>
<input #chkEnable ngModel type="checkbox" />
</td>
<td [disabled]="!chkEnable.checked">
<mat-form-field>
<input matInput autocomplete="off" type="text" placeholder="Enter text here">
</mat-form-field>
<input />
</td>
</ng-container>
</tr>
</table> -->
<!-- <span *ngIf="details.get('estimate_profit_or_loss').value == 2 "> -->
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 2 && details.get('estimate_net_margin_availablity').value == 'yes' ">
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Loss % From" formControlName="estimate_loss_range_from" min='0' max='100' type="number" (change)="calculateMarginLoss( i, details);">
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Loss % To" formControlName="estimate_loss_range_to" min='0' max='100' type="number" (change)="calculateMarginLoss( i, details);">
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Loss % Considered" formControlName="estimate_loss_margin_percent" type="number" readonly>
<!-- <mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_loss_margin').value != ''">{{"&#8377;"}} {{AV_marginLossAmtInwords[i]}} Only ( {{"&#8377;"}} {{details.get('estimate_loss_margin').value}} ) </mat-hint> -->
<!-- // -->
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput placeholder="Net Loss Amount Considered" formControlName="estimate_loss_margin" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_loss_margin').value != ''">{{"&#8377;"}} {{AV_marginLossAmtInwords[i]}} Only </mat-hint>
</mat-form-field>
</div>
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 2 && details.get('estimate_net_margin_availablity').value == 'no' ">
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Loss Amount From" formControlName="estimate_net_loss_from" type="number" (change)="calculateLossAmount(i, details);" (keyup)="inWords($event,i,9)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_loss_from').value != ''">{{"&#8377;"}} {{AV_netLossAmtFrmInwords[i]}} Only </mat-hint>
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Net Loss Amount To" formControlName="estimate_net_loss_to" type="number" (change)="calculateLossAmount(i, details);" (keyup)="inWords($event,i,10)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_loss_to').value != ''">{{"&#8377;"}} {{AV_netLossAmtToInwords[i]}} Only </mat-hint>
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Considered Net Loss %" formControlName="estimate_net_loss_percent" readonly>
</mat-form-field>
<mat-form-field style="width:25%">
<input matInput autocomplete="off" placeholder="Considered Loss Amount" formControlName="estimate_net_loss" type="number" readonly>
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_loss').value != ''">{{"&#8377;"}} {{AV_netLossAmtInwords[i]}} Only</mat-hint>
<!-- // -->
</mat-form-field>
</div>
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 2">
<mat-form-field style="width:83%">
<input matInput autocomplete="off" placeholder="What is the reason for the Loss?" formControlName="estimate_reason_for_loss">
</mat-form-field>
</div>
<!-- <mat-form-field style="width:28%">
<input matInput autocomplete="off" placeholder="Net Loss" formControlName="estimate_net_loss" (change)="calMarginVal( i, details); calVariation( i, details)" (keyup)="inWords($event,i,6)">
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_loss').value != ''">{{"&#8377;"}} {{AV_netLossAmtInwords[i]}} Only</mat-hint>
</mat-form-field>
<mat-form-field style="width:28%">
<input matInput autocomplete="off" placeholder="Net Loss to Sales" formControlName="estimate_margin_of_loss" (keypress)="keyPress($event)" (change)="calProfitAndLossVal(i,details); calVariation( i, details)" >
</mat-form-field> -->
<!-- </span> -->
</div>
<!-- <mat-form-field *ngIf="i != 0" style="width:65%">
<input matInput autocomplete="off" [ngClass]="{'highlight': details.controls['estimate_variation'].value >= 40 || details.controls['estimate_variation'].value >= -40}" placeholder="Variation from Previous Year in %" formControlName="estimate_variation" (keypress)="keyPress($event)">
<mat-hint align="start" style="font-size:70%" [ngClass]="{'highlight': (details.controls['estimate_variation'].value >= 40) || (details.controls['estimate_variation'].value < -40)}" >
<span *ngIf="details.get('estimate_variation').value == 0">
No difference in Profit in FY <i> {{details.get('estimate_year').value}} </i> over Profit in FY <i> {{financialForm.controls.estimated_value['controls'][i-1].get('estimate_year').value}} </i>
</span>
<span *ngIf="details.get('estimate_variation').value > 0" class="greenhighlight">
Increase in Profit in FY <i> {{details.get('estimate_year').value}} </i> over Profit in FY<i> {{financialForm.controls.estimated_value['controls'][i-1].get('estimate_year').value}} </i> <b> {{details.get('estimate_variation').value}} % </b>
</span>
<span *ngIf="details.get('estimate_variation').value < 0" class="highlight">
Decrease in Profit in FY <i> {{details.get('estimate_year').value}} </i>over Profit in FY <i> {{financialForm.controls.estimated_value['controls'][i-1].get('estimate_year').value}} </i> <b> {{(details.get('estimate_variation').value).replace('-', '')}} % </b>
</span>
<!-- {{details.controls[''].value}} {{details.controls[''].value}} -->
<!-- 'details.controls['estimate_variation'].value <= 0' ? 'Decreases ' : 'Increases ' + 'in Sales in FY ' + curr_year + ' Over Sales in FY '+ prev_year + ' is ' + {{details.controls['estimate_variation'].value}} + '%'; -->
<!--</mat-hint>
</mat-form-field> -->
<!--<mat-form-field>
<input matInput autocomplete="off" placeholder="Reason For Major Difference" formControlName="estimate_reason" >
</mat-form-field>-->
<!-- <button type="button" mat-raised-button mat-icon-button (click)="addGoods()"
matTooltip="Add More Estimated Value" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary" *ngIf="i==0">
<mat-icon>add</mat-icon>
</button> -->
<!-- <button type="button" mat-raised-button mat-icon-button (click)="deleteGoods(i)"
matTooltip="Delete" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" *ngIf="i>0">
<mat-icon>delete</mat-icon>
</button> -->
</mat-card-content>
</div>
</div>
</mat-card>
<!-- end co apllicant -->
</div>
</div>
</ng-template>
@ -454,43 +485,91 @@
<div fxFlex="row">
<div fxFlex="100" class="m-gap p-gap">
<div fxLayout="row" fxLayoutWrap="wrap">
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
</div>
<div fxLayout="row" fxLayoutWrap="wrap">
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="25" fxFlex.lg="25" fxFlex.xl="25">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com"><mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon> <span class="d-block">version_111</span></a>
<div class="text-center mb-2 hover-icon" fxFlex.xs="50" fxFlex.sm="50"
fxFlex.md="20" fxFlex.lg="20" fxFlex.xl="20">
<a href="http://www.google.com">
<mat-icon style="color: #e00201;font-size: 60px !important;width:inherit !important;">picture_as_pdf</mat-icon>
<span class="d-block">version_111</span>
</a>
</div>
</div>
</div>
@ -499,119 +578,21 @@
</div>
</ng-template>
</mat-tab>
</mat-tab-group>
</mat-dialog-content>
<mat-dialog-actions>
<div fxFlex="60" class="pb-0 text-sm-left" align="left">
<mat-form-field appearance="outline" style="width: 100%">
<mat-label>Remarks</mat-label>
<textarea matInput autocomplete="off" placeholder="Remarks" formControlName="financial_remarks" ></textarea>
<textarea matInput autocomplete="off" placeholder="Remarks" formControlName="financial_remarks"></textarea>
</mat-form-field>
</div>
<div fxFlex="40" align="end">
<button type="submit" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Submit" matTooltipPosition="above" (click)="submitDetails()"><mat-icon>save</mat-icon>
<button type="submit" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Submit"
matTooltipPosition="above" (click)="submitDetails()">
<mat-icon>save</mat-icon>
</button>
</div>
</mat-dialog-actions>
</form>
<notifier-container></notifier-container>
<!-- <mat-card style="padding: 12px;">
<p>Financial Information</p>
<form [formGroup]="financialForm" class="address">
<mat-card>
<mat-card-header>
<p>Data as Per Financial Statements<p>
</mat-card-header>
<div formArrayName="date_per_financial">
<div *ngFor="let details of financialForm.controls.date_per_financial['controls']; let i=index"
[formGroupName]="i">
<mat-card-content class="matcard">
<mat-form-field>
<input matInput autocomplete="off" placeholder="Year (format: 2015-16)" formControlName="financial_year" >
</mat-form-field>
<mat-form-field>
<input matInput autocomplete="off" placeholder="Annual Sale" formControlName="financial_annual_sale" (change)="calMargin(i, details)" type="number" >
</mat-form-field>
<mat-form-field>
<input matInput autocomplete="off" placeholder="Net Profit / Loss" formControlName="financial_net_profit" (change)="calMargin( i, details); calYearVariation( i, details)" type="number" >
</mat-form-field>
<mat-form-field>
<input matInput autocomplete="off" placeholder="Net Profit to Sales" formControlName="financial_margin" (keypress)="keyPress($event)" >
</mat-form-field>
<mat-form-field *ngIf="i != 0">
<input matInput autocomplete="off" [ngClass]="{'highlight': (details.controls['financial_variation'].value > 40) || (details.controls['financial_variation'].value < -40)}" placeholder="Variation from Previous Year in %" formControlName="financial_variation" (keypress)="keyPress($event)">
</mat-form-field>
<mat-form-field>
<input matInput autocomplete="off" placeholder="Reason For Major Difference" formControlName="financial_reason" >
</mat-form-field>
<button type="button" mat-raised-button mat-icon-button (click)="addDate()"
matTooltip="Add More Financial Statements" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary" *ngIf="i==0">
<mat-icon>add</mat-icon>
</button>
<button type="button" mat-raised-button mat-icon-button (click)="deleteDate(i)"
matTooltip="Delete" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" *ngIf="i>0">
<mat-icon>delete</mat-icon>
</button>
</mat-card-content>
</div>
</div>
</mat-card>
<mat-card>
<mat-card-header>
<p>Actual Values as per Customer<p>
</mat-card-header>
<div formArrayName="estimated_value">
<div *ngFor="let details of financialForm.controls.estimated_value['controls']; let i=index"
[formGroupName]="i">
<mat-card-content class="matcard">
<mat-form-field>
<input matInput autocomplete="off" placeholder="Year (format: 2015-16)" formControlName="estimate_year" >
</mat-form-field>
<mat-form-field>
<input matInput autocomplete="off" placeholder="Annual Sale" formControlName="estimate_annual_sale" (change)="calMarginVal( i, details)" type="number" >
</mat-form-field>
<mat-form-field>
<input matInput autocomplete="off" placeholder="Net Profit / Loss" formControlName="estimate_net_profit" (change)="calMarginVal( i, details); calVariation( i, details)" type="number" >
</mat-form-field>
<mat-form-field>
<input matInput autocomplete="off" disabled placeholder="Margin" formControlName="estimate_margin" (keypress)="keyPress($event)" >
</mat-form-field>
<mat-form-field *ngIf="i != 0">
<input matInput autocomplete="off" [ngClass]="{'highlight': details.controls['estimate_variation'].value >= 40 || details.controls['estimate_variation'].value >= -40}" placeholder="Variation from Previous Year in %" formControlName="estimate_variation" (keypress)="keyPress($event)">
</mat-form-field>
<!--<mat-form-field>
<input matInput autocomplete="off" placeholder="Reason For Major Difference" formControlName="estimate_reason" >
</mat-form-field>-->
<!-- <button type="button" mat-raised-button mat-icon-button (click)="addGoods()"
matTooltip="Add More Estimated Value" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary" *ngIf="i==0">
<mat-icon>add</mat-icon>
</button>
<button type="button" mat-raised-button mat-icon-button (click)="deleteGoods(i)"
matTooltip="Delete" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" *ngIf="i>0">
<mat-icon>delete</mat-icon>
</button>
</mat-card-content>
</div>
</div>
</mat-card>
<div fxLayout="row">
<div fxFlex="60" class="pb-0 text-sm-left">
<mat-form-field appearance="outline" style="width: 100%">
<mat-label>Remarks</mat-label>
<textarea matInput autocomplete="off" placeholder="Remarks" formControlName="financial_remarks" ></textarea>
</mat-form-field>
</div>
</div>
<div style="text-align: right;">
<button type="submit" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Submit" matTooltipPosition="above" (click)="submitDetails()"><mat-icon>save</mat-icon>
</button>
</div>
</form>
</mat-card> -->
</form>
<notifier-container></notifier-container>

View File

@ -211,6 +211,18 @@ export class FinancialInfoComponent implements OnInit {
financial_no_of_year : [''],
financial_reason: [''],
financial_customer:[''],
// estimate_receive_the_money_in_days:[value.estimate_receive_the_money_in_days],
// estimate_pay_the_money_in_days:[value.estimate_pay_the_money_in_days],
// estimate_unsold_stock_lies_in_days:[value.estimate_unsold_stock_lies_in_days],
// is_there_working_capital_available:[value.is_there_working_capital_available],
// estimate_working_capital_facilities_availed:[value.estimate_working_capital_facilities_availed],
// reason_for_working_capital_facilities_availed:[value.reason_for_working_capital_facilities_availed]
receive_the_money_in_days:[''],
pay_the_money_in_days:[''],
unsold_stock_lies_in_days:[''],
is_there_working_capital_available:[''],
working_capital_facilities_availed:[''],
reason_for_working_capital_facilities_availed:[''],
// same_as_financial_statements:[''],
date_per_financial: this.fb.array([]),
estimated_value: this.fb.array([])
@ -310,12 +322,6 @@ export class FinancialInfoComponent implements OnInit {
estimate_net_loss_percent:[value.estimate_net_loss_percent],
estimate_net_loss:[value.estimate_net_loss],
estimate_reason_for_loss:[value.estimate_reason_for_loss],
estimate_receive_the_money_in_days:[value.estimate_receive_the_money_in_days],
estimate_pay_the_money_in_days:[value.estimate_pay_the_money_in_days],
estimate_unsold_stock_lies_in_days:[value.estimate_unsold_stock_lies_in_days],
is_there_working_capital_available:[value.is_there_working_capital_available],
estimate_working_capital_facilities_availed:[value.estimate_working_capital_facilities_availed],
reason_for_working_capital_facilities_availed:[value.reason_for_working_capital_facilities_availed]
});
}
@ -388,7 +394,6 @@ export class FinancialInfoComponent implements OnInit {
this.isDisplay = false;
this.financialForm.controls['is_financial_customer'].setValue('no');
this.selectedFinancialCustomer('no');
const statementControl = <FormArray>this.financialForm.controls['date_per_financial'];

View File

@ -249,7 +249,7 @@ export class NeighbourHoodComponent implements OnInit {
// neighbourhoodControl.controls['do_know'].setValidators([Validators.required]);
// neighbourhoodControl.controls['do_know'].updateValueAndValidity();
return;
// return;
}

View File

@ -172,11 +172,11 @@
<i class="fa-1x fa fa-user-o" style="width: 37px;padding: 8px 9px 8px 9px;border-bottom: 2px solid red;"></i>
&nbsp;{{applicant.applicant_name}}
</span> &nbsp;&nbsp;&nbsp;
<span *ngIf="applicant.mobile_no != '' && applicant.mobile_no != null" class="mb-2 text-center hover-icon">
<span *ngIf="applicant.mobile_no != '' && (applicant.mobile_no != null || applicant.mobile_no != undefined) " 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;{{applicant.mobile_no}}
</span> &nbsp;&nbsp;&nbsp;
<span *ngIf="applicant.landline != '' && applicant.landline != 'null-null' && applicant.landline != null " class="mb-2 text-center hover-icon">
<span *ngIf="applicant.landline != '' && (applicant.landline != 'null-null'|| applicant.landline != undefined-undefined) && (applicant.landline != null || applicant.landline != undefined) " 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;{{applicant.landline}}
</span>

View File

@ -96,7 +96,9 @@ export class PdTrigerService {
)
}
// get state and city details
/* get state and city details
This Api OnlyFor Bussiness info Details This Will Have 'Throughout state' option
*/
getStateCityDetails(): Observable<any> {
return this._http.post<any>(this.apiUrl + 'getListOfStatesCities','')
.pipe(