Compare commits
10 Commits
20c9ad6b54
...
ca4f932bcf
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ca4f932bcf | ||
|
|
3498c83fd5 | ||
|
|
b1b9d6e431 | ||
|
|
10ac3230b7 | ||
|
|
d04d5930a7 | ||
|
|
e0f6cc5c02 | ||
|
|
f9c55c8e11 | ||
|
|
9e881880c8 | ||
|
|
0dc557c1aa | ||
|
|
0519812d85 |
@ -102,6 +102,9 @@
|
||||
},
|
||||
"test":{
|
||||
"browserTarget": "optima:build:test"
|
||||
},
|
||||
"staging":{
|
||||
"browserTarget": "optima:build:staging"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
2112
ng6-seed/package-lock.json
generated
2112
ng6-seed/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -16,15 +16,15 @@
|
||||
"dependencies": {
|
||||
"@agm/core": "^1.0.0-beta.5",
|
||||
"@angular/animations": "^6.1.10",
|
||||
"@angular/cdk": "^6.0.0-rc.5",
|
||||
"@angular/cdk": "^7.3.7",
|
||||
"@angular/common": "^6.1.10",
|
||||
"@angular/compiler": "^6.1.10",
|
||||
"@angular/core": "^6.1.10",
|
||||
"@angular/flex-layout": "^6.0.0-beta.18",
|
||||
"@angular/forms": "^6.1.10",
|
||||
"@angular/http": "^6.0.0-rc.6",
|
||||
"@angular/material": "^6.0.0-rc.5",
|
||||
"@angular/material-moment-adapter": "^6.0.0-rc.5",
|
||||
"@angular/material": "^7.3.7",
|
||||
"@angular/material-moment-adapter": "^6.4.7",
|
||||
"@angular/platform-browser": "^6.1.10",
|
||||
"@angular/platform-browser-dynamic": "^6.1.10",
|
||||
"@angular/router": "^6.1.10",
|
||||
@ -47,7 +47,7 @@
|
||||
"font-awesome": "4.7.0",
|
||||
"hammerjs": "2.0.8",
|
||||
"intl": "^1.2.4",
|
||||
"jquery": "^3.4.1",
|
||||
"jquery": "^3.5.1",
|
||||
"karma-jasmine": "^1.1.1",
|
||||
"leaflet": "^1.4.0",
|
||||
"moment": "^2.24.0",
|
||||
@ -65,9 +65,9 @@
|
||||
"ngx-mat-select-search": "^1.8.0",
|
||||
"ngx-perfect-scrollbar": "5.0.0-7",
|
||||
"ngx-viewer": "^1.0.1",
|
||||
"node-sass": "^4.12.0",
|
||||
"node-sass": "^4.14.1",
|
||||
"perfect-scrollbar": "^1.3.0",
|
||||
"quill": "^1.2.0",
|
||||
"quill": "^1.3.7",
|
||||
"rxjs": "^6.5.1",
|
||||
"rxjs-compat": "^6.5.1",
|
||||
"screenfull": "^3.2.2",
|
||||
|
||||
@ -1,11 +1,14 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';
|
||||
import { AwsService } from 'app/AwsService/aws.service';
|
||||
import { DashboardService } from 'app/dashboard/dashboard.service';
|
||||
import { PdTrigerService } from 'app/personal-discussion/pd-service/pd-triger.service';
|
||||
import { environment } from 'environments/environment';
|
||||
import { CognitoService } from '../AwsService/cognito.service';
|
||||
@Injectable()
|
||||
export class AuthGuard implements CanActivate, CanActivateChild {
|
||||
|
||||
constructor(private router: Router,public shared:CognitoService,private pdTriggerService:PdTrigerService) { }
|
||||
constructor(private router: Router,public shared:CognitoService,private pdTriggerService:PdTrigerService,private aws : AwsService,private dashBoardService:DashboardService) { }
|
||||
|
||||
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
|
||||
if (this.shared.getToken()) {
|
||||
@ -20,7 +23,7 @@ export class AuthGuard implements CanActivate, CanActivateChild {
|
||||
}
|
||||
|
||||
canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot,): boolean {
|
||||
console.log(route.queryParams.str)
|
||||
console.log(route.routeConfig.path,route.routeConfig.path.includes('viewpd'))
|
||||
let paramCheck = route.queryParams.str
|
||||
if(paramCheck) {
|
||||
paramCheck = paramCheck.split('/')
|
||||
@ -40,7 +43,11 @@ export class AuthGuard implements CanActivate, CanActivateChild {
|
||||
// alert("if");
|
||||
|
||||
return true;
|
||||
} else {
|
||||
} else if(paramCheck &&( route.routeConfig.path.includes('viewpd') || route.routeConfig.path.includes('personal_discussion'))){
|
||||
console.log("Login Process started for Link user")
|
||||
this.linkLogin()
|
||||
}
|
||||
else{
|
||||
console.log(route);
|
||||
// debugger;
|
||||
// else {
|
||||
@ -53,6 +60,45 @@ export class AuthGuard implements CanActivate, CanActivateChild {
|
||||
|
||||
}
|
||||
}
|
||||
linkLogin() {
|
||||
let auth = { 'Username': environment.credential.uname, 'Password': environment.credential.pwd };
|
||||
this.aws.dologin(auth).subscribe(res => {
|
||||
// console.log("do login",res);
|
||||
if (res !== undefined) {
|
||||
this.getCommonSettings().then(()=>{
|
||||
// local storage for validate user access
|
||||
localStorage.setItem('user_role',res.idToken.payload["custom:role_id"]);
|
||||
if(this.pdTriggerService.customer_url_data && this.pdTriggerService.customer_url_data.pdid && this.pdTriggerService.customer_url_data.rdmstr && this.pdTriggerService.customer_url_data.from == 'link') {
|
||||
let data= this.pdTriggerService.customer_url_data
|
||||
this.router.navigateByUrl('/personal_discussion/pdlist/viewpd?str='+data.pdid+'/'+data.rdmstr+'/link', {replaceUrl: true});
|
||||
|
||||
}
|
||||
else{
|
||||
this.router.navigate(['/'])
|
||||
}
|
||||
})
|
||||
}
|
||||
}, err => {
|
||||
if (err.message == "New password is required.") {
|
||||
alert("Please inform to administrator to set the password")
|
||||
// this.newpassopen();
|
||||
} else {
|
||||
|
||||
}
|
||||
//alert(err.message);
|
||||
})
|
||||
}
|
||||
getCommonSettings(){
|
||||
return new Promise((resolve,reject)=>{
|
||||
return this.dashBoardService.getCommonSettingsConfig().subscribe(res=>{
|
||||
let commonDetails:any = res;
|
||||
if(commonDetails.dataStatus == true){
|
||||
localStorage.setItem("commonSettings",JSON.stringify(commonDetails.records));
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// public getToken(): string {
|
||||
// return localStorage.getItem('token');
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<div class="relative">
|
||||
<!-- <div class="relative">
|
||||
<div class="form-bg">
|
||||
<div class="relative error-wrapper">
|
||||
<h1>
|
||||
@ -14,4 +14,27 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<div class="relative">
|
||||
<div class="form-bg">
|
||||
|
||||
|
||||
<h3 class="page-title"><img src="assets/images/PD.jpeg" style="height: 50px;;"> <span> PD Genie </span>
|
||||
</h3>
|
||||
|
||||
<div class="relative error-wrapper">
|
||||
<h1>
|
||||
Oops!</h1>
|
||||
<span class="error-text">{{errorMsgObject.title}}</span>
|
||||
<h2>
|
||||
{{errorMsgObject.subtitle}}</h2>
|
||||
<div class="error-details">
|
||||
<p>{{errorMsgObject.message}}</p>
|
||||
</div>
|
||||
<div class="error-actions" *ngIf="errorMsgObject.is_homebtn">
|
||||
<button class="mat-blue" mat-raised-button (click)="takeMeToHome()">Take me to Home</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,9 @@
|
||||
.form-bg {
|
||||
//background-image:url('http://www.ssa.sineedge.com/beta/assets/images/login.jpg') !important;
|
||||
//background-image: url(../../../assets/images/login_o.jpg);
|
||||
//background-color: #F44336;
|
||||
background: url(../../../assets/images/bg.png) repeat-x 0 0 #ffffff;
|
||||
height: 100vh !important;
|
||||
background-position: center !important;
|
||||
// min-height: calc(90vh + 90px) !important;
|
||||
}
|
||||
@ -1,4 +1,6 @@
|
||||
import { Component, OnInit,ViewEncapsulation } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { LoaderService } from 'app/shared/loaderService/loader.service';
|
||||
|
||||
@Component({
|
||||
selector: 'ms-error-404',
|
||||
@ -7,11 +9,24 @@ import { Component, OnInit,ViewEncapsulation } from '@angular/core';
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class ErrorOneComponent implements OnInit {
|
||||
errorMsgObject: any;
|
||||
|
||||
constructor() {}
|
||||
constructor(private router:Router, private loaderService:LoaderService) {}
|
||||
|
||||
ngOnInit() {
|
||||
// this.errorMsgObject ={
|
||||
// title:"404",
|
||||
// subtitle:'Not Found',
|
||||
// message:'The requested URL is not found on the server',
|
||||
// is_homebtn:false
|
||||
// }
|
||||
this.errorMsgObject = this.loaderService.errorMsg
|
||||
|
||||
console.log(this.errorMsgObject);
|
||||
}
|
||||
|
||||
takeMeToHome() {
|
||||
this.router.navigate(['/home']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<div fxLayout="row">
|
||||
<div fxFlex="50" class="pb-0 text-sm-left">
|
||||
<mat-form-field dividerColor="primary" style="width: 50%;">
|
||||
<input matInput [(ngModel)]="filterValue" placeholder="Filter">
|
||||
<input matInput [(ngModel)]="filterValue" placeholder="Search">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<!-- <div fxFlex="50" class="pb-0 text-sm-right" *ngIf="user_role_name != 'sales'"> -->
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
<div *ngIf="!data.hasOwnProperty('isCompleteAnywaydialog')">
|
||||
<h2 mat-dialog-title>{{data.title}}</h2>
|
||||
<mat-dialog-content>
|
||||
<div fxFlex="100">
|
||||
@ -28,3 +29,36 @@
|
||||
<!-- <mat-dialog-actions align="end" *ngIf="!CompletenessCheck">
|
||||
<button mat-raised-button mat-dialog-close><strong> Ok </strong></button>
|
||||
</mat-dialog-actions> -->
|
||||
</div>
|
||||
<div *ngIf="data.hasOwnProperty('isCompleteAnywaydialog') && data.isCompleteAnywaydialog == true">
|
||||
<h2 mat-dialog-title>{{data.title}}</h2>
|
||||
<mat-dialog-content>
|
||||
<div fxFlex="100">
|
||||
<p align="center">
|
||||
{{data.msg}}
|
||||
</p>
|
||||
<!-- <span *ngIf="!CompletenessCheck">
|
||||
<span *ngIf="!Loading">
|
||||
<p align="center" style="color: red !important;"> {{completeness_message}} </p>
|
||||
<ul><li *ngFor="let forms of dialoge_subcontent" style="color: red !important;">
|
||||
{{ forms }}
|
||||
</li></ul>
|
||||
</span>
|
||||
<span *ngIf="Loading">
|
||||
<div fxLayoutAlign="center">
|
||||
<mat-progress-spinner mode="indeterminate"></mat-progress-spinner>
|
||||
</div>
|
||||
</span>
|
||||
</span> -->
|
||||
</div>
|
||||
|
||||
</mat-dialog-content>
|
||||
<mat-dialog-actions align="end">
|
||||
<!-- <button *ngIf="enableAddonPD===true" mat-raised-button color="primary" (click)="changeCompletePDStatus(addonStatus)"><strong> Yes / Allow Addon PD</strong></button> -->
|
||||
<button mat-raised-button mat-dialog-close><strong> OK </strong></button>
|
||||
<button mat-raised-button color="primary" *ngIf="data.iscompleteenable == true" (click)="completeAnyway()"><strong>{{data.status == 'QC_COMPLETED' ? 'QC Complete Anyway' : 'Complete Anyway'}}</strong></button>
|
||||
</mat-dialog-actions>
|
||||
<!-- <mat-dialog-actions align="end" *ngIf="!CompletenessCheck">
|
||||
<button mat-raised-button mat-dialog-close><strong> Ok </strong></button>
|
||||
</mat-dialog-actions> -->
|
||||
</div>
|
||||
@ -22,6 +22,7 @@ export class PdCompleteStatusDialogueComponent implements OnInit {
|
||||
|
||||
constructor(notifier: NotifierService , private pd: PdTrigerService,private dialogRef: MatDialogRef<PdCompleteStatusDialogueComponent>,@Inject(MAT_DIALOG_DATA) public data: any)
|
||||
{
|
||||
console.log(data);
|
||||
// this.notifier = notifier;
|
||||
// this.dialoge_title_content = this.data.vendor_status=='INPROGRESS' ? 'Start Discussion' : this.data.vendor_status=='COMPLETED' ? 'Complete Discussion' : 'Change Discussion';
|
||||
// this.dialoge_content = this.data.vendor_status=='INPROGRESS' ? 'Are you starting the Discussion ?' : this.data.vendor_status=='COMPLETED' ? 'Please confirm you are completing the Discussion and forwarding for Quality Check ?' : 'Change Discussion';
|
||||
@ -37,4 +38,7 @@ export class PdCompleteStatusDialogueComponent implements OnInit {
|
||||
changeCompletePDStatus(){
|
||||
this.dialogRef.close('COMPLETED')
|
||||
}
|
||||
completeAnyway(){
|
||||
this.dialogRef.close('COMPLETED')
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import { LoaderService } from 'app/shared/loaderService/loader.service';
|
||||
import { Ng2ImgMaxService } from 'ng2-img-max';
|
||||
|
||||
@Component({
|
||||
@ -10,7 +11,7 @@ export class CaptureBtnComponent implements OnInit {
|
||||
|
||||
@Input() addMoreBtn;
|
||||
@Output() imageDataEmitter = new EventEmitter
|
||||
constructor(private ng2ImgMax:Ng2ImgMaxService) { }
|
||||
constructor(private ng2ImgMax:Ng2ImgMaxService,private loaderService:LoaderService) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
console.log(this.addMoreBtn)
|
||||
@ -18,15 +19,19 @@ export class CaptureBtnComponent implements OnInit {
|
||||
capturedImage(event){
|
||||
console.log(event);
|
||||
let imageData= event.target.files[0]
|
||||
this.loaderService.showMatSpinnerDialog();
|
||||
if(imageData) {
|
||||
this.ng2ImgMax.resizeImage(imageData, 450, 650).subscribe(
|
||||
result => {
|
||||
this.loaderService.closeMatSpinnerDialog();
|
||||
this.imageDataEmitter.emit(result)
|
||||
},
|
||||
error => {
|
||||
console.log('😢 Oh no!', error);
|
||||
this.loaderService.closeMatSpinnerDialog();
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
capture(event){
|
||||
event.preventDefault();
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
</div>
|
||||
<div fxFlex="30" align="end" style="padding: 10px !important;">
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close"
|
||||
matTooltipPosition="right" mat-dialog-close style="color:#e24533;background: white">
|
||||
matTooltipPosition="right" (click)="saveWithoutValidation();" style="color:#e24533;background: white">
|
||||
<mat-icon>close</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
@ -88,7 +88,7 @@
|
||||
<div *ngIf="remarksEnableFun()">
|
||||
<div fxLayout="row">
|
||||
<!-- <div fxLayout="column"> -->
|
||||
<mat-form-field appearance="fill" style="margin-top: 1%;justify-content: center">
|
||||
<mat-form-field style="margin-top: 1%;justify-content: center">
|
||||
<mat-label>Name of Person Met</mat-label>
|
||||
<input matInput type="text" formControlName="person_met_entered" />
|
||||
<mat-error align="end" style="font-size:13px" *ngIf="getQuestionControl().at(0)['controls']['person_met_entered'].errors?.required || getQuestionControl().at(0)['controls']['person_met_entered'].touched">Person Name required</mat-error>
|
||||
@ -145,7 +145,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Designation in company</mat-label>
|
||||
<mat-select formControlName="designation_entered">
|
||||
<ngx-mat-select-search [formControl]="designationFilterCtrl"
|
||||
@ -156,7 +156,7 @@
|
||||
</mat-select>
|
||||
<mat-error align="end" style="font-size:13px" *ngIf="getQuestionControl().at(0)['controls']['designation_entered'].errors?.required || getQuestionControl().at(0)['controls']['designation_entered'].touched">Designation required</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Relation with applicant</mat-label>
|
||||
<mat-select formControlName="relation_entered">
|
||||
<ngx-mat-select-search [formControl]="relationFilterCtrl"
|
||||
@ -167,7 +167,7 @@
|
||||
</mat-select>
|
||||
<mat-error align="end" style="font-size:13px" *ngIf="getQuestionControl().at(0)['controls']['relation_entered'].errors?.required || getQuestionControl().at(0)['controls']['relation_entered'].touched">Relation required</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Relation to</mat-label>
|
||||
<mat-select formControlName="relation_to">
|
||||
<mat-option>Select</mat-option>
|
||||
@ -176,7 +176,7 @@
|
||||
<mat-error align="end" style="font-size:13px" *ngIf="getQuestionControl().at(0)['controls']['relation_to'].errors?.required || getQuestionControl().at(0)['controls']['relation_to'].touched">Relation to required</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<!-- <mat-form-field *ngIf="remarksEnableFun()" appearance="fill">
|
||||
<!-- <mat-form-field *ngIf="remarksEnableFun()" >
|
||||
<mat-label>Remarks</mat-label>
|
||||
<textarea matInput type="text" formControlName="general_remark"></textarea>
|
||||
<mat-error align="end" style="font-size:13px" *ngIf="getQuestionControl().at(0)['controls']['general_remark'].errors?.required || getQuestionControl().at(0)['controls']['general_remark'].touched">Remarks Required</mat-error>
|
||||
@ -396,7 +396,7 @@
|
||||
|
||||
<div fxLayout="row">
|
||||
<div fxLayout="column" fxFlex="85%">
|
||||
<mat-form-field appearance="fill" >
|
||||
<mat-form-field >
|
||||
<mat-label>Approach to FI location</mat-label>
|
||||
<mat-select formControlName="pd_location">
|
||||
<mat-option>Select</mat-option>
|
||||
@ -424,7 +424,7 @@
|
||||
</div>
|
||||
<div fxLayout="row">
|
||||
<div fxLayout="column" fxFlex="100%">
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Comment on locality</mat-label>
|
||||
<mat-select formControlName="comment_locality">
|
||||
<mat-option>Select</mat-option>
|
||||
@ -451,7 +451,7 @@
|
||||
<div formArrayName="business_group">
|
||||
<!-- START OF BUSINESS INFO -->
|
||||
<div formGroupName="0">
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>No. of employees sighted by FI officer during visit</mat-label>
|
||||
<input matInput type="number" formControlName="officer_total">
|
||||
<mat-error align="end" style="font-size:12px" *ngIf="getBusinessInfoControls().at(0)['controls']['officer_total'].errors?.required || getBusinessInfoControls().at(0)['controls']['officer_total'].touched"> Required</mat-error>
|
||||
@ -459,7 +459,7 @@
|
||||
<!-- *ngIf="getQuestionControl().at(2).get('business_group').at(0).value.was_the_company_name_board_sighted" -->
|
||||
<div fxLayout="row">
|
||||
<div fxLayout="column" fxFlex="85%">
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Was the company name board sighted? </mat-label>
|
||||
<mat-select placeholder="Select" formControlName="was_the_company_name_board_sighted">
|
||||
<mat-option>Select</mat-option>
|
||||
@ -488,7 +488,7 @@
|
||||
</div>
|
||||
<div fxLayout="row">
|
||||
<div fxLayout="column" fxFlex="85%">
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Business Documents sighted </mat-label>
|
||||
<mat-select placeholder="Select" formControlName="documents_sighted" (selectionChange)= "onDocsSightedChange($event.value,1)">
|
||||
<mat-option>Select</mat-option>
|
||||
@ -558,7 +558,7 @@
|
||||
<!--</div> -->
|
||||
</div>
|
||||
</mat-card><br/>
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Do You Want to Add Other Documents?</mat-label>
|
||||
<mat-select formControlName="other_documents" (selectionChange)= "onDocsSightedChange($event.value,2)">
|
||||
<mat-option>Select</mat-option>
|
||||
@ -654,7 +654,7 @@
|
||||
<!-- START OF BUSINESS ASSETS -->
|
||||
<div formGroupName="1">
|
||||
<!-- <div fxLayout="column"> -->
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Was any business activities seen during visit?</mat-label>
|
||||
<mat-select placeholder="Select" formControlName="business_is_pd_visited">
|
||||
<mat-option>Select</mat-option>
|
||||
@ -677,7 +677,7 @@
|
||||
<input matInput type="text" formControlName="specify_pd_visited"/>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Is Business Asset Sighted</mat-label>
|
||||
<mat-select placeholder="Select" formControlName="business_asset_sight">
|
||||
<mat-option>Select</mat-option>
|
||||
@ -719,7 +719,7 @@
|
||||
fill="clear" ><ion-icon name="camera"></ion-icon></ion-button><br/>
|
||||
<mat-label style="font-size: 11px;">Capture the Image</mat-label>
|
||||
</div> -->
|
||||
<!-- <mat-form-field appearance="fill">
|
||||
<!-- <mat-form-field >
|
||||
<mat-label>Remarks</mat-label>
|
||||
<textarea matInput type="text" formControlName="business_pd_visited_remark"></textarea>
|
||||
</mat-form-field> -->
|
||||
@ -729,7 +729,7 @@
|
||||
<!-- START OF STOCK PHOTOGRAPH -->
|
||||
<div formGroupName="2" >
|
||||
<mat-label>Stock Photograph</mat-label><br/><br/>
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Stock Photograph</mat-label>
|
||||
<mat-select formControlName="is_stock_photo">
|
||||
<mat-option>Select</mat-option>
|
||||
@ -898,14 +898,14 @@
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
</mat-accordion><br/>
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Status of the check as per PD officer?</mat-label>
|
||||
<mat-select formControlName="neighbourhood_status" placeholder="Select" required (selectionChange)="setValidationForRemarks($event.value)">
|
||||
<mat-option *ngFor="let item of neighbour_status_list" [value]="item.id">{{item.name}}</mat-option>
|
||||
</mat-select>
|
||||
<mat-error align="end" style="font-size:12px" *ngIf="getQuestionControl().at(3)['controls']['neighbourhood_status'].errors?.required || getQuestionControl().at(3)['controls']['neighbourhood_status'].touched"> Required</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Remarks</mat-label>
|
||||
<textarea matInput formControlName="neighbour_reference_remark"></textarea>
|
||||
<mat-error align="end" style="font-size:12px" *ngIf="getQuestionControl().at(3)['controls']['neighbour_reference_remark'].errors?.required || getQuestionControl().at(3)['controls']['neighbour_reference_remark'].touched"> Required</mat-error>
|
||||
@ -932,7 +932,7 @@
|
||||
<div align="end" style="font-size:12px" *ngIf="getQuestionControl().at(4)['controls']['outlet_location'].errors?.required || getQuestionControl().at(4)['controls']['outlet_location'].touched"> Required</div>
|
||||
</div>
|
||||
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Is there a competetion to the applicant's business in the location </mat-label>
|
||||
<mat-select formControlName="is_competition" required>
|
||||
<mat-option>Select</mat-option>
|
||||
@ -949,7 +949,7 @@
|
||||
<mat-error align="end" style="font-size:12px" *ngIf="getQuestionControl().at(4)['controls']['appx_outlet_or_stores'].errors?.required || getQuestionControl().at(4)['controls']['appx_outlet_or_stores'].touched"> Required</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Any demolition activity seen in the locality by PD officer</mat-label>
|
||||
<mat-select formControlName="demolition_activity" required>
|
||||
<mat-option>Select</mat-option>
|
||||
@ -964,7 +964,7 @@
|
||||
<input matInput autocomplete="off" type="text" placeholder="Comment on any demolition activity observed" formControlName="comment_of_demolition_activity" />
|
||||
<mat-error align="end" style="font-size:12px" *ngIf="getQuestionControl().at(4)['controls']['comment_of_demolition_activity'].errors?.required || getQuestionControl().at(4)['controls']['comment_of_demolition_activity'].touched"> Required</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Any sealing activity observed in the locality by PD officer</mat-label>
|
||||
<mat-select formControlName="sealing_activity" required>
|
||||
<mat-option>Select</mat-option>
|
||||
@ -989,7 +989,7 @@
|
||||
|
||||
<mat-step formGroupName="5" [stepControl]="questions?.get([5])">
|
||||
<ng-template matStepLabel>Submit</ng-template>
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Final Status of visit</mat-label>
|
||||
<!-- <textarea matInput type="text" placeholder="Any other comments" formControlName="final_comments"></textarea> -->
|
||||
<mat-select formControlName="final_visit_status">
|
||||
@ -1000,7 +1000,7 @@
|
||||
</mat-select>
|
||||
<mat-error align="end" style="font-size:12px" *ngIf="getQuestionControl().at(5)['controls']['final_visit_status'].errors?.required || getQuestionControl().at(5)['controls']['final_visit_status'].touched"> Required</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-form-field >
|
||||
<mat-label>Comments</mat-label>
|
||||
<textarea matInput type="text" placeholder="Any other comments" formControlName="final_comments"></textarea>
|
||||
<mat-error align="end" style="font-size:12px" *ngIf="getQuestionControl().at(5)['controls']['final_comments'].errors?.required || getQuestionControl().at(5)['controls']['final_comments'].touched"> Required</mat-error>
|
||||
@ -1008,6 +1008,7 @@
|
||||
<div class="mat-button-div">
|
||||
<button mat-stroked-button matStepperPrevious>Back</button>
|
||||
<!-- <button mat-stroked-button (click)="stepper.reset();firstFormGroup.reset()">Reset</button> -->
|
||||
<button *ngIf="!spinner_access" mat-stroked-button (click)="onSubmit('go_back')" >Save as Draft</button>
|
||||
<button mat-raised-button (click)="onSubmit()"><span *ngIf="!spinner_access">Submit</span> <span *ngIf="spinner_access"> Submitting...
|
||||
<!-- <ion-spinner color="light" name="dots" ></ion-spinner> -->
|
||||
<!-- <mat-spinner diameter="5"></mat-spinner> -->
|
||||
|
||||
@ -2,10 +2,21 @@
|
||||
color: #fff !important;
|
||||
background-color: #e00201 !important;
|
||||
}
|
||||
.mat-stepper-vertical {
|
||||
// margin-top: 8px;
|
||||
margin-left:-13px;
|
||||
// color:green;
|
||||
background:#ffffffc9;
|
||||
}
|
||||
// .mat-dialog-container {
|
||||
|
||||
::ng-deep .mat-dialog-container{
|
||||
// }
|
||||
|
||||
::ng-deep{ .no-padding > .mat-dialog-container{
|
||||
@media (max-width: 768px) {
|
||||
padding: 0px !important;
|
||||
will-change: transform, opacity;
|
||||
}
|
||||
}
|
||||
}
|
||||
.mat-button, .mat-raised-button{
|
||||
|
||||
@ -9,6 +9,7 @@ import { ReplaySubject, Subject } from 'rxjs';
|
||||
import { DatePipe } from '@angular/common';
|
||||
import { takeUntil, filter, tap, take } from 'rxjs/operators';
|
||||
import { CameraService } from 'app/personal-discussion/camera-service/camera.service';
|
||||
import { LoaderService } from 'app/shared/loaderService/loader.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-common-ques',
|
||||
@ -156,7 +157,7 @@ export class CommonQuesComponent implements OnInit {
|
||||
|
||||
constructor(private actRoute:ActivatedRoute,private quesService:PdTrigerService,private cameraService:CameraService,private router:Router,
|
||||
@Inject(MAT_DIALOG_DATA)public data,private _formBuilder:FormBuilder,
|
||||
notifier:NotifierService,private _awsService:AwsService,private dialogRef:MatDialogRef<CommonQuesComponent>) {
|
||||
notifier:NotifierService,private _awsService:AwsService,private dialogRef:MatDialogRef<CommonQuesComponent>,private loaderService:LoaderService) {
|
||||
this.notifier=notifier
|
||||
console.log("Hi")
|
||||
// this.actRoute.queryParams.subscribe(params=>{
|
||||
@ -413,6 +414,7 @@ getMasters() {
|
||||
}
|
||||
|
||||
getFormDatas() {
|
||||
this.loaderService.showMatSpinnerDialog();
|
||||
let params = {'parent_pdid':this.pdDetails.parent_pd_id,'pd_id':this.pdDetails.pd_id,'pd_form_id':"25"}
|
||||
this.quesService.getPDFormDetailsWithID(params).subscribe(result=>{
|
||||
if(result && result['dataStatus']) {
|
||||
@ -422,8 +424,10 @@ getFormDatas() {
|
||||
this.getInitialAddress();
|
||||
this.getBusinessDocumentsSighted()
|
||||
}
|
||||
this.loaderService.closeMatSpinnerDialog();
|
||||
// this.loadingProvider.dismissLoader()
|
||||
},err=>{
|
||||
this.loaderService.closeMatSpinnerDialog();
|
||||
console.log("getPDFormDetails Error",err)
|
||||
// this.loadingProvider.dismissLoader();
|
||||
this.notifier.notify("Network Error",'danger');
|
||||
@ -1063,6 +1067,7 @@ capturePic(event,controls,img_name?:String,form_id?) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
this.loaderService.showMatSpinnerDialog()
|
||||
console.log("Capture pic",event,controls,img_name,event)
|
||||
// return;
|
||||
// controls.setValue("pic");
|
||||
@ -1120,11 +1125,16 @@ capturePic(event,controls,img_name?:String,form_id?) {
|
||||
controls.setValue("")
|
||||
this.notifier.notify("warning",'Something went wrong!!')
|
||||
}
|
||||
|
||||
},err=>{
|
||||
// this.loaderService.closeMatSpinnerDialog()
|
||||
controls.setValue("")
|
||||
console.log(err)
|
||||
this.notifier.notify("error",'Network Error !!')
|
||||
})
|
||||
this.loaderService.closeMatSpinnerDialog()
|
||||
},err=>{
|
||||
this.loaderService.closeMatSpinnerDialog()
|
||||
})
|
||||
}
|
||||
// })
|
||||
@ -1193,6 +1203,7 @@ onDocsSightedChange(value,flag) {
|
||||
saveApplicantInfo(event,applicant_obj,image_key) {
|
||||
console.log("saveApplicantInfo",applicant_obj,image_key)
|
||||
console.log(applicant_obj);
|
||||
this.loaderService.showMatSpinnerDialog()
|
||||
// this.cameraProvider.showImageDialog().then((res:any)=>{
|
||||
var reader = new FileReader();
|
||||
// let imagePath = event;
|
||||
@ -1235,6 +1246,9 @@ saveApplicantInfo(event,applicant_obj,image_key) {
|
||||
console.log(err)
|
||||
this.notifier.notify("error",'Network Error !!')
|
||||
})
|
||||
this.loaderService.closeMatSpinnerDialog()
|
||||
},err=>{
|
||||
this.loaderService.closeMatSpinnerDialog()
|
||||
})
|
||||
}
|
||||
)}
|
||||
@ -1353,7 +1367,9 @@ onSubmit(flag?) {
|
||||
if(index != -1) {
|
||||
this.myStepper.selectedIndex = this.stepperInfo[index].stepper_index
|
||||
}
|
||||
setTimeout(()=>{
|
||||
this.notifier.notify("warning",'Minimum 3 photos required on Workplace Photograph')
|
||||
},800)
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -1364,7 +1380,9 @@ onSubmit(flag?) {
|
||||
if(index != -1) {
|
||||
this.myStepper.selectedIndex = this.stepperInfo[index].stepper_index
|
||||
}
|
||||
setTimeout(()=>{
|
||||
this.notifier.notify("warning",'Minimum 3 photos required on Stock Photographs')
|
||||
},800)
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -1375,7 +1393,9 @@ onSubmit(flag?) {
|
||||
if(index != -1) {
|
||||
this.myStepper.selectedIndex = this.stepperInfo[index].stepper_index
|
||||
}
|
||||
setTimeout(()=>{
|
||||
this.notifier.notify("warning",'Minimum 1 photo required on Business asset sighted photographs')
|
||||
},800)
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -1388,26 +1408,31 @@ onSubmit(flag?) {
|
||||
records.formid = "25";
|
||||
records.fk_createdby = this.users;
|
||||
records.is_form_validated = flag == 'go_back' ? '0' : '1'
|
||||
if(flag == 'go_back') {
|
||||
this.loaderService.showMatSpinnerDialog("Partial data save is in progress. Please wait...");
|
||||
}
|
||||
this.quesService.savePDFormDetailsWithID(records).subscribe(result=>{
|
||||
if(result['dataStatus']) {
|
||||
if(flag != 'go_back') {
|
||||
// if(flag != 'go_back') {
|
||||
this.notifier.notify('success',"Saved Successfully...",);
|
||||
}
|
||||
// }
|
||||
this.firstFormGroup.markAsPristine();
|
||||
this.firstFormGroup.markAsUntouched();
|
||||
if(flag != 'go_back') {
|
||||
// if(flag != 'go_back') {
|
||||
setTimeout(()=>{
|
||||
this.dialogRef.close()
|
||||
},3000)
|
||||
}
|
||||
// }
|
||||
}
|
||||
else {
|
||||
this.notifier.notify('warning',"Something went wrong");
|
||||
}
|
||||
this.loaderService.closeMatSpinnerDialog()
|
||||
this.spinner_access = false
|
||||
},err=>{
|
||||
console.log("Error in savePDFormDetails",err);
|
||||
this.notifier.notify('danger',"Network Error");
|
||||
this.loaderService.closeMatSpinnerDialog()
|
||||
this.spinner_access = false
|
||||
})
|
||||
}
|
||||
@ -1418,7 +1443,7 @@ canDeactivate(){
|
||||
// this.timer.unsubscribe();
|
||||
console.log(this.firstFormGroup.dirty)
|
||||
if(this.firstFormGroup.dirty){
|
||||
this.onSubmit('go_back');
|
||||
// this.onSubmit('go_back');
|
||||
// return this.constant.chekAlertOnLeave().then(res=>{
|
||||
// console.log(res)
|
||||
// return res
|
||||
@ -1651,10 +1676,19 @@ dynamicOnChangeValidations(choosed_value,controls_arr,value_compare) {
|
||||
})
|
||||
}
|
||||
}
|
||||
saveWithoutValidation() {
|
||||
if(this.firstFormGroup.dirty){
|
||||
this.onSubmit('go_back');
|
||||
}
|
||||
else{
|
||||
this.dialogRef.close()
|
||||
}
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
console.log("Common ques component destroyed");
|
||||
if(this.firstFormGroup.dirty){
|
||||
this.onSubmit('go_back');
|
||||
// this.onSubmit('go_back');
|
||||
// return this.constant.chekAlertOnLeave().then(res=>{
|
||||
// console.log(res)
|
||||
// return res
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
</div>
|
||||
<div fxFlex="30" align="end" style="padding: 10px !important;">
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close"
|
||||
matTooltipPosition="right" mat-dialog-close style="color:#e24533;background: white">
|
||||
matTooltipPosition="right" (click)="saveWithoutValidation();" style="color:#e24533;background: white">
|
||||
<mat-icon>close</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
@ -618,7 +618,7 @@ fill="clear">
|
||||
</ion-button>
|
||||
<mat-label *ngIf="getDocsSightedGroup['value'].other_doc_pic == ''" style="font-size: 11px">Capture the
|
||||
Image </mat-label> -->
|
||||
<mat-error align="end" style="font-size:12px" *ngIf="getDocsSightedGroup.controls['other_doc_pic'].errors?.required || getEmployer_details.controls['other_doc_pic'].touched">Required</mat-error>
|
||||
<mat-error align="end" style="font-size:12px" *ngIf="getDocsSightedGroup.controls['other_doc_pic'].errors?.required || getDocsSightedGroup.controls['other_doc_pic'].touched">Required</mat-error>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1115,6 +1115,7 @@ Image </mat-label> -->
|
||||
<div class="mat-button-div">
|
||||
<button mat-stroked-button matStepperPrevious>Back</button>
|
||||
<!-- <button mat-stroked-button (click)="stepper.reset();firstFormGroup.reset()">Reset</button> -->
|
||||
<button *ngIf="!spinner_access" mat-stroked-button (click)="onSubmit('go_back')" >Save as Draft</button>
|
||||
<button mat-raised-button (click)="onSubmit()"><span *ngIf="!spinner_access">Submit</span> <span *ngIf="spinner_access"> Submitting...
|
||||
<!-- <ion-spinner color="light" name="dots" ></ion-spinner> -->
|
||||
<!-- <mat-spinner diameter="5"></mat-spinner> -->
|
||||
|
||||
@ -8,6 +8,12 @@
|
||||
color: white;
|
||||
|
||||
}
|
||||
.mat-stepper-vertical {
|
||||
// margin-top: 8px;
|
||||
margin-left:-13px;
|
||||
// color:green;
|
||||
background:#ffffffc9;
|
||||
}
|
||||
.mat-stroked-button {
|
||||
color: #e24533;
|
||||
margin-right: 10px
|
||||
@ -46,10 +52,11 @@
|
||||
// margin-top: 16px;
|
||||
width: 100%;
|
||||
}
|
||||
::ng-deep .mat-dialog-container{
|
||||
::ng-deep{ .no-padding > .mat-dialog-container{
|
||||
@media (max-width: 768px) {
|
||||
padding: 0px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.whole_form {
|
||||
|
||||
@ -10,6 +10,7 @@ import { AwsService } from 'app/AwsService/aws.service';
|
||||
import { CommonQuesComponent } from '../common-ques/common-ques.component';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { CameraService } from 'app/personal-discussion/camera-service/camera.service';
|
||||
import { LoaderService } from 'app/shared/loaderService/loader.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-employer-info',
|
||||
@ -123,7 +124,8 @@ export class EmployerInfoComponent implements OnInit {
|
||||
|
||||
constructor(private actRoute:ActivatedRoute,private quesService:PdTrigerService,private router:Router,private cameraService:CameraService,
|
||||
@Inject(MAT_DIALOG_DATA)public data,private _formBuilder:FormBuilder,
|
||||
notifier:NotifierService,private _awsService:AwsService,private dialogRef:MatDialogRef<EmployerInfoComponent>) {
|
||||
notifier:NotifierService,private _awsService:AwsService,private dialogRef:MatDialogRef<EmployerInfoComponent>,
|
||||
private loaderService:LoaderService) {
|
||||
this.notifier=notifier
|
||||
this.pdDetails = this.data
|
||||
console.log(this.pdDetails);
|
||||
@ -425,6 +427,7 @@ export class EmployerInfoComponent implements OnInit {
|
||||
}
|
||||
|
||||
getFormDatas() {
|
||||
this.loaderService.showMatSpinnerDialog();
|
||||
let params = {'parent_pdid':this.pdDetails.parent_pd_id,'pd_id':this.pdDetails.pd_id,'pd_form_id':"25"}
|
||||
this.quesService.getPDFormDetailsWithID(params).subscribe(result=>{
|
||||
// result['dataStatus']=false
|
||||
@ -435,8 +438,10 @@ export class EmployerInfoComponent implements OnInit {
|
||||
this.getInitialAddress();
|
||||
// this.getBusinessDocumentsSighted()
|
||||
}
|
||||
this.loaderService.closeMatSpinnerDialog();
|
||||
// this.loadingProvider.dismissLoader()
|
||||
},err=>{
|
||||
this.loaderService.closeMatSpinnerDialog();
|
||||
console.log("getPDFormDetails Error",err)
|
||||
// this.loadingProvider.dismissLoader();
|
||||
this.notifier.notify('error',"Network Error");
|
||||
@ -1112,6 +1117,7 @@ export class EmployerInfoComponent implements OnInit {
|
||||
// this.cameraProvider.getpicture().then(res => {
|
||||
// this.cameraProvider.showImageDialog().then((res:any)=>{
|
||||
// console.log("g",res)
|
||||
this.loaderService.showMatSpinnerDialog()
|
||||
var reader = new FileReader();
|
||||
// let imagePath = event;
|
||||
reader.readAsDataURL(event);
|
||||
@ -1167,6 +1173,9 @@ export class EmployerInfoComponent implements OnInit {
|
||||
console.log(err)
|
||||
this.notifier.notify("danger","Network Error")
|
||||
})
|
||||
this.loaderService.closeMatSpinnerDialog();
|
||||
},err=>{
|
||||
this.loaderService.closeMatSpinnerDialog();
|
||||
})
|
||||
})
|
||||
}
|
||||
@ -1236,6 +1245,7 @@ export class EmployerInfoComponent implements OnInit {
|
||||
// this.cameraProvider.getpicture().then(res => {
|
||||
// this.cameraProvider.showImageDialog().then((res:any)=>{
|
||||
// console.log("g",res)
|
||||
this.loaderService.showMatSpinnerDialog()
|
||||
console.log("saveApplicantInfo",applicant_obj,image_key)
|
||||
var reader = new FileReader();
|
||||
// let imagePath = event;
|
||||
@ -1277,6 +1287,9 @@ export class EmployerInfoComponent implements OnInit {
|
||||
console.log(err)
|
||||
this.notifier.notify("danger","Network Error")
|
||||
})
|
||||
this.loaderService.closeMatSpinnerDialog()
|
||||
},err=>{
|
||||
this.loaderService.closeMatSpinnerDialog()
|
||||
})
|
||||
})
|
||||
}
|
||||
@ -1492,26 +1505,31 @@ records.questions = records.questions.filter(v=>v.form_id != '12.1' && v.form_id
|
||||
records.formid = "25";
|
||||
records.fk_createdby = this.users;
|
||||
records.is_form_validated = flag == 'go_back' ? '0' : '1'
|
||||
if(flag == 'go_back') {
|
||||
this.loaderService.showMatSpinnerDialog("Partial data save is in progress. Please wait...");
|
||||
}
|
||||
this.quesService.savePDFormDetailsWithID(records).subscribe(result=>{
|
||||
if(result['dataStatus']) {
|
||||
if(flag != 'go_back') {
|
||||
// if(flag != 'go_back') {
|
||||
this.notifier.notify('success',"Saved Successfully...");
|
||||
}
|
||||
// }
|
||||
this.employerForm.markAsPristine();
|
||||
this.employerForm.markAsUntouched();
|
||||
if(flag != 'go_back') {
|
||||
// if(flag != 'go_back') {
|
||||
setTimeout(()=>{
|
||||
this.dialogRef.close()
|
||||
},3000)
|
||||
}
|
||||
// }
|
||||
}
|
||||
else {
|
||||
this.notifier.notify('info',"Something went wrong");
|
||||
}
|
||||
this.loaderService.closeMatSpinnerDialog()
|
||||
this.spinner_access = false
|
||||
},err=>{
|
||||
console.log("Error in savePDFormDetails",err);
|
||||
this.notifier.notify('info',"Network Error");
|
||||
this.loaderService.closeMatSpinnerDialog()
|
||||
this.spinner_access = false
|
||||
})
|
||||
}
|
||||
@ -1797,10 +1815,19 @@ records.questions = records.questions.filter(v=>v.form_id != '12.1' && v.form_id
|
||||
// return true
|
||||
// // }
|
||||
// }
|
||||
ngOnDestroy() {
|
||||
// ngOnDestroy() {
|
||||
// if(this.employerForm.dirty){
|
||||
// this.onSubmit('go_back');
|
||||
// }
|
||||
// }
|
||||
|
||||
saveWithoutValidation() {
|
||||
if(this.employerForm.dirty){
|
||||
this.onSubmit('go_back');
|
||||
}
|
||||
else{
|
||||
this.dialogRef.close()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -5,13 +5,12 @@ import { PdQuestionsRoutingModule } from './pd-questions-routing.module';
|
||||
import { CommonQuesComponent } from './common-ques/common-ques.component';
|
||||
import { EmployerInfoComponent } from './employer-info/employer-info.component';
|
||||
import { DynamicDocsFormComponent } from './dynamic-docs-form/dynamic-docs-form.component';
|
||||
import { CaptureBtnComponent } from './capture-btn/capture-btn.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
PdQuestionsRoutingModule
|
||||
],
|
||||
declarations: [CaptureBtnComponent]
|
||||
declarations: []
|
||||
})
|
||||
export class PdQuestionsModule { }
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<mat-card-title style="background-color: #e00201;color: #fff;padding: 18px;">
|
||||
<mat-card-title style="background-color: #e00201;color: #fff;padding: 10px;">
|
||||
Schedule PD
|
||||
</mat-card-title>
|
||||
|
||||
|
||||
@ -1,3 +1,9 @@
|
||||
.mat-list-item-content{
|
||||
.mat-list-item-content,.mat-list-base{
|
||||
padding:0px !important;
|
||||
}
|
||||
::ng-deep{ .no-padding > .mat-dialog-container{
|
||||
@media (max-width: 768px) {
|
||||
padding: 0px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -270,7 +270,7 @@
|
||||
<button *ngIf="VendorRoleID != 22 && master.pd_status == 'ALLOCATED_TO_FIA'" mat-raised-button style="background-color: #0f9c0f;color: white" class="mr-1 mb-1 hover-icon" type="button" matTooltip="Accept" matTooltipPosition="above" (click)="vendorApproval(master,'accept')"><mat-icon>check_circle</mat-icon><strong>Accept</strong></button>
|
||||
<button *ngIf="VendorRoleID != 22 && master.vendor_status != 'INPROGRESS' && master.vendor_status != 'COMPLETED' && master.vendor_status != 'QC_COMPLETED'" mat-stroked-button color="primary" class="mr-1 mb-1 hover-icon" type="button" matTooltip="Reject" matTooltipPosition="above" (click)="vendorApproval(master,'reject')" ><mat-icon>cancel</mat-icon><strong>Reject</strong></button>
|
||||
<button *ngIf="VendorRoleID != 22 && master.is_qc_enabled == '1' && master.pd_status != 'ALLOCATED_TO_FIA'" mat-raised-button color="primary" class="mr-1 mb-1 hover-icon" type="button" matTooltip="QC COMPLETE" matTooltipPosition="above" (click)="onClickQCCompleted(master)" [disabled]="master.vendor_status != 'COMPLETED'">QC COMPLETE</button>
|
||||
<button *ngIf="VendorRoleID != 21 && master.vendor_status == 'INPROGRESS'" mat-raised-button color="primary" class="mr-1 mb-1 hover-icon" type="button" matTooltip="COMPLETE" matTooltipPosition="above" (click)="completePDAlert(master)">COMPLETE</button>
|
||||
<button *ngIf="master.vendor_status == 'INPROGRESS'" mat-raised-button color="primary" class="mr-1 mb-1 hover-icon" type="button" matTooltip="COMPLETE" matTooltipPosition="above" (click)="completePDAlert('COMPLETED')">COMPLETE</button>
|
||||
</div>
|
||||
</mat-card>
|
||||
</div>
|
||||
|
||||
@ -23,6 +23,7 @@ import { EmployerInfoComponent } from '../pd-questions/employer-info/employer-in
|
||||
import { InputDialogComponent } from '../input-dialog/input-dialog.component';
|
||||
import { PdCompleteStatusDialogueComponent } from '../pd-complete-status-dialogue/pd-complete-status-dialogue.component';
|
||||
import { CognitoService } from 'app/AwsService/cognito.service';
|
||||
import { LoaderService } from 'app/shared/loaderService/loader.service';
|
||||
|
||||
const currentdate = new Date().toJSON().slice(0,19);
|
||||
@Component({
|
||||
@ -104,7 +105,8 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
masterRandomString: any;
|
||||
is_from_link: boolean = false;
|
||||
constructor(notifier: NotifierService, private dialog: MatDialog, private _fb: FormBuilder, private changeRef:ChangeDetectorRef,
|
||||
private _pd: PdTrigerService, private route: ActivatedRoute, private router: Router, private ListPdComponent: ListPdComponent,private cognitoService:CognitoService) {
|
||||
private _pd: PdTrigerService, private route: ActivatedRoute, private router: Router, private ListPdComponent: ListPdComponent,private cognitoService:CognitoService,
|
||||
private loaderService:LoaderService) {
|
||||
this.notifier = notifier;
|
||||
this.enableStartPD = false;
|
||||
this.roleAccessDetails=this._pd.getRoleAccessDetails();
|
||||
@ -137,7 +139,9 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
console.log("view pd ",this.viewID)
|
||||
if(this.viewID == 'undefined'){
|
||||
this.router.navigate(['/error'])
|
||||
let msgObj ={title:'',subtitle: 'Invalid Link',is_homebtn:false,message:'The requested url is Invalid. Please contact info@pdgenie.com'}
|
||||
this.loaderService.setErrorMsg({title:msgObj.title,subtitle:msgObj.subtitle,is_homebtn:false,message:msgObj.message})
|
||||
this.router.navigate(['/error'],{replaceUrl:true})
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -154,6 +158,12 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
if (data.status == 200) {
|
||||
let masterData: any = data.records.pd_master_details;
|
||||
this.pdMasterData.push(masterData[0]);
|
||||
console.log("sdffff",this.is_from_link,this.pdMasterData[0].pd_status)
|
||||
if(this.is_from_link &&( this.pdMasterData[0].vendor_status == 'COMPLETED' || this.pdMasterData[0].vendor_status == 'QC_COMPLETED')) {
|
||||
let msgObj ={title:'',subtitle: 'Invalid Link',is_homebtn:false,message:'The requested url is Invalid. Please contact info@pdgenie.com'}
|
||||
this.loaderService.setErrorMsg({title:msgObj.title,subtitle:msgObj.subtitle,is_homebtn:false,message:msgObj.message})
|
||||
this.router.navigate(['/error'],{replaceUrl:true})
|
||||
}
|
||||
this.mandatoryFieldsValidations = masterData[1].mandatory_fields;
|
||||
this.pd_QC_Rating = Number(this.pdMasterData.qc_rating);
|
||||
this.pdApplicantData = data.records.applicants_details;
|
||||
@ -326,7 +336,8 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
pdData.pd_id = childData.assigned_pd;
|
||||
const dialogSchedule = this.dialog.open(SchedulePdComponent, {
|
||||
data: pdData,
|
||||
disableClose: true
|
||||
disableClose: true,
|
||||
panelClass:'no-padding'
|
||||
});
|
||||
dialogSchedule.afterClosed()
|
||||
.subscribe(dataresult => {
|
||||
@ -396,7 +407,7 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
data: { pdid: pdDetails.assigned_pd, vendor_status: this.pdStatusCheck.INPROGRESS },
|
||||
disableClose: true,
|
||||
minWidth: '30%',
|
||||
maxWidth: '40%',
|
||||
// maxWidth: '40%',
|
||||
});
|
||||
dialogRef.afterClosed()
|
||||
.subscribe(dataresult => {
|
||||
@ -432,12 +443,13 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
width: '100%',
|
||||
disableClose: false,
|
||||
closeOnNavigation:true,
|
||||
panelClass:'no-padding'
|
||||
});
|
||||
dialogRef.afterClosed()
|
||||
.subscribe(dataresult => {
|
||||
console.log("cloesed",dataresult)
|
||||
if(dataresult == undefined) {
|
||||
// this.ListPdComponent.viewPDDetails({id:this.viewID,string:this.masterRandomString})
|
||||
if(dataresult == undefined && this.is_from_link) {
|
||||
this.ListPdComponent.viewPDDetails({id:this.viewID,string:this.masterRandomString})
|
||||
}
|
||||
// this.notifier.notify('success', 'Successfully allocated.!');
|
||||
// this.loadTemplates(this.startPD,2,this.randomString);
|
||||
@ -538,36 +550,44 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
|
||||
onClickQCCompleted(master){
|
||||
console.log('qccompleted',master);
|
||||
let param={
|
||||
pd_id: master.pd_id,
|
||||
vendor_status: 'QC_COMPLETED',
|
||||
}
|
||||
this._pd.updateStatus(param).subscribe(res=>{
|
||||
if(res['status'] == '200'){
|
||||
console.log(res['dataStatus'].status == 200)
|
||||
this.notifier.notify("info","Updated Successfully")
|
||||
this.viewPdDetails(this.viewID);
|
||||
}
|
||||
else if(res['status'] == '304'){
|
||||
Swal(
|
||||
'Form Saved as Draft! Please Fill and submit the form',
|
||||
)
|
||||
}
|
||||
})
|
||||
// let param={
|
||||
// pd_id: master.pd_id,
|
||||
// vendor_status: 'QC_COMPLETED',
|
||||
// }
|
||||
// this._pd.updateStatus(param).subscribe(res=>{
|
||||
// if(res['status'] == '200'){
|
||||
// console.log(res['dataStatus'].status == 200)
|
||||
// this.notifier.notify("info","Updated Successfully")
|
||||
// this.viewPdDetails(this.viewID);
|
||||
// }
|
||||
// else if(res['status'] == '304'){
|
||||
// Swal(
|
||||
// 'Form Saved as Draft! Please Fill and submit the form',
|
||||
// )
|
||||
// }
|
||||
// })
|
||||
this.completePDAlert('QC_COMPLETED')
|
||||
}
|
||||
|
||||
completePDAlert() {
|
||||
completePDAlert(next_status?) {
|
||||
let msg_text = "Please confirm you are QC Completing the Discussion?"
|
||||
let title_text = "QC Complete Discussion"
|
||||
if(next_status == 'COMPLETED') {
|
||||
// next_status = 'COMPLETED'
|
||||
msg_text = "Please confirm you are completing the Discussion?"
|
||||
title_text = "Complete Discussion"
|
||||
}
|
||||
|
||||
const dialogRef = this.dialog.open(PdCompleteStatusDialogueComponent, {
|
||||
data: {title:'Complete Discussion',msg:'Please confirm you are completing the Discussion?'},
|
||||
data: {title:title_text,msg:msg_text,status:next_status},
|
||||
disableClose: true,
|
||||
minWidth: '30%',
|
||||
maxWidth: '40%',
|
||||
// maxWidth: '40%',
|
||||
});
|
||||
dialogRef.afterClosed()
|
||||
.subscribe(dataresult => {
|
||||
if(dataresult == 'COMPLETED'){
|
||||
this.completePD('COMPLETED')
|
||||
this.completePD(next_status)
|
||||
}
|
||||
});
|
||||
|
||||
@ -598,7 +618,76 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
if(updateStatus.dataStatus == true )
|
||||
{
|
||||
if(updateStatus.status == 200) {
|
||||
this.notifier.notify("info","Completed Successfully !!!")
|
||||
let notifier_text = "QC Completed Successfully !!!"
|
||||
if(status == 'COMPLETED') {
|
||||
notifier_text = "Completed Successfully !!!"
|
||||
}
|
||||
this.notifier.notify("info",notifier_text)
|
||||
this.viewPdDetails(this.viewID)
|
||||
// this.getNewpdupdate();
|
||||
// setTimeout(()=>{
|
||||
// this.navCtrl.pop()
|
||||
// },3000)
|
||||
}
|
||||
else if(updateStatus.status == 304) {
|
||||
let msg = updateStatus.hasOwnProperty('msg') && updateStatus.msg ? updateStatus.msg : "Form not filled yet. Please do this first !!"
|
||||
let enable_complete = updateStatus.hasOwnProperty('enable_complete') && updateStatus.enable_complete ? updateStatus.enable_complete : false;
|
||||
// Swal(msg);
|
||||
const dialogRef = this.dialog.open(PdCompleteStatusDialogueComponent, {
|
||||
data: {msg: msg,iscompleteenable: enable_complete,isCompleteAnywaydialog:true,status:status},
|
||||
disableClose: true,
|
||||
minWidth: '30%',
|
||||
// maxWidth: '40%',
|
||||
});
|
||||
dialogRef.afterClosed()
|
||||
.subscribe(dataresult => {
|
||||
if(dataresult == 'COMPLETED'){
|
||||
this.saveAsDraftPD(status)
|
||||
}
|
||||
});
|
||||
}
|
||||
}else
|
||||
{
|
||||
}
|
||||
|
||||
})
|
||||
// },err=>{
|
||||
// console.log("Problem while getting geo location.",err)
|
||||
// alert("Problem getting geolocation. Make sure the location is turned on")
|
||||
// })
|
||||
// })
|
||||
|
||||
}
|
||||
saveAsDraftPD(status:string)
|
||||
{
|
||||
// let params = {
|
||||
// 'parent_pdid':this.master.parent_pd_id,
|
||||
// 'pd_id':this.viewID,
|
||||
// 'pd_form_id':"25"
|
||||
// }
|
||||
// this.quesService.retiverForm(params).subscribe(form_check=>{
|
||||
// if(form_check && form_check['dataStatus'] == false) {
|
||||
// this.toastProvider.setAlertwithOKButton("Unable to complete the PD","Please complete the form and try again !!");
|
||||
// return;
|
||||
// }
|
||||
|
||||
//alert.present();
|
||||
// let users = localStorage.getItem('pd_user_details')
|
||||
// users=JSON.parse(users).userid
|
||||
// this.gpsService.getGeoTag().then(geoCords=>{
|
||||
let data = {'pd_id':this.viewID,'vendor_status':status,'fk_updatedby':'','updatedon':currentdate,'random_string':this.masterRandomString.random_string,link:'','complete_override_data':'1'};
|
||||
|
||||
this._pd.updateStatus(data).subscribe(res=>
|
||||
{
|
||||
let updateStatus:any = res;
|
||||
if(updateStatus.dataStatus == true )
|
||||
{
|
||||
if(updateStatus.status == 200) {
|
||||
let notifier_text = "QC Completed Successfully !!!"
|
||||
if(status == 'COMPLETED') {
|
||||
notifier_text = "Completed Successfully !!!"
|
||||
}
|
||||
this.notifier.notify("info",notifier_text)
|
||||
this.viewPdDetails(this.viewID)
|
||||
// this.getNewpdupdate();
|
||||
// setTimeout(()=>{
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
<footer class="page-footer">
|
||||
|
||||
<!-- © Copyright -->
|
||||
<div class="footer-copyright text-center">© 2018
|
||||
<div class="footer-copyright text-center">© 2020
|
||||
<a href="http://www.sineedge.com" target="_blank"> SineEdge Consulting Pvt Ltd. </a> All rights are reserved
|
||||
</div>
|
||||
<!-- © Copyright -->
|
||||
|
||||
@ -1,19 +1,53 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MatDialog, MatDialogRef } from '@angular/material';
|
||||
import { Subject } from 'rxjs';
|
||||
import { ProgressSpineerDialogComponent } from '../progress-spineer-dialog/progress-spineer-dialog.component';
|
||||
export interface LoaderState {
|
||||
show: boolean;
|
||||
}
|
||||
export interface errorMsgInterface {
|
||||
title:string;
|
||||
subtitle:string;
|
||||
message:string;
|
||||
is_homebtn:boolean
|
||||
}
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class LoaderService {
|
||||
private loaderSubject = new Subject<LoaderState>();
|
||||
loaderState = this.loaderSubject.asObservable();
|
||||
constructor() { }
|
||||
spinnerdialogRef: MatDialogRef<ProgressSpineerDialogComponent>;
|
||||
errorMsg:errorMsgInterface;
|
||||
constructor(private dialog:MatDialog) {
|
||||
this.errorMsg ={
|
||||
title:"404",
|
||||
subtitle:'Not Found',
|
||||
message:'The requested URL is not found on the server',
|
||||
is_homebtn:false
|
||||
}
|
||||
}
|
||||
setErrorMsg(obj:errorMsgInterface) {
|
||||
this.errorMsg = obj
|
||||
}
|
||||
show() {
|
||||
this.loaderSubject.next(<LoaderState>{ show: true });
|
||||
}
|
||||
hide() {
|
||||
this.loaderSubject.next(<LoaderState>{ show: false });
|
||||
}
|
||||
showMatSpinnerDialog(message = '') {
|
||||
this.spinnerdialogRef = this.dialog.open(ProgressSpineerDialogComponent, {
|
||||
panelClass: 'transparent',
|
||||
data:message,
|
||||
// minHeight:'20%',
|
||||
minWidth:'20%',
|
||||
disableClose: true
|
||||
});
|
||||
}
|
||||
closeMatSpinnerDialog() {
|
||||
if(this.spinnerdialogRef) {
|
||||
this.spinnerdialogRef.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,4 @@
|
||||
<div fxLayout="column" fxLayoutAlign="center">
|
||||
<mat-spinner style="text-align: center;" fxLayoutAlign="center center"></mat-spinner>
|
||||
<p style="font-weight: bold;color: white;text-align: center;"> {{spinnerMsg}}</p>
|
||||
</div>
|
||||
@ -0,0 +1,10 @@
|
||||
::ng-deep {.transparent > .mat-dialog-container {
|
||||
box-shadow: none;
|
||||
background: rgba(0, 0, 0, 0.0);
|
||||
}
|
||||
mat-spinner {
|
||||
@media(min-width:600px) {
|
||||
// margin-left: 75px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { ProgressSpineerDialogComponent } from './progress-spineer-dialog.component';
|
||||
|
||||
describe('ProgressSpineerDialogComponent', () => {
|
||||
let component: ProgressSpineerDialogComponent;
|
||||
let fixture: ComponentFixture<ProgressSpineerDialogComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ ProgressSpineerDialogComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ProgressSpineerDialogComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,19 @@
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { MAT_DIALOG_DATA } from '@angular/material';
|
||||
|
||||
@Component({
|
||||
selector: 'app-progress-spineer-dialog',
|
||||
templateUrl: './progress-spineer-dialog.component.html',
|
||||
styleUrls: ['./progress-spineer-dialog.component.scss']
|
||||
})
|
||||
export class ProgressSpineerDialogComponent implements OnInit {
|
||||
spinnerMsg: any;
|
||||
|
||||
constructor(@Inject(MAT_DIALOG_DATA) private data) {
|
||||
this.spinnerMsg= this.data
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
}
|
||||
@ -7,8 +7,11 @@ import { ToggleFullscreenDirective } from './fullscreen/toggle-fullscreen.direct
|
||||
import { RatingComponent} from './rating/rating.component';
|
||||
import { NumbersOnlyDirective } from './numbers-only/numbers-only.directive';
|
||||
import { ForMobileNumbersDirective } from './for-mobile-numbers/for-mobile-numbers.directive';
|
||||
import { ProgressSpineerDialogComponent } from './progress-spineer-dialog/progress-spineer-dialog.component';
|
||||
import { MatProgressSpinnerModule } from '@angular/material';
|
||||
|
||||
@NgModule({
|
||||
entryComponents:[ProgressSpineerDialogComponent],
|
||||
declarations: [
|
||||
AccordionAnchorDirective,
|
||||
AccordionLinkDirective,
|
||||
@ -16,8 +19,10 @@ import { ForMobileNumbersDirective } from './for-mobile-numbers/for-mobile-numbe
|
||||
ToggleFullscreenDirective,
|
||||
RatingComponent,
|
||||
NumbersOnlyDirective,
|
||||
ForMobileNumbersDirective
|
||||
ForMobileNumbersDirective,
|
||||
ProgressSpineerDialogComponent
|
||||
],
|
||||
imports:[MatProgressSpinnerModule],
|
||||
exports: [
|
||||
AccordionAnchorDirective,
|
||||
AccordionLinkDirective,
|
||||
@ -25,7 +30,8 @@ import { ForMobileNumbersDirective } from './for-mobile-numbers/for-mobile-numbe
|
||||
ToggleFullscreenDirective,
|
||||
RatingComponent,
|
||||
NumbersOnlyDirective,
|
||||
ForMobileNumbersDirective
|
||||
ForMobileNumbersDirective,
|
||||
ProgressSpineerDialogComponent
|
||||
],
|
||||
providers: [ MenuItems, HorizontalMenuItems ]
|
||||
})
|
||||
|
||||
@ -27,6 +27,10 @@ export const environment = {
|
||||
storageBucket: "",
|
||||
messagingSenderId: "906855209078",
|
||||
appId: "1:906855209078:web:c1583378f1fb2c71"
|
||||
},
|
||||
credential:{
|
||||
uname:"officerbot@sine.com",
|
||||
pwd:"bot12345"
|
||||
}
|
||||
|
||||
};
|
||||
@ -74,6 +74,10 @@ export const environment = {
|
||||
s3_endpoint: '',
|
||||
accessToken:'',
|
||||
//apiUrl:'http://localhost/sparqapi/api/'
|
||||
credential:{
|
||||
uname:"testofficerbot@sine.com",
|
||||
pwd:"test1234"
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -73,5 +73,8 @@ export const environment = {
|
||||
s3_endpoint: '',
|
||||
accessToken:'',
|
||||
//apiUrl:'http://localhost/sparqapi/api/'
|
||||
|
||||
credential:{
|
||||
uname:"testofficerbot@sine.com",
|
||||
pwd:"test1234"
|
||||
}
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user