Rentalform : ps

This commit is contained in:
venbatechnologies@gmail.com 2019-04-08 17:32:22 +05:30
parent b675b574d7
commit 9a01a79241
2 changed files with 124 additions and 15 deletions

View File

@ -31,6 +31,16 @@
{{stVal.name}} {{stVal.name}}
</mat-option> </mat-option>
</mat-select> </mat-select>
<!-- <mat-select placeholder="State" formControlName="state" required>
<mat-option>
<ngx-mat-select-search formControlName="stateSearch" [placeholderLabel]="'Search State'"
[noEntriesFoundLabel]="'No Records Found'" (keyup)="forSearchableDropdown(rentalForms,'state')">
<ion-icon name="md-close" ngxMatSelectSearchClear></ion-icon>
</ngx-mat-select-search>
</mat-option>
<mat-option *ngFor="let stVal of stateList" [value]="stVal.state_id">{{stVal.name}}
</mat-option>
</mat-select> -->
</mat-form-field> </mat-form-field>
<mat-form-field style="width:100%"> <mat-form-field style="width:100%">
@ -40,6 +50,18 @@
{{ctVal.city_name}} {{ctVal.city_name}}
</mat-option> </mat-option>
</mat-select> </mat-select>
<!-- <mat-select placeholder="City" formControlName="city" required>
<mat-option>
<ngx-mat-select-search formControlName="citySearch" [placeholderLabel]="'Search City'"
[noEntriesFoundLabel]="'No Records Found'" (keyup)="forSearchableDropdown(rentalForms,'city')">
<ion-icon name="md-close" ngxMatSelectSearchClear></ion-icon>
</ngx-mat-select-search>
</mat-option>
<mat-option>Select</mat-option>
<mat-option *ngFor="let ctVal of cityList" [value]="ctVal.city_id">
{{ctVal.city_name}}
</mat-option>
</mat-select> -->
</mat-form-field> </mat-form-field>
<mat-form-field style="width:100%"> <mat-form-field style="width:100%">
@ -49,6 +71,17 @@
{{pinVal.pincode}} {{pinVal.pincode}}
</mat-option> </mat-option>
</mat-select> </mat-select>
<!-- <mat-select placeholder="" formControlName="pincode" required>
<mat-option>
<ngx-mat-select-search formControlName="pincodeSearch" [placeholderLabel]="'Search Pincode'"
[noEntriesFoundLabel]="'No Records Found'" (keyup)="forSearchableDropdown(rentalForms,'pin')">
<ion-icon name="md-close" ngxMatSelectSearchClear></ion-icon>
</ngx-mat-select-search>
</mat-option>
<mat-option *ngFor="let pinVal of pincodeList" [value]="pinVal.pincode_id">
{{pinVal.pincode}}
</mat-option>
</mat-select> -->
</mat-form-field> </mat-form-field>
<div align="left" style="margin-left: 0%;"> <div align="left" style="margin-left: 0%;">
@ -281,8 +314,8 @@
<div class="rent-unit" fxFlex.xs="100" fxFlex.sm="45" fxFlex.md="45" fxFlex.lg="45" fxFlex.xl="45" *ngFor="let fUnits of floor.controls.floor_unit_details['controls']; let fu=index;" [formGroupName]="fu"> <div class="rent-unit" fxFlex.xs="100" fxFlex.sm="45" fxFlex.md="45" fxFlex.lg="45" fxFlex.xl="45" *ngFor="let fUnits of floor.controls.floor_unit_details['controls']; let fu=index;" [formGroupName]="fu">
<mat-form-field style="width:100%" appearance="outline"> <mat-form-field style="width:100%" appearance="outline">
<mat-label>Rent Unit {{fu+1}} </mat-label> <mat-label>Rent Unit {{fu+1}} </mat-label>
<input type="number" matInput autocomplete="off" placeholder="" formControlName="rent_per_unit" (keyup)="calculateFloorRentAmt(floor.value,f);inWords($event.target.value,fu,3)" required> <input type="number" matInput autocomplete="off" placeholder="" formControlName="rent_per_unit" (keyup)="calculateFloorRentAmt(floor.value,f);" required>
<mat-hint align="end" style="font-size:12px" *ngIf="fUnits.value.rent_per_unit != ''">{{"&#8377;"}} {{rent_per_unit_2_Inwords[fu]}} Only</mat-hint> <mat-hint align="end" style="font-size:12px" *ngIf="fUnits.value.rent_per_unit != ''">{{"&#8377;"}} {{fUnits.value.rent_per_unit != '' ? inWordsmultiple(fUnits.value.rent_per_unit,f,fu,1) : ''}} Only</mat-hint>
</mat-form-field> </mat-form-field>
</div> </div>
</div> </div>

