Fairoj : Notification issues for both foreground and background resolved and turnover validated section introduced in fin info form for clix housing
This commit is contained in:
parent
034bb1c16a
commit
b704269471
6
ng6-seed/package-lock.json
generated
6
ng6-seed/package-lock.json
generated
@ -692,9 +692,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular/fire": {
|
"@angular/fire": {
|
||||||
"version": "5.3.0",
|
"version": "5.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/fire/-/fire-5.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/fire/-/fire-5.4.0.tgz",
|
||||||
"integrity": "sha512-Z/dywnrQiuz6Hfq0MncDvwB0obirWdCetrd//OkHsWKLKi1deFrb6ChuTBTGj+kN/cjHUEwI9pD4uoDvU7jyAg=="
|
"integrity": "sha512-067oatMtDbNKEWNdZoMWqKOzPpp0r8XZvpL1bcH6PO+q62ceJ2ig46ne1UqJP2nHRyXNAtIyJp7VhVoG4gRPiA=="
|
||||||
},
|
},
|
||||||
"@angular/flex-layout": {
|
"@angular/flex-layout": {
|
||||||
"version": "6.0.0-beta.18",
|
"version": "6.0.0-beta.18",
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
"@angular/common": "^6.1.10",
|
"@angular/common": "^6.1.10",
|
||||||
"@angular/compiler": "^6.1.10",
|
"@angular/compiler": "^6.1.10",
|
||||||
"@angular/core": "^6.1.10",
|
"@angular/core": "^6.1.10",
|
||||||
"@angular/fire": "^5.3.0",
|
"@angular/fire": "^5.4.0",
|
||||||
"@angular/flex-layout": "^6.0.0-beta.18",
|
"@angular/flex-layout": "^6.0.0-beta.18",
|
||||||
"@angular/forms": "^6.1.10",
|
"@angular/forms": "^6.1.10",
|
||||||
"@angular/http": "^6.0.0-rc.6",
|
"@angular/http": "^6.0.0-rc.6",
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import { AwsService } from './AwsService/aws.service';
|
|||||||
import { DashboardService } from './dashboard/dashboard.service';
|
import { DashboardService } from './dashboard/dashboard.service';
|
||||||
import 'rxjs/add/observable/interval';
|
import 'rxjs/add/observable/interval';
|
||||||
import { Observable,interval, Subscription } from 'rxjs';
|
import { Observable,interval, Subscription } from 'rxjs';
|
||||||
|
import { PushNotifyService } from './shared/push-notify.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'app-root',
|
||||||
@ -16,7 +17,7 @@ export class AppComponent {
|
|||||||
// public timer
|
// public timer
|
||||||
constructor(translate: TranslateService,
|
constructor(translate: TranslateService,
|
||||||
private messagingService: MessagingService,
|
private messagingService: MessagingService,
|
||||||
public aws: AwsService,private dashBoardService:DashboardService) {
|
public aws: AwsService,private dashBoardService:DashboardService,private pushNotify:PushNotifyService) {
|
||||||
translate.addLangs(['en', 'fr']);
|
translate.addLangs(['en', 'fr']);
|
||||||
translate.setDefaultLang('en');
|
translate.setDefaultLang('en');
|
||||||
|
|
||||||
@ -30,6 +31,7 @@ export class AppComponent {
|
|||||||
this.messagingService.receiveMessage()
|
this.messagingService.receiveMessage()
|
||||||
this.message = this.messagingService.currentMessage
|
this.message = this.messagingService.currentMessage
|
||||||
// this.alertForTAT()
|
// this.alertForTAT()
|
||||||
|
this.pushNotify.requestPermission();
|
||||||
}
|
}
|
||||||
|
|
||||||
// alertForTAT(){
|
// alertForTAT(){
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import { DashboardService } from '../../dashboard/dashboard.service';
|
|||||||
import { AwsService } from '../../AwsService/aws.service';
|
import { AwsService } from '../../AwsService/aws.service';
|
||||||
import { RoleMenuItemsPipe } from './../role-menu-items.pipe';
|
import { RoleMenuItemsPipe } from './../role-menu-items.pipe';
|
||||||
import 'rxjs/add/observable/interval';
|
import 'rxjs/add/observable/interval';
|
||||||
|
import { MessagingService } from 'app/shared/messaging.service';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -59,7 +60,7 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
|
|||||||
alertTAT: any;
|
alertTAT: any;
|
||||||
countTAT: number;
|
countTAT: number;
|
||||||
|
|
||||||
constructor(private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService,public aws:AwsService,public users:UserService,private _dashboardService: DashboardService) {
|
constructor(private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService,public aws:AwsService,public users:UserService,private _dashboardService: DashboardService,private messagingService:MessagingService) {
|
||||||
|
|
||||||
const browserLang: string = translate.getBrowserLang();
|
const browserLang: string = translate.getBrowserLang();
|
||||||
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');
|
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');
|
||||||
@ -292,8 +293,11 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
|
|||||||
this.aws.logout().subscribe(res=>{
|
this.aws.logout().subscribe(res=>{
|
||||||
//alert("res");
|
//alert("res");
|
||||||
localStorage.removeItem('user_role');
|
localStorage.removeItem('user_role');
|
||||||
|
this.messagingService.unsubscribeNotification()
|
||||||
|
setTimeout(()=>{
|
||||||
this.router.navigate(['/authentication/login']);
|
this.router.navigate(['/authentication/login']);
|
||||||
})
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
menunav(active){
|
menunav(active){
|
||||||
switch(active){
|
switch(active){
|
||||||
|
|||||||
@ -518,6 +518,256 @@
|
|||||||
<!-- </mat-form-field> -->
|
<!-- </mat-form-field> -->
|
||||||
</div><br/>
|
</div><br/>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
|
<mat-card *ngIf="lender_short_name == 'CHFPL'">
|
||||||
|
<mat-card-header><mat-card-title>Turnover validated during PD</mat-card-title></mat-card-header>
|
||||||
|
<mat-card-content>
|
||||||
|
<mat-form-field style="width:35%">
|
||||||
|
<mat-select placeholder="Is Turnover validated?" formControlName="is_turnover_validated"
|
||||||
|
(selectionChange)="turnoverValidatedValues($event.value)">
|
||||||
|
<mat-option value="yes">Yes</mat-option>
|
||||||
|
<mat-option value="no">No</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
<mat-error align="end" *ngIf="financialForm.controls['is_turnover_validated'].hasError('required')">Is Turnover validated is required</mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<div formArrayName="turnover_values">
|
||||||
|
<div *ngFor="let details of financialForm.controls.turnover_values['controls']; let i=index"
|
||||||
|
[formGroupName]="i">
|
||||||
|
<mat-card-content class="matcard">
|
||||||
|
<div style="width:100%">
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
|
||||||
|
<input matInput autocomplete="off" placeholder="Annual Sales From"
|
||||||
|
formControlName="estimate_sales_from" (change)="calculateSalesAverage(i, details);"
|
||||||
|
OnlyNumber type="text">
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_sales_from').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_sales_from').value | numberToWords}}
|
||||||
|
Only</mat-hint>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
|
||||||
|
<input matInput autocomplete="off" placeholder="Annual Sales To"
|
||||||
|
formControlName="estimate_sales_to" (change)="confirmAlert(i, details);"
|
||||||
|
OnlyNumber type="text">
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_sales_to').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_sales_to').value | numberToWords}} Only</mat-hint>
|
||||||
|
|
||||||
|
<!-- <input matInput autocomplete="off" placeholder="Annual Sales To"
|
||||||
|
formControlName="estimate_sales_to" (change)="confirmAlert(i, details);"
|
||||||
|
(keyup)="inWords($event,i,12)">
|
||||||
|
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_sales_to').value != ''">{{"₹"}}
|
||||||
|
{{AV_SalesToInwords[i]}} Only</mat-hint> -->
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Considered Sales Average"
|
||||||
|
formControlName="estimate_sales_average" readonly>
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_sales_average').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_sales_average').value | numberToWords}}
|
||||||
|
Only</mat-hint>
|
||||||
|
|
||||||
|
<!-- <input matInput autocomplete="off" placeholder="Considered Sales Average"
|
||||||
|
formControlName="estimate_sales_average" readonly>
|
||||||
|
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_sales_average').value != ''">{{"₹"}}
|
||||||
|
{{AV_SalesInwords[i]}} Only</mat-hint> -->
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div style="width:100%">
|
||||||
|
<mat-form-field style="width:39%">
|
||||||
|
<mat-select placeholder="Was there Net Profit or Net Loss?"
|
||||||
|
formControlName="estimate_profit_or_loss">
|
||||||
|
<mat-option value="1">Net Profit</mat-option>
|
||||||
|
<mat-option value="2">Net Loss</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:40%" *ngIf="details.get('estimate_profit_or_loss').value != '' ">
|
||||||
|
<mat-select placeholder="Is there Net Margin information Available?"
|
||||||
|
formControlName="estimate_net_margin_availablity">
|
||||||
|
<mat-option value="yes">Yes</mat-option>
|
||||||
|
<mat-option value="no">No</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 1 && details.get('estimate_net_margin_availablity').value == 'yes' ">
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Net Profit % From"
|
||||||
|
formControlName="estimate_profit_range_from" OnlyNumber
|
||||||
|
type="text" min='0' max='100' (change)="calculateMarginProfit( i, details);">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Net Profit % To"
|
||||||
|
formControlName="estimate_profit_range_to" OnlyNumber type="text"
|
||||||
|
min='0' max='100' (change)="calculateMarginProfit( i, details);">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Net Profit % Considered"
|
||||||
|
formControlName="estimate_profit_margin_percent" OnlyNumber
|
||||||
|
type="text" readonly>
|
||||||
|
<!-- <mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_profit_margin').value != ''"> {{"₹"}} {{AV_marginProfitAmtInwords[i]}} Only ( {{"₹"}} {{details.get('estimate_profit_margin').value}} ) </mat-hint> -->
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput placeholder="Net Profit Amount Considered"
|
||||||
|
formControlName="estimate_profit_margin" readonly>
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_profit_margin').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_profit_margin').value |
|
||||||
|
numberToWords}} Only</mat-hint>
|
||||||
|
|
||||||
|
<!-- <input matInput placeholder="Net Profit Amount Considered"
|
||||||
|
formControlName="estimate_profit_margin" readonly>
|
||||||
|
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_profit_margin').value != ''">
|
||||||
|
{{"₹"}} {{AV_marginProfitAmtInwords[i]}} Only
|
||||||
|
</mat-hint> -->
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 1 && details.get('estimate_net_margin_availablity').value == 'no' ">
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Net Profit Amount From"
|
||||||
|
formControlName="estimate_net_profit_from" OnlyNumber type="text"
|
||||||
|
(change)="calculateProfitAmount(i, details);">
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_net_profit_from').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_net_profit_from').value |
|
||||||
|
numberToWords}} Only</mat-hint>
|
||||||
|
|
||||||
|
<!-- <input matInput autocomplete="off" placeholder="Net Profit Amount From"
|
||||||
|
formControlName="estimate_net_profit_from" OnlyNumber type="text"
|
||||||
|
(change)="calculateProfitAmount(i, details);" (keyup)="inWords($event,i,7)">
|
||||||
|
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_profit_from').value != ''">{{"₹"}}
|
||||||
|
{{AV_netProfitAmtFrmInwords[i]}} Only </mat-hint> -->
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Net Profit Amount To"
|
||||||
|
formControlName="estimate_net_profit_to" OnlyNumber type="text"
|
||||||
|
(change)="calculateProfitAmount(i, details);">
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_net_profit_to').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_net_profit_to').value |
|
||||||
|
numberToWords}} Only</mat-hint>
|
||||||
|
|
||||||
|
<!-- <input matInput autocomplete="off" placeholder="Net Profit Amount To"
|
||||||
|
formControlName="estimate_net_profit_to" OnlyNumber type="text"
|
||||||
|
(change)="calculateProfitAmount(i, details);" (keyup)="inWords($event,i,8)">
|
||||||
|
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_profit_to').value != ''">{{"₹"}}
|
||||||
|
{{AV_netProfitAmtToInwords[i]}} Only </mat-hint> -->
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Considered Net Profit % "
|
||||||
|
formControlName="estimate_net_profit_percent" readonly>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput placeholder="Considered Profit Amount"
|
||||||
|
formControlName="estimate_net_profit" readonly>
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_net_profit').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_net_profit').value |
|
||||||
|
numberToWords}} Only</mat-hint>
|
||||||
|
|
||||||
|
<!-- <input matInput autocomplete="off" placeholder="Considered Profit Amount"
|
||||||
|
formControlName="estimate_net_profit" OnlyNumber type="text"
|
||||||
|
readonly>
|
||||||
|
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_profit').value != ''">{{"₹"}}
|
||||||
|
{{AV_netProfitAmtInwords[i]}} Only </mat-hint> -->
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 2 && details.get('estimate_net_margin_availablity').value == 'yes' ">
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Net Loss % From"
|
||||||
|
formControlName="estimate_loss_range_from" min='0' max='100'
|
||||||
|
OnlyNumber type="text" (change)="calculateMarginLoss( i, details);">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Net Loss % To"
|
||||||
|
formControlName="estimate_loss_range_to" min='0' max='100'
|
||||||
|
OnlyNumber type="text" (change)="calculateMarginLoss( i, details);">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Net Loss % Considered"
|
||||||
|
formControlName="estimate_loss_margin_percent" OnlyNumber
|
||||||
|
type="text" readonly>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput placeholder="Net Loss Amount Considered"
|
||||||
|
formControlName="estimate_loss_margin" readonly>
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_loss_margin').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_loss_margin').value |
|
||||||
|
numberToWords}} Only</mat-hint>
|
||||||
|
|
||||||
|
<!-- <input matInput placeholder="Net Loss Amount Considered"
|
||||||
|
formControlName="estimate_loss_margin" readonly>
|
||||||
|
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_loss_margin').value != ''">{{"₹"}}
|
||||||
|
{{AV_marginLossAmtInwords[i]}} Only </mat-hint> -->
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 2 && details.get('estimate_net_margin_availablity').value == 'no' ">
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Net Loss Amount From"
|
||||||
|
formControlName="estimate_net_loss_from" OnlyNumber type="text"
|
||||||
|
(change)="calculateLossAmount(i, details);">
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_net_loss_from').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_net_loss_from').value |
|
||||||
|
numberToWords}} Only</mat-hint>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Net Loss Amount To"
|
||||||
|
formControlName="estimate_net_loss_to" OnlyNumber type="text"
|
||||||
|
(change)="calculateLossAmount(i, details);">
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_net_loss_to').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_net_loss_to').value |
|
||||||
|
numberToWords}} Only</mat-hint>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<!-- <mat-form-field style="width:25%">
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_net_loss_to').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_net_loss_to').value |
|
||||||
|
numberToWords}} Only</mat-hint>
|
||||||
|
</mat-form-field> -->
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" placeholder="Considered Net Loss %"
|
||||||
|
formControlName="estimate_net_loss_percent" readonly>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width:25%">
|
||||||
|
<input matInput autocomplete="off" platurnover_validatedceholder="Considered Loss Amount"
|
||||||
|
formControlName="estimate_net_loss" OnlyNumber type="text">
|
||||||
|
<mat-hint align="start" style="font-size:90%" *ngIf="details.get('estimate_net_loss').value != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_net_loss').value | numberToWords}}
|
||||||
|
Only</mat-hint>
|
||||||
|
|
||||||
|
<!-- <input matInput autocomplete="off" placeholder="Considered Loss Amount"
|
||||||
|
formControlName="estimate_net_loss" OnlyNumber type="text" readonly>
|
||||||
|
<mat-hint align="start" style="font-size:70%" *ngIf="details.get('estimate_net_loss').value != ''">{{"₹"}}
|
||||||
|
{{AV_netLossAmtInwords[i]}} Only</mat-hint> -->
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div style="width:100%" *ngIf="details.get('estimate_profit_or_loss').value == 2">
|
||||||
|
<mat-form-field style="width:83%">
|
||||||
|
<input matInput autocomplete="off" placeholder="What is the reason for the Loss?"
|
||||||
|
formControlName="estimate_reason_for_loss">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<!-- <mat-form-field style="width:54%" *ngIf="lender_short_name == 'CLIX' && prod_catagory =='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 != ''">{{"₹"}}
|
||||||
|
{{details.get('estimate_posmachine_or_cc_annual_sales').value | numberToWords}} Only</mat-hint>
|
||||||
|
</mat-form-field> -->
|
||||||
|
</div>
|
||||||
|
</mat-card-content>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="financialForm.value.is_turnover_validated == 'yes'">
|
||||||
|
<mat-form-field style="width: 40%">
|
||||||
|
<mat-select placeholder="How was the turnover validated" formControlName="how_turnover_validated">
|
||||||
|
<mat-option>Select</mat-option>
|
||||||
|
<mat-option *ngFor="let val of turnover_validate_list" [value]="val.name">{{val.name}}</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
<mat-error align="end" *ngIf="financialForm.controls['how_turnover_validated'].hasError('required')">How was the Turnover validated is required</mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width: 40%" *ngIf="financialForm.value.how_turnover_validated == 'Others'">
|
||||||
|
<input matInput type="text" autocomplete="off" placeholder="Please specify the turnover validated (Others)" formControlName="turnover_validated_others">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
</mat-card-content>
|
||||||
|
</mat-card>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div fxLayout="row wrap">
|
<div fxLayout="row wrap">
|
||||||
|
|||||||
@ -31,6 +31,7 @@ import { ImageCropComponent } from '../dialogue/image-crop/image-crop.component'
|
|||||||
styleUrls: ['./financial-info.component.scss']
|
styleUrls: ['./financial-info.component.scss']
|
||||||
})
|
})
|
||||||
export class FinancialInfoComponent implements OnInit {
|
export class FinancialInfoComponent implements OnInit {
|
||||||
|
|
||||||
customer_segment_abbr: any;
|
customer_segment_abbr: any;
|
||||||
subproduct_abbr: any;
|
subproduct_abbr: any;
|
||||||
product_abbr: any;
|
product_abbr: any;
|
||||||
@ -85,6 +86,20 @@ export class FinancialInfoComponent implements OnInit {
|
|||||||
documentsAndFilesList: any = [];
|
documentsAndFilesList: any = [];
|
||||||
image_doc_params: { pdid: string; form_id: number; company_id: string; };
|
image_doc_params: { pdid: string; form_id: number; company_id: string; };
|
||||||
prod_catagory: any;
|
prod_catagory: any;
|
||||||
|
turnover_validate_list:any=[{
|
||||||
|
id:2,
|
||||||
|
name:'Validated from Bills/Records'
|
||||||
|
},{
|
||||||
|
id:3,
|
||||||
|
name:'Validated from Business activities seen'
|
||||||
|
},{
|
||||||
|
id:4,
|
||||||
|
name:'Validated from Stock/Inventory seen'
|
||||||
|
},{
|
||||||
|
id:1,
|
||||||
|
name:'Others'
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
constructor(notifier: NotifierService,
|
constructor(notifier: NotifierService,
|
||||||
private fb: FormBuilder,
|
private fb: FormBuilder,
|
||||||
@ -148,6 +163,13 @@ export class FinancialInfoComponent implements OnInit {
|
|||||||
this.financialForm.addControl('customer_declared_turnover',new FormControl())
|
this.financialForm.addControl('customer_declared_turnover',new FormControl())
|
||||||
this.financialForm.addControl('kuccha_bill_allowed',new FormControl())
|
this.financialForm.addControl('kuccha_bill_allowed',new FormControl())
|
||||||
}
|
}
|
||||||
|
if(this.lender_short_name == 'CHFPL'){
|
||||||
|
this.financialForm.addControl('is_turnover_validated',new FormControl('yes',Validators.compose([Validators.required])))
|
||||||
|
this.financialForm.addControl('how_turnover_validated',new FormControl('',Validators.compose([Validators.required])))
|
||||||
|
this.financialForm.addControl('turnover_validated_others',new FormControl(''))
|
||||||
|
this.financialForm.addControl('turnover_values',this.fb.array([]))
|
||||||
|
this.turnoverValidatedValues('yes')
|
||||||
|
}
|
||||||
|
|
||||||
this._pd.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(data => {
|
this._pd.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(data => {
|
||||||
if (data.dataStatus) {
|
if (data.dataStatus) {
|
||||||
@ -299,6 +321,9 @@ export class FinancialInfoComponent implements OnInit {
|
|||||||
retriveData.formid = this.form_id;
|
retriveData.formid = this.form_id;
|
||||||
retriveData.company_id = this.company_id;
|
retriveData.company_id = this.company_id;
|
||||||
retriveData.fk_createdby = this.pdid;
|
retriveData.fk_createdby = this.pdid;
|
||||||
|
if(this.lender_short_name == 'CHFPL'){
|
||||||
|
this.turnoverValidatedValues(retriveData.is_turnover_validated);
|
||||||
|
}
|
||||||
|
|
||||||
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=''
|
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"){
|
if(this.lender_short_name == "IIB"){
|
||||||
@ -312,7 +337,7 @@ export class FinancialInfoComponent implements OnInit {
|
|||||||
retriveData.hasOwnProperty('customer_declared_turnover') ? retriveData.customer_declared_turnover : retriveData.customer_declared_turnover=''
|
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=''
|
retriveData.hasOwnProperty('kuccha_bill_allowed') ? retriveData.kuccha_bill_allowed : retriveData.kuccha_bill_allowed=''
|
||||||
}
|
}
|
||||||
this.financialForm.setValue(retriveData);
|
this.financialForm.patchValue(retriveData);
|
||||||
if(this.ServiceDataAvailability == false && retriveData.unsold_stock_lies_in_days == 'NA'){
|
if(this.ServiceDataAvailability == false && retriveData.unsold_stock_lies_in_days == 'NA'){
|
||||||
|
|
||||||
this.financialForm.controls['unsold_stock_lies_in_days'].setValue('');
|
this.financialForm.controls['unsold_stock_lies_in_days'].setValue('');
|
||||||
@ -412,11 +437,11 @@ export class FinancialInfoComponent implements OnInit {
|
|||||||
/** CREATING financial Statement ( financial_year AutoGenerate ) */
|
/** CREATING financial Statement ( financial_year AutoGenerate ) */
|
||||||
createDate(date) {
|
createDate(date) {
|
||||||
return this.fb.group({
|
return this.fb.group({
|
||||||
financial_year: [date, Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],
|
financial_year: [date],
|
||||||
financial_annual_sale: ['', Validators.compose([Validators.pattern(/^[0-9\(\)]+$/)])],
|
financial_annual_sale: ['', Validators.compose([Validators.pattern(/^[0-9\(\)]+$/)])],
|
||||||
finanical_profit_or_loss:[''],
|
finanical_profit_or_loss:[''],
|
||||||
financial_net_profit: ['', Validators.compose([Validators.pattern(/^-?[1-9]\d*|0$/)])],
|
financial_net_profit: [''],//, Validators.compose([Validators.pattern(/^-?[1-9]\d*|0$/)])
|
||||||
financial_net_loss: ['', Validators.compose([Validators.pattern(/^-?[1-9]\d*|0$/)])],
|
financial_net_loss: [''],//, Validators.compose([Validators.pattern(/^-?[1-9]\d*|0$/)])
|
||||||
financial_margin_of_profit: [''],
|
financial_margin_of_profit: [''],
|
||||||
financial_margin_of_loss: [''],
|
financial_margin_of_loss: [''],
|
||||||
financial_variation: [''],
|
financial_variation: [''],
|
||||||
@ -735,6 +760,21 @@ export class FinancialInfoComponent implements OnInit {
|
|||||||
control.push(this.createValue(''));
|
control.push(this.createValue(''));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
turnoverValidatedValues(e:string){
|
||||||
|
const control = <FormArray>this.financialForm.controls['turnover_values'];
|
||||||
|
if(e == 'no'){
|
||||||
|
while (control.length !== 0) {
|
||||||
|
control.removeAt(0);
|
||||||
|
}
|
||||||
|
this.financialForm.controls['how_turnover_validated'].clearValidators()
|
||||||
|
}
|
||||||
|
else if (e == 'yes' && control.length === 0){
|
||||||
|
control.push(this.createValue(''));
|
||||||
|
this.financialForm.controls['how_turnover_validated'].setValidators(Validators.required)
|
||||||
|
}
|
||||||
|
this.financialForm.controls['how_turnover_validated'].updateValueAndValidity();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/** old code Without foreach loop
|
/** old code Without foreach loop
|
||||||
* calculating Annual Sale for financial Statement
|
* calculating Annual Sale for financial Statement
|
||||||
@ -1968,10 +2008,10 @@ export class FinancialInfoComponent implements OnInit {
|
|||||||
this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();
|
this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (!this.financialForm.valid) {
|
if (!this.financialForm.valid) {
|
||||||
// this.notifier.notify('warning', 'Please Fill All Mandatory Fields.!');
|
this.notifier.notify('warning', 'Please Fill All Mandatory Fields.!');
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
let records = this.financialForm.value;
|
let records = this.financialForm.value;
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import { CustomValidators } from 'ng2-validation';
|
|||||||
|
|
||||||
import { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';
|
import { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';
|
||||||
import { CognitoService } from '../../AwsService/cognito.service';
|
import { CognitoService } from '../../AwsService/cognito.service';
|
||||||
|
import { MessagingService } from 'app/shared/messaging.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ms-login-session',
|
selector: 'ms-login-session',
|
||||||
@ -41,7 +42,7 @@ export class LoginComponent implements OnInit{
|
|||||||
};
|
};
|
||||||
constructor(
|
constructor(
|
||||||
private router: Router, public aws: AwsService, public dialog: MatDialog,
|
private router: Router, public aws: AwsService, public dialog: MatDialog,
|
||||||
public shared:CognitoService,) {
|
public shared:CognitoService,private messagingService:MessagingService) {
|
||||||
|
|
||||||
}
|
}
|
||||||
ngOnInit(){
|
ngOnInit(){
|
||||||
@ -59,6 +60,7 @@ export class LoginComponent implements OnInit{
|
|||||||
if (res !== undefined) {
|
if (res !== undefined) {
|
||||||
// local storage for validate user access
|
// local storage for validate user access
|
||||||
localStorage.setItem('user_role',res.idToken.payload["custom:role_id"]);
|
localStorage.setItem('user_role',res.idToken.payload["custom:role_id"]);
|
||||||
|
this.initializeNotification()
|
||||||
this.router.navigate(['/home']);
|
this.router.navigate(['/home']);
|
||||||
}
|
}
|
||||||
}, err => {
|
}, err => {
|
||||||
@ -82,6 +84,7 @@ export class LoginComponent implements OnInit{
|
|||||||
let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };
|
let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };
|
||||||
this.aws.dologin(auth).subscribe(res => {
|
this.aws.dologin(auth).subscribe(res => {
|
||||||
localStorage.setItem('user_role',res.idToken.payload["custom:role_id"]);
|
localStorage.setItem('user_role',res.idToken.payload["custom:role_id"]);
|
||||||
|
this.initializeNotification()
|
||||||
this.router.navigate(['/home']);
|
this.router.navigate(['/home']);
|
||||||
}, err => {
|
}, err => {
|
||||||
alert(err.message);
|
alert(err.message);
|
||||||
@ -113,6 +116,13 @@ export class LoginComponent implements OnInit{
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
initializeNotification(){
|
||||||
|
const userId = this.aws.getlocale();
|
||||||
|
this.messagingService.requestPermission(userId)
|
||||||
|
this.messagingService.receiveMessage()
|
||||||
|
let msg = this.messagingService.currentMessage
|
||||||
|
console.log("From Login",msg)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { AngularFireDatabase } from '@angular/fire/database';
|
import { AngularFireDatabase, AngularFireList } from '@angular/fire/database';
|
||||||
import { AngularFireAuth } from '@angular/fire/auth';
|
import { AngularFireAuth } from '@angular/fire/auth';
|
||||||
import { AngularFireMessaging } from '@angular/fire/messaging';
|
import { AngularFireMessaging } from '@angular/fire/messaging';
|
||||||
import { mergeMapTo,catchError } from 'rxjs/operators';
|
import { mergeMapTo,catchError, mergeMap } from 'rxjs/operators';
|
||||||
import { take } from 'rxjs/operators';
|
import { take } from 'rxjs/operators';
|
||||||
import { BehaviorSubject, Observable, of } from 'rxjs'
|
import { BehaviorSubject, Observable, of } from 'rxjs'
|
||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
@ -10,18 +10,20 @@ import { HttpClient } from '@angular/common/http';
|
|||||||
/** Environment */
|
/** Environment */
|
||||||
import { environment } from 'environments/environment'
|
import { environment } from 'environments/environment'
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
|
import { PushNotifyService } from './push-notify.service';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class MessagingService {
|
export class MessagingService {
|
||||||
|
|
||||||
currentMessage = new BehaviorSubject(null);
|
currentMessage = new BehaviorSubject(null);
|
||||||
|
public curr: AngularFireList<any>;
|
||||||
constructor(
|
constructor(
|
||||||
private angularFireDB: AngularFireDatabase,
|
private angularFireDB: AngularFireDatabase,
|
||||||
private angularFireAuth: AngularFireAuth,
|
private angularFireAuth: AngularFireAuth,
|
||||||
private angularFireMessaging: AngularFireMessaging,
|
private angularFireMessaging: AngularFireMessaging,
|
||||||
private http: HttpClient,
|
private http: HttpClient,
|
||||||
private router:Router) {
|
private router:Router,
|
||||||
|
private notify_service:PushNotifyService) {
|
||||||
this.angularFireMessaging.messaging.subscribe(
|
this.angularFireMessaging.messaging.subscribe(
|
||||||
(_messaging) => {
|
(_messaging) => {
|
||||||
_messaging.onMessage = _messaging.onMessage.bind(_messaging);
|
_messaging.onMessage = _messaging.onMessage.bind(_messaging);
|
||||||
@ -85,8 +87,51 @@ export class MessagingService {
|
|||||||
this.angularFireMessaging.messages.subscribe(
|
this.angularFireMessaging.messages.subscribe(
|
||||||
(payload) => {
|
(payload) => {
|
||||||
console.log("new message received. ", payload);
|
console.log("new message received. ", payload);
|
||||||
|
let notify_param:any=[]
|
||||||
|
notify_param.push(payload['notification'])
|
||||||
|
this.notify_service.generateNotification(notify_param)
|
||||||
this.currentMessage.next(payload);
|
this.currentMessage.next(payload);
|
||||||
//this.router.navigate([''])
|
//this.router.navigate([''])
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
unsubscribeNotification1() {
|
||||||
|
this.angularFireMessaging.getToken.subscribe(res=>{
|
||||||
|
console.log("Deleting Token",res);
|
||||||
|
// console.log(this.angularFireDB.object('fcmTokens/'));
|
||||||
|
// console.log( this.angularFireDB.object('fcmTokens/'+res).remove())
|
||||||
|
// this.angularFireDB.object('fcmTokens/').remove().then(res=>{
|
||||||
|
// console.log("Token del",res)
|
||||||
|
// },err=>{
|
||||||
|
// console.log("new error",err);
|
||||||
|
// })
|
||||||
|
let subscribe=this.angularFireDB.object('/fcmTokens').snapshotChanges().subscribe()
|
||||||
|
subscribe.unsubscribe()
|
||||||
|
// this.curr=this.angularFireDB.list('/groups/');
|
||||||
|
// this.curr.snapshotChanges().subscribe(data=>{
|
||||||
|
// console.log(data);
|
||||||
|
// })
|
||||||
|
// // this.curr.unsubscribe();
|
||||||
|
// })
|
||||||
|
// const ll=this.angularFireDB.object('fcmTokens/')
|
||||||
|
// ll.unsubscribe
|
||||||
|
this.angularFireMessaging.deleteToken(res).subscribe(del=>{
|
||||||
|
console.log("Token Deleted",del)
|
||||||
|
},err=>{
|
||||||
|
console.log("Error Deleting the FCM Token",err)
|
||||||
|
})
|
||||||
|
},err=>{
|
||||||
|
console.log("Error getting the Token from FCM",err)
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
unsubscribeNotification() {
|
||||||
|
this.angularFireMessaging.getToken
|
||||||
|
.pipe(mergeMap(token => this.angularFireMessaging.deleteToken(token)))
|
||||||
|
.subscribe(
|
||||||
|
(token) => { console.log('Deleted!',token); },err=>{
|
||||||
|
console.log("Error while deleting token",err)
|
||||||
|
window.location.reload()
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
12
ng6-seed/src/app/shared/push-notify.service.spec.ts
Normal file
12
ng6-seed/src/app/shared/push-notify.service.spec.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import { TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { PushNotifyService } from './push-notify.service';
|
||||||
|
|
||||||
|
describe('PushNotifyService', () => {
|
||||||
|
beforeEach(() => TestBed.configureTestingModule({}));
|
||||||
|
|
||||||
|
it('should be created', () => {
|
||||||
|
const service: PushNotifyService = TestBed.get(PushNotifyService);
|
||||||
|
expect(service).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
87
ng6-seed/src/app/shared/push-notify.service.ts
Normal file
87
ng6-seed/src/app/shared/push-notify.service.ts
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import {
|
||||||
|
Observable
|
||||||
|
} from 'rxjs/Observable';
|
||||||
|
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
export class PushNotifyService {
|
||||||
|
public permission: Permission;
|
||||||
|
constructor() {
|
||||||
|
this.permission = this.isSupported() ? 'default' : 'denied';
|
||||||
|
}
|
||||||
|
public isSupported(): boolean {
|
||||||
|
return 'Notification' in window;
|
||||||
|
}
|
||||||
|
requestPermission(): void {
|
||||||
|
let self = this;
|
||||||
|
if ('Notification' in window) {
|
||||||
|
Notification.requestPermission(function(status) {
|
||||||
|
return self.permission = status;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
create(title: string, options ? : PushNotification): any {
|
||||||
|
let self = this;
|
||||||
|
return new Observable(function(obs) {
|
||||||
|
if (!('Notification' in window)) {
|
||||||
|
console.log('Notifications are not available in this environment');
|
||||||
|
obs.complete();
|
||||||
|
}
|
||||||
|
if (self.permission !== 'granted') {
|
||||||
|
console.log("The user hasn't granted you permission to send push notifications");
|
||||||
|
obs.complete();
|
||||||
|
}
|
||||||
|
let _notify = new Notification(title, options);
|
||||||
|
_notify.onshow = function(e) {
|
||||||
|
return obs.next({
|
||||||
|
notification: _notify,
|
||||||
|
event: e
|
||||||
|
});
|
||||||
|
};
|
||||||
|
_notify.onclick = function(e) {
|
||||||
|
return obs.next({
|
||||||
|
notification: _notify,
|
||||||
|
event: e
|
||||||
|
});
|
||||||
|
};
|
||||||
|
_notify.onerror = function(e) {
|
||||||
|
return obs.error({
|
||||||
|
notification: _notify,
|
||||||
|
event: e
|
||||||
|
});
|
||||||
|
};
|
||||||
|
_notify.onclose = function() {
|
||||||
|
return obs.complete();
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
generateNotification(source: Array < any > ): void {
|
||||||
|
let self = this;
|
||||||
|
source.forEach((item) => {
|
||||||
|
let options = {
|
||||||
|
body: item.body,
|
||||||
|
icon: item.icon
|
||||||
|
};
|
||||||
|
let notify = self.create('', options).subscribe();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export declare type Permission = 'denied' | 'granted' | 'default';
|
||||||
|
export interface PushNotification {
|
||||||
|
body ? : string;
|
||||||
|
icon ? : string;
|
||||||
|
tag ? : string;
|
||||||
|
data ? : any;
|
||||||
|
renotify ? : boolean;
|
||||||
|
silent ? : boolean;
|
||||||
|
sound ? : string;
|
||||||
|
noscreen ? : boolean;
|
||||||
|
sticky ? : boolean;
|
||||||
|
dir ? : 'auto' | 'ltr' | 'rtl';
|
||||||
|
lang ? : string;
|
||||||
|
vibrate ? : number[];
|
||||||
|
}
|
||||||
|
|
||||||
@ -3,7 +3,7 @@ export const environment = {
|
|||||||
map_api_key:'AIzaSyA3lYDYxwtn5vLSl45SOKbtK7G6cEyXGr0',
|
map_api_key:'AIzaSyA3lYDYxwtn5vLSl45SOKbtK7G6cEyXGr0',
|
||||||
environmentName: 'Testing Environment',//Test Environment.
|
environmentName: 'Testing Environment',//Test Environment.
|
||||||
|
|
||||||
apiEndpoint: 'https://demo.pdgenie.com/sparqtest/api/',
|
apiEndpoint: 'https://apitest.pdgenie.com/sparqtest/api/',
|
||||||
|
|
||||||
authorization: 'sparqvenba2018',
|
authorization: 'sparqvenba2018',
|
||||||
login_string: "cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO",
|
login_string: "cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO",
|
||||||
|
|||||||
@ -11,7 +11,8 @@ export const environment = {
|
|||||||
environmentName: 'Development Environment',//Localhost Environment.
|
environmentName: 'Development Environment',//Localhost Environment.
|
||||||
|
|
||||||
// apiEndpoint: 'https://demo.pdgenie.com/sparqtest/api/',
|
// apiEndpoint: 'https://demo.pdgenie.com/sparqtest/api/',
|
||||||
apiEndpoint: 'https://demo.pdgenie.com/sparqapi/api/',
|
// apiEndpoint: 'https://demo.pdgenie.com/sparqapi/api/',
|
||||||
|
apiEndpoint:'https://apitest.pdgenie.com/sparqapi/api/',
|
||||||
|
|
||||||
authorization: 'sparqvenba2018',
|
authorization: 'sparqvenba2018',
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user