DI Changes

This commit is contained in:
saravanakumarkandasami 2019-03-22 11:47:06 +05:30
parent 0c70842f0d
commit bea0ce373f
51 changed files with 1567 additions and 1157 deletions

File diff suppressed because one or more lines are too long

2053
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -59,6 +59,7 @@
"ionic-angular": "3.9.2",
"ionic-img-viewer": "^2.9.0",
"ionicons": "3.0.0",
"ngx-mat-select-search": "^1.6.0",
"rxjs": "^6.3.1",
"rxjs-compat": "^6.3.1",
"sw-toolbox": "3.6.0",
@ -100,4 +101,4 @@
"android"
]
}
}
}

View File

@ -117,6 +117,7 @@ import { PdGeneralImagesPage } from '../pages/pd-general-images/pd-general-image
import { PdQuestionSalaryInfoPage } from '../pages/pd-question/pd-question-salary-info/pd-question-salary-info';
import { LocationAccuracy } from '@ionic-native/location-accuracy';
import {PdQuestionAssessedSummaryPage} from '../pages/pd-question/pd-question-assessed-summary/pd-question-assessed-summary'
import { NgxMatSelectSearchModule} from 'ngx-mat-select-search'
@NgModule({
declarations: [
@ -203,7 +204,7 @@ import {PdQuestionAssessedSummaryPage} from '../pages/pd-question/pd-question-as
MatTabsModule,
MatToolbarModule,
MatTooltipModule,
MatStepperModule,HttpClientModule,IonicImageViewerModule
MatStepperModule,HttpClientModule,IonicImageViewerModule,NgxMatSelectSearchModule
],
bootstrap: [IonicApp],
entryComponents: [

View File

@ -331,8 +331,8 @@ other_applicant:any;
{
let data:any;
let alert = this.alertCtrl.create({
title: 'Starting PD Officer',
message: 'Are you starting the Discussions',
title: 'Start Discussion',
message: 'Are you starting the Discussion',
buttons: [
{
text: 'No',

View File

@ -42,7 +42,7 @@
</mat-card-content>
<mat-card-footer>
<mat-card-actions text-center>
<button mat-raised-button color="primary" (click)="checkotp(pin.value)">OTP Verify</button>
<button mat-raised-button color="primary" (click)="checkotp(pin.value)">Verify OTP</button>
</mat-card-actions>
<ion-row *ngIf="timerOn">
@ -64,7 +64,7 @@
<mat-card-content>
<ion-row>
<ion-col text-center>
<h4>With out OTP Reason</h4>
<h4>OTP Rejection Reason</h4>
</ion-col>
</ion-row>
<ion-row>
@ -73,7 +73,7 @@
<ion-col text-center>
<mat-form-field style="width: 100%">
<mat-select placeholder="Rejection Reason OTP" formControlName="reason" >
<mat-select placeholder="OTP Rejection Reason" formControlName="reason" >
<mat-option *ngFor="let otp of reason_otp" [value]="otp.otp_rejection_id
">{{otp.rejection_reason}}</mat-option>
</mat-select>

View File

@ -143,7 +143,7 @@ export class OtpPage {
message: 'Do you want sure resend OTP',
buttons: [
{
text: 'OTP Without Start',
text: 'Start PD Without OTP',
handler: () => {

View File

@ -128,7 +128,8 @@
<ion-icon item-start="" class="lettericon" [style.background]="bgColortempForm[i]">{{tempForm.form_name[0] | slice : 0 :1 | uppercase}}</ion-icon>
<ion-row>
<ion-col col-5>
<h2 style="font-size:20px;">{{tempForm.form_id != 19 ? tempForm.form_name : 'Neighbourhood'}}</h2>
<!-- <h2 style="font-size:20px;">{{tempForm.form_id != 19 ? tempForm.form_name : 'Neighbourhood Details'}}</h2> -->
<h2 style="font-size:20px;">{{tempForm.form_id == 19 ? "Neighbourhood Details" :tempForm.form_id == 7 ? "Personal Banking" : tempForm.form_name }}</h2>
<!-- <p>{{category.answerd_count}} / {{category.questions_count}} Questions</p> -->
</ion-col>

View File

@ -27,12 +27,21 @@
<!-- -->
<mat-form-field style="width: 100%">
<mat-select placeholder="State" formControlName="state" (selectionChange)="getCityAndPincodeDetails($event.value,i)">
<mat-option>Select</mat-option>
<mat-option *ngFor="let SL of stateData" [value]="SL.state_id">{{SL.name}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="City" formControlName="city">
<mat-option *ngFor="let CL of cityData[i]" [value]="CL.city_id">{{CL.city_name}}</mat-option>
<mat-option>
<ngx-mat-select-search formControlName="citySearch" (keyup)="searchFun(item,i)"
[placeholderLabel]="'Find City'"
[noEntriesFoundLabel]="'No Matching Result'">
<ion-icon name="md-close" ngxMatSelectSearchClear></ion-icon>
</ngx-mat-select-search>
</mat-option>
<mat-option>Select</mat-option>
<mat-option *ngFor="let CL of filteredCity | async" [value]="CL.city_id">{{CL.city_name}}</mat-option>
</mat-select>
</mat-form-field>
@ -50,7 +59,7 @@
<div fxLayout="column" fxLayoutAlign="start stretch">
<mat-form-field style="width: 100%">
<mat-select placeholder="Address Type" name="address_type" formControlName="address_type" (selectionChange)="selectedAddressType($event.source.triggerValue,i)">
<mat-option>--</mat-option>
<mat-option>Select</mat-option>
<mat-option *ngFor="let m_addressType of addressTypes" [value]="m_addressType.address_type_id"> {{m_addressType.address_type}} </mat-option>
</mat-select>
</mat-form-field>
@ -66,7 +75,7 @@
<div fxLayout="column" fxLayoutAlign="start stretch">
<mat-form-field style="width: 100%">
<mat-select matInput placeholder="Locality" name="locality" formControlName="locality">
<mat-option>--</mat-option>
<mat-option>Select</mat-option>
<mat-option value="{{m_locality.locality_id}}"
*ngFor="let m_locality of locality">{{m_locality.locality_name}}
</mat-option>
@ -90,7 +99,7 @@
<div fxLayout="column" fxLayoutAlign="start stretch">
<mat-form-field style="width: 100%;">
<mat-select placeholder="Approach to PD Location" name="pd_location" formControlName="pd_location">
<mat-option>--</mat-option>
<mat-option>Select</mat-option>
<mat-option value="{{data.pd_location_approach_id}}"
*ngFor="let data of pdlocation">{{data.description}}
</mat-option>
@ -101,7 +110,7 @@
<div fxLayout="column" fxLayoutAlign="start stretch">
<mat-form-field style="width: 100%;">
<mat-select placeholder="Comment on Locality" name="comment_locality" formControlName="comment_locality">
<mat-option>--</mat-option>
<mat-option>Select</mat-option>
<mat-option value="{{data.comments_on_locality_id}}"
*ngFor="let data of cmtlocality">{{data.rating}}
</mat-option>

View File

@ -3,10 +3,12 @@ import { IonicPage, NavController, NavParams, AlertController } from 'ionic-angu
import {FormBuilder,FormControl,FormArray, FormGroup,Validators} from '@angular/forms';
import { QuestionCategoryProvider } from '../../../providers/question-category/question-category';
import { AwsServiceProvider } from '../../../providers/aws-service/aws-service';
import { Observable } from 'rxjs';
import { Observable, Subject, ReplaySubject, from } from 'rxjs';
import { ToastProvider } from '../../../providers/common-provider/toast';
import { ConstantsProvider } from '../../../providers/constants/constants';
import { timeInterval } from 'rxjs/operators';
import {searchValue} from '../search'
import { takeUntil } from 'rxjs/operators';
/**
* Generated class for the PdQuestionAddressPage page.
*
@ -62,6 +64,9 @@ export class PdQuestionAddressPage {
uomData: any=[];
addressesList: any;
// counts:number = 1;
private search:searchValue[]
protected _onDestroy = new Subject<void>();
public filteredCity: ReplaySubject<searchValue[]> = new ReplaySubject<searchValue[]>(1);
constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider,public alerCtrl:AlertController,public constant:ConstantsProvider) {
@ -86,6 +91,9 @@ export class PdQuestionAddressPage {
// this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : '';
this.getdropdownlist();
//const control=this.pdQuestionAddress.controls['addresses']
// console.log("co",control)
this.pdQuestionAddress = this.fb.group(
{
@ -106,6 +114,15 @@ export class PdQuestionAddressPage {
});
this.getaddressForm();
//this.loadPD()
// let con=this.pdQuestionAddress.controls['addresses']['controls']
// this.pdQuestionAddress.controls['addresses']['controls'][0].controls['citySearch'].valueChanges
// .pipe(takeUntil(this._onDestroy))
// .subscribe(()=>{
// this.SearchCity(0);
// })
}
ionViewDidLoad() {
@ -113,7 +130,28 @@ export class PdQuestionAddressPage {
console.log("ionViewDidLoad PdQuestionAddressPage")
}
searchFun(control:any,i:number){
// console.log(control,i)
control.controls['citySearch'].valueChanges
.pipe(takeUntil(this._onDestroy))
.subscribe(()=>{
this.SearchCity(control.controls['citySearch'].value,i);
})
}
SearchCity(val:any,i:number){
if(!this.cityData[i]){
return
}
let searchValue=val
if(!searchValue){
this.filteredCity.next(this.cityData[i].slice())
return
}else{
searchValue=searchValue.toLowerCase()}
this.filteredCity.next(
this.cityData[i].filter(value=>value.city_name.toLowerCase().indexOf(searchValue)>-1)
)
}
ionViewWillLeave()
{
@ -148,9 +186,15 @@ export class PdQuestionAddressPage {
* Param 'stateID' -> selected StateId
*/
getCityAndPincodeDetails(stateID: string,i) {
// console.log(this.pdQuestionAddress.controls['addresses']['controls'][0].controls['citySearch'])
console.log(this.pdQuestionAddress)
//this.pdQuestionAddress.controls['addresses']['controls'].controls
this.qustCat.getStateWiseCities(stateID).subscribe(data => {
if (data.status == 200) {
this.cityData[i] = data.records.cities;
this.search=this.cityData[i]
console.log("Slice",this.cityData[i].slice);
this.filteredCity.next(this.cityData[i].slice())
this.pincodeData[i] = data.records.pincode;
}
});
@ -317,6 +361,7 @@ export class PdQuestionAddressPage {
address_type_others: [AddressDetails.address_type_others],
state: [AddressDetails.state],
city: [AddressDetails.city],
citySearch:[''],
pincode: [AddressDetails.pincode],/** ,Validators.compose([Validators.minLength(6),Validators.maxLength(6)]) */
pincode_others: [AddressDetails.pincode_others, Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],
locality: [AddressDetails.locality, Validators.compose([Validators.required])],
@ -336,6 +381,7 @@ export class PdQuestionAddressPage {
address_type_others: [''],
state: [''],
city: [''],
citySearch:[''],
pincode: [''],
pincode_others: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],
locality: ['', Validators.compose([Validators.required])],

View File

@ -19,6 +19,7 @@
<mat-card>
<mat-form-field style="width: 100%">
<mat-select placeholder="Buiness Income" formControlName="business_income_id">
<mat-option>Select</mat-option>
<mat-option *ngFor="let income of businessIncome" [value]="income.business_income_id
">{{income.business_income_item}}</mat-option>
</mat-select>
@ -34,6 +35,7 @@
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="Frequency" formControlName="fk_frequency_id" (selectionChange)="busIncomecalculate(i,item.value)">
<mat-option>Select</mat-option>
<mat-option *ngFor="let frq of m_freqOfPurchase" [value]="frq.frequency_id
">{{frq.name}}</mat-option>
</mat-select>

View File

@ -19,6 +19,7 @@
<mat-card>
<mat-form-field style="width: 100%">
<mat-select placeholder="Buiness Expense" formControlName="expense_item_id">
<mat-option>Select</mat-option>
<mat-option *ngFor="let expense of businessExpenses" [value]="expense.expense_item_id
">{{expense.expense_item}}</mat-option>
</mat-select>
@ -29,6 +30,7 @@
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="Frequency" formControlName="fk_frequency_id" (selectionChange)="businessCalculation(i,item.value)">
<mat-option>Select</mat-option>
<mat-option *ngFor="let frq of m_freqOfPurchase" [value]="frq.frequency_id
">{{frq.name}}</mat-option>
</mat-select>

View File

@ -26,6 +26,7 @@
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="Frequency" formControlName="fk_frequency_id" (selectionChange)="houseExpensecalculat(i,item.value)">
<mat-option>Select</mat-option>
<mat-option *ngFor="let frq of m_freqOfPurchase" [value]="frq.frequency_id
">{{frq.name}}</mat-option>
</mat-select>

View File

@ -31,8 +31,9 @@
</div>
<div fxLayout="column" fxLayoutAlign="start stretch">
<mat-form-field style="width: 100%">
<mat-select placeholder="UOM" name="fk_uom_id" formControlName="fk_uom_id">
<mat-option>Select</mat-option>
<mat-option *ngFor="let uom of UOM" [value]="uom.uom_id">{{uom.name}}</mat-option>
</mat-select>
</mat-form-field>
@ -51,6 +52,7 @@
<mat-form-field style="width: 100%">
<mat-select placeholder="Frequency" formControlName="fk_frequency_id" (selectionChange)="purchaseCalculation(i,item.value)">
<mat-option>Select</mat-option>
<mat-option *ngFor="let frq of m_freqOfPurchase" [value]="frq.frequency_id
">{{frq.name}}</mat-option>
</mat-select>

View File

@ -26,6 +26,7 @@
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="UOM" name="fk_uom_id" formControlName="fk_uom_id" >
<mat-option>Select</mat-option>
<mat-option *ngFor="let uom of UOM" [value]="uom.uom_id">{{uom.name}}</mat-option>
</mat-select>
</mat-form-field>
@ -35,6 +36,8 @@
<mat-label align="end" style="font-size: 12px" *ngIf="item.get('rate_per_unit').value != null">{{"&#8377;"}} {{ratePerUnitAmtInwords[i]}} Only</mat-label>
<mat-form-field style="width: 100%">
<mat-select placeholder="Frequency" formControlName="fk_frequency_id" (selectionChange)="salecalculat(i,item.value)">
<mat-option>Select</mat-option>
<mat-option *ngFor="let frq of m_freqOfPurchase" [value]="frq.frequency_id
">{{frq.name}}</mat-option>
</mat-select>

View File

@ -20,6 +20,7 @@
<div fxLayout="row wrap" fxLayoutGap="5px" fxLayoutAlign="start none">
<mat-form-field style="width:100%">
<mat-select (selectionChange)="selectedAssetsType($event, i,1)" placeholder="Assets Type" formControlName="assets_mode">
<mat-option>Select</mat-option>
<mat-option *ngFor="let asset of m_assets_type" [value]="asset.id">{{ asset.name }}</mat-option>
</mat-select>
</mat-form-field>
@ -51,6 +52,7 @@
<div>
<mat-form-field style="width:100%">
<mat-select placeholder="Property Type" formControlName="property_type" >
<mat-option>Select</mat-option>
<mat-option *ngFor="let prop of m_propertyType" [value]="prop.id">{{ prop.name }}</mat-option>
</mat-select>
</mat-form-field>
@ -152,6 +154,7 @@
<div fxFlex="33">
<mat-form-field style="width:100%">
<mat-select placeholder="Frequency" formControlName="frequency_mode">
<mat-option>Select</mat-option>
<mat-option *ngFor="let freqn of m_freqOfPurchase" [value]="freqn.frequency_id">{{ freqn.name }}</mat-option>
</mat-select>
</mat-form-field>
@ -188,6 +191,7 @@
<div fxFlex="33">
<mat-form-field style="width:100%">
<mat-select placeholder="Type" formControlName="investments_type">
<mat-option>Select</mat-option>
<mat-option *ngFor="let ins_type of m_investmentType" [value]="ins_type.id">{{ ins_type.name }}</mat-option>
</mat-select>
</mat-form-field>
@ -232,6 +236,7 @@
<mat-form-field *ngIf="sup.get('assets_mode').value != ''" style="width:100%">
<mat-select multiple placeholder="Name of the Owner" formControlName="name_of_the_owner" [compareWith]="compareObjects" (selectionChange)="setRequiredValidation($event.value,i,'',4)">
<mat-optgroup *ngFor="let group of mergeCompanyApplicant" [label]="group.groupName" >
<mat-option *ngFor="let val of group.groupValues" [value]="val">
{{val.name}}
</mat-option>

View File

@ -45,6 +45,7 @@
<div fxLayout="column" fxLayoutAlign="start stretch">
<mat-form-field style="width: 100%">
<mat-select placeholder="Bank Name" formControlName="bank_name" >
<mat-option>Select</mat-option>
<mat-option *ngFor="let btLen of m_btLenderList" [value]="btLen.bt_lender_list_id">{{ btLen.lender_name }}</mat-option>
</mat-select>
</mat-form-field>
@ -57,6 +58,7 @@
<mat-form-field style="width: 100%">
<mat-select matInput placeholder="Account Type " name="account_type" formControlName="account_type" (selectionChange)="selectedAccTypeChanges($event.value,i)">
<mat-option>Select</mat-option>
<mat-option *ngFor="let bankacc of accountType" [value]="bankacc.id">{{bankacc.name}}</mat-option>
@ -68,6 +70,7 @@
<mat-form-field style="width: 100%" *ngIf="salaryField">
<mat-select placeholder="Salary Credited in this account" formControlName="salary" >
<mat-option>Select</mat-option>
<mat-option value="Yes">Yes</mat-option>
<mat-option value="No">No</mat-option>
<mat-option value="NA">NA</mat-option>
@ -93,10 +96,10 @@
<!-- </div> -->
<div fxLayout="column" fxLayoutAlign="start stretch">
<p>Approximate vintage of the account (No of years)</p>
<mat-form-field style="width: 100%">
<mat-form-field style="width: 46%">
<input type="number" matInput placeholder="Year" name="vintage" formControlName="vintage_year">
</mat-form-field>
<mat-form-field style="width: 100%">
</mat-form-field>&nbsp;&nbsp;&nbsp;
<mat-form-field style="width: 46%">
<input type="number" matInput placeholder="Month" name="vintage" formControlName="vintage_month" (change)="ConvertMonthintoYear(bankinfo,$event.target.value)">
</mat-form-field>
</div>

View File

@ -41,13 +41,13 @@
</mat-form-field>
<div *ngIf=" itemrow.get('business_address_availability').value == 'yes'">
<p>How long has business been operated from this premise?</p>
<mat-form-field>
<mat-form-field style="width:46%">
<input matInput type="number" autocomplete="off" placeholder="Year(s)" formControlName="business_years"
(change)="checkWithExistBusinessYear($event.target.value,i)">
<mat-hint style="font-size:12px;color: red;">{{yearErrorMessage[i]}}</mat-hint>
</mat-form-field>
<mat-form-field>
</mat-form-field>&nbsp;&nbsp;&nbsp;
<mat-form-field style="width:46%">
<input matInput type="number" autocomplete="off" placeholder="Month(s)" formControlName="business_month"
(change)="ConvertMonthintoYear($event.target.value,i)">
<mat-hint style="font-size:12px;color: red;">{{monthErrorMessage[i]}}</mat-hint>

View File

@ -13,5 +13,15 @@ page-pd-question-business-assets {
.scroll-content{
background-color: #eee;
}
.mat-form-field-label {
white-space: normal;
}
textarea.mat-input-element {
padding: 0px 0;
margin: 5px 0;
}
mat-select{
margin-top:7px;
}
}

View File

@ -58,6 +58,9 @@ export class PdQuestionBusinessAssetsPage {
isOtherOwnerForAddress : boolean = false;
isOtherOwner: boolean = false;
public m_vehicle_type = [];
cityArr: any=[];
pinArr: any=[];
m_state_for_address: any=[];
constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustcat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {
@ -102,16 +105,31 @@ export class PdQuestionBusinessAssetsPage {
if(data['records'].addresses.length > 0){
data['records'].addresses.forEach((data,inx)=>{
this.addressLabel[inx] = '';
console.log("address",data)
this.qustcat.getStateWiseCities(data.state).subscribe(res=>{
if(res.dataStatus== true){
console.log("state",res)
this.cityArr=res.records.cities
this.pinArr = res.records.pincode;
let selectedAddressType = this.m_address_type.filter(element => element.address_type_id == data.address_type)[0];
let selectedState = this.m_state_for_address.filter(element => element.state_id == data.state)[0];
let selectedCity = this.cityArr.filter(element => element.city_id == data.city)[0];
let selectedPincode = this.pinArr.filter(element => element.pincode_id == data.pincode)[0];
console.log(selectedCity)
let addressType = data.address_type != 1 ? selectedAddressType.address_type : data.address_type_others;
let address = data.address + ' , ' + selectedCity.city_name + ','+selectedState.name +'-' + (data.pincode == 1 ? data.pincode_others : selectedPincode.pincode);
this.addressLabel[inx] = '';
let selectedAddressType = this.m_address_type.filter(element =>element.address_type_id == data.address_type)[0];
let address = data.address;
let addressType = data.address_type != 1 ? selectedAddressType.address_type : data.address_type_others;
// let selectedAddressType = this.m_address_type.filter(element =>element.address_type_id == data.address_type)[0];
// let address = data.address;
// let addressType = data.address_type != 1 ? selectedAddressType.address_type : data.address_type_others;
this.placeholderName[inx] = 'Was any business activity seen at the '+addressType+' during PD visit?';
//console.log(this.placeholderName)
let addressLabel = " : "+address+' / '+addressType ;
console.log("dd",addressLabel)
let values={
address_label:addressLabel,
business_years: '',
@ -129,7 +147,11 @@ export class PdQuestionBusinessAssetsPage {
business_emi: ''
}
control.push(this.initBusinessDetailsWithdata(values));
}
})
})
}
else{
control.push(this.initBusinessDetails())
@ -180,6 +202,9 @@ export class PdQuestionBusinessAssetsPage {
}
})
this.qustcat.getcommondrop('STATE').subscribe(data=>{
this.m_state_for_address = data['records'].filter(val=>val.isactive ==1 )
})
@ -433,11 +458,19 @@ createBusinessAssetsForAddress(): FormGroup {
loadDetails:boolean
addBusinessAssetsForAddress(data) {
var result = Object.keys(data).map(function (key) {
return data[key];
});
if (result.length > 0) {
result.forEach((datas, index) => {
//this.placeholderName[index]=datas.address_label.split('/')
// console.log(datas.address_label.split('/'))
// console.log(datas.address_label.split('/')[0])
if(datas.address_label != null && datas.address_label !=''){
let splitted=datas.address_label.split('/')[1]
this.placeholderName[index]='Was any business activity seen at the '+splitted+' during PD visit?';
}
this.RentAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_monthly_rented_amt);
this.appxMarketAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_approximate_market_value);
let Avaliablity = 1;
@ -453,6 +486,7 @@ createBusinessAssetsForAddress(): FormGroup {
});
for (let val of result) {
let vals = {
address_label:val.address_label,
business_years:val.business_years,

View File

@ -60,7 +60,7 @@
</mat-select>
</mat-form-field>
</div>
<mat-form-field *ngIf="pd_cus_segment!='SAL'">
<mat-form-field *ngIf="pd_cus_segment!='SAL'" style="width: 100%">
<mat-select placeholder="Is this the main business account"
formControlName="is_main" >
<mat-option value="Yes">Yes</mat-option>
@ -100,12 +100,14 @@
</div> -->
<div fxLayout="column" fxLayoutAlign="start stretch">
<label>Number of Years / Months since account was started</label>
<label>Approximate Vintage of the Account</label>
<mat-form-field style="width: 100%">
<input type="number" matInput placeholder="Year" name="vintage" formControlName="vintage_year">
<input type="number" matInput placeholder="Year" name="vintage" formControlName="vintage_year" (change)="checkWithExistBusinessYear(itemrow,$event.target.value,i)">
<mat-hint style="font-size: 12px;color:red">{{yearErrorMessage[i]}}</mat-hint>
</mat-form-field>
<mat-form-field style="width: 100%">
<input type="number" matInput placeholder="Month" name="vintage" formControlName="vintage_month" (change)="ConvertMonthintoYear(itemrow,$event.target.value)">
<input type="number" matInput placeholder="Month" name="vintage" formControlName="vintage_month" (change)="ConvertMonthintoYear(itemrow,$event.target.value,i)">
<mat-hint style="font-size: 12px;color:red">{{monthErrorMessage[i]}}</mat-hint>
</mat-form-field>
</div>
<ion-buttons end>

View File

@ -42,6 +42,10 @@ step:number
amtInwords: any=[];
emiAmtInwords: any=[];
limitCaseFlag: any=[];
generalExistBusinessYear: number;
generalExistBusinessMonth:number
yearErrorMessage: any=[];
monthErrorMessage: any=[];
constructor(public navCtrl: NavController, public navParams: NavParams,public aws: AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {
@ -57,6 +61,9 @@ step:number
this.applicants = this.pdDetails.applicat_details;
this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)
this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});
this.generalExistBusinessMonth=this.pdDetails.business_month
this.generalExistBusinessYear=this.pdDetails.business_years
this.users = this.aws.getlocale();
this.step=0
@ -118,6 +125,17 @@ step:number
// this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);
}
}
checkWithExistBusinessYear(itemrow,e, i) {
console.log(this.generalExistBusinessYear)
if (+e > this.generalExistBusinessYear) {
this.yearErrorMessage[i] = "Higher than Business Vintage";
itemrow.controls.vintage_year.setValue('');
}
else {
this.yearErrorMessage[i] = '';
}
}
compareObjects(o1: any, o2: any) {
if(o1.id == o2.id && o1.group_id == o2.group_id)
return true;
@ -148,18 +166,39 @@ step:number
}
}
/** To Convert Month into Year */
ConvertMonthintoYear(itemrow,e){
let year = itemrow.controls.vintage_year.value;
let converted_month : number = e%12;
let converted_year : number = e/12;
/** To Convert Month into Year */
ConvertMonthintoYear(itemrow, e,i) {
console.log(this.generalExistBusinessMonth)
let year = itemrow.controls.vintage_year.value;
let converted_month: number = e % 12;
let converted_year: number = e / 12;
let Year = +year + +Math.floor(converted_year);
if (Year > this.generalExistBusinessYear) {
this.yearErrorMessage[i] = "Higher than Business Vintage";
itemrow.controls.vintage_year.setValue('');
itemrow.controls.vintage_month.setValue('');
}
else {
if (Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth) {
this.monthErrorMessage[i] = "Higher than Business Vintage";
itemrow.controls.vintage_year.setValue('');
itemrow.controls.vintage_month.setValue('');
console.log(this.monthErrorMessage[i])
} else {
this.monthErrorMessage[i] = '';
this.yearErrorMessage[i] = '';
itemrow.controls.vintage_year.setValue(Year);
itemrow.controls.vintage_month.setValue(Math.floor(converted_month));
}
}
itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));
itemrow.controls.vintage_month.setValue(Math.floor(converted_month));
}
/** Amount InWords */
inWords(e,i,flag){

View File

@ -16,20 +16,22 @@
<ion-content padding>
<mat-accordion *ngIf="waitLoading && existCompanyList.length > 0 ;">
<mat-expansion-panel *ngFor="let companyList of existCompanyList" [ngClass]="!grossAccess?expanded:''">
<mat-expansion-panel *ngFor="let companyList of existCompanyList" [expanded]="count==0">
<mat-expansion-panel-header>
<mat-panel-title>
{{companyList.company_name}}
</mat-panel-title>
</mat-expansion-panel-header>
<mat-card class="item-ribbon" *ngFor="let formButton of companyList.form_status;let quesIndex=index" (click)="OnSelectBusinessGroupForms(formButton, companyList)">
<div *ngFor="let formButton of companyList.form_status;let quesIndex=index">
<mat-card class="item-ribbon" *ngIf="formButton.isAnswerable == true" (click)="OnSelectBusinessGroupForms(formButton, companyList)">
<!-- <div class = "ribbon" [ngclass]="!formButton.isAnswered ? 'notanswered' : 'answered'"><span>{{quesIndex+1}}</span></div> -->
<span *ngIf="formButton.isAnswered;" class="ribbon answered"><span>{{quesIndex+1}}</span></span>
<span *ngIf="!formButton.isAnswered;" class="ribbon notanswered"><span>{{quesIndex+1}}</span></span>
<div>
<p>{{ formButton.form_name }}</p>
<p>{{formButton.form_name }}</p>
</div>
</mat-card>
</div>
</mat-expansion-panel>
</mat-accordion>
<div *ngIf="waitLoading==false && existCompanyList.length == 0 ;">

View File

@ -28,6 +28,8 @@ export class PdQuestionBusinessGroupPage {
pdDetails: any = [];
existCompanyList: any = [];
waitLoading:boolean;
count:number;
forms_order:any=[]
constructor(public navCtrl: NavController,
public navParams: NavParams,
@ -35,8 +37,14 @@ export class PdQuestionBusinessGroupPage {
this.pdDetails = this.navParams.get('pdDetails');
this.FormId = this.navParams.get('FormId');
this.getCompanyListForBusiness();
// this.getCompanyListForBusiness();
}
ionViewCanEnter()
{
this.getCompanyListForBusiness();
//this.colorChange();
}
@ -44,7 +52,32 @@ export class PdQuestionBusinessGroupPage {
getCompanyListForBusiness(): void{
this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{
if(data.dataStatus){
this.existCompanyList = data.records.filter(val =>val.is_active);
this.existCompanyList = data.records.filter(val =>val.is_active);
// let forms=Object.keys(this.existCompanyList.form_status).map(function (key){
// return this.existCompanyList.form_status[key]
// })
//console.log(forms)
// console.log(this.existCompanyList)
this.existCompanyList.forEach((key,ele)=>{
this.forms_order.push(key.form_status)
})
console.log(this.forms_order)
this.forms_order=this.forms_order.filter(val=>val.isAnswerable == true)
console.log(this.forms_order)
// this.existCompanyList.forEach(element=>{
// console.log(element);
// })
// this.existCompanyList.array.forEach(element => {
// console.log(element)
// });
// this.forms_order=this.existCompanyList.form_status.filter(val=>val.isAnswerable==true)
if(this.existCompanyList.length==1){
this.count=0
}
this.waitLoading = true;
}
else {
@ -52,6 +85,7 @@ export class PdQuestionBusinessGroupPage {
}
})
}
/** To Get Related Form Details */
OnSelectBusinessGroupForms(details: any, company: any) {

View File

@ -30,8 +30,8 @@
<mat-form-field *ngIf="member.value.partner_name=='Others'">
<input matInput placeholder="Specify Others(Name)" formControlName="partner_other_name" autocomplete="off">
</mat-form-field>
<mat-form-field *ngIf="!EntityTypeFlag">
<input matInput type="number" placeholder="Share of Profit / Shareholding (%)" formControlName="shareholding" autocomplete="off">
<mat-form-field *ngIf="!EntityTypeFlag && generalExistEntityType!='4' && generalExistEntityType!='9' && generalExistEntityType.value!=''">
<input matInput type="number" #shareholding placeholder="Share of Profit / Shareholding (%)" formControlName="shareholding" autocomplete="off">
</mat-form-field>
<mat-form-field *ngIf="!EntityTypeFlag">
<mat-select placeholder="Started Business" formControlName="started_business" (selectionChange)="changeOfStartedBusiness(member,i,$event.value);" *ngIf="!EntityTypeFlag">
@ -41,11 +41,11 @@
</mat-select>
</mat-form-field>
<p *ngIf="!EntityTypeFlag" style="margin-left: 2% !important">No of Years in Current Business</p>
<mat-form-field *ngIf="!EntityTypeFlag">
<mat-form-field *ngIf="!EntityTypeFlag" style="width: 45%">
<input matInput autocomplete="off" placeholder="Year" type="number" formControlName="current_business_experiance_year" (keyup)="getWorkExperience(member.value,i)" (keypress)="keyPress($event)" (change)="checkWithExistBusinessYear($event.target.value,i,member)" [readonly]="isreadonlyyear[i]">
<mat-hint style="color: red;" align="start" style="font-size:11px">{{yearErrorMessage[i]}}</mat-hint>
</mat-form-field>
<mat-form-field *ngIf="!EntityTypeFlag">
</mat-form-field>&nbsp;&nbsp;
<mat-form-field *ngIf="!EntityTypeFlag" style="width: 45%">
<input matInput autocomplete="off" placeholder="Month" type="number" formControlName="current_business_experiance_month" (keypress)="keyPress($event)" (change)="ConvertMonthintoYear(member,$event.target.value,i)" [readonly]="isreadonlymonth[i]">
<mat-hint style="color: red;" align="start" style="font-size:11px">{{monthErrorMessage[i]}}</mat-hint>
</mat-form-field >
@ -80,7 +80,7 @@
<div>
<div formArrayName="persons_with_relationships">
<h4>Add Others Family Members Involved in Business</h4>
<h4>Add Other Family Members Involved in Business</h4>
<mat-accordion *ngFor="let person of businessForm.controls.persons_with_relationships['controls']; let i=index; let l=last" [formGroupName]="i" >
<mat-expansion-panel [expanded]="step == i" >
<mat-expansion-panel-header>
@ -98,7 +98,7 @@
</mat-form-field>
<mat-form-field>
<mat-select placeholder="Relation" formControlName="other_family_relationship_id">
<mat-option [value]="member.relationship_id" *ngFor="let member of relationData">{{member.name | titlecase}}</mat-option>
<mat-option [value]="member.relationship_id" *ngFor="let member of relationData">{{member.name + ' Of' | titlecase}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
@ -581,7 +581,7 @@
</div>
<div *ngIf="wholesale.value.max_sale_state_name !=undefined" formArrayName="max_sale_state_name">
<div fxLayout="row nowrap" class="tab_class" *ngFor="let maxStateList of wholesale.get('max_sale_state_name').controls; let mx = index" [formGroupName]="mx">
<mat-form-field style="width:24%;">
<mat-form-field style="width:100%;">
<mat-label>States Where Max Sales Done for {{wholesale.value.main_products}}</mat-label>
<mat-select multiple placeholder="States" formControlName="state_name">
@ -590,7 +590,7 @@
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width:84%;" *ngIf="wholesale.value.pan_india_options=='No'">
<mat-form-field style="width:100%;" *ngIf="wholesale.value.pan_india_options=='No'">
<mat-label>Cities Where Max Sales Done for {{wholesale.value.main_products}}</mat-label>
<mat-select multiple placeholder="Cities" formControlName="city_name">
@ -900,7 +900,7 @@
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width:80%;">
<mat-form-field style="width:100%;">
<input matInput [placeholder]="countryList.get('country_name').value == '' ? 'Out of Total Export Sales what % of Sales is done in' : getPlaceHolderName(countryList.get('country_name').value)"
formControlName="approx_sale" required>
</mat-form-field>
@ -1034,7 +1034,8 @@
</mat-radio-group>
<mat-form-field style="margin-top:10px;" *ngIf="businessForm.controls['seasonality'].value == 'yes'">
<mat-select multiple placeholder="In Which Period Is Maximum Sale / Service Done "
<mat-placeholder>In Which Period Is Maximum Sale / Service Done</mat-placeholder>
<mat-select multiple
formControlName="peak_period_of_business" required>
<mat-option value="1">January</mat-option>
<mat-option value="2">February</mat-option>

View File

@ -51,6 +51,6 @@ page-pd-question-business-info {
}
mat-select{
margin-top : 5px ;
margin-top : 8px ;
}
}

View File

@ -1,4 +1,4 @@
import { Component } from '@angular/core';
import { Component, ViewChild, ElementRef } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';
import { ToastProvider } from '../../../../providers/common-provider/toast';
@ -67,6 +67,7 @@ export class PdQuestionBusinessInfoPage {
yearErrorMessage: any = [];
monthErrorMessage: any = [];
errorMessageForExistTotalWorkExperience : any = [];
@ViewChild('shareholding') share_focus:ElementRef
constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {
this.getStateCityDet();
@ -742,16 +743,18 @@ changeOfStartedBusiness(members,i,e){
}
}
filterMaxSaleCities(datasource: any,filterValues:any,selectedCites: any) {
console.log(selectedCites)
let existCities: any = selectedCites.filter(cfVal=>cfVal.city_name!='').map(mcVal=>mcVal.city_name);
existCities = [].concat.apply([], existCities);
if(filterValues){
let getOriginalStateList = datasource.map(dval => dval.state_id);
console.log("Original map",getOriginalStateList)
let setCityFilter = filterValues.map(x => {
let findIndex = getOriginalStateList.indexOf(x);
findIndex = datasource[findIndex].cities;
return findIndex;
});
console.log("findindex",setCityFilter)
let merged = [].concat.apply([], setCityFilter);
@ -1565,8 +1568,26 @@ submitDetails() {
delete records.ownership_others;
}
// records.family_members_involved = this.relativeNames;
if(!this.EntityTypeFlag) {
let count:number=0;
if(records.partners.length>0){
records.partners.forEach(element=>{
console.log(element)
count+=element.shareholding
})
}
if(count>=101){
this.toast.pdTriggerappmessage("Share Holding is Greater than 100 %");
// this.businessForm.get('shareholding').value.setFocus()
//this.businessForm.controls['partners']
console.log(this.businessForm.controls)
// const control=this.businessForm.controls['partners'] as FormArray
this.share_focus.nativeElement.focus();
//control.get('shareholding').Focus()
// this.businessForm.get('business_remarks').value.setFocus()
return
}
}
let validationFlag : number = 0;
//type 1: Checking manufacturing_activity_details

View File

@ -59,20 +59,20 @@
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput placeholder="Client Contact Person Mobile Number"
formControlName="manufacturing_contact_person_mobile_number" type="number"
formControlName="manufacturing_contact_person_mobile_number" type="tel" minlength="10"
maxlength="10">
<mat-error>Enter Valid Mobile Number.</mat-error>
<mat-error style="font-size: 12px">Enter Valid Mobile Number</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput autocomplete="off" placeholder="STD Code"
formControlName="person_stdcode" type="number">
<mat-error>Enter Valid STD Code Number.</mat-error>
formControlName="person_stdcode" type="tel" minlength="3" maxlength="5">
<mat-error style="font-size: 12px">Enter Valid STD Code Number.</mat-error>
</mat-form-field>
<!-- &nbsp; - &nbsp; -->
<mat-form-field style="width: 100%">
<input matInput autocomplete="off" placeholder="Client Contact Person Landline Number"
formControlName="person_landline" type="number">
<mat-error>Enter Valid LandLine Number.</mat-error>
formControlName="person_landline" type="tel" minlength="6" maxlength="8">
<mat-error style="font-size: 12px">Enter Valid LandLine Number</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="Payment Terms" formControlName="manufacturing_payment_type"
@ -174,20 +174,20 @@
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput placeholder="Client Contact Person Mobile Number"
formControlName="trade_product_contact_person_mobile_number" type="number"
formControlName="trade_product_contact_person_mobile_number" type="tel" minlength="10"
maxlength="10">
<mat-error>Enter Valid Mobile Number.</mat-error>
<mat-error style="font-size: 12px">Enter Valid Mobile Number</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput autocomplete="off" placeholder="STD Code"
formControlName="person_stdcode" type="number">
<mat-error>Enter Valid STD Code Number.</mat-error>
formControlName="person_stdcode" type="tel" minlength="3" maxlength="5">
<mat-error style="font-size: 12px">Enter Valid STD Code Number</mat-error>
</mat-form-field>
<!-- &nbsp; - &nbsp; -->
<mat-form-field style="width: 100%">
<input matInput autocomplete="off" placeholder="Client Contact Person Landline Number"
formControlName="person_landline" type="number">
<mat-error>Enter Valid LandLine Number.</mat-error>
formControlName="person_landline" type="tel" minlength="6" maxlength="8">
<mat-error style="font-size: 12px">Enter Valid LandLine Number</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="Payment Terms" formControlName="trade_product_payment_type"
@ -295,18 +295,19 @@
<mat-form-field style="width: 100%">
<input matInput placeholder="Client Contact Person Mobile Number"
formControlName="service_provider_product_contact_person_mobile_number"
type="number" maxlength="10">
<mat-error>Enter Valid Mobile Number.</mat-error>
</mat-form-field>
type="tel" minlength="10" maxlength="10">
<!-- <mat-error *ngIf="items.controls['service_provider_product_contact_person_mobile_number'].hasError('required')">Client Contact Number Required</mat-error> -->
<mat-error style="font-size:12px">Enter Valid Mobile Number</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput autocomplete="off" placeholder="STD Code"
formControlName="person_stdcode" type="number">
<mat-error>Enter Valid STD Code Number.</mat-error>
formControlName="person_stdcode" type="tel" maxlength="5" minlength="3">
<mat-error style="font-size: 12px">Enter Valid STD Code Number</mat-error>
</mat-form-field>
<!-- &nbsp; - &nbsp; -->
<mat-form-field style="width: 100%">
<input matInput autocomplete="off" placeholder="Client Contact Person Landline Number"
formControlName="person_landline" type="number">
formControlName="person_landline" type="tel" minlength="6" maxlength="8">
<mat-error>Enter Valid LandLine Number.</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">

View File

@ -33,7 +33,7 @@
<div *ngIf="isDisplay">
<mat-form-field>
<mat-label style="font-size: 16px">Enter year from Which Financials Provided</mat-label>
<input matInput type="number" autocomplete="off" placeholder="YYYY eg.2018" formControlName="financial_starting_year" (keypress)="keyPress($event)">
<input class="medium" matInput type="tel" minlength="4" maxlength="4" autocomplete="off" placeholder="YYYY eg.2018" formControlName="financial_starting_year" (change)="dynamicalFinYear($event)" (keypress)="keyPress($event)">
<mat-error align="end" style="font-size: 12px"> Invalid year format</mat-error>
</mat-form-field>
<mat-form-field>
@ -111,13 +111,13 @@
</mat-form-field>
<p class="info" *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/Loss to sales % in FY <i> {{details.get('financial_year').value}} </i> over Profit/Loss to 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>
Increase in Profit/Loss to sales % in FY <i> {{details.get('financial_year').value}} </i> over Profit/Loss to 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>
Decrease in Profit/Loss to sales % in FY <i> {{details.get('financial_year').value}} </i> over Profit/Loss to 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>
</p>
@ -131,7 +131,7 @@
</mat-form-field>
</div>
</mat-card>
<mat-card>
<mat-card *ngIf="CustSegAbbr != 'AI'">
<mat-card-header>
<mat-card-title>
<h5>Financial As Per Customers</h5>

View File

@ -33,8 +33,9 @@ page-pd-question-financial-info {
background-color: #eee;
}
.large{
height: 50px;
height:30px;
}
.mat-form-field-label {
white-space: normal;
}

View File

@ -45,6 +45,7 @@ export class PdQuestionFinancialInfoPage {
AV_marginProfitAmtInwords: any=[];
AV_marginLossAmtInwords: any=[];
formDetails: any;
CustSegAbbr:any;
av : any =[{id:6, name:'Letter of Credit'},
{id:2, name:'Bank Guarantee'},
@ -62,6 +63,8 @@ export class PdQuestionFinancialInfoPage {
// this.FormId=this.navParams.get('FormId');
this.company_id=this.pdDetails.company_id
this.users=this.aws.getlocale();
let x = this.pdDetails.customer_segment_abbr.split("-");
this.CustSegAbbr=x[1]
this.initFinancialForm()
}
@ -134,7 +137,9 @@ export class PdQuestionFinancialInfoPage {
/** For Auto-generating FinYear */
dynamicalFinYear($event){
let e = $event.target.value;
// let e = $event.target.value;
let e =this.financialForm.controls['financial_no_of_year'].value
if(e != null && e != ''){
if(e == 1){
this.customerCommentsFlag = false;
}
@ -157,6 +162,7 @@ export class PdQuestionFinancialInfoPage {
}
}
}
}
initFinancialForm(){
@ -310,6 +316,7 @@ submitDetails(){
financeDate.push(this.createDate(''))
}
}
if(this.CustSegAbbr != 'AI'){
if(value['records'].is_financial_customer == 'no'){
let result_val=Object.keys(value['records'].estimated_value).map(function(key){
return value['records'].estimated_value[key]
@ -335,6 +342,7 @@ submitDetails(){
estimate.push(this.createValue(''));
}
}
}
retrieveData.pdid=this.pdDetails.pd_id
retrieveData.company_id=this.company_id
retrieveData.fk_createdby=this.users

View File

@ -28,6 +28,7 @@
<mat-select placeholder="Stock" formControlName="stock_observed" (selectionChange)="checkComments($event.value,1,a)">
<mat-option value="yes">Add Stock Details</mat-option>
<mat-option value="no">No Stock Observed</mat-option>
<mat-option value="stock not required to be maintained">Stock not required to be maintained</mat-option>
</mat-select>
</mat-form-field>
<span *ngIf="mrm.get('stock_observed').value == 'yes'">
@ -100,6 +101,7 @@
<mat-select placeholder="Stock" formControlName="goods_observed" (selectionChange)="checkComments($event.value,2,b)">
<mat-option value="yes">Add Stock Details</mat-option>
<mat-option value="no">No Stock Observed</mat-option>
<mat-option value="stock not required to be maintained">Stock not required to be maintained</mat-option>
</mat-select>
</mat-form-field>
<span *ngIf="mfg.get('goods_observed').value == 'yes'">
@ -173,6 +175,7 @@
<mat-select placeholder="Stock" formControlName="traded_goods_observed" (selectionChange)="checkComments($event.value,3,e)">
<mat-option value="yes">Add Stock Details</mat-option>
<mat-option value="no">No Stock Observed</mat-option>
<mat-option value="stock not required to be maintained">Stock not required to be maintained</mat-option>
</mat-select>
</mat-form-field>
<span *ngIf="item.get('traded_goods_observed').value == 'yes'">
@ -248,6 +251,7 @@
<mat-select placeholder="Stock" formControlName="traded_goods_observed" (selectionChange)="checkComments($event.value,4,g)">
<mat-option value="yes">Add Stock Details</mat-option>
<mat-option value="no">No stock observed</mat-option>
<mat-option value="stock not required to be maintained">Stock not required to be maintained</mat-option>
</mat-select>
</mat-form-field>
<span *ngIf="tradetg.get('traded_goods_observed').value == 'yes'">

View File

@ -82,7 +82,7 @@ export class PdQuestionStockInfoPage {
let api = Object.keys(record.from_business).map(function (key) {
return record.from_business[key];
});
if(record.from_business.length>0){
let type3 = record.from_business.filter(data => data.type_of_activity_id == 3);
let type3length = type3[0].hasOwnProperty("products") ? type3[0].products.length : 0;
let type4 = record.from_business.filter(data => data.type_of_activity_id == 4);
@ -262,6 +262,13 @@ export class PdQuestionStockInfoPage {
}
}
})
}
else{
this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id );
this.noRecordsFound = false;
this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';
return;
}
}
ionViewDidLoad() {
@ -654,7 +661,8 @@ export class PdQuestionStockInfoPage {
WholeSaleCounterArray: any = [];
checkComments(value, flag, index) {
let count:number
console.log(this.stockForm);
if (flag == 1) {
this.ManufacturingCounterArray[index] = value == "yes" ? 1 : 0
let RMOverallCount = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);
@ -669,6 +677,7 @@ export class PdQuestionStockInfoPage {
if (flag == 4) {
this.WholeSaleCounterArray[index] = value == "yes" ? 1 : 0
}
let FGOverallCount = this.FinishedCounterArray.reduce((sum, val) => sum + +val, 0);
let RTGOverallCount = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);
let WTGOverallCount = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);

View File

@ -54,18 +54,19 @@
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput placeholder="Contact Person Mobile Number" autocomplete="off" formControlName="manufacturing_contact_person_mobile_number"
maxlength="10" type="number">
<mat-error>Enter Valid Mobile Number.</mat-error>
minlength="10" maxlength="10" type="tel">
<mat-error style="font-size: 12px">Enter Valid Mobile Number</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput autocomplete="off" placeholder="STD Code" formControlName="person_stdcode" type="number">
<mat-error>Enter Valid STD Code Number.</mat-error>
<input matInput autocomplete="off" placeholder="STD Code" formControlName="person_stdcode" type="tel"
minlength="3" maxlength="5">
<mat-error style="font-size: 12px">Enter Valid STD Code Number</mat-error>
</mat-form-field>
<!-- &nbsp; - &nbsp; -->
<mat-form-field style="width: 100%">
<input matInput autocomplete="off" placeholder="Contact Person Landline Number" formControlName="person_landline"
type="number">
<mat-error>Enter Valid LandLine Number.</mat-error>
type="tel" minlength="6" maxlength="8">
<mat-error style="font-size: 12px">Enter Valid LandLine Number</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="Payment Terms" formControlName="manufacturing_payment_type"
@ -162,19 +163,19 @@
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput placeholder="Contact Person Mobile Number" autocomplete="off" formControlName="trade_product_contact_person_mobile_number"
type="number" maxlength="10">
<mat-error>Enter Valid Mobile Number.</mat-error>
type="tel" maxlength="10" minlength="10">
<mat-error style="font-size: 12px">Enter Valid Mobile Number</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput autocomplete="off" placeholder="STD Code" formControlName="person_stdcode" type="text"
type="number">
<mat-error>Enter Valid STD Code Number.</mat-error>
<input matInput autocomplete="off" placeholder="STD Code" formControlName="person_stdcode" type="tel"
minlength="3" maxlength="5">
<mat-error style="font-size: 12px">Enter Valid STD Code Number</mat-error>
</mat-form-field>
<!-- &nbsp; - &nbsp; -->
<mat-form-field style="width: 100%">
<input matInput autocomplete="off" placeholder="Contact Person Landline Number" formControlName="person_landline"
type="number">
<mat-error>Enter Valid LandLine Number.</mat-error>
type="tel" minlength="6" maxlength="8">
<mat-error style="font-size: 12px">Enter Valid LandLine Number</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="Payment Terms" formControlName="trade_product_payment_type"

View File

@ -19,6 +19,7 @@
<mat-label>Do you have any other Existing Loans</mat-label>
<mat-select
formControlName="existing_loan" (selectionChange)="exitsCheck($event.value)">
<mat-option>Select</mat-option>
<mat-option value="Yes">Yes</mat-option>
<mat-option value="No">No</mat-option>
</mat-select>
@ -32,6 +33,7 @@
<mat-card-content class="matcard">
<mat-form-field style="width: 100%">
<mat-select placeholder="Loan Type" formControlName="loan_type">
<mat-option>Select</mat-option>
<mat-option *ngFor="let types of loanTypeData" [value]="types.existing_loan_type_id">{{types.loan_type_name}}</mat-option>
</mat-select>
@ -46,6 +48,7 @@
<mat-form-field style="width: 100%">
<mat-select placeholder="Lender" formControlName="lender">
<mat-option>Select</mat-option>
<mat-option *ngFor="let btLen of lenderData" [value]="btLen.bt_lender_list_id">{{btLen.lender_name}}</mat-option>
</mat-select>
</mat-form-field>
@ -67,6 +70,7 @@
<mat-form-field style="width: 100%">
<mat-select (selectionChange)="selectedfrequency($event.value,i)" placeholder="Frequency"
formControlName="frequency" required>
<mat-option>Select</mat-option>
<mat-option *ngFor="let freq of frequencyData" value="{{freq.frequency_id}}">{{freq.name}}</mat-option>
</mat-select>
</mat-form-field>

View File

@ -338,6 +338,9 @@ inWords(val,flag:number){
this.inWords(Emp.bonus_incentive,4);
this.inWords(Emp.amount_paid_in_cash,5);
this.inWords(Emp.amount_paid_through_bank,6);
if(Emp.total_business_experience != ''){
this.checkWorkingExperiences();
}
}
})

View File

@ -22,6 +22,7 @@
<mat-form-field>
<mat-select placeholder="Applicants" formControlName="selected_person" (selectionChange)="selectedPerson($event.value,i)" required>
<mat-option>Select</mat-option>
<mat-option value="{{pd.pd_co_applicant_id}}"
*ngFor="let pd of pdDetails.applicat_details">{{pd.applicant_name}}</mat-option>
@ -43,6 +44,7 @@
<h5>Residence Details of {{FamilyMemberAsLabel[i]}}</h5>
<mat-form-field>
<mat-select matInput placeholder="State" formControlName="residence_state" required (selectionChange)="getCity($event.value,i)" >
<mat-option>Select</mat-option>
<mat-option [value]="s.state_id" *ngFor="let s of stateData">
{{s.name}}
</mat-option>
@ -50,6 +52,7 @@
</mat-form-field>
<mat-form-field>
<mat-select matInput placeholder="City" formControlName="residence_city" required>
<mat-option>Select</mat-option>
<mat-option *ngFor="let c of cityData[i]" [value]="c.city_id" >
{{c.city_name}}
</mat-option>
@ -60,6 +63,7 @@
</mat-form-field>
<mat-form-field>
<mat-select matInput placeholder="Pin" formControlName="residence_pin" required>
<mat-option>Select</mat-option>
<mat-option *ngFor="let p of pincodeData[i]" [value]="p.pincode_id">
{{p.pincode}}
</mat-option>
@ -73,6 +77,7 @@
</mat-form-field>
<mat-form-field>
<mat-select placeholder="Ownership " formControlName="residence_ownership" required>
<mat-option>Select</mat-option>
<mat-option value="{{own.id}}" *ngFor="let own of ownerShip">{{own.name}}</mat-option>
</mat-select>
</mat-form-field>
@ -104,6 +109,7 @@
</mat-form-field>
<mat-form-field>
<mat-select placeholder="Relationship *" formControlName="family_member_relationship" >
<mat-option>Select</mat-option>
<mat-option *ngFor="let relation of relationData" value="{{relation.relationship_id}}">{{relation.name}}
</mat-option>
</mat-select>
@ -113,6 +119,7 @@
</mat-form-field>
<mat-form-field >
<mat-select placeholder="Earning Status *" formControlName="family_member_earning_status">
<mat-option>Select</mat-option>
<mat-option *ngFor="let earning of earningStatus" value="{{earning.id}}">{{earning.type}}
</mat-option>
</mat-select>
@ -121,6 +128,7 @@
<h6>Earning Details</h6>
<mat-form-field>
<mat-select placeholder="Segment" formControlName="earning_segment" >
<mat-option>Select</mat-option>
<mat-option value="{{segment.earning_member_status_id}}" *ngFor="let segment of cusSeg">
{{segment.earning_member_status}}
</mat-option>
@ -145,6 +153,7 @@
<div *ngIf="item.get('family_member_earning_status').value == 2">
<mat-form-field>
<mat-select placeholder="Occupation" formControlName="non_earning_occupation" >
<mat-option>Select</mat-option>
<mat-option value="{{occupation.occupation_non_earning_member_id}}" *ngFor="let occupation of occupationData">
{{occupation.name}}
</mat-option>
@ -157,7 +166,7 @@
<input matInput placeholder="Specify School/College Name" formControlName="non_earning_if_schoolorcollege">
</mat-form-field>
<mat-form-field *ngIf="item.get('non_earning_occupation').value==3">
<input matInput type="date" placeholder="Retired From" formControlName="non_earning_if_retired_from" >
<input matInput type="text" placeholder="Retired From" formControlName="non_earning_if_retired_from" >
</mat-form-field>
</div>

View File

@ -22,6 +22,7 @@
<mat-card-content>
<mat-form-field>
<mat-select placeholder="Customer Behaviour" formControlName="final_custormer_remark_type">
<mat-option>Select</mat-option>
<mat-option *ngFor="let pm of m_remarkTypeCustomerBehaviour" [value]="pm.customer_behaviour_id">{{pm.description}}</mat-option>
</mat-select>
</mat-form-field>
@ -40,7 +41,8 @@
<mat-select
formControlName="is_service_provided" required>
<mat-option>Select</mat-option>
<mat-option>Select</mat-option>
<mat-option>Select</mat-option>
<mat-option value="well_suited.">Well Suited.</mat-option>
<mat-option value="fairly_suited">Fairly Suited</mat-option>
<mat-option value="not_suited">Not Suited</mat-option>
@ -126,7 +128,7 @@
<mat-card>
<mat-form-field appearance="outline">
<mat-label>Remarks</mat-label>
<textarea matInput autocomplete="off" placeholder="Remarks" formControlName="final_form_remarks" required></textarea>
<textarea matInput autocomplete="off" placeholder="Other Remarks" formControlName="final_form_remarks" ></textarea>
</mat-form-field>
</mat-card>
<ion-row>

View File

@ -75,6 +75,7 @@
<div [formGroupName]="i" *ngFor="let indi of generalForm.controls.individuals['controls']; let i=index">
<mat-form-field style="width:100%">
<mat-select placeholder="Title" formControlName="applicant_title_name">
<mat-option>Select</mat-option>
<mat-option *ngFor="let t1 of titleList" [value]="t1.title_id">{{t1.name}}</mat-option>
</mat-select>
</mat-form-field>
@ -90,6 +91,7 @@
<mat-form-field style="width:100%">
<mat-select placeholder="Qualification" formControlName="qualification" >
<mat-option>Select</mat-option>
<mat-option [value]="qu.qualification_id" *ngFor="let qu of qualificationList">{{qu.qualification_name}}</mat-option>
</mat-select>
<mat-error style="color:red;font-size:12px;margin:0;padding:0;font-weight: normal;float:right" *ngIf="indi.controls['qualification'].errors?.required || indi.controls['qualification'].touched">Qualification is Required</mat-error>
@ -240,6 +242,7 @@
<br/>
<mat-form-field style="width:100%">
<mat-select placeholder="Business Entity Type" formControlName="business_entity_type" required>
<mat-option>Select</mat-option>
<mat-option *ngFor="let business of businessEntityTypeList" [value]="business.business_entity_type_id">
{{business.business_entity_type_name}}
</mat-option>
@ -286,16 +289,19 @@
<h6>Applicant {{i+1}}</h6>
<mat-form-field style="width:100%">
<mat-select formControlName="applicant_name" placeholder="Applicant">
<mat-option *ngFor="let name of fulldata" [value]="name.applicant_name">{{name.applicant_name}}</mat-option>
<mat-option>Select</mat-option>
<mat-option *ngFor="let name of fulldata" [value]="name.applicant_name">{{name.applicant_name | titlecase}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width:100%">
<mat-select formControlName="relationship" placeholder="Relation">
<mat-option [value]="member.relationship_id" *ngFor="let member of relationShipList">{{member.name}}</mat-option>
<mat-option>Select</mat-option>
<mat-option [value]="member.relationship_id" *ngFor="let member of relationShipList">{{member.name + ' Of' | titlecase}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width:100%" >
<mat-select placeholder="RelationTo" formControlName="relation_to">
<mat-option>Select</mat-option>
<mat-option [value]="rel.pd_co_applicant_id" *ngFor="let rel of individualsList ">{{rel.applicant_name | titlecase}}</mat-option>
<mat-option value="0">Not Applicable</mat-option>
@ -316,19 +322,22 @@
<h6>Applicant {{i+1}}</h6>
<mat-form-field style="width:100%">
<mat-select formControlName="applicant_name" placeholder="Applicant Name">
<mat-option *ngFor="let name of individualsListBothCase" [value]="name.pd_co_applicant_id">{{name.applicant_name}}</mat-option>
<mat-option>Select</mat-option>
<mat-option *ngFor="let name of individualsListBothCase" [value]="name.pd_co_applicant_id">{{name.applicant_name | titlecase}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width:100%">
<mat-select formControlName="company_relationship" placeholder="Company Relation">
<mat-option>Select</mat-option>
<mat-option *ngFor="let comrelShip of companyRelationShipList" [value]="comrelShip.company_relationship_id">
{{comrelShip.name }}
{{comrelShip.name | titlecase}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width:100%">
<mat-select formControlName="relation_to_company" placeholder="Relation to">
<mat-option *ngFor="let comp of companyList" [value]="comp.company_order_id">{{comp.company_name}}</mat-option>
<mat-option>Select</mat-option>
<mat-option *ngFor="let comp of companyList" [value]="comp.company_order_id">{{comp.company_name | titlecase}}</mat-option>
</mat-select>
</mat-form-field>
<span float-right ion-button small color="optblue" clear (click)="removeList(i,'companyrel')"><ion-icon style="font-size: 24px" name="md-trash"></ion-icon></span>

View File

@ -20,6 +20,7 @@
<mat-form-field style="width: 100%">
<mat-select (selectionChange)="selectedLoanChanges($event)" placeholder="Did the lender representative accompany the PD officer for PD?"
formControlName="lender_representative_accompany">
<mat-option>Select</mat-option>
<mat-option value="Yes">Yes</mat-option>
<mat-option value="No">No</mat-option>
</mat-select>

View File

@ -23,16 +23,18 @@
<mat-hint align="end" *ngIf="loanDetailsForm.controls['loan_amount'].value != ''">{{"&#8377;"}} {{loanAmtInWords}} Only</mat-hint>
</mat-form-field>
<mat-form-field style="width:100%">
<mat-label>Loan Tenture applied for?</mat-label>
<mat-label>Loan Tenure applied for?</mat-label>
<input matInput autocomplete="off" placeholder="No of Months" formControlName="loan_tenure" type="number">
</mat-form-field>
<mat-form-field style="width:100%">
<mat-select placeholder="Sub Product" formControlName="sub_product" (selectionChange)="onChangeSubProduct($event.value)">
<mat-option>Select</mat-option>
<mat-option *ngFor="let sub of m_endUseofLoad" [value]="sub.subproduct_id">{{sub.name}} ( {{sub.abbr}} )</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select multiple (selectionChange)="endUserChange($event.value)" placeholder="What is the end use" formControlName="end_use" required>
<mat-option *ngFor="let enduse of m_endUseForLoan" [value]="enduse.enduse_of_loan_id">{{ enduse.enduse_of_loan }}</mat-option>
</mat-select>
<!--<mat-select multiple placeholder="What is the end use"
@ -53,6 +55,7 @@
<mat-form-field style="width: 100%">
<mat-select placeholder="Is there a balance transfer ? " (selectionChange)="selectedBalancesTransferChanges($event)"
formControlName="is_transfer" required>
<mat-option>Select</mat-option>
<mat-option value="yes">Yes</mat-option>
<mat-option value="no">No</mat-option>
</mat-select>
@ -72,7 +75,13 @@
<mat-form-field style="width: 100%" *ngIf="loanDetailsForm.controls['is_transfer'].value == 'yes'">
<mat-select placeholder="Lender from where balance transfer done"
formControlName="lender">
<mat-option *ngFor="let btLen of m_btLenderList" [value]="btLen.bt_lender_list_id">{{ btLen.lender_name }}</mat-option>
<mat-option>
<ngx-mat-select-search formControlName="filterCtrl" [placeholderLabel]="'Find Lender by Name...'"
[noEntriesFoundLabel]="'No Matching Result'">
<ion-icon name="md-close" ngxMatSelectSearchClear></ion-icon>
</ngx-mat-select-search>
</mat-option>
<mat-option *ngFor="let btLen of filteredBanks | async" [value]="btLen.bt_lender_list_id">{{ btLen.lender_name }}</mat-option>
</mat-select>
</mat-form-field>
@ -86,19 +95,22 @@
<mat-form-field style="width:100%" *ngIf="loanDetailsForm.controls['topup_amount'].value > 0 " >
<mat-select placeholder="What is the End Use of the Top Up?"
formControlName="end_use_topup" >
<mat-option *ngFor="let list of m_endUseOFTopUpList" [value]="list.end_use_of_topup_id">{{ list.end_use_of_topup }}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width:100%" *ngIf="loanDetailsForm.controls['end_use_topup'].value == 1">
<input matInput placeholder="Specify End Use of Top Up" formControlName="other_end_use_topup" autocomplete="off">
</mat-form-field>
<mat-form-field style="width: 100%" *ngIf="loanDetailsForm.controls['is_transfer'].value == 'no'">
<div *ngIf="loanDetailsForm.controls['is_transfer'].value != 'yes' && loanDetailsForm.controls['is_transfer'].value != '' && !isContribution">
<mat-form-field style="width: 100%">
<input matInput placeholder="Amount of Own Contribution" formControlName="own_contribution" type="number" required (keyup)="inWords($event,4)">
<mat-hint align="end" *ngIf="loanDetailsForm.controls['own_contribution'].value != ''">{{"&#8377;"}} {{ownContributionInWords}} Only</mat-hint>
</mat-form-field>
<mat-form-field style="width: 100%" *ngIf="loanDetailsForm.controls['is_transfer'].value == 'no'">
<mat-form-field style="width: 100%" >
<mat-select placeholder="Source of Own Contribution" formControlName="source" (selectionChange)="sourceChange($event.value)" multiple >
<mat-option *ngFor="let sour of m_sourceofamount" [value]="sour.id">{{ sour.name }}</mat-option>
</mat-select>
@ -116,8 +128,9 @@
<mat-form-field *ngIf="isOtherSource" style="width: 100%">
<input matInput placeholder="Specify Other Sources" formControlName="other_source" autocomplete="off">
</mat-form-field>
</div>
<mat-form-field style="width: 100%">
<input matInput placeholder="EMI Comfort Level" formControlName="emi_level" type="number" (keyup)="inWords($event,6)" required>
<input matInput placeholder="EMI Amount Comfortable Paying" formControlName="emi_level" type="number" (keyup)="inWords($event,6)" required>
<mat-hint align="end" *ngIf="loanDetailsForm.controls['emi_level'].value != ''">{{"&#8377;"}} {{emiAmtInWords}} Only</mat-hint>
</mat-form-field>
</mat-card>
@ -131,6 +144,7 @@
<mat-card-content class="matcard">
<mat-form-field style="width: 100%">
<mat-select placeholder="Type of Property" formControlName="property_type" (selectionChange)="mortage_type($event.value)" required>
<mat-option>Select</mat-option>
<mat-option *ngFor="let typeprop of m_mortageTypeProperty" [value]="typeprop.mortage_property_id">{{ typeprop.property_name }}</mat-option>
</mat-select>
</mat-form-field>
@ -150,6 +164,7 @@
<mat-form-field style="width: 100%">
<mat-select placeholder="Status of Construction" formControlName="construction_status" required>
<mat-option>Select</mat-option>
<mat-option *ngFor="let status of m_statusofCunstruction" [value]="status.id">{{ status.name }} </mat-option>
</mat-select>
</mat-form-field>

View File

@ -1,10 +1,12 @@
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { FormGroup, FormArray, FormBuilder, Validators } from '@angular/forms';
import { FormGroup, FormArray, FormBuilder, Validators, FormControl } from '@angular/forms';
import { QuestionCategoryProvider } from '../../../providers/question-category/question-category';
import { AwsServiceProvider } from '../../../providers/aws-service/aws-service';
import { ToastProvider } from '../../../providers/common-provider/toast';
import { ConstantsProvider } from '../../../providers/constants/constants';
import { takeUntil } from 'rxjs/operators';
import { ReplaySubject, Subject } from 'rxjs';
/**
* Generated class for the PdQuestionLoansPage page.
@ -12,12 +14,17 @@ import { ConstantsProvider } from '../../../providers/constants/constants';
* See https://ionicframework.com/docs/components/#navigation for more info on
* Ionic pages and navigation.
*/
export interface Dbmaster{
bt_lender_list_id: number;
lender_name: string;
// constant_name: string;
}
@Component({
selector: 'page-pd-question-loans',
templateUrl: 'pd-question-loans.html',
})
export class PdQuestionLoansPage {
enduse: any = [];
propertyType: any;
@ -59,6 +66,11 @@ export class PdQuestionLoansPage {
sourceList:any=[];
pdid:number;
m_endUseForLoan:any;
//public filterCtrl:FormControl=new FormControl
private dbmasters: Dbmaster[];
/** Subject that emits when the component has been destroyed. */
protected _onDestroy = new Subject<void>();
public filteredBanks: ReplaySubject<Dbmaster[]> = new ReplaySubject<Dbmaster[]>(1);
constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider,public constant:ConstantsProvider) {
this.FormId = this.navParams.get('FormId');
@ -70,7 +82,7 @@ export class PdQuestionLoansPage {
this.getDropdown();
this.loanDetailsForm = this.fb.group({
loan_amount: [this.pdDetails.loan_amount],
loan_amount: [''],
loan_tenure:[''],
sub_product:[''],
end_use: ['', Validators.compose([Validators.required])],
@ -83,6 +95,7 @@ export class PdQuestionLoansPage {
end_use_topup:[''],
other_end_use_topup:[''],
lender: [''],
filterCtrl:[''],
other_bt_lender : [''],
own_contribution: ['', Validators.compose([Validators.required])],
source: [''],
@ -99,10 +112,16 @@ export class PdQuestionLoansPage {
//value_per_agreement: ['', Validators.compose([Validators.required])],
loandetails_remarks: ['', Validators.compose([Validators.required])],
});
console.log(this.pdDetails.loanAmount)
console.log(this.pdDetails)
//Setting Initial value from PD Master
if(this.loanDetailsForm.controls['loan_amount'] !=null){
this.loanDetailsForm.controls['loan_amount'].setValue(this.pdDetails.loan_amount)
this.loanAmtInWords=this.constant.convertNumberToWords(this.pdDetails.loan_amount);
}
if(this.pdDetails.fk_subproduct_id != null && this.pdDetails.fk_subproduct_id != ''){
this.loanDetailsForm.controls['sub_product'].setValue(this.pdDetails.fk_subproduct_id)
this.onChangeSubProduct(this.pdDetails.fk_subproduct_id);
}
if(this.pdDetails.product_abbr !="BL" || this.pdDetails.product_abbr !="PL" || this.pdDetails.product_abbr !="LL")
{
@ -116,20 +135,84 @@ export class PdQuestionLoansPage {
if(this.productAbbr == 'PL' || this.productAbbr == 'BL' || this.productAbbr == 'LAP'){
this.isContribution = true;
}
this.loanDetailsForm.controls['filterCtrl'].valueChanges
.pipe(takeUntil(this._onDestroy))
.subscribe(()=>{
this.filterBank();
})
}
protected filterBank(){
if(!this.dbmasters){
return
}
let search=this.loanDetailsForm.controls['filterCtrl'].value
if(!search){
this.dbmasters=this.m_btLenderList
// this.dbmasters=this.dbmasters.sort((a,b)=>{
// if(a.lender_name>b.lender_name){
// return 1;
// }
// if(a.lender_name<b.lender_name){
// return -1
// }
// return 0
// });
this.filteredBanks.next(this.dbmasters.slice())
//console.log("Filtered banks",this.filteredBanks)
return
}else{
search=search.toLowerCase();
}
this.dbmasters=this.m_btLenderList
// this.dbmasters=this.dbmasters.sort((a,b)=>{
// if(a.lender_name>b.lender_name){
// return 1;
// }
// if(a.lender_name<b.lender_name){
// return -1
// }
// return 0
// });
// console.log("db",this.dbmasters)
this.filteredBanks.next(
this.dbmasters.filter(master => master.lender_name.toLowerCase().indexOf(search) > -1)
//this.dbmasters.filter(master => master.lender_name==search)
)
// console.log("mbtlender",this.m_btLenderList)
// console.log("Filtered banks",this.filteredBanks)
}
ionViewDidLoad() {
console .log('ionViewDidLoad PdQuestionLoansPage');
this.getLoanDetails();
}
ngOnDestroy() {
this._onDestroy.next();
this._onDestroy.complete();
}
getDropdown() {
this.qustCat.getcommondrop('BTLENDERLIST').subscribe(
data => {
this.m_btLenderList = data['records'].filter(data => data.isactive == 1);
this.dbmasters=this.m_btLenderList
this.dbmasters=this.dbmasters.sort((a,b)=>{
if(a.lender_name>b.lender_name){
return 1;
}
if(a.lender_name<b.lender_name){
return -1
}
return 0
});
console.log("drop",this.dbmasters)
this.filteredBanks.next(this.dbmasters.slice())
console.log("filtere first",this.filteredBanks);
})
this.qustCat.getEndUseForLoan(this.pdid,this.pdDetails.fk_subproduct_id).subscribe(data=>{
@ -201,7 +284,7 @@ export class PdQuestionLoansPage {
return data;
}
});
this.endUserChange(this.enduse);
this.endUserChange(this.enduse)
}
});
@ -572,13 +655,19 @@ export class PdQuestionLoansPage {
if (loanDetails.lender) {
this.loanDetailsForm.controls['lender'].setValue(loanDetails.lender);
}
this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution);
if(loanDetails.own_contribution)
{
this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution);
}
// this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution);
// if(loanDetails.own_contribution)
// {
// this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution);
// }
//this.loanDetailsForm.controls['source'].setValue(loanDetails.source);
if(loanDetails.is_transfer!='yes')
if ((this.isContribution == true) && (loanDetails.is_transfer != 'yes')) {
this.loanDetailsForm.controls['own_contribution'].setValue('');
this.loanDetailsForm.controls['other_source'].setValue('');
this.loanDetailsForm.controls['source'].setValue('');
}
else{
if(this.isContribution == false && loanDetails.is_transfer!='yes')
{
let source=Object.keys(loanDetails.source_group).map(function(key){
return loanDetails.source_group[key];
@ -587,6 +676,8 @@ export class PdQuestionLoansPage {
source.forEach(val=>{
dbsourcelist.push(val.sources);
});
this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution)
if (loanDetails.own_contribution) { this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution); }
this.loanDetailsForm.controls['source'].setValue(dbsourcelist);
this.sourceChange(dbsourcelist);
if(loanDetails.other_source) {
@ -596,6 +687,7 @@ export class PdQuestionLoansPage {
}
}
/* if (loanDetails.lender_name_type) {
this.loanDetailsForm.controls['lender_name_type'].setValue(loanDetails.lender_name_type);
@ -608,7 +700,7 @@ export class PdQuestionLoansPage {
this.loanDetailsForm.controls['other_bt_lender'].setValue(loanDetails.other_bt_lender);
this.loanDetailsForm.controls['property_type'].setValue(loanDetails.property_type);
this.propertyType =loanDetails.property_type;
if(loanDetails.property_type !=null){
if(loanDetails.property_type !=null && loanDetails.property_type !=''){
this.mortage_type(this.propertyType);
if(this.mortageCardAccess == true){
this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails.property_type_others);

View File

@ -4,7 +4,7 @@
<button ion-button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<ion-title *ngIf="!viewchange">Neighbourhood</ion-title>
<ion-title *ngIf="!viewchange">Neighbourhood Details</ion-title>
<!-- {{FormId.form_name}} -->
@ -34,6 +34,7 @@
</mat-form-field>
<mat-form-field style="width: 100%">
<mat-select placeholder="Do you know about the applicants or their business?" formControlName="do_know">
<mat-option>Select</mat-option>
<mat-option value="Yes">Yes</mat-option>
<mat-option value="No">No</mat-option>
</mat-select>
@ -98,6 +99,7 @@
<div>
<mat-form-field >
<mat-select placeholder="Status of the check as per PD officer?" formControlName="neighbourhood_status">
<mat-option>Select</mat-option>
<mat-option value="Positive">Positive</mat-option>
<mat-option value="Negative">Negative</mat-option>
</mat-select>

View File

@ -40,6 +40,7 @@
<mat-form-field style="width: 100%">
<mat-select placeholder="Source"
formControlName="source">
<mat-option>Select</mat-option>
<mat-option *ngFor="let source of sourceIncome" [value]="source.id">{{source.name}}</mat-option>
</mat-select>
</mat-form-field>
@ -69,6 +70,7 @@
<mat-form-field style="width: 100%">
<mat-select placeholder="Frequency" formControlName="frequency">
<mat-option>Select</mat-option>
<mat-option value="{{frq.frequency_id}}" *ngFor="let frq of frequencyData">{{frq.name}}</mat-option>
</mat-select>
</mat-form-field>

View File

@ -0,0 +1,4 @@
export interface searchValue{
id:number;
name:string
}

View File

@ -19,7 +19,7 @@ public commonimage = "http://ssa.sineedge.com/sparqapi/logo/avatar.jpg";
let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/';
let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/';
let localapiurl = 'http://192.168.0.9/sparqapi/api/';
return devapiurl;
return testapiurl;
}
getcurrentDate()

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -29377,6 +29377,19 @@ page-pd-question-business-assets .scroll-content {
background-color: #eee;
}
page-pd-question-business-assets .mat-form-field-label {
white-space: normal;
}
page-pd-question-business-assets textarea.mat-input-element {
padding: 0px 0;
margin: 5px 0;
}
page-pd-question-business-assets mat-select {
margin-top: 7px;
}
page-pd-question-business-banking .mat-card {
margin-bottom: 15px;
border-radius: 10px !important;
@ -29458,7 +29471,7 @@ page-pd-question-business-info input {
}
page-pd-question-business-info mat-select {
margin-top: 5px;
margin-top: 8px;
}
page-pd-question-client-info mat-hint {
@ -29520,7 +29533,7 @@ page-pd-question-financial-info .scroll-content {
}
page-pd-question-financial-info .large {
height: 50px;
height: 30px;
}
page-pd-question-financial-info .mat-form-field-label {