Fairoj: Queries page and other changes

This commit is contained in:
venbatechnologies@gmail.com 2019-08-22 19:10:03 +05:30
parent 3a17d249fe
commit 2ebde3b1f0
27 changed files with 2564 additions and 1476 deletions

File diff suppressed because it is too large Load Diff

View File

@ -49,7 +49,7 @@
"font-awesome": "4.7.0",
"hammerjs": "2.0.8",
"intl": "^1.2.4",
"jquery": "3.2.1",
"jquery": "^3.4.1",
"karma-jasmine": "^1.1.1",
"leaflet": "^1.0.2",
"moment": "^2.15.0",
@ -66,7 +66,7 @@
"ngx-mat-select-search": "^1.3.1",
"ngx-perfect-scrollbar": "5.0.0-7",
"ngx-viewer": "^1.0.1",
"node-sass": "^4.11.0",
"node-sass": "^4.12.0",
"perfect-scrollbar": "^1.3.0",
"quill": "^1.2.0",
"rxjs": "^6.3.1",
@ -81,7 +81,7 @@
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.6.8",
"@angular-devkit/build-angular": "^0.12.4",
"@angular/cli": "^6.0.0-rc.5",
"@angular/compiler-cli": "^6.0.0-rc.5",
"@types/aws-sdk": "^2.7.0",
@ -96,7 +96,6 @@
"karma-chrome-launcher": "2.1.1",
"karma-cli": "1.0.1",
"karma-coverage-istanbul-reporter": "1.3.0",
"karma-jasmine": "1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "5.1.2",
"ts-node": "~5.0.0",

View File

@ -54,20 +54,21 @@
<span fxFlex></span>
<span class="menu-badge mat-{{ badge.type }}" *ngFor="let badge of menuitem.badge">{{ badge.value }}</span>
</a>
<a appAccordionToggle class="relative" mat-ripple href="javascript:;" *ngIf="menuitem.type === 'sub'">
<!-- For sub menu -->
<a appAccordionToggle class="relative" mat-ripple href="javascript:;" *ngIf="menuitem.type === 'multi'">
<mat-icon>{{ menuitem.icon }}</mat-icon>
<span>{{ menuitem.name | translate }}</span>
<span fxFlex></span>
<span class="menu-badge mat-{{ badge.type }}" *ngFor="let badge of menuitem.badge">{{ badge.value }}</span>
<mat-icon class="menu-caret">arrow_drop_down</mat-icon>
</a>
<mat-nav-list class="sub-menu" *ngIf="menuitem.type === 'sub'">
<mat-nav-list class="sub-menu" *ngIf="menuitem.type === 'multi'">
<mat-list-item *ngFor="let childitem of menuitem.children" routerLinkActive="open">
<a [routerLink]="['/', menuitem.state, childitem.state ]" class="relative" mat-ripple>{{ childitem.name | translate }}</a>
<a [routerLink]="['/'+childitem.state ]" class="relative" mat-ripple>{{ childitem.name | translate }}</a>
</mat-list-item>
</mat-nav-list>
<!-- Multi-->
<a appAccordionToggle class="relative" mat-ripple href="javascript:;" *ngIf="menuitem.type === 'multi'">
<!-- END OF Multi-->
<a appAccordionToggle class="relative" mat-ripple href="javascript:;" *ngIf="menuitem.type === 'sub'">
<mat-icon>{{ menuitem.icon }}</mat-icon>
<span>{{ menuitem.name | translate }}</span>
<span fxFlex></span>

View File

