This commit is contained in:
venbatechnologies@gmail.com 2019-11-18 12:10:12 +05:30
commit a430c936f8
39 changed files with 594 additions and 114 deletions

View File

@ -770,14 +770,29 @@ adminlistgroup(enitiy){
}
adminSetpassword(awsuser){
adminSetpassword(awsuser,lenname){
// console.log(awsuser,lenname);
this.getconfig();
var params = {
Password: 'temp1234', /* required */
UserPoolId: se_poolData.UserPoolId, /* required */
Username: awsuser, /* required */
Permanent: false
};
if(lenname == 'SINEEDGE'){
var params = {
Password: 'temp1234', /* required */
UserPoolId: se_poolData.UserPoolId, /* required */
Username: awsuser, /* required */
Permanent: false
};
}
else{
if(lenname == 'LENDER'){
var params = {
Password: 'temp1234', /* required */
UserPoolId: lender_poolData.UserPoolId, /* required */
Username: awsuser, /* required */
Permanent: false
};
}
}
return Observable.create(observe=>{
let cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
cognitoidentityserviceprovider.adminSetUserPassword(params, function(err, data) {

View File

@ -54,6 +54,8 @@ import { AngularFireModule } from '@angular/fire';
import { MessagingService } from './shared/messaging.service';
import { environment } from '../environments/environment';
import { AsyncPipe } from '../../node_modules/@angular/common';
import { SalesPdComponent } from './sales-pd/sales-pd.component';
import { PdTrigerService } from './personal-discussion/pd-service/pd-triger.service';
export function HttpLoaderFactory(http: HttpClient) {
@ -73,7 +75,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {
AppComponent,
AdminLayoutComponent,
AuthLayoutComponent,
NewPasswordDialog,ForgotPass,ChangePasswordDialog, RoleMenuItemsPipe,
NewPasswordDialog,ForgotPass,ChangePasswordDialog, RoleMenuItemsPipe, SalesPdComponent,
],
imports: [
BrowserModule,
@ -118,6 +120,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {
},
AwsService,AuthGuard,
TranslateService,
PdTrigerService,
// {
// provide: PERFECT_SCROLLBAR_CONFIG,
// useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG

View File

@ -4,6 +4,7 @@ import { AdminLayoutComponent } from './layouts/admin/admin-layout.component';
import { AuthLayoutComponent } from './layouts/auth/auth-layout.component';
import { CognitoService} from './AwsService/cognito.service';
import { AuthGuard } from './_guard/auth.guard';
import { SalesPdComponent } from './sales-pd/sales-pd.component';
export const AppRoutes: Routes = [{
path: '',
redirectTo: 'home',
@ -30,6 +31,10 @@ export const AppRoutes: Routes = [{
path:'quality_check_discussion',
loadChildren:'./quality-check/quality-check.module#QualityCheckModule'
},
{
path:'sales-pd-list',
component:SalesPdComponent
},
{
path:'reports',
loadChildren:'./reports/reports.module#ReportsModule'

View File

@ -155,21 +155,23 @@ export class AddPdComponent implements OnInit, OnDestroy {
this.lenderShortName = lender['short_name'];
// console.log(this.lenderShortName);
this._PDtriggerForm.controls.pd_branch_id.setValue(null);
if(this.lenderShortName == 'CLIX'){
let getProductAbbr = this.productAllList.map(dval => dval.product_abbr);
let ClixProductAbbr = ['BL','LAEP'];
let FilteredAbbr: any = [];
FilteredAbbr = ClixProductAbbr.map(x => {
let findIndex = getProductAbbr.indexOf(x);
return this.productAllList[findIndex];
});
this.productList = FilteredAbbr.length > 0 ? FilteredAbbr : this.productAllList;
}
else{
this.productList = this.productAllList;
}
// if(this.lenderShortName == 'CLIX'){
// let getProductAbbr = this.productAllList.map(dval => dval.product_abbr);
// let ClixProductAbbr = ['BL','LAEP'];
// let FilteredAbbr: any = [];
// FilteredAbbr = ClixProductAbbr.map(x => {
// let findIndex = getProductAbbr.indexOf(x);
// return this.productAllList[findIndex];
// });
// this.productList = FilteredAbbr.length > 0 ? FilteredAbbr : this.productAllList;
// }
// else{
// this.productList = this.productAllList;
// }

View File

@ -170,21 +170,22 @@ export class EditPdMasterComponent implements OnInit {
if(!option){
this._EditPDtriggerForm.controls.pd_branch_id.setValue(null);
}
if(this.lenderShortName == 'CLIX'){
let getProductAbbr = this.productAllList.map(dval => dval.product_abbr);
let ClixProductAbbr = ['BL','LAEP'];
let FilteredAbbr: any = [];
FilteredAbbr = ClixProductAbbr.map(x => {
let findIndex = getProductAbbr.indexOf(x);
return this.productAllList[findIndex];
});
this.productList = FilteredAbbr.length > 0 ? FilteredAbbr : this.productAllList;
}
else{
this.productList = this.productAllList;
}
// if(this.lenderShortName == 'CLIX'){
// let getProductAbbr = this.productAllList.map(dval => dval.product_abbr);
// let ClixProductAbbr = ['BL','LAEP'];
// let FilteredAbbr: any = [];
// FilteredAbbr = ClixProductAbbr.map(x => {
// let findIndex = getProductAbbr.indexOf(x);
// return this.productAllList[findIndex];
// });
// this.productList = FilteredAbbr.length > 0 ? FilteredAbbr : this.productAllList;
// }
// else{
// this.productList = this.productAllList;
// }
@ -399,7 +400,7 @@ if(!option){
// console.log(1);
this.customerSegmentList = this.customerSegmentAllList.filter(s => (s.customer_segment).includes('Self'));
if(this.lenderShortName == 'CLIX' && flag==2 ){ this._EditPDtriggerForm.controls['fk_customer_segment'].setValue('5'); }
this._EditPDtriggerForm.controls['fk_subproduct_id'].setValue(this.subProductList[0].subproduct_id);
// this._EditPDtriggerForm.controls['fk_subproduct_id'].setValue(this.subProductList[0].subproduct_id);
this.subProductList=[];
this.isSubproductShown = false;
break;

View File

@ -71,6 +71,7 @@ export class AddressComponent implements OnInit {
stateDataList: any = [];
cityDataList: any = [];
pincodeDataList: any = [];
product_abbr: any;
/**Constructor of the class */
constructor(private el: ElementRef, notifier: NotifierService,
@ -92,6 +93,8 @@ export class AddressComponent implements OnInit {
this.lender_applicant_id = this.pd_all_details.pdmaster_details.lender_applicant_id;
this.lender_short_name=this.pd_all_details.pdmaster_details.lender_short_name
this.subproduct_abbr = this.pd_all_details.pdmaster_details.subproduct_abbr;
this.product_abbr = this.pd_all_details.pdmaster_details.product_abbr;
console.log(this.product_abbr);
this.customer_segment_abbr = this.pd_all_details.pdmaster_details.customer_segment_abbr;
let CSAbbrSearch = this.pd_all_details.pdmaster_details.customer_segment_abbr.search("-");
@ -179,7 +182,7 @@ export class AddressComponent implements OnInit {
}
}
if(this.lender_short_name != 'CLIX') {
if(this.lender_short_name != 'CLIX' && this.product_abbr != 'BL') {
this.addressForm.controls.estimated_area.setValue(datas.estimated_area ? datas.estimated_area : '')
this.addressForm.controls.uom.setValue(datas.uom);
@ -222,7 +225,7 @@ export class AddressComponent implements OnInit {
// was_the_company_name_board_sighted:['', Validators.compose([Validators.required])],
address_form_remark: ['']
});
if(this.lender_short_name == 'CLIX'){
if(this.lender_short_name == 'CLIX' || this.product_abbr == 'BL'){
this.addressForm.removeControl('estimated_area');
this.addressForm.removeControl('uom');
}
@ -532,7 +535,7 @@ export class AddressComponent implements OnInit {
records.addresses[0].locality_mixuse = this.addressForm.controls.locality_mixuse.value;
records.addresses[0].pd_location = this.addressForm.controls.pd_location.value;
records.addresses[0].comment_locality = this.addressForm.controls.comment_locality.value;
if(this.lender_short_name != 'CLIX') {
if(this.lender_short_name != 'CLIX' && this.product_abbr != 'BL') {
records.addresses[0].estimated_area = this.addressForm.controls.estimated_area.value
records.addresses[0].uom = this.addressForm.controls.uom.value;
if (this.addressForm.controls.uom.value == 1) {
@ -557,7 +560,7 @@ export class AddressComponent implements OnInit {
records.alternative_addresses[0].locality_mixuse = this.addressForm.controls.locality_mixuse.value;
records.alternative_addresses[0].pd_location = this.addressForm.controls.pd_location.value;
records.alternative_addresses[0].comment_locality = this.addressForm.controls.comment_locality.value;
if(this.lender_short_name != 'CLIX') {
if(this.lender_short_name != 'CLIX' && this.product_abbr != 'BL') {
records.alternative_addresses[0].estimated_area = this.addressForm.controls.estimated_area.value
records.alternative_addresses[0].uom = this.addressForm.controls.uom.value;
if (this.addressForm.controls.uom.value == 1) {
@ -735,7 +738,7 @@ export class AddressComponent implements OnInit {
this.addressForm.controls.locality_others.setValue(datas.locality_others);
}
if(this.lender_short_name != 'CLIX'){
if(this.lender_short_name != 'CLIX' && this.product_abbr != 'BL'){
this.addressForm.controls.estimated_area.setValue(datas.estimated_area ? datas.estimated_area : '')
this.addressForm.controls.uom.setValue(datas.uom)
this.setOthers(datas.uom, '', 5);
@ -806,7 +809,7 @@ export class AddressComponent implements OnInit {
this.addressForm.controls.locality_others.setValue(datas.locality_others);
}
if(this.lender_short_name != 'CLIX'){
if(this.lender_short_name != 'CLIX' && this.product_abbr != 'BL'){
this.addressForm.controls.estimated_area.setValue(datas.estimated_area);
this.addressForm.controls.uom.setValue(datas.uom);
this.setOthers(datas.uom, '', 5);

View File

@ -74,13 +74,13 @@
<input matInput placeholder="Address of the Property" formControlName="address_of_the_property"
autocomplete="off">
</mat-form-field>
<mat-form-field style="width:45%" *ngIf="detail.get('property_type').value != '' && lender_short_name != 'CLIX'">
<mat-form-field style="width:45%" *ngIf="detail.get('property_type').value != '' && (lender_short_name != 'CLIX' && lender_short_name != 'SMC')">
<input matInput placeholder="Description of the Property" formControlName="describe_of_the_property_asset"
autocomplete="off">
</mat-form-field>
</div>
<div fxLayout="row nowrap" fxLayoutGap="2px" fxLayoutAlign="start none" *ngIf="lender_short_name != 'CLIX'">
<div fxLayout="row nowrap" fxLayoutGap="2px" fxLayoutAlign="start none" *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC' || product_abbr == 'LFMP'">
<mat-form-field style="width:45%">
<input matInput placeholder="Area Covered" formControlName="area_covered_by_this_property" OnlyNumber type="text"
autocomplete="off">
@ -358,7 +358,7 @@
</mat-form-field> -->
</div>
<span *ngIf="lender_short_name !== 'CLIX' && sup.get('assets_mode').value == 2 || sup.get('assets_mode').value == 3 || sup.get('assets_mode').value == 1 ">
<span *ngIf="(lender_short_name !== 'CLIX' && lender_short_name !== 'SMC' || product_abbr === 'LFMP') && sup.get('assets_mode').value == 2 || sup.get('assets_mode').value == 3 || sup.get('assets_mode').value == 1 ">
<mat-form-field style="width:45%">
@ -386,7 +386,7 @@
</mat-form-field>
</span>
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none" *ngIf="lender_short_name != 'CLIX'">
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none" *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC' || product_abbr == 'LFMP'">
<mat-form-field *ngIf="sup.get('assets_mode').value != ''" style="width:95%">
<mat-select placeholder="Is There a Loan Existing Against This Asset?"

View File

@ -73,6 +73,7 @@ export class AssetsInfoComponent implements OnInit {
lender_short_name: any;
image_doc_params: { pdid: string; form_id: any; company_id: string; };
form_id: string;
product_abbr: any;
constructor(
notifier: NotifierService,
private _formBuilder: FormBuilder,
@ -91,6 +92,7 @@ export class AssetsInfoComponent implements OnInit {
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.product_abbr = this.pd_all_details.pdmaster_details.product_abbr;
this.customer_segment_abbr = this.pd_all_details.pdmaster_details.customer_segment_abbr;
this.image_doc_params={pdid:this.pdid,form_id:this.form_id,company_id:''}
}

View File

@ -155,8 +155,8 @@
*ngIf="itemrow.controls['business_name_of_the_other_owner'].hasError('required')">Asset
Owned by Required</mat-error>
</mat-form-field>
<mat-form-field style="width:45%" *ngIf="lender_short_name != 'CLIX'">
<div *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC' || product_abbr == 'LFMP'">
<mat-form-field style="width:45%">
<mat-label>Age of Asset in Years</mat-label>
<input matInput autocomplete="off" placeholder="eg.99" formControlName="business_vintage"
minlength="1" maxlength="2" OnlyNumber type="text"
@ -180,9 +180,10 @@
<!-- <mat-error> Invalid year format</mat-error> -->
</mat-form-field>
</div>
</div>
<span *ngIf="lender_short_name != 'CLIX'">
<span *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC' || product_abbr === 'LFMP'">
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none">
<mat-form-field style="width:95%"
*ngIf="(itemrow.get('business_ownership_type').value == 'owned')">
@ -415,8 +416,8 @@
*ngIf="sup.controls['business_name_of_the_other_owner'].hasError('required')">Asset
Owned by is Required</mat-error>
</mat-form-field>
<mat-form-field style="width:45%" *ngIf="lender_short_name != 'CLIX'">
<div *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC' || product_abbr === 'LFMP'">
<mat-form-field style="width:45%">
<mat-label>Age of Asset in Years</mat-label>
<input matInput autocomplete="off" placeholder="eg.99"
formControlName="business_vintage" minlength="1" maxlength="2" OnlyNumber
@ -439,9 +440,10 @@
<!-- <mat-error> Invalid year format</mat-error> -->
</mat-form-field>
</div>
</div>
<span
*ngIf="(sup.get('business_assets_mode').value != '') && sup.get('business_ownership_type').value == 'owned' && lender_short_name != 'CLIX'">
*ngIf="(sup.get('business_assets_mode').value != '') && sup.get('business_ownership_type').value == 'owned' && (lender_short_name != 'CLIX' && lender_short_name != 'SMC' || product_abbr === 'LFMP')">
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none">
<mat-form-field style="width:95%">
<mat-select placeholder="Is There a Loan Existing Against This Asset?"

View File

@ -68,6 +68,7 @@ export class BusinessAssetsInfoComponent implements OnInit {
lender_short_name: any;
image_doc_params: { pdid: string; form_id: any; company_id: any; };
form_id: string;
product_abbr: any;
/**Constructor of the class */
constructor(
notifier: NotifierService,
@ -80,6 +81,7 @@ export class BusinessAssetsInfoComponent implements OnInit {
this.pdid = this.pd_all_details.pdmaster_details.pd_id;
this.form_id='22'
this.lender_short_name=this.pd_all_details.pdmaster_details.lender_short_name
this.product_abbr = this.pd_all_details.pdmaster_details.product_abbr;
this.applicants = this.pd_all_details.pdapplicants_detials;
this.applicants = this.applicants.filter(appt => appt.applicant_type != 2)

View File

@ -47,7 +47,9 @@ export class BusinessInfoGroupComponent implements OnInit {
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.lender_short_name = this.pd_all_details.pdmaster_details.lender_short_name;
console.log(this.lender_short_name);
this.product_abbr = this.pd_all_details.pdmaster_details.product_abbr;
console.log(this.product_abbr);
}
@ -197,7 +199,7 @@ export class BusinessInfoGroupComponent implements OnInit {
this.getCompanyListForBusiness();
});
}else
if((this.lender_short_name == 'CLIX' || this.product_abbr == 'LAEP') && details.form_id==23){
if((this.lender_short_name == 'CLIX' || this.product_abbr == 'LAEP' || (this.product_abbr == 'LFMP' && this.lender_short_name == 'SMC')) && details.form_id==23){
const dialogRef = this.dialog.open(FuturePlansAndBusinessEnvironmentComponent, {
data: this.pd_all_details,
maxWidth: '100vw',

View File

@ -1577,7 +1577,7 @@
type="number" formControlName="employees_permanent" required>
<mat-error *ngIf="businessForm.controls['employees_permanent'].hasError('required')">Permanent Required</mat-error>
</mat-form-field>
<mat-form-field *ngIf="lender_short_name != 'CLIX'">
<mat-form-field *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC'">
<input matInput placeholder="Temporary" (change)="checkTotalEmployee(businessForm)"
type="number" formControlName="employees_temporary" >
<mat-error *ngIf="businessForm.controls['employees_temporary'].hasError('required')">Temporary Required</mat-error>

View File

@ -130,7 +130,9 @@ export class BusinessInfoComponent implements OnInit {
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.lender_short_name = this.pd_all_details.pdmaster_details.lender_short_name;
console.log(this.lender_short_name);
this.product_abbr = this.pd_all_details.pdmaster_details.product_abbr;
console.log(this.product_abbr);
console.log("com",this.company_id)
this.image_doc_params={pdid:this.pdid,form_id:this.form_id,company_id:this.company_id}
}
@ -394,12 +396,16 @@ export class BusinessInfoComponent implements OnInit {
});
if (selectedRetail.length > 0) {
selectedRetail.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');
if(this.lender_short_name != 'CLIX'){
if( !(this.lender_short_name == 'CLIX' && this.product_abbr == 'BL') && !(this.lender_short_name == 'SMC' && this.product_abbr == 'BL')){
console.log('###PAY');console.log(this.lender_short_name,this.product_abbr)
selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');
selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');
selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')) : this.businessForm.removeControl('no_of_pos_machines');
selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details', this.fb.array([])) : this.businessForm.removeControl('pos_machines_details');
}
else{
console.log('###ELSE');console.log(this.lender_short_name,this.product_abbr)
}
selectedRetail.forEach((element, index) => {
this.CheckExport(element.area_of_sale, 'RActivity', index);
@ -461,7 +467,7 @@ export class BusinessInfoComponent implements OnInit {
});
if (selectedWholesale.length > 0) {
selectedWholesale.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');
if(this.lender_short_name != 'CLIX'){
if(!(this.lender_short_name == 'CLIX' && this.product_abbr == 'BL') && !(this.lender_short_name == 'SMC' && this.product_abbr == 'BL')){
selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');
selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');
selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')) : this.businessForm.removeControl('no_of_pos_machines');
@ -530,7 +536,7 @@ export class BusinessInfoComponent implements OnInit {
});
if (selectedService.length > 0) {
selectedService.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('practice_cert');
if(this.lender_short_name != 'CLIX'){
if(!(this.lender_short_name == 'CLIX' && this.product_abbr == 'BL') && !(this.lender_short_name == 'SMC' && this.product_abbr == 'BL')){
selectedService.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');
selectedService.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');
selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')) : this.businessForm.removeControl('no_of_pos_machines');
@ -800,7 +806,7 @@ export class BusinessInfoComponent implements OnInit {
this.businessForm.value.service_provider_activity_details.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl(this.businessForm.value.practice_cert, Validators.required)) : this.businessForm.removeControl('practice_cert');
// check activity for extra question make dynamic
if(this.lender_short_name != 'CLIX'){
if(!(this.lender_short_name == 'CLIX' && this.product_abbr == 'BL') && !(this.lender_short_name == 'SMC' && this.product_abbr == 'BL')){
this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl(this.businessForm.value.applicant_use_mobile_wallets)) : this.businessForm.removeControl('applicant_use_mobile_wallets');
this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl(this.businessForm.value.applicant_use_pos_machines)) : this.businessForm.removeControl('applicant_use_pos_machines');
if (this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0) {

View File

@ -56,7 +56,7 @@
<input matInput placeholder="Client Name" formControlName="manufacturing_client_name">
</mat-form-field>
</div>
<div fxLayout="row nowrap" *ngIf="lender_short_name != 'CLIX'">
<div fxLayout="row nowrap" *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC'">
<mat-form-field style="width: 15%">
<mat-select placeholder="Title" formControlName="person_title_name">
<mat-option>Select</mat-option>
@ -140,6 +140,13 @@
type="number">
</mat-form-field>
</div>
<div fxLayout="row" *ngIf="lender_short_name == 'SMC'">
<mat-form-field style="width: 100%">
<input matInput placeholder="Contribution to Total Turnover in %"
formControlName="manufacturing_contribution_total_turnover"
type="number" autocomplete="off" OnlyNumber type="text" maxlength="3" (blur)="onBlurMethod($event.target.value,items,1)">
</mat-form-field>
</div>
<div align="end">
@ -196,7 +203,7 @@
<input matInput placeholder="Client Name" formControlName="trade_client_name">
</mat-form-field>
</div>
<div fxLayout="row nowrap" fxLayoutGap="2px" fxLayoutAlign="start none" *ngIf="lender_short_name != 'CLIX'">
<div fxLayout="row nowrap" fxLayoutGap="2px" fxLayoutAlign="start none" *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC'">
<mat-form-field style="width: 15%">
<mat-select placeholder="Title" formControlName="person_title_name">
<mat-option>Select</mat-option>
@ -280,6 +287,13 @@
type="number">
</mat-form-field>
</div>
<div fxLayout="row" *ngIf="lender_short_name == 'SMC'">
<mat-form-field style="width: 100%">
<input matInput placeholder="Contribution to Total Turnover in %"
formControlName="trade_product_contribution_total_turnover"
type="number" autocomplete="off" OnlyNumber type="text" maxlength="3" (blur)="onBlurMethod($event.target.value,items,2)">
</mat-form-field>
</div>
<div align="end">
@ -333,7 +347,7 @@
<input matInput placeholder="Client Name" formControlName="service_provider_client_name">
</mat-form-field>
</div>
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none" *ngIf="lender_short_name != 'CLIX'">
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none" *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC'">
<!--<mat-form-field style="width: 100%">
<input matInput placeholder="Trade Product Name" formControlName="trade_product_name">
</mat-form-field>-->
@ -419,6 +433,13 @@
type="number">
</mat-form-field>
</div>
<div fxLayout="row" *ngIf="lender_short_name == 'SMC'">
<mat-form-field style="width: 100%">
<input matInput placeholder="Contribution to Total Turnover in %"
formControlName="service_provider_contribution_total_turnover"
type="number" autocomplete="off" OnlyNumber type="text" maxlength="3" (blur)="onBlurMethod($event.target.value,items,3)">
</mat-form-field>
</div>
<div align="end">

View File

@ -436,7 +436,8 @@ export class ClientInfoComponent implements OnInit {
person_landline: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(8), Validators.pattern('^[0-9]*$')])],
other_person_designation: [''],
manufacturing_credit_days_from: [''],
manufacturing_credit_days_to: ['']
manufacturing_credit_days_to: [''],
manufacturing_contribution_total_turnover :['']
})
} else {
return this._formBuilder.group({
@ -453,7 +454,8 @@ export class ClientInfoComponent implements OnInit {
person_landline: [records.person_landline || null, Validators.compose([Validators.minLength(6), Validators.maxLength(8), Validators.pattern('^[0-9]*$')])],
other_person_designation: [records.other_person_designation || null],
manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],
manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null]
manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null],
manufacturing_contribution_total_turnover: [records.manufacturing_contribution_total_turnover || null]
})
}
}
@ -485,6 +487,7 @@ export class ClientInfoComponent implements OnInit {
trade_product_frequency_of_purchase: [''],
trade_product_credit_days_from: [''],
trade_product_credit_days_to: [''],
trade_product_contribution_total_turnover: [''],
person_title_name: [''],
person_designation: [''],
person_stdcode: ['', Validators.compose([Validators.minLength(3), Validators.maxLength(5), Validators.pattern('^[0-9]*$')])],
@ -502,6 +505,7 @@ export class ClientInfoComponent implements OnInit {
trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],
trade_product_credit_days_from: [records.trade_product_credit_days_from],
trade_product_credit_days_to: [records.trade_product_credit_days_to],
trade_product_contribution_total_turnover: [records.trade_product_contribution_total_turnover || null],
person_title_name: [records.person_title_name || null],
person_designation: [records.person_designation || null],
person_stdcode: [records.person_stdcode || null, Validators.compose([Validators.minLength(3), Validators.maxLength(5), Validators.pattern('^[0-9]*$')])],
@ -538,6 +542,7 @@ export class ClientInfoComponent implements OnInit {
service_provider_product_frequency_of_purchase: [''],
service_provider_product_credit_days_from: [''],
service_provider_product_credit_days_to: [''],
service_provider_contribution_total_turnover: [''],
person_title_name: [''],
person_designation: [''],
person_stdcode: ['', Validators.compose([Validators.minLength(3), Validators.maxLength(5), Validators.pattern('^[0-9]*$')])],
@ -555,6 +560,7 @@ export class ClientInfoComponent implements OnInit {
service_provider_product_frequency_of_purchase: [records.service_provider_product_frequency_of_purchase],
service_provider_product_credit_days_from: [records.service_provider_product_credit_days_from],
service_provider_product_credit_days_to: [records.service_provider_product_credit_days_to],
service_provider_contribution_total_turnover: [records.service_provider_contribution_total_turnover || null],
person_title_name: [records.person_title_name || null],
person_designation: [records.person_designation || null],
person_stdcode: [records.person_stdcode || null, Validators.compose([Validators.minLength(3), Validators.maxLength(5), Validators.pattern('^[0-9]*$')])],
@ -825,4 +831,29 @@ retriveFile(){
}
});
}*/
onBlurMethod(v,items,option) {
if(v >= 101){
// alert('Only 100% is limit');
this.notifier.notify('warning', 'Only 100% is limit');
if(option == 1){
items.controls['manufacturing_contribution_total_turnover'].setValue('');
}
if(option == 2){
items.controls['trade_product_contribution_total_turnover'].setValue('');
}
if(option == 3){
items.controls['service_provider_contribution_total_turnover'].setValue('');
}
}
// const charCode = (event.which) ? event.which : event.keyCode;
// console.log(charCode);
// if (charCode > 31 && (charCode < 48 || charCode > 57)) {
// return false;
// }
// return true;
}
}

View File

@ -70,7 +70,7 @@
<mat-icon>add</mat-icon>
</button> -->
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Save"
matTooltipPosition="above" (click)="saveApplicant(_OtherForm.value)">
matTooltipPosition="above" (click)="saveApplicant(_OtherForm.getRawValue())">
<mat-icon>save</mat-icon>
</button>
</mat-dialog-actions>

View File

@ -15,6 +15,7 @@ export class OtherApplicantDetailsComponent implements OnInit {
applicantInfo: any = { 'pd_co_applicant_id': "", 'applicant_name': '', 'is_applicant': false, 'is_person_met': false, applicant_title_name: '', age: '', qualification: '', course_name: '' };
titleList: any = [];
qualificationList: any = [];
individuals_order_id: any;
//EditGeneralFormData: any=[];
//EditFlag: boolean = false;
@ -77,10 +78,11 @@ export class OtherApplicantDetailsComponent implements OnInit {
// create applicant form array
createApplicant(elementValue: any) {
console.log('00000',elementValue);
return this._fb.group({
pd_co_applicant_id: [elementValue.pd_co_applicant_id],
applicant_title_name: [elementValue.applicant_title_name, Validators.required],
applicant_name: [elementValue.applicant_name || '', Validators.required],
applicant_title_name: [elementValue.applicant_title_name, Validators.required],
applicant_name: [{value:elementValue.applicant_name, disabled : elementValue.individuals_order_id == 1 ? true : false} || '', Validators.required],
is_applicant: [elementValue.is_applicant || false],
is_person_met: [elementValue.is_person_met || false],
age: [elementValue.age || ''],

View File

@ -134,7 +134,7 @@
</mat-form-field>
</div> -->
<div *ngIf="lender_short_name !== 'CLIX'">
<div *ngIf="lender_short_name !== 'CLIX' && lender_short_name !== 'SMC' || product_abbr === 'LFMP'">
<div formArrayName="family_members_details">
<div *ngFor="let item of sup.controls.family_members_details['controls']; let i=index; let last=last "
[formGroupName]="i">
@ -273,7 +273,7 @@
</mat-card-actions>
</div>
<div *ngIf="lender_short_name === 'CLIX'">
<div *ngIf="lender_short_name === 'CLIX' || lender_short_name === 'SMC' && product_abbr != 'LFMP'">
<mat-card>
<mat-card-header>
<mat-card-title>

View File

@ -67,6 +67,7 @@ export class FamilyDetailsComponent implements OnInit {
stateDataList: any = [];
cityDataList: any = [];
pincodeDataList: any = [];
product_abbr: any;
/** constructor Of the class */
constructor(notifier: NotifierService, private fb: FormBuilder, private route: ActivatedRoute,
@ -81,6 +82,7 @@ export class FamilyDetailsComponent implements OnInit {
this.selectPerson = this.pd_all_details.pdapplicants_detials.filter(item => item.applicant_type != '2');
this.parent_pdid = this.pd_all_details.pdmaster_details.parent_pd_id;
this.lender_short_name=this.pd_all_details.pdmaster_details.lender_short_name;
this.product_abbr = this.pd_all_details.pdmaster_details.product_abbr;
this.pdid = this.pd_all_details.pdmaster_details.pd_id;
this.main_applicant = this.pd_all_details.pdmaster_details.main_applicant;
this.lender_applicant_id = this.pd_all_details.pdmaster_details.lender_applicant_id;

View File

@ -147,9 +147,10 @@
<mat-error *ngIf="_finalRemarkForm.controls['mode_of_transport_during_visit'].hasError('required')">Specify the Mode of Transport Used to Visit the PD address Required</mat-error>
</mat-form-field>
<mat-card *ngIf="lender_short_name == 'CLIX' || product_abbr == 'LAEP'">
<mat-card *ngIf="lender_short_name == 'CLIX' || lender_short_name == 'SMC' || product_abbr == 'LAEP'">
<mat-card-content>
<mat-card-subtitle *ngIf="lender_short_name == 'CLIX'">CLIX</mat-card-subtitle>
<mat-card-subtitle *ngIf="lender_short_name == 'SMC'">SMC</mat-card-subtitle>
<mat-form-field style="width:94%;" *ngIf="_finalRemarkForm.controls['outlet_location'] && product_abbr == 'LAEP'">
<mat-select placeholder="Comment on Footfall in the market where the B2C outlet is located…" formControlName="outlet_location"
required>

View File

@ -100,7 +100,7 @@ export class FinalRemarksComponent implements OnInit {
final_form_remarks: ['']
});
if(this.lender_short_name == 'CLIX' || this.product_abbr == 'LAEP'){
if(this.lender_short_name == 'CLIX' || this.lender_short_name == 'SMC' || this.product_abbr == 'LAEP'){
this.product_abbr == 'LAEP' ? this._finalRemarkForm.addControl('outlet_location', new FormControl('', Validators.required)) : this._finalRemarkForm.removeControl('outlet_location');
this._finalRemarkForm.addControl('is_competition', new FormControl(''));
this._finalRemarkForm.addControl('sealing_activity', new FormControl(''));
@ -239,7 +239,7 @@ export class FinalRemarksComponent implements OnInit {
this._finalRemarkForm.controls.market_intelligence.setValue(data.records.market_intelligence || '');
if(this.lender_short_name == 'CLIX' || this.product_abbr == 'LAEP'){
if(this.lender_short_name == 'CLIX' || this.lender_short_name == 'SMC' || this.product_abbr == 'LAEP'){
if(this.product_abbr == 'LAEP') {this._finalRemarkForm.controls.outlet_location.setValue(this.product_abbr == 'LAEP' ? data.records.outlet_location : ''); }
this._finalRemarkForm.controls.is_competition.setValue(data.records.is_competition);

View File

@ -397,7 +397,7 @@
{{AV_netProfitAmtInwords[i]}} Only </mat-hint> -->
</mat-form-field>
<mat-form-field style="width:54%" *ngIf="lender_short_name == 'CLIX' || product_abbr == 'LAEP'">
<mat-form-field style="width:54%" *ngIf="lender_short_name == 'CLIX' || lender_short_name == 'SMC' || product_abbr == 'LAEP'">
<input matInput placeholder="Annual Sales through Credit Card / POS machines"
formControlName="estimate_posmachine_or_cc_annual_sales">
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_posmachine_or_cc_annual_sales').value != ''">{{"&#8377;"}}
@ -486,7 +486,7 @@
</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' && lender_short_name != 'CLIX'">
<div style="margin-left: 25px;" *ngIf="financialForm.value.is_financial_customer == 'no' && financialForm.controls['kuccha_records_shown'] && (customer_segment_abbr == 'SE-DI' && lender_short_name != 'CLIX') && (lender_short_name != 'SMC')">
<!-- <mat-form-field style="width: 100%"> -->
<!-- <mat-select placeholder="Were the Kuccha records shown to the PD officer"-->
<div style="width:auto">

View File

@ -97,7 +97,7 @@
<mat-header-cell *matHeaderCellDef> </mat-header-cell>
<mat-cell *matCellDef="let details;let i =index;"
[style.visibility]="_generalForm.controls.individuals.value[i].is_main_applicant == true ? 'hidden':'visible'">
<button type="button" *ngIf="i > 0" class="mr-1 hover-icon" mat-raised-button mat-icon-button (click)="editIndividuals(details,i)"
<button type="button" class="mr-1 hover-icon" mat-raised-button mat-icon-button (click)="editIndividuals(details,i)"
matTooltip="Edit " matTooltipPosition="below">
<mat-icon>edit</mat-icon>
</button>
@ -168,7 +168,7 @@
<mat-error *ngIf="_generalForm.controls['is_kyc'].hasError('required')">KYC Required</mat-error>
</mat-form-field>
<mat-form-field class="mt-1" style="width: 60%" *ngIf="_generalForm.controls.is_kyc.value == 'no'">
<input matInput placeholder="Name as per KYC and capture the name." formControlName="kyc_and_captur_the_name"
<input matInput placeholder="Capture the correct name as per the KYC?" formControlName="kyc_and_captur_the_name"
type="text">
</mat-form-field>
</mat-card>

View File

@ -574,6 +574,7 @@ export class GeneralInfoComponent implements OnInit {
width: '40%',
disableClose: true
});
console.log(value);
dialogRef.afterClosed()
.subscribe(dataRes=>{
// console.log("close",dataRes)

View File

@ -58,7 +58,7 @@
<mat-error *ngIf="loanDetailsForm.controls['end_use_other'].hasError('required')">End Use Required</mat-error>
</mat-form-field>
<mat-form-field style="width: 28%" *ngIf="lenderShortName == 'CLIX'">
<mat-form-field style="width: 28%" *ngIf="lenderShortName == 'CLIX' || lenderShortName == 'SMC' && productAbbr != 'LFMP'">
<mat-select placeholder="Total fund requirement"
formControlName="is_there_total_fund">
<mat-option>Select</mat-option>
@ -76,7 +76,7 @@
</mat-form-field>
</span>
<div *ngIf="lenderShortName != 'CLIX'">
<div *ngIf="lenderShortName != 'CLIX' && lenderShortName != 'SMC' || productAbbr == 'LFMP'">
<mat-form-field style="width: 64%">
<mat-select placeholder="Is there a balance transfer ? " (selectionChange)="selectedBalancesTransferChanges($event.value)"
formControlName="is_transfer">
@ -119,7 +119,7 @@
</mat-form-field>
<mat-form-field style="width:64%" *ngIf="loanDetailsForm.controls['topup_amount'].value > 0 && lenderShortName != 'CLIX'">
<mat-form-field style="width:64%" *ngIf="loanDetailsForm.controls['topup_amount'].value > 0 && (lenderShortName != 'CLIX' && lenderShortName != 'SMC' || productAbbr == 'LFMP')">
<mat-select placeholder="What is the End Use of the Top Up?"
formControlName="end_use_topup">
<mat-option>Select</mat-option>
@ -166,7 +166,7 @@
</span>
<mat-form-field style="width: 64%" *ngIf="lenderShortName != 'CLIX'">
<mat-form-field style="width: 64%" *ngIf="lenderShortName != 'CLIX' && lenderShortName != 'SMC' || productAbbr == 'LFMP'">
<input matInput placeholder="EMI Amount Comfortable Paying" formControlName="emi_level"
OnlyNumber type="text" autocomplete="off">
<mat-hint align="start" style="font-size:90%" *ngIf="loanDetailsForm.controls['emi_level'].value != ''">{{"&#8377;"}} {{ loanDetailsForm.controls['emi_level'].value | numberToWords }} Only</mat-hint>
@ -246,7 +246,7 @@
<mat-hint align="start" style="font-size:90%" *ngIf="loanDetailsForm.controls['emv_per_customer'].value != ''">{{"&#8377;"}} {{ loanDetailsForm.controls['emv_per_customer'].value | numberToWords }} Only</mat-hint>
</mat-form-field>
<mat-form-field *ngIf="productAbbr !== 'LAP'" style="width:96%;">
<mat-form-field *ngIf="productAbbr !== 'LAP' && productAbbr !== 'LFMP'" style="width:96%;">
<input matInput placeholder="Name of current owner(s)/ Seller(s) of the property" formControlName="property_seller"
autocomplete="off">
</mat-form-field>

View File

@ -335,7 +335,7 @@ export class LoanDetailsComponent implements OnInit {
if (this.pd_all_details.pdmaster_details.fk_subproduct_id) {
this.loanDetailsForm.controls['sub_product'].setValue(this.pd_all_details.pdmaster_details.fk_subproduct_id);
}
if(this.lenderShortName == 'CLIX'){
if(this.lenderShortName == 'CLIX' || this.lenderShortName == 'SMC'){
// console.log(this.lenderShortName);
this.loanDetailsForm.controls['is_transfer'].setValue("no");
this.selectedBalancesTransferChanges("no")
@ -838,7 +838,7 @@ export class LoanDetailsComponent implements OnInit {
}
}
}
if(this.lenderShortName == 'CLIX'){
if(this.lenderShortName == 'CLIX' || this.lenderShortName == 'SMC'){
this.loanDetailsForm.controls['own_contribution'].setValue('');
this.loanDetailsForm.controls['own_contribution'].clearValidators();
this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();
@ -892,7 +892,7 @@ export class LoanDetailsComponent implements OnInit {
records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;
}
else if (this.loanDetailsForm.controls['is_transfer'].value == 'no') {
if (this.isContribution || this.lenderShortName == 'CLIX') {
if (this.isContribution || this.lenderShortName == 'CLIX' || this.lenderShortName == 'SMC') {
records.own_contribution = '';
records.source_group = '';
records.other_source = '';

View File

@ -127,23 +127,22 @@ export class QueriesDocsComponent implements OnInit {
// else{
// geoCoords=retrieved_data.link
// }
if(retrieved_data.docs_to_be_sighted != null){
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)
})
}
if(retrieved_data.docs_to_be_sighted != null){
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.patchValue(retrieved_data)

View File

@ -12,7 +12,7 @@
</h2>
<div *ngIf="noRecordsFound" style="max-width: 100vw !important;width: 100% !important;height: 95% !important;">
<form [formGroup]="stockForms" (submit)="submitDetails($event.value); ">
<form [formGroup]="stockForms" (submit)="submitDetails($event.value); ">
<mat-dialog-content style="border-bottom: 2px solid #e2412f8f;">
<mat-tab-group>
<mat-tab label="Questions">
@ -46,7 +46,7 @@
<mat-error *ngIf="mrm.controls['stock_observed'].hasError('required')">Stock Required</mat-error>
</mat-form-field>
<span *ngIf="mrm.get('stock_observed').value == 'yes'">
<div *ngIf="lender_short_name != 'CLIX'">
<div *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC' || product_abbr == 'LFMP'">
<mat-form-field style="width:30%">
<input matInput autocomplete="off" placeholder="Estimated Quantity"
formControlName="raw_quantity" OnlyNumber type="text">
@ -141,7 +141,7 @@
</mat-select>
</mat-form-field>
<span *ngIf="mfg.get('goods_observed').value == 'yes'">
<div *ngIf="lender_short_name != 'CLIX'">
<div *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC' || product_abbr == 'LFMP'">
<mat-form-field style="width:30%">
<input matInput autocomplete="off" placeholder="Estimated Quantity"
formControlName="goods_quantity" OnlyNumber
@ -227,7 +227,7 @@
</mat-select>
</mat-form-field>
<span *ngIf="item.get('traded_goods_observed').value == 'yes'">
<div *ngIf="lender_short_name != 'CLIX'">
<div *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC' || product_abbr == 'LFMP'">
<mat-form-field style="width:30%">
<input matInput autocomplete="off" placeholder="Estimated Quantity"
formControlName="traded_goods_quantity"
@ -316,7 +316,7 @@
</mat-select>
</mat-form-field>
<span *ngIf="tradetg.get('traded_goods_observed').value == 'yes'">
<div *ngIf="lender_short_name != 'CLIX'">
<div *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC' || product_abbr == 'LFMP'">
<mat-form-field style="width:30%">
<input matInput autocomplete="off" placeholder="Estimated Quantity"
formControlName="traded_goods_quantity"
@ -376,7 +376,7 @@
</div>
</div>
</mat-card>
</mat-card>
<div *ngIf="TGCommentCard">
<br>
@ -430,7 +430,7 @@
</mat-select>
</mat-form-field>
<span *ngIf="sp.get('service_provider_observed').value == 'yes'">
<div *ngIf="lender_short_name != 'CLIX'">
<div *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC' || product_abbr == 'LFMP'">
<mat-form-field style="width:30%">
<input matInput autocomplete="off" placeholder="Estimated Quantity"
formControlName="service_provider_quantity"
@ -485,6 +485,13 @@
</div>
</mat-card>
<div fxLayout="row" *ngIf="lender_short_name == 'SMC'">
<mat-form-field style="width: 100%">
<input matInput placeholder="How was stock Validated?"
formControlName="stock_validated"
autocomplete="off" type="text">
</mat-form-field>
</div>
<div *ngIf="SPCommentCard">
<br>

View File

@ -59,6 +59,7 @@ export class StockComponent implements OnInit {
public SPsufficientList: any = [{value:"yes",isdisplayvalue:"Yes",isdisabled:false},{value:"no",isdisplayvalue:"No",isdisabled:false},{value:"not applicable",isdisplayvalue:"Stock not required to be maintained",isdisabled:false}];
lender_short_name: any;
image_doc_params: { pdid: number; form_id: number; company_id: string; };
product_abbr: any;
/** Constructor */
constructor(notifier: NotifierService,
@ -73,6 +74,7 @@ export class StockComponent implements OnInit {
this.parent_pdid = this.pd_all_details.pdmaster_details.parent_pd_id
this.lender_short_name=this.pd_all_details.pdmaster_details.lender_short_name
this.product_abbr = this.pd_all_details.pdmaster_details.product_abbr;
this.pdid = this.pd_all_details.pdmaster_details.pd_id;
this.form_id = 11;
this.company_id = this.pd_all_details.company_id;
@ -176,6 +178,7 @@ export class StockComponent implements OnInit {
trade_details: this.fb.array([this.tradingFormCreation(type4length)]),
servicing_details: this.fb.array([this.servicingFormCreation(type5length)]),
is_sufficiant_finished_and_traded_goods: [dataForm.is_sufficiant_finished_and_traded_goods],
stock_validated: [dataForm.stock_validated || null],
finished_and_traded_goods_remarks: [dataForm.finished_and_traded_goods_remarks],
is_sufficiant_service_goods: [dataForm.hasOwnProperty('is_sufficiant_service_goods') ? dataForm.is_sufficiant_service_goods : ''],
service_goods_remarks: [dataForm.hasOwnProperty('service_goods_remarks') ? dataForm.service_goods_remarks : '' ]
@ -204,8 +207,11 @@ export class StockComponent implements OnInit {
if (val.type_of_activity_id == 4) {
if (val.products) {
let trading_temparr = [];
trading_temparr['trading_traded_goods'] = dataForm.trade_details[0].trading_traded_goods;
this.initTradingDetails(trading_temparr);
if(dataForm.trade_details[0])
{
trading_temparr['trading_traded_goods'] = dataForm.trade_details[0].trading_traded_goods ;
this.initTradingDetails(trading_temparr);
}
}
}
if (val.type_of_activity_id == 5) {
@ -240,6 +246,7 @@ export class StockComponent implements OnInit {
trade_details: this.fb.array([this.tradingFormCreation(type4length)]),
servicing_details: this.fb.array([this.servicingFormCreation(type5length)]),
is_sufficiant_finished_and_traded_goods: [''],
stock_validated: [''],
finished_and_traded_goods_remarks: [''],
is_sufficiant_service_goods: [''],
service_goods_remarks: ['']
@ -294,6 +301,7 @@ export class StockComponent implements OnInit {
trade_details: this.fb.array([this.tradingFormCreation(type4length)]),
servicing_details: this.fb.array([this.servicingFormCreation(type5length)]),
is_sufficiant_finished_and_traded_goods: [''],
stock_validated: [''],
finished_and_traded_goods_remarks: [''],
is_sufficiant_service_goods: [''],
service_goods_remarks: ['']

View File

@ -50,7 +50,7 @@
formControlName="manufacturing_supplier_name">
</mat-form-field>
</div>
<div fxLayout="row nowrap" *ngIf="lender_short_name != 'CLIX'">
<div fxLayout="row nowrap" *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC'">
<mat-form-field style="width: 15%">
<mat-select placeholder="Title"
formControlName="person_title_name">
@ -157,6 +157,13 @@
type="number">
</mat-form-field>
</div>
<div fxLayout="row" *ngIf="lender_short_name == 'SMC'">
<mat-form-field style="width: 100%">
<input matInput placeholder="Contribution to Total Purchase in %"
formControlName="manufacturing_contribution_total_purchase"
type="number" autocomplete="off" OnlyNumber type="text" maxlength="3" (blur)="onBlurMethod($event.target.value,items,1)">
</mat-form-field>
</div>
@ -221,7 +228,7 @@
formControlName="trade_supplier_name">
</mat-form-field>
</div>
<div fxLayout="row nowrap" *ngIf="lender_short_name != 'CLIX'">
<div fxLayout="row nowrap" *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC'">
<mat-form-field style="width: 15%">
<mat-select placeholder="Title"
formControlName="person_title_name">
@ -330,6 +337,13 @@
type="number">
</mat-form-field>
</div>
<div fxLayout="row" *ngIf="lender_short_name == 'SMC'">
<mat-form-field style="width: 100%">
<input matInput placeholder="Contribution to Total Purchase in %"
formControlName="trade_product_contribution_total_purchase"
type="number" autocomplete="off" OnlyNumber type="text" maxlength="3" (blur)="onBlurMethod($event.target.value,items,2)">
</mat-form-field>
</div>
@ -399,7 +413,7 @@
formControlName="service_provider_supplier_name">
</mat-form-field>
</div>
<div fxLayout="row nowrap" *ngIf="lender_short_name != 'CLIX'">
<div fxLayout="row nowrap" *ngIf="lender_short_name != 'CLIX' && lender_short_name != 'SMC'">
<mat-form-field style="width: 15%">
<mat-select placeholder="Title"
formControlName="person_title_name">
@ -506,6 +520,13 @@
type="number">
</mat-form-field>
</div>
<div fxLayout="row" *ngIf="lender_short_name == 'SMC'">
<mat-form-field style="width: 100%">
<input matInput placeholder="Contribution to Total Purchase in %"
formControlName="service_provider_contribution_total_purchase"
type="number" autocomplete="off" OnlyNumber type="text" maxlength="3" (blur)="onBlurMethod($event.target.value,items,3)">
</mat-form-field>
</div>

View File

@ -53,6 +53,7 @@ export class SupplierInfoComponent implements OnInit {
@Inject(MAT_DIALOG_DATA) public pd_all_details: any, private dialogRef: MatDialogRef<SupplierInfoComponent>) {
this.parent_pdid = this.pd_all_details.pdmaster_details.parent_pd_id
this.lender_short_name=this.pd_all_details.pdmaster_details.lender_short_name
console.log(this.lender_short_name);
this.pdid = this.pd_all_details.pdmaster_details.pd_id;
this.form_id = 1;
this.company_id = this.pd_all_details.company_id
@ -382,6 +383,7 @@ export class SupplierInfoComponent implements OnInit {
manufacturing_payment_mode: [''],
manufacturing_credit_days_from: [''],
manufacturing_credit_days_to: [''],
manufacturing_contribution_total_purchase: [''],
manufacturing_frequency_of_purchase: [''],
person_stdcode: ['', Validators.compose([Validators.minLength(3), Validators.maxLength(5), Validators.pattern('^[0-9]*$')])],
person_landline: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(8), Validators.pattern('^[0-9]*$')])],
@ -400,6 +402,7 @@ export class SupplierInfoComponent implements OnInit {
manufacturing_payment_mode: [records.manufacturing_payment_mode],
manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],
manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null],
manufacturing_contribution_total_purchase: [records.manufacturing_contribution_total_purchase || null],
manufacturing_frequency_of_purchase: [records.manufacturing_frequency_of_purchase || null],
person_stdcode: [records.person_stdcode || null, Validators.compose([Validators.minLength(3), Validators.maxLength(5), Validators.pattern('^[0-9]*$')])],
person_landline: [records.person_landline || null, Validators.compose([Validators.minLength(6), Validators.maxLength(8), Validators.pattern('^[0-9]*$')])],
@ -437,6 +440,7 @@ export class SupplierInfoComponent implements OnInit {
trade_product_frequency_of_purchase: [''],
trade_product_credit_days_from: [''],
trade_product_credit_days_to: [''],
trade_product_contribution_total_purchase: [''],
})
} else {
return this._formBuilder.group({
@ -454,6 +458,7 @@ export class SupplierInfoComponent implements OnInit {
trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],
trade_product_credit_days_from: [records.trade_product_credit_days_from],
trade_product_credit_days_to: [records.trade_product_credit_days_to],
trade_product_contribution_total_purchase: [records.trade_product_contribution_total_purchase || null],
})
}
}
@ -489,6 +494,7 @@ export class SupplierInfoComponent implements OnInit {
service_provider_frequency_of_purchase: [''],
service_provider_credit_days_from: [''],
service_provider_credit_days_to: [''],
service_provider_contribution_total_purchase: [''],
})
} else {
return this._formBuilder.group({
@ -506,6 +512,7 @@ export class SupplierInfoComponent implements OnInit {
service_provider_frequency_of_purchase: [records.service_provider_frequency_of_purchase],
service_provider_credit_days_from: [records.service_provider_credit_days_from],
service_provider_credit_days_to: [records.service_provider_credit_days_to],
service_provider_contribution_total_purchase: [records.service_provider_contribution_total_purchase || null],
})
}
}
@ -738,6 +745,32 @@ export class SupplierInfoComponent implements OnInit {
items.controls['manufacturing_credit_days_from'].updateValueAndValidity();
items.controls['manufacturing_credit_days_to'].updateValueAndValidity();
}
}
onBlurMethod(v,items,option) {
if(v >= 101){
// alert('Only 100% is limit');
this.notifier.notify('warning', 'Only 100% is limit');
if(option == 1){
items.controls['manufacturing_contribution_total_purchase'].setValue('');
}
if(option == 2){
items.controls['trade_product_contribution_total_purchase'].setValue('');
}
if(option == 3){
items.controls['service_provider_contribution_total_purchase'].setValue('');
}
}
// const charCode = (event.which) ? event.which : event.keyCode;
// console.log(charCode);
// if (charCode > 31 && (charCode < 48 || charCode > 57)) {
// return false;
// }
// return true;
}
// {

View File

@ -184,6 +184,19 @@ export class PdTrigerService {
)
}
getSalesPd(): Observable<any> {
return this._http.get<any[]>(this.apiUrl + "listSalesPD/any")
.pipe(
catchError(this.handleError('operation', []))
)
}
getSalesPdpdf(pdfdetail): Observable<any> {
return this._http.get<any[]>(this.apiUrl + "downloadSalesPDReport/" + pdfdetail)
.pipe(
catchError(this.handleError('operation', []))
)
}
// get edit row pd details
// This function also called in Final Remarks Form
// Make sure FinalRemarksForm does not effect. whenever you done any changes onit means

View File

@ -0,0 +1,143 @@
<mat-card class="p-2" style="box-shadow: 0 0 1px rgba(0,0,0,.18), 0 0 1px rgba(0,0,0,.15) !important">
<div fxLayout="row">
<div fxFlex="50" class="pb-0 text-sm-left">
<mat-form-field dividerColor="primary" style="width: 50%;">
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="Filter">
</mat-form-field>
</div>
</div>
<mat-tab-group class="mt-1">
<mat-tab>
<ng-template mat-tab-label>Sales PD</ng-template>
<mat-card-content>
<mat-expansion-panel [(expanded)]="xpandStatus">
<mat-expansion-panel-header>
<mat-panel-title class="text-xs-left">
<!-- <h6 class="mt-0"><mat-icon>filter_list</mat-icon> Filter</h6> -->
<mat-toolbar-row>
<mat-icon>filter_list</mat-icon>
<span class="toolbar-space"></span>
<span>Advance Filter</span>
</mat-toolbar-row>
</mat-panel-title>
</mat-expansion-panel-header>
<!-- <mat-list class="m-gap p-gap">
<div [formGroup]="searchForm">
<mat-form-field style="width:30%">
<mat-select multiple formControlName="pd_type" placeholder="PD Type">
<mat-option *ngFor="let type of PDType" [value]="type.pd_type_id">{{type.type_name}}</mat-option>
</mat-select>
</mat-form-field> &nbsp; &nbsp;
<mat-form-field style="width:30%">
<input matInput [max]="todaydate" [matDatepicker]="picker" (blur)="checkDate($event)" formControlName="pd_from_date" placeholder="Choose a From date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field> &nbsp; &nbsp;
<mat-form-field style="width:30%">
<input matInput [max]="todaydate" [matDatepicker]="picker1" [min]="searchForm.get('pd_from_date').value" formControlName="pd_to_date" placeholder="Choose a To date">
<mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>
<mat-datepicker #picker1></mat-datepicker>
</mat-form-field>
<mat-form-field style="width:30%">
<mat-select multiple formControlName="pd_products" placeholder="Products">
<mat-option *ngFor="let pro of PRODUCTS" [value]="pro.product_id">{{pro.name}}</mat-option>
</mat-select>
</mat-form-field> &nbsp; &nbsp;
<mat-form-field style="width:30%">
<mat-select multiple formControlName="pd_city" placeholder="City">
<mat-option *ngFor="let city of CITY" [value]="city.city_id">{{city.name}}</mat-option>
</mat-select>
</mat-form-field> &nbsp; &nbsp;
<mat-form-field style="width:30%">
<mat-select multiple formControlName="pd_lender" placeholder="Lender Name">
<mat-option *ngFor="let ent of ENTITY" [value]="ent.entity_id">{{ent.full_name}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field style="width:30%">
<input matInput type="text" formControlName="pd_name" placeholder="Applicant Name">
</mat-form-field> &nbsp; &nbsp;
<mat-form-field style="width:30%">
<input matInput type="text" formControlName="pd_applicant_id" placeholder="Applicant Id">
</mat-form-field>&nbsp; &nbsp;
<mat-form-field style="width: 30%">
<input matInput type="text" formControlName="pd_officer" placeholder="PD Officer Name" >
</mat-form-field>
<div align="right">
<button type="button" mat-raised-button mat-icon-button (click)="onReset()"
matTooltip="Reset" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary">
<mat-icon>settings_backup_restore</mat-icon>
</button>
<button type="button" mat-raised-button mat-icon-button (click)="searchItem()"
matTooltip="Search" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary" type="button">
<mat-icon>search</mat-icon>
</button>
</div>
</div>
</mat-list> -->
</mat-expansion-panel>
<br/>
<mat-table [dataSource]="dataSourceTab4" matSort *ngIf="salesPdData.length > 0" >
<ng-container matColumnDef="SalesPdId">
<mat-cell class="cell" *matCellDef="let details;">
<small mat-line>{{details.sales_pd_id}}</small>
</mat-cell>
</ng-container>
<ng-container matColumnDef="Applicant Name">
<mat-cell class="cell" *matCellDef="let details;">
<span *ngIf="!details.applicant_name" mat-line>
<small>--</small>
</span><br>
<span *ngIf="details.applicant_name" mat-line>
<b>{{details.applicant_name}}</b>
</span><br>
<span class="fontsize"> {{details.applicant_id}}</span>
</mat-cell>
</ng-container>
<ng-container matColumnDef="Short Name">
<mat-cell class="cell" *matCellDef="let details">
<small mat-line>{{details.short_name}}</small>
</mat-cell>
</ng-container>
<ng-container matColumnDef="Abbr">
<mat-cell class="cell" *matCellDef="let details;">
<small mat-line>{{details.abbr}}</small>
</mat-cell>
</ng-container>
<ng-container matColumnDef="Officer Name">
<mat-cell class="cell center" *matCellDef="let details;">
<span *ngIf="!details.officer_name" mat-line>
<small>--</small>
</span><br>
<span *ngIf="details.applicant_name" mat-line>
<small mat-line>{{details.officer_name}}</small>
</span>
</mat-cell>
</ng-container>
<ng-container matColumnDef="Create On">
<mat-cell class="cell center" *matCellDef="let details;">
<small mat-line>{{details.createdon | date: 'dd/MM/yyyy'}}</small>
</mat-cell>
</ng-container>
<ng-container matColumnDef="Action">
<mat-cell class="cell center" *matCellDef="let details;">
<button mat-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="PDF Download"
matTooltipPosition="above" color="primary" (click)="salesPDpdf(details.sales_pd_id)"><mat-icon>file_download</mat-icon></button>
</mat-cell>
</ng-container>
<mat-row style="align-items: normal !important;" *matRowDef="let row; columns: displayedColumns;">
</mat-row>
</mat-table>
</mat-card-content>
<mat-paginator *ngIf="!recordStatus" #paginator class="mat-elevation-z1" [length]="salesPdData.length" [pageIndex]="pageIndex" [pageSize]="pageSize"
[pageSizeOptions]="[5, 10, 25,50, 100]" (page)="pageEvent = $event; pageChange($event)" showFirstLastButtons>
</mat-paginator>
</mat-tab>
</mat-tab-group>
</mat-card>

View File

@ -0,0 +1,20 @@
.ic-change:hover {
transform: scale(1.1);
color: green;
}
.cell{
display:inline !important;
text-align: center !important;
}
.cellhide{
display: none !important;
}
.center{
text-align:center;
}
.fontsize{
font-size:14px;
}
.toolbar-space {
flex: 0.01 0 auto;
}

View File

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

View File

@ -0,0 +1,98 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { MatPaginator, MatSort, MatTableDataSource, PageEvent } from '@angular/material';
import { PdTrigerService } from 'app/personal-discussion/pd-service/pd-triger.service';
@Component({
selector: 'app-sales-pd',
templateUrl: './sales-pd.component.html',
styleUrls: ['./sales-pd.component.scss']
})
export class SalesPdComponent implements OnInit {
public dataLengthTab4: number;
public dataSourceTab4 = new MatTableDataSource();
displayedColumns = ['SalesPdId','Applicant Name','Short Name','Abbr','Officer Name','Create On','Action'];
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
// data source variable details
salesPdData:any[] = [];
salesPdpdf:any[] = [];
errorMessage:any[]=[];
recordStatus: boolean;
xpandStatus: boolean = false;
// pagination variable details
length = 5;
pageIndex = 0;
pageSize = 10;
pageEvent: PageEvent;
todaydate:Date = new Date();
constructor(private _pdSales: PdTrigerService) { }
ngOnInit() {
this.loadSalesPDDetails();
// this.salesPDpdf();
}
loadSalesPDDetails() {
this._pdSales.getSalesPd()
.subscribe(
data => {
if (data.status == 200) {
this.salesPdData = data.records;
this.dataLengthTab4 = data.records.length;
this.dataSourceTab4.data = this.salesPdData;
}
else{
this.salesPdData=[];
this.dataLengthTab4= null;
this.recordStatus=true;
}
}
// , error => this.errorMessage = <any> error);
,error => {
this.errorMessage.push(error);
// 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.!');
alert(error.html_format);
});
}
salesPDpdf(pdfdetail){
this._pdSales.getSalesPdpdf(pdfdetail)
.subscribe(
data => {
if (data.status == 200) {
// window.location.href=data.records;
window.open(data.records, '_blank');
}
}
// , error => this.errorMessage = <any> error);
,error => {
this.errorMessage.push(error);
// 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.!');
alert(error.html_format);
});
}
pageChange(e) {
console.log(e);
}
ngAfterViewInit() {
this.dataSourceTab4.paginator = this.paginator;
this.dataSourceTab4.sort = this.sort;
}
applyFilter(filterValue: string) {
this.dataSourceTab4.filter = filterValue.trim().toLowerCase();
}
}

View File

@ -482,8 +482,8 @@ callrole(flag,type,usersData){
resetAdminPassword(){
this.AWS.adminSetpassword(this.users.localUserId.aws_name).subscribe(res=>{
// console.log(this.types);
this.AWS.adminSetpassword(this.users.localUserId.aws_name,this.types[0].name).subscribe(res=>{
if(res == 'success'){
// this.notifier.notify('success','Please Fill all the Fields')

View File

@ -59,6 +59,12 @@ const HORIZONTALMENUITEMS = [
type:'link',
icon:'done_all',
},
{
state:'sales-pd-list',
name:'Sales PD',
type:'link',
icon:'work',
},
{
state:'reports',
name:'Reports',

View File

@ -100,6 +100,12 @@ const MENUITEMS : Menu[] = [
type:'link',
icon:'done_all',
},
{
state:'sales-pd-list',
name:'Sales PD',
type:'link',
icon:'work',
},
{
state:'reports',
name:'Reports',