View File

@ -8,6 +8,9 @@ import {ConstantsProvider} from '../../../providers/constants/constants';
import {DatePipe} from '@angular/common' import {DatePipe} from '@angular/common'
import { Message } from '@angular/compiler/src/i18n/i18n_ast'; import { Message } from '@angular/compiler/src/i18n/i18n_ast';
import { takeUntil } from 'rxjs/operators';
import { Subject } from 'rxjs';
/** /**
* Generated class for the PdQuestionRentalInfoPage page. * Generated class for the PdQuestionRentalInfoPage page.
* *
@ -40,6 +43,9 @@ export class PdQuestionRentalInfoPage {
stateList:any=[]; stateList:any=[];
cityList:any=[]; cityList:any=[];
pincodeList:any=[]; pincodeList:any=[];
stateData:any=[];
cityData:any=[];
pincodeData:any=[];
documentList: any=[{id:2,name:"Property Title Document"},{id:3,name:"Electricity Bill with name of owner mentioned therein"},{id:4,name:"Property tax Receipts"},{id:1,name:"Others (Please Specify)"}]; documentList: any=[{id:2,name:"Property Title Document"},{id:3,name:"Electricity Bill with name of owner mentioned therein"},{id:4,name:"Property tax Receipts"},{id:1,name:"Others (Please Specify)"}];
//floorList: any=[{id:1,name:"Ground Floor"},{id:1,name:"First Floor"},{id:1,name:"Second Floor"},{id:1,name:"Third Floor"}] //floorList: any=[{id:1,name:"Ground Floor"},{id:1,name:"First Floor"},{id:1,name:"Second Floor"},{id:1,name:"Third Floor"}]
//unitMeasurementList: any=[{id:2,name:"Square Feet"},{id:3,name:"Square Yards"},{id:4,name:"Square Meters"},{id:5,name:"Acres"},{id:6,name:"Hectares"},{id:1,name:"Others (Please Specify)"}]; //unitMeasurementList: any=[{id:2,name:"Square Feet"},{id:3,name:"Square Yards"},{id:4,name:"Square Meters"},{id:5,name:"Acres"},{id:6,name:"Hectares"},{id:1,name:"Others (Please Specify)"}];
@ -47,7 +53,8 @@ export class PdQuestionRentalInfoPage {
rent_per_unit_Inwords : any= []; rent_per_unit_Inwords : any= [];
amount_Inwords : any=[]; amount_Inwords : any=[];
rent_per_unit_2_Inwords: any=[]; // rent_per_unit_2_Inwords: any=[];
floor_rent_per_unit_Inwords : any[][];
floor_rent_amount_Inwords: any=[]; floor_rent_amount_Inwords: any=[];
monthly_rent_amount_Inwords: any=[]; monthly_rent_amount_Inwords: any=[];
amount_received_cash_Inwords: any=[]; amount_received_cash_Inwords: any=[];
@ -58,7 +65,8 @@ export class PdQuestionRentalInfoPage {
paid_monthly_rent_per_met_Inwords: any=[]; paid_monthly_rent_per_met_Inwords: any=[];
amount_received_cash_per_met_Inwords: any=[]; amount_received_cash_per_met_Inwords: any=[];
amount_received_bank_per_met_Inwords: any=[]; amount_received_bank_per_met_Inwords: any=[];
protected _onDestroy = new Subject<void>();
constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public constprovider:ConstantsProvider,public alertCtrl:AlertController) { constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public constprovider:ConstantsProvider,public alertCtrl:AlertController) {
this.FormId = this.navParams.get('FormId'); this.FormId = this.navParams.get('FormId');
this.pdDetails = this.navParams.get('pdDetails'); this.pdDetails = this.navParams.get('pdDetails');
@ -75,8 +83,11 @@ export class PdQuestionRentalInfoPage {
formid: this.FormId.form_id, formid: this.FormId.form_id,
address_property:['',Validators.required], address_property:['',Validators.required],
state:['',Validators.required], state:['',Validators.required],
stateSearch:[''],
city:['',Validators.required], city:['',Validators.required],
citySearch:[''],
pincode:['',Validators.required], pincode:['',Validators.required],
pincodeSearch:[''],
validate_visited_address:[true], validate_visited_address:[true],
person_met: ['',Validators.required], person_met: ['',Validators.required],
property_owner: ['',Validators.required], property_owner: ['',Validators.required],
@ -150,8 +161,10 @@ export class PdQuestionRentalInfoPage {
this.rentalForms.controls['state'].valueChanges.subscribe(val => { this.rentalForms.controls['state'].valueChanges.subscribe(val => {
this.qustCat.getStateWiseCities(val).subscribe(data => { this.qustCat.getStateWiseCities(val).subscribe(data => {
if (data.status == 200) { if (data.status == 200) {
this.cityData = data.records.cities;
this.cityList = data.records.cities; this.cityList = data.records.cities;
this.pincodeList = data.records.pincode; this.pincodeData = data.records.pincode;
this.pincodeList = data.records.cities;
} }
}); });
}); });
@ -193,7 +206,7 @@ export class PdQuestionRentalInfoPage {
} }
// set unit type list details // set unit type list details
let resiDentialProperty = [{id:2,name:'Independent Flat',group_id:1},{id:3,name:'Independent Floor',group_id:1}, let resiDentialProperty = [{id:2,name:'Independent Flat',group_id:1},{id:3,name:'Independent Floor',group_id:1},
{id:4,name:'Independent Bungalow',group_id:1},{id:5,name:'Independent Row House',group_id:1},{id:6,name:'Multi Storey Building',group_id:1},{id:1,name:'Other (Please Specify)',group_id:1}]; {id:4,name:'Independent House',group_id:1},{id:5,name:'Independent Row House',group_id:1},{id:6,name:'Multi Storey Building',group_id:1},{id:1,name:'Other (Please Specify)',group_id:1}];
let commercialProperty = [{id:2,name:'Independent Office',group_id:2},{id:3,name:'Independent Shop',group_id:2},{id:4,name:'Warehouse/Godown',group_id:2}, let commercialProperty = [{id:2,name:'Independent Office',group_id:2},{id:3,name:'Independent Shop',group_id:2},{id:4,name:'Warehouse/Godown',group_id:2},
{id:5,name:'Workshop',group_id:2},{id:6,name:'Independent Clinic',group_id:2},{id:7,name:'Multi Storey Building',group_id:2},{id:1,name:'Other (Please Specify)',group_id:2}]; {id:5,name:'Workshop',group_id:2},{id:6,name:'Independent Clinic',group_id:2},{id:7,name:'Multi Storey Building',group_id:2},{id:1,name:'Other (Please Specify)',group_id:2}];
@ -234,7 +247,8 @@ export class PdQuestionRentalInfoPage {
{ {
if(res['dataStatus']==true) if(res['dataStatus']==true)
{ {
this.stateList = res['records'].filter(data => data.isactive == 1); this.stateData = res['records'].filter(data => data.isactive == 1);
this.stateList = this.stateData.slice();
} }
}) })
@ -884,25 +898,42 @@ compareSingleObjects(o1: any, o2: any) {
// } // }
// } // }
saveAlert(answerData){ saveAlert(answerData){
let ApplicantRentAmt : any ; let ApplicantRentAmt : any ;
let TenantRentAmt : any ; let TenantRentAmt : any ;
let FloorsTotalRentAmt : any ;
let TempArray1 : any = []; let TempArray1 : any = [];
let TempArray2 : any = []; let TempArray2 : any = [];
let TempArray3 : any = [];
let TextMessage :any;
if(answerData.property_unit_details.length > 0){ if(answerData.property_unit_details.length > 0){
answerData.property_unit_details.forEach((data,index) => { answerData.property_unit_details.forEach((data,index) => {
TempArray1[index] = data.monthly_rent_amount; TempArray1[index] = data.monthly_rent_amount;
ApplicantRentAmt = TempArray1.reduce((sum, val) => sum + +val, 0); ApplicantRentAmt = TempArray1.reduce((sum, val) => sum + +val, 0);
TempArray2[index] = data.paid_monthly_rent_per_met; TempArray2[index] = data.paid_monthly_rent_per_met;
TenantRentAmt = TempArray2.reduce((sum, val) => sum + +val, 0); TenantRentAmt = TempArray2.reduce((sum, val) => sum + +val, 0);
}) })
TextMessage = 'Monthly Rent as Per Loan Applicant =' + ApplicantRentAmt+'<br>';
}
if(answerData.multistoried_building_details.length > 0){
answerData.multistoried_building_details.forEach((val,index) => {
TempArray3[index] = val.floor_rent_amount;
FloorsTotalRentAmt = TempArray3.reduce((sum, val) => sum + +val, 0);
});
TextMessage = TextMessage +'Rent amount calculated = '+FloorsTotalRentAmt;
}
else{
TextMessage = TextMessage +'Monthly Rent amount as Per Tenant met = '+TenantRentAmt;
} }
let alert=this.alertCtrl.create({ let alert=this.alertCtrl.create({
title:'Confirm The Rent Amount', title:'Confirm The Rent Amount',
message:'Monthly Rent as Per Loan Applicant =' + ApplicantRentAmt+'<br>'+'Monthly Rent as Per Lease or Tenant Met = '+TenantRentAmt , message:TextMessage,
buttons:[ buttons:[
{ {
text:'Cancel', text:'Cancel',
@ -922,9 +953,16 @@ compareSingleObjects(o1: any, o2: any) {
alert.present(); alert.present();
} }
saveRentalDetails(answerData) { saveRentalDetails(answerData) {
console.log('answerData',answerData); console.log('answerData',answerData);
answerData.fk_createdby = this.users;
delete answerData.stateSearch;
delete answerData.citySearch;
delete answerData.pincodeSearch;
answerData.fk_createdby = this.users;
console.log('answerData',answerData); console.log('answerData',answerData);
this.qustCat.saveForm(answerData).subscribe(res=> this.qustCat.saveForm(answerData).subscribe(res=>
{ {
if(res['dataStatus']==true) if(res['dataStatus']==true)
@ -988,7 +1026,12 @@ compareSingleObjects(o1: any, o2: any) {
rentalDetails.formid = this.FormId.form_id; rentalDetails.formid = this.FormId.form_id;
rentalDetails.other_name_person_type ? this.rentalForms.addControl('other_name_person_type', new FormControl('', Validators.required)): this.rentalForms.removeControl('other_name_person_type'); rentalDetails.other_name_person_type ? this.rentalForms.addControl('other_name_person_type', new FormControl('', Validators.required)): this.rentalForms.removeControl('other_name_person_type');
rentalDetails.other_sighted_documents ? this.rentalForms.addControl('other_sighted_documents', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_sighted_documents'); rentalDetails.other_sighted_documents ? this.rentalForms.addControl('other_sighted_documents', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_sighted_documents');
// this.rentalForms.addControl('stateSearch', new FormControl(''));
// this.rentalForms.addControl('citySearch', new FormControl(''));
// this.rentalForms.addControl('pincodeSearch', new FormControl(''));
rentalDetails.stateSearch = '';
rentalDetails.citySearch = '';
rentalDetails.pincodeSearch = '';
//get Multistoried Building Details //get Multistoried Building Details
if(res['records'].multistoried_building_details){ if(res['records'].multistoried_building_details){
let selectedMultistoriedBuilding = Object.keys(res['records'].multistoried_building_details).map(function (key) { let selectedMultistoriedBuilding = Object.keys(res['records'].multistoried_building_details).map(function (key) {
@ -1016,7 +1059,6 @@ compareSingleObjects(o1: any, o2: any) {
} }
else if(floorElement.unit_rent_difference_options=="0"){ else if(floorElement.unit_rent_difference_options=="0"){
if(unitElement.rent_per_unit!=''){ if(unitElement.rent_per_unit!=''){
this.inWords(unitElement.rent_per_unit,unitIndex,3)
//floor_rent_amount_val+=unitElement.rent_per_unit //floor_rent_amount_val+=unitElement.rent_per_unit
} }
this.inWords(floorElement.floor_rent_amount,floorIndex,4) this.inWords(floorElement.floor_rent_amount,floorIndex,4)
@ -1194,7 +1236,7 @@ compareSingleObjects(o1: any, o2: any) {
this.amount_Inwords[i] = this.constprovider.convertNumberToWords(e); this.amount_Inwords[i] = this.constprovider.convertNumberToWords(e);
break; break;
case 3 : case 3 :
this.rent_per_unit_2_Inwords[i] = this.constprovider.convertNumberToWords(e); // this.rent_per_unit_2_Inwords[i] = this.constprovider.convertNumberToWords(e);
break; break;
case 4 : case 4 :
this.floor_rent_amount_Inwords[i] = this.constprovider.convertNumberToWords(e); this.floor_rent_amount_Inwords[i] = this.constprovider.convertNumberToWords(e);
@ -1229,6 +1271,10 @@ compareSingleObjects(o1: any, o2: any) {
} }
} }
inWordsmultiple(e,i,j,flag){
// console.log(e,i,j,flag);
return this.constprovider.convertNumberToWords(e);
}
validateAllFormFields(formGroup: any) { validateAllFormFields(formGroup: any) {
Object.keys(formGroup.controls).forEach(field => { Object.keys(formGroup.controls).forEach(field => {
const control = formGroup.get(field); const control = formGroup.get(field);
@ -1242,6 +1288,8 @@ compareSingleObjects(o1: any, o2: any) {
} }
}); });
} }
// generate payment dynamic fields // generate payment dynamic fields
ValidatedRentAmount(value:any,index:number,type: number){ ValidatedRentAmount(value:any,index:number,type: number){
@ -1312,4 +1360,32 @@ ValidatedRentAmount(value:any,index:number,type: number){
} }
} }
// forSearchableDropdown(val:any,Flag:any){
// // val=val.controls['relationSearch'].value
// console.log("val",val,'Flag',Flag);
// switch(Flag){
// case 'state' :
// console.log("val",val.controls['state'].value,'Flag',Flag,'1');
// val.controls['stateSearch'].valueChanges
// .pipe(takeUntil(this._onDestroy))
// .subscribe(()=>{
// }); break;
// case 'city' :
// console.log("val",val.controls['city'].value,'Flag',Flag,'2');
// val.controls['citySearch'].valueChanges
// .pipe(takeUntil(this._onDestroy))
// .subscribe(()=>{
// this.cityList =this.constprovider.searchData(this.cityData,val.controls['city'].value,Flag)
// }); break;
// case 'pin' :
// console.log("val",val.controls['pincode'].value,'Flag',Flag,'3');
// val.controls['pincodeSearch'].valueChanges
// .pipe(takeUntil(this._onDestroy))
// .subscribe(()=>{
// this.pincodeList =this.constprovider.searchData(this.pincodeData,val.controls['pincode'].value,Flag)
// }); break;
// }
// }
} }