@ -14,7 +14,7 @@
</mat-card-header>
<mat-card-content>
<mat-form-field style="width: 28%">
<mat-select placeholder="Lender Name" formControlName="fk_lender_id">
<mat-select placeholder="Lender Name" formControlName="fk_lender_id" (selectionChange)="getContactPerson()">
<!-- (selectionChange)="getBillingDetails(pdMain.fk_lender_id.value)" -->
<mat-option> Select </mat-option>
<mat-option (click)="selectedLender(LL)" *ngFor="let LL of lenderList" [value]="LL.entity_id" >
@ -23,7 +23,7 @@
</mat-select>
</mat-form-field>
<mat-form-field style="width: 28%">
<mat-select placeholder="Branch" formControlName="pd_branch_id">
<mat-select placeholder="Branch" formControlName="pd_branch_id" (selectionChange)="getContactPerson()">
<!-- (selectionChange)="getBillingDetails(pdMain.fk_lender_id.value)" -->
<mat-option>
Select
@ -38,6 +38,23 @@
<input matInput autocomplete="off" placeholder=" Loan Application ID" formControlName="lender_applicant_id" type="text" required>
<!-- <mat-error *ngIf="pdMain.lender_applicant_id.hasError('required')">Applicant ID Required</mat-error> -->
</mat-form-field>
<div *ngIf="sales_and_credit_enable">
<mat-form-field style="width: 28%">
<mat-select placeholder="Lender Sales Person" formControlName="lender_sales_person">
<mat-option>Select</mat-option>
<mat-option *ngFor="let person of sales_and_credit_person.sales_person" [value]="person.userid">{{person.user_name}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 28%">
<mat-select placeholder="Lender Credit Person" formControlName="lender_credit_person">
<mat-option>Select</mat-option>
<mat-option *ngFor="let person of sales_and_credit_person.credit_person" [value]="person.userid">{{person.user_name}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width: 28%">
<input matInput autocomplete="off" placeholder="Financial Institution" formControlName="imgc_fin_institute">
</mat-form-field>
</div>
<mat-form-field style="width: 28%">
<input matInput autocomplete="off" placeholder="Lender Contact Person" formControlName="lender_contact_person" type="text" required>

View File

@ -52,6 +52,8 @@ export class AddPdComponent implements OnInit, OnDestroy {
disableAfterSubmit: boolean;
pincodeflag : any = [];
isSubproductShown: boolean = true;
sales_and_credit_person:any=[]
sales_and_credit_enable:boolean=false;
constructor(notifier: NotifierService, private _fb: FormBuilder, private route: ActivatedRoute,
private router: Router, private _pd: PdTrigerService, private _aws: AwsService, private ListPdComponent: ListPdComponent,
private titleCase : TitleCasePipe) {
@ -83,6 +85,9 @@ export class AddPdComponent implements OnInit, OnDestroy {
fk_lender_id: [null],
pd_branch_id: [null],
lender_applicant_id: [null, Validators.compose([Validators.required])],
lender_sales_person:[null],
lender_credit_person:[null],
imgc_fin_institute:[null],
lender_contact_person: [null, Validators.compose([Validators.required])],
lender_contact_mobile: [null, Validators.compose([Validators.minLength(10), Validators.maxLength(12), Validators.pattern('^[0-9]*$')])],
lender_stdcode: [null, Validators.compose([Validators.minLength(3), Validators.maxLength(5), Validators.pattern('^[0-9]*$')])],
@ -148,6 +153,13 @@ export class AddPdComponent implements OnInit, OnDestroy {
this._PDtriggerForm.controls['fk_customer_segment'].setValue('');
this._PDtriggerForm.controls['loan_amount'].setValue('');
if(this.lenderShortName == "IIB"){ //FOR INDUSLAND BANK
// console.log("entered");
this._PDtriggerForm.controls['fk_product_id'].setValue("3")
this._PDtriggerForm.controls['fk_pd_type'].setValue("1");
this.getSubproductList("3")
}
// console.log("len",lender)
}
@ -204,6 +216,7 @@ export class AddPdComponent implements OnInit, OnDestroy {
//get sub product list based on prokduct id
getSubproductList(productID: string) {
// console.log(productID)
let productabbr : any;
// console.log('productID',productID);
if(productID !== undefined && productID !== null && productID !== '') {
@ -545,15 +558,19 @@ export class AddPdComponent implements OnInit, OnDestroy {
return;
}
else {
if ((formValue.lender_contact_mobile == '' || formValue.lender_contact_mobile == null) && (formValue.lender_stdcode == '' || formValue.lender_stdcode == null && formValue.lender_landline == '' || formValue.lender_landline == null)) {
this.notifier.notify('warning', 'Either Mobile or Landline Need.!');
return;
}
else if (formValue.mobile_no != null && formValue.mobile_no.length != 10){
this.notifier.notify('warning', 'Please Check Applicant Mobile Number.!');
return;
}
else {
console.log(this._PDtriggerForm.value)
return
this.disableAfterSubmit = true;
let lender_landline_no;
@ -589,6 +606,9 @@ export class AddPdComponent implements OnInit, OnDestroy {
"fk_lender_id": formValue.fk_lender_id,
"lender_applicant_id": formValue.lender_applicant_id,
"pd_branch_id": formValue.pd_branch_id,
"lender_sales_person":formValue.lender_sales_person,
"lender_credit_person":formValue.lender_credit_person,
"imgc_fin_institute":formValue.imgc_fin_institute,
"pd_contact_person": formValue.lender_contact_person,
"pd_contact_mobileno": formValue.lender_contact_mobile,
"pd_contact_landline": lender_landline_no,
@ -764,5 +784,66 @@ export class AddPdComponent implements OnInit, OnDestroy {
}
});
}
getContactPerson(){
if(this._PDtriggerForm.value.fk_lender_id !=null && this._PDtriggerForm.value.pd_branch_id !=null ){
let lender_filter= this.checkLender(this._PDtriggerForm.value.fk_lender_id)
if(lender_filter != ''){
if(lender_filter=="IMGC"){
this.sales_and_credit_enable=true;
this._PDtriggerForm.controls['lender_contact_person'].clearValidators()
this._PDtriggerForm.controls['lender_contact_person'].updateValueAndValidity()
this._PDtriggerForm.controls['lender_sales_person'].setValidators(Validators.compose([Validators.required]))
this._PDtriggerForm.controls['lender_credit_person'].setValidators(Validators.compose([Validators.required]))
this._PDtriggerForm.controls['imgc_fin_institute'].setValidators(Validators.compose([Validators.required]))
let param={fk_lender_id:this._PDtriggerForm.value.fk_lender_id,pd_branch_id:this._PDtriggerForm.value.pd_branch_id}
this._pd.getLenderContactPersons(param).subscribe(result=>{
if(result['dataStatus']){
let records=result['records']
if(records.length >0){
this.sales_and_credit_person.sales_person=records.filter(val=>val.role_type == "SALES")
this.sales_and_credit_person.credit_person=records.filter(val=>val.role_type == "CREDIT")
console.log(this.sales_and_credit_person);
}
}
else{
this.sales_and_credit_person=[]
this.notifier.notify("warning",result['msg'])
}
},err=>{this.notifier.notify("error","Network Error")})
}
else{
this.sales_and_credit_enable=false;
this._PDtriggerForm.controls['lender_sales_person'].setValue("")
this._PDtriggerForm.controls['lender_sales_person'].clearValidators()
this._PDtriggerForm.controls['lender_sales_person'].updateValueAndValidity()
this._PDtriggerForm.controls['lender_credit_person'].setValue("")
this._PDtriggerForm.controls['lender_credit_person'].clearValidators()
this._PDtriggerForm.controls['lender_credit_person'].updateValueAndValidity()
this._PDtriggerForm.controls['imgc_fin_institute'].setValue("")
this._PDtriggerForm.controls['imgc_fin_institute'].clearValidators()
this._PDtriggerForm.controls['imgc_fin_institute'].updateValueAndValidity()
this._PDtriggerForm.controls['lender_contact_person'].setValidators(Validators.compose([Validators.required]))
}
}
}
}
checkLender(value){
if(value != null){
return this.lenderList.filter(val=>val.entity_id == value).map(mapping=>mapping.short_name)[0]
}
}
}

View File

@ -79,14 +79,15 @@
<ng-container matColumnDef="PDType">
<mat-cell fxFlex.xs="20" fxFlex.sm="15" fxFlex.md="10" fxFlex.lg="10" fxFlex.xl="10" class="cell" *matCellDef="let details;" style="justify-content:flex-end">
<div [ngStyle]="{'color': '#e00201','font-weight': 'bold'}" mat-line>{{details.pd_id}}</div>
<div [ngStyle]="{'color': '#e00201','font-weight': 'bold'}" mat-line>{{details.pd_sno}}</div>
<small mat-line>{{details.pd_type_name}}</small>
</mat-cell>
</ng-container>
<ng-container matColumnDef="Name">
<mat-cell class="cell" *matCellDef="let details;">
<span *ngIf="details.is_child" mat-line>
<b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD - ' + details.parent_pd_id }}</b>
<!-- <b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD - ' + details.parent_pd_id }}</b> -->
<b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD' }}</b>
</span>
<br>
<span class="fontsize"> {{details.lender_applicant_id}}</span>

View File

@ -79,7 +79,7 @@
<ng-container matColumnDef="PDType">
<mat-cell fxFlex.xs="20" fxFlex.sm="15" fxFlex.md="10" fxFlex.lg="10" fxFlex.xl="10" class="cell" *matCellDef="let details;" style="justify-content:flex-end">
<div [ngStyle]="{'color': '#e00201','font-weight': 'bold'}" mat-line>{{details.pd_id}}</div>
<div [ngStyle]="{'color': '#e00201','font-weight': 'bold'}" mat-line>{{details.pd_sno}}</div>
<small mat-line>{{details.pd_type_name}}</small>
</mat-cell>
</ng-container>
@ -87,7 +87,8 @@
<mat-cell class="cell" *matCellDef="let details;">
<!-- <span *ngIf="details.applicant_name" mat-line><b>{{details.applicant_name}}</b></span><br> -->
<span *ngIf="details.is_child" mat-line>
<b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD - ' + details.parent_pd_id }}</b>
<!-- <b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD - ' + details.parent_pd_id }}</b> -->
<b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD' }}</b>
</span><br>
<span class="fontsize"> {{details.lender_applicant_id}}</span> <span class="fontsize" *ngIf="details.customer_segment_abbr">-({{details.customer_segment_abbr}} )</span>
</mat-cell>

View File

@ -76,7 +76,7 @@
<mat-table [dataSource]="dataSourceTab2" matSort *ngIf="progressPdListData.length > 0" >
<ng-container matColumnDef="PDType">
<mat-cell fxFlex.xs="20" fxFlex.sm="15" fxFlex.md="10" fxFlex.lg="10" fxFlex.xl="10" class="cell" *matCellDef="let details;" style="justify-content:flex-end">
<div [ngStyle]="{'color': '#e00201','font-weight': 'bold'}" mat-line>{{details.pd_id}}</div>
<div [ngStyle]="{'color': '#e00201','font-weight': 'bold'}" mat-line>{{details.pd_sno}}</div>
<small mat-line>{{details.pd_type_name}}</small>
</mat-cell>
</ng-container>
@ -84,7 +84,8 @@
<mat-cell class="cell" *matCellDef="let details;">
<!-- <span *ngIf="details.applicant_name" mat-line><b>{{details.applicant_name}}</b></span><br> -->
<span *ngIf="details.is_child" mat-line>
<b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD - ' + details.parent_pd_id }}</b>
<!-- <b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD - ' + details.parent_pd_id }}</b> -->
<b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD' }}</b>
</span><br>
<span class="fontsize"> {{details.lender_applicant_id}}</span> <span class="fontsize" *ngIf="details.customer_segment_abbr">-({{details.customer_segment_abbr}} )</span>
</mat-cell>

View File

@ -78,7 +78,7 @@
<mat-table [dataSource]="dataSourceTab5" matSort *ngIf="qcCompletedPdListData.length > 0" >
<ng-container matColumnDef="PDType">
<mat-cell fxFlex.xs="20" fxFlex.sm="15" fxFlex.md="10" fxFlex.lg="10" fxFlex.xl="10" class="cell" *matCellDef="let details;" style="justify-content:flex-end">
<div [ngStyle]="{'color': '#e00201','font-weight': 'bold'}" mat-line>{{details.pd_id}}</div>
<div [ngStyle]="{'color': '#e00201','font-weight': 'bold'}" mat-line>{{details.pd_sno}}</div>
<small mat-line>{{details.pd_type_name}}</small>
</mat-cell>
</ng-container>
@ -86,7 +86,8 @@
<mat-cell class="cell" *matCellDef="let details;">
<!-- <span *ngIf="details.applicant_name" mat-line><b>{{details.applicant_name}}</b></span><br> -->
<span *ngIf="details.is_child" mat-line>
<b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD - ' + details.parent_pd_id }}</b>
<!-- <b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD - ' + details.parent_pd_id }}</b> -->
<b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD' }}</b>
</span><br>
<span class="fontsize"> {{details.lender_applicant_id}}</span> <span class="fontsize" *ngIf="details.customer_segment_abbr">-({{details.customer_segment_abbr}} )</span>
</mat-cell>

View File

@ -76,7 +76,7 @@
<mat-table [dataSource]="dataSourceTab3" matSort *ngIf="scheduledPdListData.length > 0" >
<ng-container matColumnDef="PDType">
<mat-cell fxFlex.xs="20" fxFlex.sm="15" fxFlex.md="10" fxFlex.lg="10" fxFlex.xl="10" class="cell" *matCellDef="let details;" style="justify-content:flex-end">
<div [ngStyle]="{'color': '#e00201','font-weight': 'bold'}" mat-line>{{details.pd_id}}</div>
<div [ngStyle]="{'color': '#e00201','font-weight': 'bold'}" mat-line>{{details.pd_sno}}</div>
<small mat-line>{{details.pd_type_name}}</small>
</mat-cell>
</ng-container>
@ -84,7 +84,8 @@
<mat-cell class="cell" *matCellDef="let details;">
<!-- <span *ngIf="details.applicant_name" mat-line><b>{{details.applicant_name}}</b></span><br> -->
<span *ngIf="details.is_child" mat-line>
<b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD - ' + details.parent_pd_id }}</b>
<!-- <b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD - ' + details.parent_pd_id }}</b> -->
<b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD' }}</b>
</span><br>
<span class="fontsize"> {{details.lender_applicant_id}}</span> <span class="fontsize" *ngIf="details.customer_segment_abbr">-({{details.customer_segment_abbr}} )</span>
</mat-cell>

View File

@ -122,6 +122,9 @@ export class ManageSalesComponent implements OnInit {
});
}
let control=<FormArray>this.salesItemForm.controls['salesCalItemwise']
}
@ -138,8 +141,8 @@ export class ManageSalesComponent implements OnInit {
rate_per_unit:['',Validators.compose([Validators.required])],
fk_frequency_id:['',Validators.compose([Validators.required])],
annual_sale_value:[''],
margin_per:[''],
margin_per_uom:[''],
margin_per:['',this.data.margin_calculation_status == true ? Validators.compose([Validators.required]):''],
margin_per_uom:['',this.data.margin_calculation_status == true ? Validators.compose([Validators.required]):''],
margin_final_value:[''],
comments:[],
sales_type:["1"]
@ -161,8 +164,8 @@ createSalesItemWithData(values: any) {
rate_per_unit:[values.rate_per_unit,Validators.compose([Validators.required])],
fk_frequency_id:[values.fk_frequency_id,Validators.compose([Validators.required])],
annual_sale_value:[values.annual_sale_value],
margin_per:[this.data.margin_calculation_status===true ? values.margin_per : ''],
margin_per_uom:[this.data.margin_calculation_status===true ? values.margin_per_uom :''],
margin_per:[this.data.margin_calculation_status===true ? values.margin_per : '',this.data.margin_calculation_status == true ? Validators.compose([Validators.required]): ''],
margin_per_uom:[this.data.margin_calculation_status===true ? values.margin_per_uom :'',this.data.margin_calculation_status == true ? Validators.compose([Validators.required]): ''],
margin_final_value:[this.data.margin_calculation_status===true ? values.margin_final_value: ''],
comments:[values.comments],
sales_type:[values.sales_type]
@ -256,6 +259,18 @@ let control: any = <FormArray>this.salesItemForm.controls['salesCalItemwise'];
control.controls[indexVal].controls['fk_uom_id'].setValidators([Validators.required]);
control.controls[indexVal].controls['fk_uom_id'].updateValueAndValidity();
control.controls[indexVal]['controls'].margin_per.setValue('');
control.controls[indexVal]['controls'].margin_per_uom.setValue('')
if(this.data.margin_calculation_status === true){
control.controls[indexVal]['controls'].margin_per.setValidators(Validators.compose([Validators.required]))
control.controls[indexVal]['controls'].margin_per_uom.setValidators(Validators.compose([Validators.required]))
}
else{
control.controls[indexVal]['controls'].margin_per.clearValidators();
control.controls[indexVal]['controls'].margin_per.updateValueAndValidity();
control.controls[indexVal]['controls'].margin_per_uom.clearValidators();
control.controls[indexVal]['controls'].margin_per_uom.updateValueAndValidity();
}
this.salesCalculation(indexVal,control.controls[indexVal].value);
this.deleteAllDailySales(indexVal);
}
@ -269,7 +284,20 @@ let control: any = <FormArray>this.salesItemForm.controls['salesCalItemwise'];
control.controls[indexVal].controls['fk_uom_id'].clearValidators();
control.controls[indexVal].controls['fk_uom_id'].updateValueAndValidity();
control.controls[indexVal].controls['margin_per_uom'].setValue("");
// control.controls[indexVal].controls['margin_per_uom'].setValue("");
control.controls[indexVal]['controls'].margin_per.setValue('');
control.controls[indexVal]['controls'].margin_per_uom.setValue('')
if(this.data.margin_calculation_status === true){
control.controls[indexVal]['controls'].margin_per.setValidators(Validators.compose([Validators.required]))
control.controls[indexVal]['controls'].margin_per_uom.clearValidators();
control.controls[indexVal]['controls'].margin_per_uom.updateValueAndValidity();
}
else{
control.controls[indexVal]['controls'].margin_per.clearValidators();
control.controls[indexVal]['controls'].margin_per.updateValueAndValidity();
control.controls[indexVal]['controls'].margin_per_uom.clearValidators();
control.controls[indexVal]['controls'].margin_per_uom.updateValueAndValidity();
}
this.salesCalculation(indexVal,control.controls[indexVal].value);
this.deleteAllDailySales(indexVal);
@ -293,6 +321,21 @@ let control: any = <FormArray>this.salesItemForm.controls['salesCalItemwise'];
control.controls[indexVal].controls['fk_uom_id'].clearValidators();
control.controls[indexVal].controls['fk_uom_id'].updateValueAndValidity();
control.controls[indexVal]['controls'].margin_per.setValue('');
control.controls[indexVal]['controls'].margin_per_uom.setValue('')
if(this.data.margin_calculation_status === true){
control.controls[indexVal]['controls'].margin_per.setValidators(Validators.compose([Validators.required]))
control.controls[indexVal]['controls'].margin_per_uom.clearValidators();
control.controls[indexVal]['controls'].margin_per_uom.updateValueAndValidity();
}
else{
control.controls[indexVal]['controls'].margin_per.clearValidators();
control.controls[indexVal]['controls'].margin_per.updateValueAndValidity();
control.controls[indexVal]['controls'].margin_per_uom.clearValidators();
control.controls[indexVal]['controls'].margin_per_uom.updateValueAndValidity();
}
control.controls[indexVal].controls['margin_per_uom'].setValue("");
this.salesCalculation_kutchaRecords(indexVal,control.controls[indexVal].value)

View File

@ -486,6 +486,52 @@
</mat-card-content>
</div>
</div>
<div style="margin-left: 25px;" *ngIf="financialForm.value.is_financial_customer == 'no' && financialForm.controls['kuccha_records_shown'] && customer_segment_abbr == 'SE-DI'">
<!-- <mat-form-field style="width: 100%"> -->
<!-- <mat-select placeholder="Were the Kuccha records shown to the PD officer"-->
<div style="width:auto">
<mat-label>Were the Kuccha records shown to the PD officer</mat-label><br/>
<mat-radio-group formControlName="kuccha_records_shown" >
<mat-radio-button value="yes">Yes
</mat-radio-button>&nbsp;&nbsp;
<mat-radio-button value="no"> No</mat-radio-button>
</mat-radio-group>
</div><br/>
<div style="width:auto" *ngIf="financialForm.value.kuccha_records_shown == 'yes'">
<mat-label>Photograph of Kuchha bills allowed</mat-label><br/>
<mat-radio-group formControlName="kuccha_bill_allowed" >
<mat-radio-button value="yes">Yes
</mat-radio-button>&nbsp;&nbsp;
<mat-radio-button value="no"> No</mat-radio-button>
</mat-radio-group>
</div><br/>
<div style="width:auto" *ngIf="financialForm.value.kuccha_records_shown == 'yes'">
<mat-label>Does the Number of Kuccha Bills and Values therein, justify the customer declared turnover?</mat-label><br/>
<mat-radio-group formControlName="customer_declared_turnover" >
<mat-radio-button value="yes">Yes
</mat-radio-button>&nbsp;&nbsp;
<mat-radio-button value="no"> No</mat-radio-button>
</mat-radio-group>
</div>
<!-- </mat-form-field> -->
</div><br/>
</mat-card>
</div>
</div>
<div fxLayout="row wrap">
<div fxFlex="100" *ngIf="financialForm.controls['tot_business_FY'] && lender_short_name == 'IIB'">
<mat-card>
<mat-form-field style="width: 85%">
<input matInput type="number" OnlyNumber placeholder="Approximate Total Business / Sales Done for Current FY as on date" formControlName="tot_business_FY" >
</mat-form-field>
<mat-form-field style="width: 45%">
<mat-label>Remarks</mat-label>
<input matInput type="text" placeholder="specific remarks on the business done" formControlName="remarks_tot_business_FY">
</mat-form-field>
<mat-form-field style="width: 40%">
<input matInput type="text" placeholder="Orders in Hand to be executed in Current FY" formControlName="orders_hand_FY">
</mat-form-field>
</mat-card>
</div>
</div>

View File

@ -128,4 +128,16 @@ $product-bg-color-hover: rgba(103, 58, 183, 0.7);
}
}
::ng-deep .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element {
opacity: 0.5 !important; /*click effect color change*/
background-color: #e2412f8f !important;
}
::ng-deep .mat-radio-button.mat-accent .mat-radio-inner-circle {
background-color: #f1311c8f!important; /*inner circle color change*/
}
::ng-deep.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
border-color:#f376688f!important; /*outer ring color change*/
}

View File

@ -107,6 +107,8 @@ export class FinancialInfoComponent implements OnInit {
let x = this.customer_segment_abbr.split("-");
this.CustSegAbbr = x[1];
}
//ViewerOption For Docs Display
@ -133,6 +135,17 @@ export class FinancialInfoComponent implements OnInit {
ngOnInit() {
this.initstockForm();
if(this.lender_short_name == "IIB"){
this.financialForm.addControl('tot_business_FY',new FormControl())
this.financialForm.addControl('orders_hand_FY',new FormControl())
this.financialForm.addControl('remarks_tot_business_FY',new FormControl())
}
if(this.customer_segment_abbr == "SE-DI"){
this.financialForm.addControl('kuccha_records_shown',new FormControl())
this.financialForm.addControl('customer_declared_turnover',new FormControl())
this.financialForm.addControl('kuccha_bill_allowed',new FormControl())
}
this._pd.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(data => {
if (data.dataStatus) {
if(data.records.type_of_activity.length == 1){
@ -283,6 +296,19 @@ export class FinancialInfoComponent implements OnInit {
retriveData.formid = this.form_id;
retriveData.company_id = this.company_id;
retriveData.fk_createdby = this.pdid;
retriveData.hasOwnProperty('latest_year_financials_as_per_applicant_met') ? retriveData.latest_year_financials_as_per_applicant_met : retriveData.latest_year_financials_as_per_applicant_met=''
if(this.lender_short_name == "IIB"){
retriveData.hasOwnProperty('tot_business_FY') ? retriveData.tot_business_FY : retriveData.tot_business_FY=''
retriveData.hasOwnProperty('orders_hand_FY') ? retriveData.orders_hand_FY : retriveData.orders_hand_FY = ''
retriveData.hasOwnProperty('remarks_tot_business_FY') ? retriveData.remarks_tot_business_FY : retriveData.remarks_tot_business_FY=''
}
if(this.customer_segment_abbr == "SE-DI"){
retriveData.hasOwnProperty('kuccha_records_shown')? retriveData.kuccha_records_shown : retriveData.kuccha_records_shown=''
retriveData.hasOwnProperty('customer_declared_turnover') ? retriveData.customer_declared_turnover : retriveData.customer_declared_turnover=''
retriveData.hasOwnProperty('kuccha_bill_allowed') ? retriveData.kuccha_bill_allowed : retriveData.kuccha_bill_allowed=''
}
this.financialForm.setValue(retriveData);
if(this.ServiceDataAvailability == false && retriveData.unsold_stock_lies_in_days == 'NA'){

View File

@ -0,0 +1,82 @@
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;">
<span>{{main_applicant}} ({{lender_applicant_id}}), {{customer_segment_abbr}} - {{subproduct_abbr}} </span><br>
{{pageTitle}}
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close"
matTooltipPosition="right" mat-dialog-close>
<mat-icon>close</mat-icon>
</button>
</div>
</h2>
<mat-dialog-content style="border-bottom: 2px solid #e2412f8f;">
<div [formGroup]="docsCollectedForm" *ngIf="loadComponent">
<mat-card *ngIf="queries_docs.length !=0">
<mat-card-header>
<mat-card-title>
<h5>Credit Managers Specific Queries</h5>
</mat-card-title>
</mat-card-header>
<mat-card style="margin-left: 15px;">
<mat-card-content formArrayName="addtional_requirements">
<div *ngFor="let qu of docsCollectedForm.controls.addtional_requirements['controls'];let i=index;" [formGroupName]="i">
<div *ngFor="let item of queries_docs">
<mat-form-field style="width:50%">
<input matInput type="text" [formControlName]="item.add_req_id" [placeholder]="item.add_requirement">
</mat-form-field>
</div>
</div>
</mat-card-content>
</mat-card>
</mat-card>
<mat-card *ngIf="docs_array_value.length !=0 ">
<mat-card-header>
<mat-card-title>
<h5>Documents to be collected</h5>
</mat-card-title>
</mat-card-header>
<mat-card style="margin-left: 15px;">
<mat-card-content formArrayName="docs_to_be_sighted">
<div *ngFor="let item of docsCollectedForm.controls.docs_to_be_sighted['controls'];let i=index" [formGroupName]="i">
<div fxLayout="row wrap">
<div fxFlex="60">
<div >
<mat-label>{{item.value.placeholder}}</mat-label><br/>
<mat-radio-group [formControlName]="item.value.control_name" (change)="docs_change_fun(i,$event.value)"><br/>
<mat-radio-button value="yes">Yes</mat-radio-button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<mat-radio-button value="no">No</mat-radio-button>
</mat-radio-group>
</div><br/>
</div>
<div fxFlex="40">
<!-- <div style="width: 100%">-->
<!-- <ion-buttons end> -->
<!-- <button style="color:#E00201" *ngIf="camera_btn[i] == true" ion-button slot="end" clear small float-right (click)="capture(i,item)"><ion-icon style="font-size:30px;float:right;" name="md-camera"></ion-icon></button> -->
<!-- </ion-buttons> -->
<!-- </div> -->
<div *ngIf="item.controls['img'] && item.value.img != ''">
<img [src]="item.value.img" style="width:85px; height: 85px;float:right" ngxViewer>
</div>
</div>
</div>
<!-- <button *ngIf="camera_btn[i] == true" ion-button slot="end" small float-right (click)="capture(i,item)">Capture<ion-icon name="md-camera"></ion-icon></button> -->
<mat-form-field *ngIf="item.controls['reason']" style="width: 80%">
<input matInput type="text" formControlName="reason" placeholder="Enter the Reason">
</mat-form-field>
</div>
</mat-card-content>
</mat-card>
</mat-card>
</div>
</mat-dialog-content>
<mat-dialog-actions align="end">
<div align="end">
<button type="submit" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Submit"
matTooltipPosition="above" (click)="saveForm()" [disabled]="disableAfterSubmit===true">
<mat-icon>save</mat-icon>
</button>
</div>
</mat-dialog-actions>
<notifier-container></notifier-container>

View File

@ -0,0 +1,4 @@
.paragraph_change {
color: #fff !important;
background-color: #e00201 !important;
}

View File

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { QueriesDocsComponent } from './queries-docs.component';
describe('QueriesDocsComponent', () => {
let component: QueriesDocsComponent;
let fixture: ComponentFixture<QueriesDocsComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ QueriesDocsComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(QueriesDocsComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,256 @@
import { Component, OnInit, Inject } from '@angular/core';
import { NotifierService } from 'angular-notifier';
import { FormBuilder, FormArray, FormControl, Validators, FormGroup } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router';
import { PdTrigerService } from 'app/personal-discussion/pd-service/pd-triger.service';
import { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material';
import { LoanDetailsComponent } from '../loan-details/loan-details.component';
import { AwsService } from 'app/AwsService/aws.service';
@Component({
selector: 'app-queries-docs',
templateUrl: './queries-docs.component.html',
styleUrls: ['./queries-docs.component.scss']
})
export class QueriesDocsComponent implements OnInit {
form_id: number;
parent_pdid: any;
pdid: any;
notifier: NotifierService;
main_applicant: any;
lender_applicant_id: any;
subproduct_abbr: any;
customer_segment_abbr: any;
lenderShortName: any;
pageTitle: string = "Loan Details";
queries_docs: any;
docs_array_value: any;
docsCollectedForm:FormGroup
loadComponent:boolean=false
disableAfterSubmit: boolean;
constructor(notifier: NotifierService,
private fb: FormBuilder,
private route: ActivatedRoute,
private router: Router,
private _pd: PdTrigerService,
private dialogRef: MatDialogRef<QueriesDocsComponent>,
private dialog: MatDialog,
@Inject(MAT_DIALOG_DATA) public pd_all_details: any,
private pdTriggerService:PdTrigerService,
private awsService:AwsService) {
// console.log(this.pd_all_details)
this.form_id = 10;
this.parent_pdid = this.pd_all_details.pdmaster_details.parent_pd_id;
this.pdid = this.pd_all_details.pdmaster_details.pd_id;
this.notifier = notifier;
this.main_applicant = this.pd_all_details.pdmaster_details.main_applicant;
this.lender_applicant_id = this.pd_all_details.pdmaster_details.lender_applicant_id;
this.subproduct_abbr = this.pd_all_details.pdmaster_details.subproduct_abbr;
this.customer_segment_abbr = this.pd_all_details.pdmaster_details.customer_segment_abbr;
this.lenderShortName = this.pd_all_details.pdmaster_details.lender_short_name;
}
ngOnInit() {
this.docsCollectedForm=this.fb.group({
parent_pdid:[this.parent_pdid],
formid:["24"],
pdid:[this.pdid],
fk_createdby:[this.awsService.getlocale()],
link:[''],
addtional_requirements:this.fb.array([this.createview()])
})
this.getFullPD();
}
createview(){
return this.fb.group({
name:['']
})
}
getFullPD(){
// let records = {'parent_pdid': this.pdDetails.parent_pd_id,'pdid':this.pdDetails.pd_id,'random_string':this.pdDetails.random_string};
this.pdTriggerService.editPdDetails(this.pdid,this.pd_all_details.pdmaster_details.random_string).subscribe(res=>{
if(res['dataStatus']){
this.queries_docs=res['records'].pd_additional_requirements
// if(this.queries_docs.length != 0){
// this.queries_docs.forEach(res=>{
// // this.docsCollectedForm.addControl(res.add_req_id,new FormControl);
// console.log( this.docsCollectedForm)
// let control:any=<FormArray>this.docsCollectedForm.controls['addtional_requirements']
// control.controls[0].addControl(res.add_req_id,new FormControl(''))
// console.log( this.docsCollectedForm.controls.addtional_requirements)
// })
// }
this.docs_array_value=res['records'].docs_to_be_collected
// if(this.docs_array_value.length !=0){
// this.docsCollectedForm.addControl('docs_to_be_sighted', this.fb.array([]))
// let control:any=<FormArray>this.docsCollectedForm.controls['docs_to_be_sighted']
// this.docs_array_value.forEach((data,index)=>{
// control.push(this.createDocsArray(data))
// control.controls[index].addControl(data.pd_doc_to_be_collect_id,new FormControl(''))
// })
// }
this.initControls();
this.getFormData();
}
// console.log(this.queries_docs)
this.loadComponent=true
})
}
getFormData(){
let records = { 'parent_pdid': this.parent_pdid, 'pd_id': this.pdid, 'pd_form_id': "24" };
this.pdTriggerService.retriveForm(records).subscribe(result=>{
if(result['dataStatus']){
let retrieved_data=result['records'];
retrieved_data.parent_pdid=this.parent_pdid
retrieved_data.pdid=this.pdid
retrieved_data.formid="24"
retrieved_data.fk_createdby=this.awsService.getlocale();
retrieved_data.addtional_requirements[0].name=''
retrieved_data.hasOwnProperty('link') ? retrieved_data.link : retrieved_data.link=''
// let geoCoords
// if(retrieved_data.link == ''){
// this.constantProvider.getGeoTag().then(geoCoordinates=>{
// if(geoCoordinates){
// geoCoords=geoCoordinates
// }
// })
// }
// else{
// geoCoords=retrieved_data.link
// }
retrieved_data.docs_to_be_sighted.forEach((doc_value,index)=>{
if(doc_value.hasOwnProperty('img')){
this.docs_change_fun(index,'yes')
}
else if(doc_value.hasOwnProperty('reason')){
this.docs_change_fun(index,'no');
}
// let data=doc_value.control_name
// data=parseInt(data)
// console.log("data",data);
// data=doc_value.data
// this.docs_change_fun(index,data)
})
// console.log("form123",this.docsCollectedForm.value);
this.docsCollectedForm.setValue(retrieved_data)
}
},err=>{
})
}
initControls(){
if(this.queries_docs.length != 0){
this.queries_docs.forEach(res=>{
// this.docsCollectedForm.addControl(res.add_req_id,new FormControl);
// console.log( this.docsCollectedForm)
let control:any=<FormArray>this.docsCollectedForm.controls['addtional_requirements']
control.controls[0].addControl(res.add_req_id,new FormControl('',Validators.required))
// console.log( this.docsCollectedForm.controls.addtional_requirements)
})
}
// this.docs_array_value=res['records'].docs_to_be_collected
if(this.docs_array_value.length !=0){
this.docsCollectedForm.addControl('docs_to_be_sighted', this.fb.array([]))
let control:any=<FormArray>this.docsCollectedForm.controls['docs_to_be_sighted']
this.docs_array_value.forEach((data,index)=>{
control.push(this.createDocsArray(data))
control.controls[index].addControl(data.pd_doc_to_be_collect_id,new FormControl('',Validators.required))
})
}
}
createDocsArray(data){
// console.log(data);
return this.fb.group({
control_name:[data.pd_doc_to_be_collect_id],
placeholder:[data.doc_name],
})
}
// capture(index,item){
// console.log(index,item)
// // let control:any=<FormArray>this.docsCollectedForm.controls['docs_to_be_sighted']
// this.cameraProvider.getpicture().then(res=>{
// if(res != 'error'){
// item.controls['img'].setValue(res);
// item.controls['is_new'].setValue(1);
// }
// else{
// console.log("Cannot take picture right now");
// }
// },err=>{
// console.log("Error",err)
// })
// }
saveForm(){
// console.log(this.docsCollectedForm.value);
// this.docsCollectedForm.value.docs_to_be_sighted.forEach(value=>{
// if(value.control_name){
// delete value.control_name
// }
// if(value.placeholder){
// delete value.placeholder
// }
// })
if(this.docsCollectedForm.invalid){
this.notifier.notify("warning","Please Fill all the Fields and capture the image if required");
return
}
this.disableAfterSubmit=true
this.docsCollectedForm.value.addtional_requirements[0].hasOwnProperty('name') ? delete this.docsCollectedForm.value.addtional_requirements[0].name : ''
// console.log(JSON.stringify(this.docsCollectedForm.value));
// this.constantProvider.getGeoTag().then(geoCoords=>{
// if(this.docsCollectedForm.value.link == ""){
// this.docsCollectedForm.value.link = geoCoords
// }
this.pdTriggerService.saveForm(this.docsCollectedForm.value).subscribe(res=>{
if(res['dataStatus']){
this.notifier.notify("success","Record Saved Successfully..")
setTimeout(()=>{
this.dialogRef.close();
this.disableAfterSubmit = false;
},2000)
}
else{
// this.spinner_access=false
}
},error=>{//this.spinner_access=false;
this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
this.disableAfterSubmit = false;})
// })
}
docs_change_fun(index,value){
// console.log(index,value);
let control:any=<FormArray>this.docsCollectedForm.controls['docs_to_be_sighted']
if(value == 'yes'){
// this.camera_btn[index]=true
control.controls[index].removeControl('reason')
control.controls[index].addControl('img',new FormControl('',Validators.required))
control.controls[index].addControl('is_new',new FormControl('',Validators.required))
}
else if(value == 'no'){
// this.camera_btn[index]=false
control.controls[index].removeControl('img')
control.controls[index].removeControl('is_new')
control.controls[index].addControl('reason',new FormControl('',Validators.required));
}
}
}

View File

@ -77,21 +77,22 @@
<button type="button" mat-raised-button mat-icon-button
(click)="deleteRawMaterials(a,1)" matTooltip="Delete Raw Materials"
matTooltipPosition="above" class="mr-1 mb-1 hover-icon"
*ngIf="md.controls.manufacturing_raw_materials.controls.length>1">
>
<mat-icon>delete</mat-icon>
</button>
</div>
</mat-card-actions>
</mat-card>
</div>
<div align="center">
<button type="button" mat-flat-button (click)="addRawMaterials(1)"
matTooltip="Add More" matTooltipPosition="left"
color="primary" *ngIf="last">
color="primary" >
<strong>Add More Raw Materials </strong>
</button>
</div>
</mat-card-actions>
</mat-card>
</div>
</span>
<span *ngIf="RMCommentCard">
<mat-form-field style="width:90%">
@ -116,7 +117,7 @@
</mat-form-field>
</span>
<br/>
<div formArrayName="manufacturing_finished_goods">
<div *ngFor="let mfg of md.controls.manufacturing_finished_goods['controls']; let b=index;let last=last"
[formGroupName]="b">
@ -170,20 +171,27 @@
<button type="button" mat-raised-button mat-icon-button
(click)="deleteGoods(b,1)" matTooltip="Delete"
matTooltipPosition="above" class="mr-1 mb-1 hover-icon"
*ngIf="md.controls.manufacturing_finished_goods.controls.length>1">
>
<mat-icon>delete</mat-icon>
</button>
</div>
<div align="center">
<!-- <div align="center">
<button type="button" mat-flat-button (click)="addGoods(1)"
matTooltip="Add More" matTooltipPosition="left"
color="primary" *ngIf="last">
<strong>Add More Finished Goods </strong>
</button>
</div>
</div> -->
</mat-card-actions>
</mat-card>
</div>
<div align="center">
<button type="button" mat-flat-button (click)="addGoods(1)"
matTooltip="Add More" matTooltipPosition="left"
color="primary">
<strong>Add More Finished Goods </strong>
</button>
</div>
</div>
</div>
</div>
@ -248,21 +256,28 @@
<button type="button" mat-raised-button mat-icon-button
(click)="deleteTradedGoods(e,1)" matTooltip="Delete Traded Goods"
matTooltipPosition="above" class="mr-1 mb-1 hover-icon"
*ngIf="rd.controls.retail_traded_goods.controls.length>1">
>
<mat-icon>delete</mat-icon>
</button>
</div>
<div align="center">
<!-- <div align="center">
<button type="button" mat-flat-button (click)="addTradedGoods(1)"
matTooltip="Add More" matTooltipPosition="left"
color="primary" *ngIf="last">
<strong>Add More Traded Goods </strong>
</button>
</div>
</div> -->
</mat-card-actions>
</mat-card>
</div>
<div align="center">
<button type="button" mat-flat-button (click)="addTradedGoods(1)"
matTooltip="Add More" matTooltipPosition="left"
color="primary">
<strong>Add More Traded Goods </strong>
</button>
</div>
</div>
</div>
</div>
@ -324,24 +339,31 @@
</span>
</mat-card-content>
<mat-card-actions>
<div align="center">
<!-- <div align="center">
<button type="button" mat-flat-button (click)="addTradedGoods(2)"
matTooltip="Add More" matTooltipPosition="left"
color="primary" *ngIf="last">
<strong>Add More Traded Goods </strong>
</button>
</div>
</div> -->
<div align="right">
<button type="button" mat-raised-button mat-icon-button
(click)="deleteTradedGoods(g,2)" matTooltip="Delete Traded Goods"
matTooltipPosition="above" class="mr-1 mb-1 hover-icon"
*ngIf="td.controls.trading_traded_goods.controls.length>1">
>
<mat-icon>delete</mat-icon>
</button>
</div>
</mat-card-actions>
</mat-card>
</div>
<div align="center">
<button type="button" mat-flat-button (click)="addTradedGoods(2)"
matTooltip="Add More" matTooltipPosition="left"
color="primary">
<strong>Add More Traded Goods </strong>
</button>
</div>
</div>
</div>
</div>
@ -429,24 +451,25 @@
</span>
</mat-card-content>
<mat-card-actions>
<div align="center">
<button type="button" mat-flat-button (click)="addServiceProvider(2)"
matTooltip="Add More" matTooltipPosition="left"
color="primary" *ngIf="last">
<strong>Add More Service Provier </strong>
</button>
</div>
<div align="right">
<button type="button" mat-raised-button mat-icon-button
(click)="deleteServiceProvider(g,2)" matTooltip="Delete Service Provider"
matTooltipPosition="above" class="mr-1 mb-1 hover-icon"
*ngIf="spd.controls.service_provider.controls.length>1">
>
<mat-icon>delete</mat-icon>
</button>
</div>
</mat-card-actions>
</mat-card>
</div>
<div align="center">
<button type="button" mat-flat-button (click)="addServiceProvider(2)"
matTooltip="Add More" matTooltipPosition="left"
color="primary">
<strong>Add More Service Provier </strong>
</button>
</div>
</div>
</div>
</div>

View File

@ -29,6 +29,7 @@ import {BusinessInfoGroupComponent } from './forms/business-info-group/business-
import {BusinessAssetsInfoComponent } from './forms/business-assets-info/business-assets-info.component';
import {PdStatusChangeDialogueComponent } from './../pd-status-change-dialogue/pd-status-change-dialogue.component';
import {RentalVerificationComponent} from './forms/rental-verification/rental-verification.component';
import { QueriesDocsComponent } from './forms/queries-docs/queries-docs.component';
@Component({
selector: 'app-start-pd',
@ -159,6 +160,7 @@ export class StartPdComponent implements OnInit, OnDestroy {
// start
// direct form based questions
OnSelectDirectForms(details: any) {
// console.log(details)
// this.formsCategoryEnable = true;
this.selectedFormsCategory = details;
@ -484,6 +486,23 @@ export class StartPdComponent implements OnInit, OnDestroy {
this.loadTemplates(this.startPD,2,this.randomString);
});
}
else
if(this.selectedFormsCategory.form_id==24){
const dialogRef = this.dialog.open(QueriesDocsComponent, {
data: this.pdFullDetails,
// position: { right: '0'},
maxWidth: '100vw',
maxHeight: '100vh',
height: '100%',
width: '100%',
disableClose: true
});
dialogRef.afterClosed()
.subscribe(dataresult => {
// this.notifier.notify('success', 'Successfully allocated.!');
this.loadTemplates(this.startPD,2,this.randomString);
});
}
}
ngOnDestroy(): void {

View File

@ -124,6 +124,7 @@ import { ManageRentalVerificationComponent } from './list-pd/start-pd/forms/rent
import { FuturePlansAndBusinessEnvironmentComponent } from './list-pd/start-pd/forms/future-plans-and-business-environment/future-plans-and-business-environment.component';
import { ImageCropComponent } from './list-pd/start-pd/forms/dialogue/image-crop/image-crop.component';
import {PurchaseCalculationComponent} from './list-pd/start-pd/forms/assessed-income/purchase-calculation/purchase-calculation.component'
import { QueriesDocsComponent } from './list-pd/start-pd/forms/queries-docs/queries-docs.component';
/**
* Custom angular notifier options
@ -170,7 +171,7 @@ const pdCustomNotifierOptions: NotifierOptions = {
};
@NgModule({
declarations: [TelePdAllocationComponent, FinancialInfoComponent, BusinessInfoComponent, EmploymentInfoComponent, StockComponent, BankingDetailsComponent, ListPdComponent, FamilyDetailsComponent, AddressComponent, ManagePdComponent, MapPdViewComponent, AddPdComponent, ViewPdComponent, PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, InprogressPdComponent, AllPdComponent, ScheduledPdComponent, CompletedPdComponent, QcCompletedPdComponent, ClientInfoComponent, CurrentLoanComponent, AssetsInfoComponent, LoanDetailsComponent, OtherIncomeComponent, SupplierInfoComponent, PersonalInfoComponent, LenderRepresentativeComponent, PdReportComponent, AssessedIncomeComponent, AllocationViewMoreComponent, PdRequirementComponent,PdCollectedDocsComponent, GeneralInfoComponent, ModelEditPdReportComponent, OtherApplicantDetailsComponent, NeighbourHoodComponent, DialogChangeCurrentVenrsion, FinalRemarksComponent, BusinessOtherFamilyMemberComponent, QcReviewComponent, BusinessInfoGroupComponent, SearchRelationPipe, RupeeCurrencyFormatPipe, NumberToWordsPipe, DeleteRecordsCountPipe, BusinessAssetsInfoComponent, BusinessBankingDetailsComponent, SalesDetailsComponent, DailySalesDetailsComponent, SalesCalculationComponent, ManageSalesComponent, PurchaseDetailsComponent, BusinessExpenseDetailsComponent, HouseHoldDetailsComponent, OtherBusinessIncomeDetailsComponent, ManagePurchaseComponent, ManageBusinesExpenseComponent, ManageHouseHoldComponent, ManageOtherBusinessIncomeComponent, GrossProfitCalculationComponent, ManageDailySalesComponent, PdStatusChangeDialogueComponent, PdLocatedMapViewDirective, ViewLocationComponent, GetAnswerableFormsPipe, ConfirmAiDetailsComponent, RentalVerificationComponent, InitiateAdditionalPdComponent ,ManageDailyPurchaseComponent, DailyPurchaseDetailsComponent, ManageRentalVerificationComponent, FuturePlansAndBusinessEnvironmentComponent, ImageCropComponent,PurchaseCalculationComponent],
declarations: [TelePdAllocationComponent, FinancialInfoComponent, BusinessInfoComponent, EmploymentInfoComponent, StockComponent, BankingDetailsComponent, ListPdComponent, FamilyDetailsComponent, AddressComponent, ManagePdComponent, MapPdViewComponent, AddPdComponent, ViewPdComponent, PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, InprogressPdComponent, AllPdComponent, ScheduledPdComponent, CompletedPdComponent, QcCompletedPdComponent, ClientInfoComponent, CurrentLoanComponent, AssetsInfoComponent, LoanDetailsComponent, OtherIncomeComponent, SupplierInfoComponent, PersonalInfoComponent, LenderRepresentativeComponent, PdReportComponent, AssessedIncomeComponent, AllocationViewMoreComponent, PdRequirementComponent,PdCollectedDocsComponent, GeneralInfoComponent, ModelEditPdReportComponent, OtherApplicantDetailsComponent, NeighbourHoodComponent, DialogChangeCurrentVenrsion, FinalRemarksComponent, BusinessOtherFamilyMemberComponent, QcReviewComponent, BusinessInfoGroupComponent, SearchRelationPipe, RupeeCurrencyFormatPipe, NumberToWordsPipe, DeleteRecordsCountPipe, BusinessAssetsInfoComponent, BusinessBankingDetailsComponent, SalesDetailsComponent, DailySalesDetailsComponent, SalesCalculationComponent, ManageSalesComponent, PurchaseDetailsComponent, BusinessExpenseDetailsComponent, HouseHoldDetailsComponent, OtherBusinessIncomeDetailsComponent, ManagePurchaseComponent, ManageBusinesExpenseComponent, ManageHouseHoldComponent, ManageOtherBusinessIncomeComponent, GrossProfitCalculationComponent, ManageDailySalesComponent, PdStatusChangeDialogueComponent, PdLocatedMapViewDirective, ViewLocationComponent, GetAnswerableFormsPipe, ConfirmAiDetailsComponent, RentalVerificationComponent, InitiateAdditionalPdComponent ,ManageDailyPurchaseComponent, DailyPurchaseDetailsComponent, ManageRentalVerificationComponent, FuturePlansAndBusinessEnvironmentComponent, ImageCropComponent,PurchaseCalculationComponent,QueriesDocsComponent],
imports: [
CommonModule,
ManagePdRoutingModule,
@ -209,7 +210,7 @@ const pdCustomNotifierOptions: NotifierOptions = {
{provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS}, PdLocatedMapViewDirective],
entryComponents: [PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, TelePdAllocationComponent, AllocationViewMoreComponent, PersonalInfoComponent,BusinessAssetsInfoComponent,
ClientInfoComponent, SupplierInfoComponent, CurrentLoanComponent, LoanDetailsComponent, OtherIncomeComponent, AssetsInfoComponent, AddressComponent, FamilyDetailsComponent, BankingDetailsComponent, StockComponent, EmploymentInfoComponent, BusinessInfoComponent, FinancialInfoComponent, LenderRepresentativeComponent, AssessedIncomeComponent, GeneralInfoComponent, PdRequirementComponent,PdCollectedDocsComponent, ModelEditPdReportComponent, OtherApplicantDetailsComponent, NeighbourHoodComponent, DialogChangeCurrentVenrsion, FinalRemarksComponent, BusinessOtherFamilyMemberComponent, QcReviewComponent, BusinessInfoGroupComponent,BusinessBankingDetailsComponent, ManageSalesComponent, ManagePurchaseComponent, ManageBusinesExpenseComponent, ManageHouseHoldComponent, ManageOtherBusinessIncomeComponent, ManageDailySalesComponent,PdStatusChangeDialogueComponent, ViewLocationComponent, ConfirmAiDetailsComponent, RentalVerificationComponent, InitiateAdditionalPdComponent, ManageDailyPurchaseComponent,ManageRentalVerificationComponent,FuturePlansAndBusinessEnvironmentComponent,ImageCropComponent],
ClientInfoComponent, SupplierInfoComponent, CurrentLoanComponent, LoanDetailsComponent, OtherIncomeComponent, AssetsInfoComponent, AddressComponent, FamilyDetailsComponent, BankingDetailsComponent, StockComponent, EmploymentInfoComponent, BusinessInfoComponent, FinancialInfoComponent, LenderRepresentativeComponent, AssessedIncomeComponent, GeneralInfoComponent, PdRequirementComponent,PdCollectedDocsComponent, ModelEditPdReportComponent, OtherApplicantDetailsComponent, NeighbourHoodComponent, DialogChangeCurrentVenrsion, FinalRemarksComponent, BusinessOtherFamilyMemberComponent, QcReviewComponent, BusinessInfoGroupComponent,BusinessBankingDetailsComponent, ManageSalesComponent, ManagePurchaseComponent, ManageBusinesExpenseComponent, ManageHouseHoldComponent, ManageOtherBusinessIncomeComponent, ManageDailySalesComponent,PdStatusChangeDialogueComponent, ViewLocationComponent, ConfirmAiDetailsComponent, RentalVerificationComponent, InitiateAdditionalPdComponent, ManageDailyPurchaseComponent,ManageRentalVerificationComponent,FuturePlansAndBusinessEnvironmentComponent,ImageCropComponent,QueriesDocsComponent],
})
export class ManagePdModule {
}

View File

@ -755,5 +755,9 @@ export class PdTrigerService {
.pipe(catchError(this.handleError('role',[])))
}
getLenderContactPersons(datas){
return this._http.post(this.apiUrl+'getLenderContactPersons',{records:datas})
.pipe(catchError(this.handleError('role',[])))
}
}

View File

@ -30,6 +30,7 @@ import { BusinessAssetsInfoComponent } from './../../../personal-discussion/mana
import { PdStatusChangeDialogueComponent } from './../../../personal-discussion/manage-pd/list-pd/pd-status-change-dialogue/pd-status-change-dialogue.component';
import {RentalVerificationComponent} from './../../../personal-discussion/manage-pd/list-pd/start-pd/forms/rental-verification/rental-verification.component';
import {FuturePlansAndBusinessEnvironmentComponent} from './../../../personal-discussion/manage-pd/list-pd/start-pd/forms/future-plans-and-business-environment/future-plans-and-business-environment.component';
import { QueriesDocsComponent } from 'app/personal-discussion/manage-pd/list-pd/start-pd/forms/queries-docs/queries-docs.component';
@Component({
selector: 'app-qc-start',
@ -459,6 +460,23 @@ export class QcStartComponent implements OnInit, OnDestroy {
this.loadTemplates(this.startPD,2,this.randomString);
});
}
else
if(this.selectedFormsCategory.form_id==24){
const dialogRef = this.dialog.open(QueriesDocsComponent, {
data: this.pdFullDetails,
// position: { right: '0'},
maxWidth: '100vw',
maxHeight: '100vh',
height: '100%',
width: '100%',
disableClose: true
});
dialogRef.afterClosed()
.subscribe(dataresult => {
// this.notifier.notify('success', 'Successfully allocated.!');
this.loadTemplates(this.startPD,2,this.randomString);
});
}
}

View File

@ -54,6 +54,7 @@ export class QcViewComponent implements OnInit, OnDestroy {
"QC_COMPLETED" :'QC_COMPLETED',
};
public _EditPDtriggerForm:FormGroup;
pdCollectedDocument:any=[];
pd_QC_Rating: Number;
constructor(notifier:NotifierService,private dialog: MatDialog,private _fb: FormBuilder,
private _qc: QcService,private route: ActivatedRoute,private router: Router, private QcListComponent: QcListComponent) {
@ -87,6 +88,7 @@ export class QcViewComponent implements OnInit, OnDestroy {
//this.applicantPDLogsData= data.records.pd_logs.master;
this.currentPDStatus = data.records.pd_master_details[0].pd_status;
this.pdAdditionalReqData = data.records.pd_additional_requirements;
this.pdCollectedDocument = data.records.docs_to_be_collected;
// enable pd start time
if(data.records.pd_master_details[0].scheduled_on_for_validation){
let courrentDateTime: string = this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm');

View File

@ -8,14 +8,18 @@ export const environment = {
authorization: 'TnAwuc64pVpcB9xf',
login_string: "cognito-idp.ap-south-1.amazonaws.com/ap-south-1_MlTee1O5V",
// For SineEdge
seIdentityPoolId: 'ap-south-1:31774418-8384-4fbb-b3e2-b87ce0f26ef1',
seUserPoolId: 'ap-south-1_MlTee1O5V', // UserName
seClientId: '7sd1jutija6hkrq5m7tegf3mvq',// ClientName
lenIdentityPoolId:"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907",
lenUserPoolId: "ap-south-1_hFiGyr1Gw", // Username :SPARQ_LENDER_DEV
lenClientId: "vkotfqgqorgjh3fvp1r26hslv", // ClientName:LENDER_DEV_WEB
//For Lender
lenIdentityPoolId:"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907", //This value is not used in the project
lenUserPoolId: "ap-south-1_Kg227UJOD", // Username :SSA_PROD_LENDER
lenClientId: "2vkgdmb5amk33ek5fs58tjmnkh", // ClientName:SSA_PROD_LENDER_WEB
// For Vendor
venIdentityPoolId: "ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874",
venUserPoolId: '',
venClientId: '',

View File

@ -11,7 +11,7 @@ export const environment = {
seUserPoolId: 'ap-south-1_qQ85yQZJO',
seClientId: '67b4fnbuols5upms5to8bvqddh',
lenIdentityPoolId:"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907",
lenIdentityPoolId:"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907", //This value is not used in the project
lenUserPoolId: "ap-south-1_hFiGyr1Gw", // Username :SPARQ_LENDER_DEV
lenClientId: "vkotfqgqorgjh3fvp1r26hslv", // ClientName:LENDER_DEV_WEB

View File

@ -46,7 +46,7 @@ export const environment = {
seUserPoolId: 'ap-south-1_qQ85yQZJO',
seClientId: '67b4fnbuols5upms5to8bvqddh',
lenIdentityPoolId:"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907",
lenIdentityPoolId:"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907", //This value is not used in the project
lenUserPoolId: "ap-south-1_hFiGyr1Gw", // Username
lenClientId: "vkotfqgqorgjh3fvp1r26hslv", // ClientName