pd and qc validatiuons changes
This commit is contained in:
parent
5711cc839a
commit
db5ddea250
@ -4,7 +4,7 @@
|
||||
(click)="closeEditMasterComponent()"><mat-icon>close</mat-icon></button>
|
||||
</div>
|
||||
<mat-card>
|
||||
<form [formGroup]="_EditPDtriggerForm" (submit)="submitPdDetails(_EditPDtriggerForm.value, PDTriggerStatus)">
|
||||
<form [formGroup]="_EditPDtriggerForm" (submit)="submitPdDetails(_EditPDtriggerForm.value, pdStatusCheck.TRIGGERED)">
|
||||
<mat-card-content>
|
||||
<div fxLayout="row" fxLayoutWrap="wrap">
|
||||
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
|
||||
@ -128,7 +128,7 @@
|
||||
<mat-card-actions style="text-align: right">
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Reset" matTooltipPosition="above" type="button"
|
||||
(click)="onReset()"><mat-icon>settings_backup_restore</mat-icon></button>
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" (click)="submitPdDetails(this._EditPDtriggerForm.value,draftStatus)" type="button" matTooltip="Save As Draft" matTooltipPosition="above"><mat-icon>insert_drive_file</mat-icon></button>
|
||||
<button *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" (click)="submitPdDetails(this._EditPDtriggerForm.value,pdStatusCheck.DRAFT)" type="button" matTooltip="Save As Draft" matTooltipPosition="above"><mat-icon>insert_drive_file</mat-icon></button>
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Save" matTooltipPosition="above" [disabled]="applicantLength<=0 || !_EditPDtriggerForm.valid || !enablePDButton" type="submit"><mat-icon>save</mat-icon></button>
|
||||
</mat-card-actions>
|
||||
</form>
|
||||
|
||||
@ -22,20 +22,32 @@ export class EditPdMasterComponent implements OnInit {
|
||||
pdTypeList:any;
|
||||
billingList:any;
|
||||
applicantLength:number;
|
||||
draftStatus: string;
|
||||
PDTriggerStatus: string;
|
||||
enablePDButton: boolean
|
||||
// draftStatus: string;
|
||||
// PDTriggerStatus: string;
|
||||
enablePDButton: boolean;
|
||||
currentPDStatus: string;
|
||||
public _EditPDtriggerForm:FormGroup;
|
||||
public notifier: NotifierService;
|
||||
// create values for status check
|
||||
pdStatusCheck :any={
|
||||
"DRAFT" :'DRAFT',
|
||||
"TRIGGERED" :'TRIGGERED',
|
||||
"ALLOCATED" :'ALLOCATED',
|
||||
"SCHEDULED" :'SCHEDULED',
|
||||
"INPROGRESS" :'INPROGRESS',
|
||||
"COMPLETED" :'COMPLETED',
|
||||
"QC_COMPLETED" :'QC_COMPLETED',
|
||||
};
|
||||
constructor(private _fb: FormBuilder,
|
||||
private _pd: PdTrigerService, notifier: NotifierService,private dialogRef: MatDialogRef<EditPdMasterComponent>,
|
||||
@Inject(MAT_DIALOG_DATA) public data: any) {
|
||||
this.notifier=notifier
|
||||
this.currentPDStatus = data.records.pd_status;
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.draftStatus="DRAFT";
|
||||
this.PDTriggerStatus="TRIGGERED";
|
||||
// this.draftStatus="DRAFT";
|
||||
// this.PDTriggerStatus="TRIGGERED";
|
||||
this.getLenderList();
|
||||
this.getProductsList();
|
||||
this.getCustomerSegmentList();
|
||||
@ -161,10 +173,11 @@ export class EditPdMasterComponent implements OnInit {
|
||||
this.billingList=this.billingList[0].billing_address;
|
||||
}
|
||||
submitPdDetails(formValue: any, status:string) {
|
||||
let updateStatus = this.currentPDStatus == this.pdStatusCheck.DRAFT ? status : this.currentPDStatus == this.pdStatusCheck.TRIGGERED ? status : this.currentPDStatus;
|
||||
if(this._EditPDtriggerForm.valid){
|
||||
let my_array = this._EditPDtriggerForm.value;
|
||||
Object.keys(my_array).forEach((key) => ( my_array[key] == null) && delete my_array[key]);
|
||||
this._pd.editPdMasterDetails(my_array, status).subscribe(result => {
|
||||
this._pd.editPdMasterDetails(my_array, updateStatus).subscribe(result => {
|
||||
if (result.status == 200) {
|
||||
this.notifier.notify('success', 'PD Master Updated.');
|
||||
this.dialogRef.close();
|
||||
|
||||
@ -18,16 +18,15 @@
|
||||
<ng-template mat-tab-label>All</ng-template>
|
||||
<app-all-pd [bindFilterValue]="filterValue" (loadPdView)="viewPDDetails($event)"></app-all-pd>
|
||||
</mat-tab>
|
||||
|
||||
<mat-tab>
|
||||
<ng-template mat-tab-label>Scheduled </ng-template>
|
||||
<app-scheduled-pd [bindFilterValue]="filterValue" (loadPdView)="viewPDDetails($event)"></app-scheduled-pd>
|
||||
|
||||
</mat-tab>
|
||||
<mat-tab>
|
||||
<ng-template mat-tab-label>In Progress </ng-template>
|
||||
<app-inprogress-pd [bindFilterValue]="filterValue" (loadPdView)="viewPDDetails($event)"></app-inprogress-pd>
|
||||
</mat-tab>
|
||||
<mat-tab>
|
||||
<ng-template mat-tab-label>Scheduled </ng-template>
|
||||
<app-scheduled-pd [bindFilterValue]="filterValue" (loadPdView)="viewPDDetails($event)"></app-scheduled-pd>
|
||||
|
||||
</mat-tab>
|
||||
<mat-tab>
|
||||
<ng-template mat-tab-label>Completed </ng-template>
|
||||
<app-completed-pd [bindFilterValue]="filterValue" (loadPdView)="viewPDDetails($event)"></app-completed-pd>
|
||||
|
||||
@ -71,7 +71,7 @@ export class ListPdComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
pdListLoad(status: boolean){
|
||||
this.viewPdList = status;
|
||||
this.getTabIndex==0 ? this.allTabC.loadPDDetails() : this.getTabIndex==1 ? this.inprogressTabC.loadPDDetails() : this.getTabIndex==2 ? this.scheduledTabC.loadPDDetails() : this.getTabIndex==3 ? this.completedTabC.loadPDDetails() : this.qcCompletedTabC.loadPDDetails();
|
||||
this.getTabIndex==0 ? this.allTabC.loadPDDetails() : this.getTabIndex==1 ? this.scheduledTabC.loadPDDetails() : this.getTabIndex==2 ? this.inprogressTabC.loadPDDetails() : this.getTabIndex==3 ? this.completedTabC.loadPDDetails() : this.qcCompletedTabC.loadPDDetails();
|
||||
|
||||
}
|
||||
viewPDDetails(pdid:string){
|
||||
@ -82,7 +82,7 @@ export class ListPdComponent implements OnInit, OnDestroy {
|
||||
//get tab changes
|
||||
onTabClick(event: MatTabChangeEvent) {
|
||||
this.getTabIndex=event.index;
|
||||
this.getTabIndex==0 ? this.allTabC.loadPDDetails() : this.getTabIndex==1 ? this.inprogressTabC.loadPDDetails() : this.getTabIndex==2 ? this.scheduledTabC.loadPDDetails() : this.getTabIndex==3 ? this.completedTabC.loadPDDetails() : this.qcCompletedTabC.loadPDDetails();
|
||||
this.getTabIndex==0 ? this.allTabC.loadPDDetails() : this.getTabIndex==1 ? this.scheduledTabC.loadPDDetails() : this.getTabIndex==2 ? this.inprogressTabC.loadPDDetails() : this.getTabIndex==3 ? this.completedTabC.loadPDDetails() : this.qcCompletedTabC.loadPDDetails();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<span style="font-weight:700">{{details.applicat_details[0].applicant_name}}</span> <br>
|
||||
<span style="font-size: 13px;" >{{details.lender_full_name}}({{details.lender_applicant_id}})</span><br>
|
||||
</div>
|
||||
<div fxFlex="45" style="text-align:right;">
|
||||
<div fxFlex="45" style="text-align:right;" *ngIf="details.pd_status!=pdStatusCheck.DRAFT">
|
||||
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 hover-icon" type="button" matTooltip="PD Allocation" matTooltipPosition="above" (click)="pdAllocationTo(details)"><mat-icon>verified_user</mat-icon></button>
|
||||
<button mat-raised-button mat-button-sm mat-icon-button class=" hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(details)"><mat-icon>schedule</mat-icon></button>
|
||||
</div>
|
||||
@ -42,7 +42,9 @@
|
||||
<span class="hover-icon"><i *ngIf="details.city_name" class="fa-1x fa fa-map-marker"> </i>{{details.city_name}}/{{details.state_name}}-{{details.pincode}}</span> <br>
|
||||
<span *ngIf="details.product_abbr">{{details.product_abbr}}/{{details.subproduct_abbr}}</span><br>
|
||||
<span> {{details.customer_segment_abbr}}<span *ngIf="details.loan_amount" style="padding-left: 48%;"><i class="fa-1x fa fa-rupee"> </i>{{details.loan_amount}}</span></span><br>
|
||||
<span>{{details.pd_date_of_initiation}}</span>
|
||||
<span>{{details.pd_date_of_initiation}}</span><br>
|
||||
<span>{{details.pd_status}} - {{ (details.updatedon)? (details.updatedon | slice:0:10):(details.updatedon) }}</span>
|
||||
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
<mat-list *ngIf="recordStatus">
|
||||
|
||||
@ -35,6 +35,18 @@ public dataSource = new MatTableDataSource();
|
||||
@ViewChild(MatPaginator) paginator: MatPaginator;
|
||||
@ViewChild(MatSort) sort: MatSort;
|
||||
pdList:any[] = [];
|
||||
|
||||
// create values for status check
|
||||
pdStatusCheck :any={
|
||||
"DRAFT" :'DRAFT',
|
||||
"TRIGGERED" :'TRIGGERED',
|
||||
"ALLOCATED" :'ALLOCATED',
|
||||
"SCHEDULED" :'SCHEDULED',
|
||||
"INPROGRESS" :'INPROGRESS',
|
||||
"COMPLETED" :'COMPLETED',
|
||||
"QC_COMPLETED" :'QC_COMPLETED',
|
||||
};
|
||||
|
||||
constructor(notifier:NotifierService,private route: ActivatedRoute,
|
||||
private router: Router,private _pd: PdTrigerService,private dialog: MatDialog,private _geolocation: GetGeometricLocationService, private ListPdComponent : ListPdComponent) {
|
||||
this.notifier=notifier
|
||||
@ -55,9 +67,10 @@ pdList:any[] = [];
|
||||
.subscribe(
|
||||
data => {
|
||||
if (data.status == 200) {
|
||||
this.pdList = data.records;
|
||||
this.pdListData = data.records;
|
||||
this.dataLength = data.records.length;
|
||||
let filterdList = data.records.filter(item=>item.pd_status!=this.pdStatusCheck.DRAFT)
|
||||
this.pdList = filterdList;
|
||||
this.pdListData = filterdList;
|
||||
this.dataLength = filterdList.length;
|
||||
this.dataSource.data = this.pdListData;
|
||||
this.getMapViewLocations(this.pdList);
|
||||
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
<mat-card>
|
||||
<mat-card-content>
|
||||
<mat-sidenav-container class="app-inner background-none shadow-none mail-db">
|
||||
<mat-sidenav-container class="app-inner background-none shadow-none mail-db">
|
||||
<mat-sidenav #mailnav [mode]="isOver() ? 'over' : 'side'" [opened]="!isOver()" class="mail-sidebar pl-xs pr-xs">
|
||||
<button _ngcontent-c21="" class="compose-btn mat-warn mat-raised-button mb-1" (click)="changePDStatus(PDStatus);"> <span>Complete</span></button>
|
||||
<button _ngcontent-c21="" [disabled]="currentPDStatus !=pdStatusCheck.INPROGRESS || actualQuestions!=answeredQuestions" class="compose-btn mat-warn mat-raised-button mb-1" (click)="changePDStatus(pdStatusCheck.COMPLETED);"> <span>{{currentPDStatus==pdStatusCheck.INPROGRESS ? 'COMPLETE':currentPDStatus }}</span></button>
|
||||
|
||||
<!-- {{ (currentPDStatus==pdStatusCheck.INPROGRESS)? 'COMPLETE':(currentPDStatus) }} -->
|
||||
<mat-expansion-panel *ngFor="let category of categoryList;let catIndex = index; ">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title class="text-xs-left">
|
||||
@ -123,10 +125,10 @@
|
||||
<!-- this section for questions type options button actions -->
|
||||
<div fxFlex="40" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Previous" (click)="saveNextPrevious(optionsForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Previous" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" (click)="saveNextPrevious(optionsForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(next)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Next" (click)="saveNextPrevious(optionsForm.controls,next)" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Next" (click)="saveNextPrevious(optionsForm.controls,next)" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
@ -226,10 +228,10 @@
|
||||
<!-- this section for questions type options button actions -->
|
||||
<div fxFlex="40" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Previous" (click)="saveNextPreviousText(textBoxForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Previous" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" (click)="saveNextPreviousText(textBoxForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Next" (click)="saveNextPreviousText(textBoxForm.controls,next)" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" matTooltip="Save&Next" (click)="saveNextPreviousText(textBoxForm.controls,next)" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
@ -322,10 +324,10 @@
|
||||
<!-- this section for questions type options button actions -->
|
||||
<div fxFlex="40" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Previous" (click)="saveNextPrevious(checkBoxForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltip="Save&Previous" (click)="saveNextPrevious(checkBoxForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Next" (click)="saveNextPrevious(checkBoxForm.controls,next)" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" matTooltip="Save&Next" (click)="saveNextPrevious(checkBoxForm.controls,next)" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
|
||||
@ -4,6 +4,7 @@ import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { NotifierService } from 'angular-notifier';
|
||||
import { ListPdComponent } from './../list-pd.component';
|
||||
import { PdTrigerService } from '../../../pd-service/pd-triger.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-start-pd',
|
||||
templateUrl: './start-pd.component.html',
|
||||
@ -12,7 +13,6 @@ import { PdTrigerService } from '../../../pd-service/pd-triger.service';
|
||||
export class StartPdComponent implements OnInit, OnDestroy {
|
||||
private notifier: NotifierService;
|
||||
public startPD:string;
|
||||
public PDStatus: string;
|
||||
public mainApplicantName:string;
|
||||
//public remarks: string;
|
||||
errorMessage:any;
|
||||
@ -29,6 +29,19 @@ selectedQuestionIndex:number;
|
||||
getQuestionsLength:number;
|
||||
answerList:any=[];
|
||||
ansPDList:any=[];
|
||||
// create values for status check
|
||||
pdStatusCheck :any={
|
||||
"DRAFT" :'DRAFT',
|
||||
"TRIGGERED" :'TRIGGERED',
|
||||
"ALLOCATED" :'ALLOCATED',
|
||||
"SCHEDULED" :'SCHEDULED',
|
||||
"INPROGRESS" :'INPROGRESS',
|
||||
"COMPLETED" :'COMPLETED',
|
||||
"QC_COMPLETED" :'QC_COMPLETED',
|
||||
};
|
||||
currentPDStatus: string;
|
||||
actualQuestions:number;
|
||||
answeredQuestions :number;
|
||||
constructor(notifier: NotifierService, private fb: FormBuilder,private route: ActivatedRoute,
|
||||
private router: Router,
|
||||
private listPDComponent : ListPdComponent, private _pd: PdTrigerService,) {
|
||||
@ -50,7 +63,6 @@ constructor(notifier: NotifierService, private fb: FormBuilder,private route: Ac
|
||||
this.loadTemplates(this.startPD);
|
||||
this.next=1;
|
||||
this.previous=2;
|
||||
this.PDStatus="COMPLETED"
|
||||
}
|
||||
isMac(): boolean {
|
||||
let bool = false;
|
||||
@ -68,11 +80,17 @@ loadTemplates(startID:string){
|
||||
this.categoryList=data.records.question_answers;
|
||||
let filterApplicantName= data.records.pdapplicants_detials.filter(item => item.applicant_type == 1);
|
||||
this.mainApplicantName = filterApplicantName[0].applicant_name;
|
||||
this.currentPDStatus = data.records.pdmaster_details.pd_status;
|
||||
|
||||
this.actualQuestions = data.records.counts.overall_question_count;
|
||||
this.answeredQuestions = data.records.counts.overall_answered_count;
|
||||
|
||||
}
|
||||
else{
|
||||
this.pdMasterList="";
|
||||
this.mainApplicantName="";
|
||||
this.categoryList=[];
|
||||
this.currentPDStatus="";
|
||||
}
|
||||
}, error => this.errorMessage = <any> error);
|
||||
}
|
||||
@ -110,6 +128,8 @@ loadTemplates(startID:string){
|
||||
if (data.status == 200) {
|
||||
this.answerList=data.records.answers;
|
||||
this.ansPDList=data.records;
|
||||
this.actualQuestions = data.records.counts.overall_question_count,
|
||||
this.answeredQuestions = data.records.counts.overall_answered_count
|
||||
|
||||
// this for options type questions
|
||||
if(this.selectedCategory.fk_question_answertype==1){
|
||||
@ -394,6 +414,7 @@ optionsMapItems(items) {
|
||||
}
|
||||
this._pd.editPdMasterDetails(update_array, status).subscribe(result => {
|
||||
if (result.status == 200) {
|
||||
this.currentPDStatus=this.pdStatusCheck.COMPLETED;
|
||||
this.notifier.notify('success', 'PD Completed.');
|
||||
}
|
||||
else {
|
||||
|
||||
@ -7,11 +7,11 @@
|
||||
{{master.pd_date_of_initiation}}
|
||||
</div>
|
||||
<div *ngFor="let master of pdMasterData" class="ml-xs mr-xs pt-1" fxFlex="25" style="text-align:right;" >
|
||||
<button *ngIf="master.pd_type_name" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master)"><mat-icon>verified_user</mat-icon></button>
|
||||
<button *ngIf="master.pd_type_name" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master)"><mat-icon>schedule</mat-icon></button>
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(viewID)"><mat-icon>question_answer</mat-icon></button>
|
||||
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master)"><mat-icon>verified_user</mat-icon></button>
|
||||
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master)"><mat-icon>schedule</mat-icon></button>
|
||||
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.TRIGGERED && currentPDStatus!=pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(viewID)"><mat-icon>question_answer</mat-icon></button>
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="above" (click)="loadPdListCompoent()"><mat-icon>close</mat-icon></button>
|
||||
<br><span style="color:red;text-align:center">{{master.pd_allocated_to}} -{{master.pd_status_name}}</span>
|
||||
<br><span style="color:red;text-align:left">{{master.pd_allocated_to}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@ -21,7 +21,7 @@
|
||||
<div class="m-gap p-gap" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
|
||||
<!--pd master -->
|
||||
<mat-card *ngFor="let master of pdMasterData" class="minheight">
|
||||
<div class="cardEdit">
|
||||
<div class="cardEdit" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
|
||||
<!-- <button *ngIf="master.pd_type_name" mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="pdAllocationTo(master)"><mat-icon>directions_run</mat-icon></button>
|
||||
<button *ngIf="master.pd_type_name" mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="scheduleDetails(master)"><mat-icon>schedule</mat-icon></button>
|
||||
-->
|
||||
@ -39,7 +39,7 @@
|
||||
<p *ngIf="master.product_name">{{master.product_name}} / {{master.subproduct_name}}</p>
|
||||
<p *ngIf="master.pd_type_name"><span>{{master.pd_type_name}}</span> / <span *ngIf="master.loan_amount" class="hover-icon"><i class="fa-1x fa fa-rupee"> </i>{{master.loan_amount}}</span></p>
|
||||
<p><span>{{master.addressline1}},{{master.addressline2}} ,{{master.addressline3}}</span></p>
|
||||
|
||||
<p><span>{{master.pd_status}} - {{ (master.updatedon)? (master.updatedon | slice:0:10):(master.updatedon) }}</span></p>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
|
||||
@ -48,7 +48,7 @@
|
||||
<div fxFlex.xs="100" class="m-gap p-gap" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
|
||||
<!-- applicant card -->
|
||||
<mat-card class="minheight">
|
||||
<div class="cardEdit">
|
||||
<div class="cardEdit" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
|
||||
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdApplicant(pdApplicantData)"><mat-icon>edit</mat-icon></button>
|
||||
</div>
|
||||
<mat-card-header>
|
||||
|
||||
@ -29,6 +29,19 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
viewID:string;
|
||||
viewParams:any;
|
||||
destroyType:number=1;
|
||||
currentPDStatus:string;
|
||||
|
||||
// create values for status check
|
||||
pdStatusCheck :any={
|
||||
"DRAFT" :'DRAFT',
|
||||
"TRIGGERED" :'TRIGGERED',
|
||||
"ALLOCATED" :'ALLOCATED',
|
||||
"SCHEDULED" :'SCHEDULED',
|
||||
"INPROGRESS" :'INPROGRESS',
|
||||
"COMPLETED" :'COMPLETED',
|
||||
"QC_COMPLETED" :'QC_COMPLETED',
|
||||
};
|
||||
|
||||
// @Input() childData: string;
|
||||
// @Output() loadParent = new EventEmitter<string>();
|
||||
public _EditPDtriggerForm:FormGroup;
|
||||
@ -54,6 +67,7 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
this.pdDocumentsData=data.records.pd_documnets;
|
||||
this.masterPdLogsData=data.records.pd_logs.master;
|
||||
//this.applicantPDLogsData= data.records.pd_logs.master;
|
||||
this.currentPDStatus = data.records.pd_master_details[0].pd_status;
|
||||
}
|
||||
}, error => this.errorMessage = <any> error);
|
||||
}
|
||||
|
||||
@ -83,6 +83,7 @@ const pdCustomNotifierOptions: NotifierOptions = {
|
||||
overlap: 150
|
||||
}
|
||||
};
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
|
||||
@ -1,365 +1,372 @@
|
||||
<mat-sidenav-container class="app-inner background-none shadow-none mail-db">
|
||||
<mat-sidenav #mailnav [mode]="isOver() ? 'over' : 'side'" [opened]="!isOver()" class="mail-sidebar pl-xs pr-xs">
|
||||
<button _ngcontent-c21="" class="compose-btn mat-warn mat-raised-button mb-1" (click)="changePDStatus(PDStatus);"> <span>QC Complete</span></button>
|
||||
<mat-expansion-panel *ngFor="let category of categoryList;let catIndex = index; ">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title class="text-xs-left">
|
||||
<h6 class="mt-0"> {{category.category_name}}</h6>
|
||||
</mat-panel-title>
|
||||
|
||||
</mat-expansion-panel-header>
|
||||
|
||||
<mat-list>
|
||||
<mat-list-item class="custm-list-item" *ngFor="let questions of category.questions; let quesIndex=index" [ngStyle]="{'color':quesIndex === selectedQuestionIndex && catIndex === selectedCategoryIndex ? 'red' : 'black' }" (click)="OnSelectDirectQuestions(questions, catIndex,quesIndex)">
|
||||
<small>{{ (questions.question.length>15)? (questions.question | slice:0:15)+'..':(questions.question) }}</small>
|
||||
</mat-list-item>
|
||||
|
||||
|
||||
</mat-list>
|
||||
</mat-expansion-panel>
|
||||
|
||||
</mat-sidenav>
|
||||
<mat-toolbar color="primary" fxHide="false" fxHide.gt-sm>
|
||||
<button (click)="mailnav.toggle()" mat-icon-button>
|
||||
<mat-icon>short_text</mat-icon>
|
||||
</button>
|
||||
<span class="mr-1 ml-1">Category</span>
|
||||
</mat-toolbar>
|
||||
<div class="main-content" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
|
||||
<figure>
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="row" >
|
||||
<button mat-raised-button mat-icon-button class="hover-icon start_close_btn" type="button" matTooltip="Close" matTooltipPosition="above"
|
||||
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
|
||||
<div fxFlex="33" class="text-xs-left">
|
||||
<h4 class="mt-0">{{mainApplicantName}}</h4>
|
||||
<small>{{pdMasterList.customer_segment_name}}</small>
|
||||
</div>
|
||||
<div fxFlex="66" class="text-xs-right">
|
||||
<h4 class="mt-0">{{pdMasterList.product_name}}/{{pdMasterList.subproduct_name}}</h4>
|
||||
<small>{{pdMasterList.lender_full_name}}/{{pdMasterList.lender_applicant_id}}</small>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</mat-card-content>
|
||||
<hr>
|
||||
<mat-card-content style="min-height: 240px;" *ngIf="selectedCategory.length==0">
|
||||
<!-- <h6 class="mt-0">About</h6> -->
|
||||
<p>No Records Found..</p>
|
||||
</mat-card-content>
|
||||
|
||||
<!-- check type of questions -->
|
||||
<ng-container [ngSwitch]="selectedCategory.fk_question_answertype">
|
||||
<!-- start options type questions section -->
|
||||
<ng-container *ngSwitchCase="1">
|
||||
|
||||
|
||||
<form [formGroup]="optionsForm" *ngIf="answerList.length>0 ; else noanswers;">
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{optionsForm.controls.pd_question.value}}</h6>
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="text-xs-left">
|
||||
<mat-card>
|
||||
<mat-card-content>
|
||||
<mat-sidenav-container class="app-inner background-none shadow-none mail-db">
|
||||
<mat-sidenav #mailnav [mode]="isOver() ? 'over' : 'side'" [opened]="!isOver()" class="mail-sidebar pl-xs pr-xs">
|
||||
<button _ngcontent-c21="" [disabled]="currentPDStatus !=pdStatusCheck.COMPLETED || actualQuestions!=answeredQuestions" class="compose-btn mat-warn mat-raised-button mb-1" (click)="changePDStatus(pdStatusCheck.QC_COMPLETED);"> <span>{{currentPDStatus==pdStatusCheck.COMPLETED ? 'QC_COMPLETE':currentPDStatus }}</span></button>
|
||||
|
||||
<mat-list>
|
||||
|
||||
<mat-radio-group formControlName="modelValue">
|
||||
|
||||
<mat-list-item *ngFor="let option of optionsForm.controls.items.value">
|
||||
<mat-radio-button [value]="option.pd_answer_id">{{option.pd_answer}}</mat-radio-button>
|
||||
|
||||
</mat-list-item>
|
||||
<mat-expansion-panel *ngFor="let category of categoryList;let catIndex = index; ">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title class="text-xs-left">
|
||||
<h6 class="mt-0"> {{category.category_name}}</h6>
|
||||
</mat-panel-title>
|
||||
|
||||
</mat-expansion-panel-header>
|
||||
|
||||
<mat-list>
|
||||
<mat-list-item class="custm-list-item" *ngFor="let questions of category.questions; let quesIndex=index" [ngStyle]="{'color':quesIndex === selectedQuestionIndex && catIndex === selectedCategoryIndex ? 'red' : 'black' }" (click)="OnSelectDirectQuestions(questions, catIndex,quesIndex)">
|
||||
<small>{{ (questions.question.length>15)? (questions.question | slice:0:15)+'..':(questions.question) }}</small>
|
||||
</mat-list-item>
|
||||
|
||||
|
||||
</mat-list>
|
||||
</mat-expansion-panel>
|
||||
|
||||
</mat-sidenav>
|
||||
<mat-toolbar color="primary" fxHide="false" fxHide.gt-sm>
|
||||
<button (click)="mailnav.toggle()" mat-icon-button>
|
||||
<mat-icon>short_text</mat-icon>
|
||||
</button>
|
||||
<span class="mr-1 ml-1">Category</span>
|
||||
</mat-toolbar>
|
||||
<div class="main-content" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
|
||||
<figure>
|
||||
<mat-card-content>
|
||||
|
||||
</mat-radio-group>
|
||||
|
||||
</mat-list>
|
||||
|
||||
</div>
|
||||
<div fxFlex="40" class="text-xs-right" *ngIf="optionsForm.controls.documents.length>0">
|
||||
|
||||
<mat-card >
|
||||
<mat-card-content style="display: flex;
|
||||
overflow: auto;min-height: 200px; max-height: 240px;">
|
||||
<div fxLayout="row wrap">
|
||||
<div fxFlex="50" class="m-gap p-gap" *ngFor="let docs of optionsForm.controls.documents.value; let docIndex=index">
|
||||
<div class="p-list-main mb-2">
|
||||
<div class="p-list">
|
||||
|
||||
<div class="top"><img [src]="docs.pd_document_url" alt=""/></div>
|
||||
<div class="bottom">
|
||||
<div class="left">
|
||||
<div class="details">
|
||||
<small>{{docs.pd_document_title}}</small>
|
||||
<!-- <p>{{docs.pd_document_name}}</p> -->
|
||||
</div>
|
||||
<!-- <div class="buy"><i class="material-icons">add_shopping_cart</i></div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div fxLayout="row" >
|
||||
<button mat-raised-button mat-icon-button class="hover-icon start_close_btn" type="button" matTooltip="Close" matTooltipPosition="above"
|
||||
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
|
||||
<div fxFlex="33" class="text-xs-left">
|
||||
<h4 class="mt-0">{{mainApplicantName}}</h4>
|
||||
<small>{{pdMasterList.customer_segment_name}}</small>
|
||||
</div>
|
||||
<div fxFlex="66" class="text-xs-right">
|
||||
<h4 class="mt-0">{{pdMasterList.product_name}}/{{pdMasterList.subproduct_name}}</h4>
|
||||
<small>{{pdMasterList.lender_full_name}}/{{pdMasterList.lender_applicant_id}}</small>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</mat-card-content>
|
||||
<hr>
|
||||
<mat-card-content style="min-height: 240px;" *ngIf="selectedCategory.length==0">
|
||||
<!-- <h6 class="mt-0">About</h6> -->
|
||||
<p>No Records Found..</p>
|
||||
</mat-card-content>
|
||||
|
||||
<!-- check type of questions -->
|
||||
<ng-container [ngSwitch]="selectedCategory.fk_question_answertype">
|
||||
<!-- start options type questions section -->
|
||||
<ng-container *ngSwitchCase="1">
|
||||
|
||||
|
||||
<form [formGroup]="optionsForm" *ngIf="answerList.length>0 ; else noanswers;">
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{optionsForm.controls.pd_question.value}}</h6>
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="text-xs-left">
|
||||
|
||||
<mat-list>
|
||||
|
||||
<mat-radio-group formControlName="modelValue">
|
||||
|
||||
<mat-list-item *ngFor="let option of optionsForm.controls.items.value">
|
||||
<mat-radio-button [value]="option.pd_answer_id">{{option.pd_answer}}</mat-radio-button>
|
||||
|
||||
</mat-list-item>
|
||||
|
||||
</div>
|
||||
</mat-card-content>
|
||||
|
||||
</mat-card>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
<mat-card-actions>
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||
<mat-form-field appearance="outline" style="width: 100%">
|
||||
<mat-label>Remarks</mat-label>
|
||||
<textarea matInput placeholder="Remarks" formControlName="pd_answer_remark"></textarea>
|
||||
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<!-- this section for questions type options button actions -->
|
||||
<div fxFlex="40" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Previous" (click)="saveNextPrevious(optionsForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(next)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Next" (click)="saveNextPrevious(optionsForm.controls,next)" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
<!-- end questions type options -->
|
||||
</div>
|
||||
|
||||
</mat-card-actions>
|
||||
</form>
|
||||
|
||||
<ng-template #noanswers>
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{selectedCategory.question}}</h6>
|
||||
|
||||
</mat-card-content>
|
||||
<mat-card-actions>
|
||||
<div fxLayout="row" >
|
||||
|
||||
<div fxFlex="100" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(next)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</mat-card-actions>
|
||||
</ng-template>
|
||||
|
||||
|
||||
</ng-container>
|
||||
<!-- end options type questions section -->
|
||||
<!-- start text box questions section -->
|
||||
<ng-container *ngSwitchCase="2">
|
||||
|
||||
<form [formGroup]="textBoxForm" *ngIf="answerList.length>0 ; else noanswers;">
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{textBoxForm.controls.pd_question.value}}</h6>
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="text-xs-left">
|
||||
|
||||
<mat-list [formArrayName]="'items'">
|
||||
<mat-list-item *ngFor="let control of textBoxForm.controls.items.controls; let i = index;" [formGroup]="control">
|
||||
|
||||
<mat-form-field appearance="outline" style="width: 100%">
|
||||
<mat-label>Answers</mat-label>
|
||||
<textarea matInput placeholder="Answers" formControlName="pd_answer"></textarea>
|
||||
|
||||
</mat-form-field>
|
||||
</mat-list-item>
|
||||
|
||||
</mat-list>
|
||||
</div>
|
||||
<div fxFlex="40" class="text-xs-right" *ngIf="textBoxForm.controls.documents.length>0">
|
||||
|
||||
<mat-card >
|
||||
<mat-card-content style="display: flex;
|
||||
overflow: auto;min-height: 200px; max-height: 240px;">
|
||||
<div fxLayout="row wrap">
|
||||
</mat-radio-group>
|
||||
|
||||
</mat-list>
|
||||
|
||||
</div>
|
||||
<div fxFlex="40" class="text-xs-right" *ngIf="optionsForm.controls.documents.length>0">
|
||||
|
||||
<mat-card >
|
||||
<mat-card-content style="display: flex;
|
||||
overflow: auto;min-height: 200px; max-height: 240px;">
|
||||
<div fxLayout="row wrap">
|
||||
<div fxFlex="50" class="m-gap p-gap" *ngFor="let docs of optionsForm.controls.documents.value; let docIndex=index">
|
||||
<div class="p-list-main mb-2">
|
||||
<div class="p-list">
|
||||
|
||||
<div class="top"><img [src]="docs.pd_document_url" alt=""/></div>
|
||||
<div class="bottom">
|
||||
<div class="left">
|
||||
<div class="details">
|
||||
<small>{{docs.pd_document_title}}</small>
|
||||
<!-- <p>{{docs.pd_document_name}}</p> -->
|
||||
</div>
|
||||
<!-- <div class="buy"><i class="material-icons">add_shopping_cart</i></div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</mat-card-content>
|
||||
|
||||
</mat-card>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div fxFlex="50" class="m-gap p-gap" *ngFor="let docs of textBoxForm.controls.documents.value; let docIndex=index">
|
||||
<div class="p-list-main mb-2">
|
||||
<div class="p-list">
|
||||
|
||||
<div class="top"><img [src]="docs.pd_document_url" alt=""/></div>
|
||||
<div class="bottom">
|
||||
<div class="left">
|
||||
<div class="details">
|
||||
<small>{{docs.pd_document_title}}</small>
|
||||
<!-- <p>{{docs.pd_document_name}}</p> -->
|
||||
</div>
|
||||
<!-- <div class="buy"><i class="material-icons">add_shopping_cart</i></div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</mat-card-content>
|
||||
|
||||
</mat-card>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
<mat-card-actions>
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||
<mat-form-field appearance="outline" style="width: 100%">
|
||||
<mat-label>Remarks</mat-label>
|
||||
<textarea matInput placeholder="Remarks" formControlName="pd_answer_remark"></textarea>
|
||||
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<!-- this section for questions type options button actions -->
|
||||
<div fxFlex="40" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Previous" (click)="saveNextPreviousText(textBoxForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Next" (click)="saveNextPreviousText(textBoxForm.controls,next)" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
<!-- end questions type options -->
|
||||
</div>
|
||||
|
||||
</mat-card-actions>
|
||||
</form>
|
||||
<ng-template #noanswers>
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{selectedCategory.question}}</h6>
|
||||
|
||||
</mat-card-content>
|
||||
<mat-card-actions>
|
||||
<div fxLayout="row" >
|
||||
|
||||
<div fxFlex="100" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(next)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</mat-card-actions>
|
||||
</ng-template>
|
||||
</ng-container>
|
||||
<!-- end text box questions section -->
|
||||
<!-- start check box questions section -->
|
||||
<ng-container *ngSwitchCase="3">
|
||||
|
||||
<form [formGroup]="checkBoxForm" *ngIf="answerList.length>0 ; else noanswers;">
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{checkBoxForm.controls.pd_question.value}}</h6>
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="text-xs-left">
|
||||
|
||||
<mat-list [formArrayName]="'items'">
|
||||
<mat-list-item *ngFor="let control of checkBoxForm.controls.items.controls; let i = index;" [formGroup]="control">
|
||||
|
||||
<small><mat-checkbox class="example-margin" formControlName="checkbox" id="{{ control.controls.pd_answer_id.value }}"> {{ control.controls.pd_answer.value }}</mat-checkbox> </small>
|
||||
|
||||
</mat-list-item>
|
||||
|
||||
</mat-list>
|
||||
</div>
|
||||
<div fxFlex="40" class="text-xs-right" *ngIf="checkBoxForm.controls.documents.length>0">
|
||||
</mat-card-content>
|
||||
<mat-card-actions>
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||
<mat-form-field appearance="outline" style="width: 100%">
|
||||
<mat-label>Remarks</mat-label>
|
||||
<textarea matInput placeholder="Remarks" formControlName="pd_answer_remark"></textarea>
|
||||
|
||||
<mat-card >
|
||||
<mat-card-content style="display: flex;
|
||||
overflow: auto;min-height: 200px; max-height: 240px;">
|
||||
<div fxLayout="row wrap">
|
||||
<div fxFlex="50" class="m-gap p-gap" *ngFor="let docs of textBoxForm.controls.documents.value; let docIndex=index">
|
||||
<div class="p-list-main mb-2">
|
||||
<div class="p-list">
|
||||
|
||||
<div class="top"><img [src]="docs.pd_document_url" alt=""/></div>
|
||||
<div class="bottom">
|
||||
<div class="left">
|
||||
<div class="details">
|
||||
<small>{{docs.pd_document_title}}</small>
|
||||
<!-- <p>{{docs.pd_document_name}}</p> -->
|
||||
</div>
|
||||
<!-- <div class="buy"><i class="material-icons">add_shopping_cart</i></div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</mat-card-content>
|
||||
|
||||
</mat-card>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- this section for questions type options button actions -->
|
||||
<div fxFlex="40" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Previous" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" (click)="saveNextPrevious(optionsForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(next)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Next" (click)="saveNextPrevious(optionsForm.controls,next)" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</mat-card-content>
|
||||
<mat-card-actions *ngIf="checkBoxForm.controls.items.length > 0">
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||
<mat-form-field appearance="outline" style="width: 100%">
|
||||
<mat-label>Remarks</mat-label>
|
||||
<textarea matInput placeholder="Remarks" formControlName="pd_answer_remark"></textarea>
|
||||
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<!-- this section for questions type options button actions -->
|
||||
<div fxFlex="40" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Previous" (click)="saveNextPrevious(checkBoxForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Next" (click)="saveNextPrevious(checkBoxForm.controls,next)" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
<!-- end questions type options -->
|
||||
</div>
|
||||
|
||||
</mat-card-actions>
|
||||
</form>
|
||||
<ng-template #noanswers>
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{selectedCategory.question}}</h6>
|
||||
|
||||
</mat-card-content>
|
||||
<mat-card-actions>
|
||||
<div fxLayout="row" >
|
||||
|
||||
<div fxFlex="100" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(next)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end questions type options -->
|
||||
</div>
|
||||
|
||||
</mat-card-actions>
|
||||
</form>
|
||||
|
||||
<ng-template #noanswers>
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{selectedCategory.question}}</h6>
|
||||
|
||||
</mat-card-content>
|
||||
<mat-card-actions>
|
||||
<div fxLayout="row" >
|
||||
|
||||
<div fxFlex="100" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(next)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</mat-card-actions>
|
||||
</ng-template>
|
||||
</ng-container>
|
||||
|
||||
</ng-container>
|
||||
<!-- end check box questions section -->
|
||||
|
||||
</figure>
|
||||
</div>
|
||||
</mat-sidenav-container>
|
||||
|
||||
<notifier-container></notifier-container>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</mat-card-actions>
|
||||
</ng-template>
|
||||
|
||||
|
||||
</ng-container>
|
||||
<!-- end options type questions section -->
|
||||
<!-- start text box questions section -->
|
||||
<ng-container *ngSwitchCase="2">
|
||||
|
||||
<form [formGroup]="textBoxForm" *ngIf="answerList.length>0 ; else noanswers;">
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{textBoxForm.controls.pd_question.value}}</h6>
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="text-xs-left">
|
||||
|
||||
<mat-list [formArrayName]="'items'">
|
||||
<mat-list-item *ngFor="let control of textBoxForm.controls.items.controls; let i = index;" [formGroup]="control">
|
||||
|
||||
<mat-form-field appearance="outline" style="width: 100%">
|
||||
<mat-label>Answers</mat-label>
|
||||
<textarea matInput placeholder="Answers" formControlName="pd_answer"></textarea>
|
||||
|
||||
</mat-form-field>
|
||||
</mat-list-item>
|
||||
|
||||
</mat-list>
|
||||
</div>
|
||||
<div fxFlex="40" class="text-xs-right" *ngIf="textBoxForm.controls.documents.length>0">
|
||||
|
||||
<mat-card >
|
||||
<mat-card-content style="display: flex;
|
||||
overflow: auto;min-height: 200px; max-height: 240px;">
|
||||
<div fxLayout="row wrap">
|
||||
|
||||
<div fxFlex="50" class="m-gap p-gap" *ngFor="let docs of textBoxForm.controls.documents.value; let docIndex=index">
|
||||
<div class="p-list-main mb-2">
|
||||
<div class="p-list">
|
||||
|
||||
<div class="top"><img [src]="docs.pd_document_url" alt=""/></div>
|
||||
<div class="bottom">
|
||||
<div class="left">
|
||||
<div class="details">
|
||||
<small>{{docs.pd_document_title}}</small>
|
||||
<!-- <p>{{docs.pd_document_name}}</p> -->
|
||||
</div>
|
||||
<!-- <div class="buy"><i class="material-icons">add_shopping_cart</i></div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</mat-card-content>
|
||||
|
||||
</mat-card>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
<mat-card-actions>
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||
<mat-form-field appearance="outline" style="width: 100%">
|
||||
<mat-label>Remarks</mat-label>
|
||||
<textarea matInput placeholder="Remarks" formControlName="pd_answer_remark"></textarea>
|
||||
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<!-- this section for questions type options button actions -->
|
||||
<div fxFlex="40" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Save&Previous" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" (click)="saveNextPreviousText(textBoxForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" matTooltip="Save&Next" (click)="saveNextPreviousText(textBoxForm.controls,next)" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
<!-- end questions type options -->
|
||||
</div>
|
||||
|
||||
</mat-card-actions>
|
||||
</form>
|
||||
<ng-template #noanswers>
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{selectedCategory.question}}</h6>
|
||||
|
||||
</mat-card-content>
|
||||
<mat-card-actions>
|
||||
<div fxLayout="row" >
|
||||
|
||||
<div fxFlex="100" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(next)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</mat-card-actions>
|
||||
</ng-template>
|
||||
</ng-container>
|
||||
<!-- end text box questions section -->
|
||||
<!-- start check box questions section -->
|
||||
<ng-container *ngSwitchCase="3">
|
||||
|
||||
<form [formGroup]="checkBoxForm" *ngIf="answerList.length>0 ; else noanswers;">
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{checkBoxForm.controls.pd_question.value}}</h6>
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="text-xs-left">
|
||||
|
||||
<mat-list [formArrayName]="'items'">
|
||||
<mat-list-item *ngFor="let control of checkBoxForm.controls.items.controls; let i = index;" [formGroup]="control">
|
||||
|
||||
<small><mat-checkbox class="example-margin" formControlName="checkbox" id="{{ control.controls.pd_answer_id.value }}"> {{ control.controls.pd_answer.value }}</mat-checkbox> </small>
|
||||
|
||||
</mat-list-item>
|
||||
|
||||
</mat-list>
|
||||
</div>
|
||||
<div fxFlex="40" class="text-xs-right" *ngIf="checkBoxForm.controls.documents.length>0">
|
||||
|
||||
<mat-card >
|
||||
<mat-card-content style="display: flex;
|
||||
overflow: auto;min-height: 200px; max-height: 240px;">
|
||||
<div fxLayout="row wrap">
|
||||
<div fxFlex="50" class="m-gap p-gap" *ngFor="let docs of textBoxForm.controls.documents.value; let docIndex=index">
|
||||
<div class="p-list-main mb-2">
|
||||
<div class="p-list">
|
||||
|
||||
<div class="top"><img [src]="docs.pd_document_url" alt=""/></div>
|
||||
<div class="bottom">
|
||||
<div class="left">
|
||||
<div class="details">
|
||||
<small>{{docs.pd_document_title}}</small>
|
||||
<!-- <p>{{docs.pd_document_name}}</p> -->
|
||||
</div>
|
||||
<!-- <div class="buy"><i class="material-icons">add_shopping_cart</i></div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</mat-card-content>
|
||||
|
||||
</mat-card>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
<mat-card-actions *ngIf="checkBoxForm.controls.items.length > 0">
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="60" class="pb-0 text-sm-left">
|
||||
<mat-form-field appearance="outline" style="width: 100%">
|
||||
<mat-label>Remarks</mat-label>
|
||||
<textarea matInput placeholder="Remarks" formControlName="pd_answer_remark"></textarea>
|
||||
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<!-- this section for questions type options button actions -->
|
||||
<div fxFlex="40" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltip="Save&Previous" (click)="saveNextPrevious(checkBoxForm.controls,previous)" matTooltipPosition="below"><mat-icon>arrow_backward</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" *ngIf="currentPDStatus !=pdStatusCheck.COMPLETED && currentPDStatus !=pdStatusCheck.QC_COMPLETED" matTooltip="Save&Next" (click)="saveNextPrevious(checkBoxForm.controls,next)" matTooltipPosition="below"><mat-icon>arrow_forward</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
<!-- end questions type options -->
|
||||
</div>
|
||||
|
||||
</mat-card-actions>
|
||||
</form>
|
||||
<ng-template #noanswers>
|
||||
<mat-card-content>
|
||||
<h6 class="mt-0">{{selectedCategory.question}}</h6>
|
||||
|
||||
</mat-card-content>
|
||||
<mat-card-actions>
|
||||
<div fxLayout="row" >
|
||||
|
||||
<div fxFlex="100" class="pb-0 text-sm-right">
|
||||
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Previous" (click)="skipNextPrevious(previous)" matTooltipPosition="below"><mat-icon>skip_previous</mat-icon></mat-button-toggle>
|
||||
<mat-button-toggle value="bold" matTooltip="Skip&Next" (click)="skipNextPrevious(next)" matTooltipPosition="below"><mat-icon>skip_next</mat-icon></mat-button-toggle>
|
||||
</mat-button-toggle-group>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</mat-card-actions>
|
||||
</ng-template>
|
||||
</ng-container>
|
||||
|
||||
</ng-container>
|
||||
<!-- end check box questions section -->
|
||||
|
||||
</figure>
|
||||
</div>
|
||||
</mat-sidenav-container>
|
||||
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
|
||||
<notifier-container></notifier-container>
|
||||
|
||||
|
||||
|
||||
@ -13,7 +13,6 @@ import { QcService } from './../../qc-service/qc.service';
|
||||
export class QcStartComponent implements OnInit, OnDestroy {
|
||||
private notifier: NotifierService;
|
||||
public startPD:string;
|
||||
public PDStatus: string;
|
||||
public mainApplicantName:string;
|
||||
//public remarks: string;
|
||||
errorMessage:any;
|
||||
@ -30,6 +29,20 @@ selectedQuestionIndex:number;
|
||||
getQuestionsLength:number;
|
||||
answerList:any=[];
|
||||
ansPDList:any=[];
|
||||
// create values for status check
|
||||
pdStatusCheck :any={
|
||||
"DRAFT" :'DRAFT',
|
||||
"TRIGGERED" :'TRIGGERED',
|
||||
"ALLOCATED" :'ALLOCATED',
|
||||
"SCHEDULED" :'SCHEDULED',
|
||||
"INPROGRESS" :'INPROGRESS',
|
||||
"COMPLETED" :'COMPLETED',
|
||||
"QC_COMPLETED" :'QC_COMPLETED',
|
||||
};
|
||||
currentPDStatus: string;
|
||||
actualQuestions:number;
|
||||
answeredQuestions :number;
|
||||
|
||||
constructor(notifier: NotifierService, private fb: FormBuilder,private route: ActivatedRoute,
|
||||
private router: Router,
|
||||
private QcListComponent : QcListComponent, private _qc: QcService,) {
|
||||
@ -51,7 +64,6 @@ constructor(notifier: NotifierService, private fb: FormBuilder,private route: Ac
|
||||
this.loadTemplates(this.startPD);
|
||||
this.next=1;
|
||||
this.previous=2;
|
||||
this.PDStatus="QC_COMPLETED"
|
||||
}
|
||||
isMac(): boolean {
|
||||
let bool = false;
|
||||
@ -69,6 +81,10 @@ loadTemplates(startID:string){
|
||||
this.categoryList=data.records.question_answers;
|
||||
let filterApplicantName= data.records.pdapplicants_detials.filter(item => item.applicant_type == 1);
|
||||
this.mainApplicantName = filterApplicantName[0].applicant_name;
|
||||
this.currentPDStatus = data.records.pdmaster_details.pd_status;
|
||||
|
||||
this.actualQuestions = data.records.counts.overall_question_count;
|
||||
this.answeredQuestions = data.records.counts.overall_answered_count;
|
||||
}
|
||||
else{
|
||||
this.pdMasterList="";
|
||||
@ -111,6 +127,8 @@ loadTemplates(startID:string){
|
||||
if (data.status == 200) {
|
||||
this.answerList=data.records.answers;
|
||||
this.ansPDList=data.records;
|
||||
this.actualQuestions = data.records.counts.overall_question_count;
|
||||
this.answeredQuestions = data.records.counts.overall_answered_count;
|
||||
|
||||
// this for options type questions
|
||||
if(this.selectedCategory.fk_question_answertype==1){
|
||||
@ -396,6 +414,8 @@ optionsMapItems(items) {
|
||||
this._qc.editPdMasterDetails(update_array, status).subscribe(result => {
|
||||
if (result.status == 200) {
|
||||
this.notifier.notify('success', 'QC Completed.');
|
||||
this.currentPDStatus = "QC_COMPLETED";
|
||||
|
||||
}
|
||||
else {
|
||||
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
|
||||
|
||||
@ -1,140 +1,145 @@
|
||||
<div class="mb-2" >
|
||||
<div fxLayout="row" fxLayoutAlign="start center" class="filter-header">
|
||||
<div *ngFor="let master of pdMasterData" class="ml-xs mr-xs" fxFlex="75">
|
||||
<h4>{{master.lender_full_name}} - {{master.lender_applicant_id}}</h4>
|
||||
{{master.pd_date_of_initiation}}
|
||||
</div>
|
||||
<div *ngFor="let master of pdMasterData" class="ml-xs mr-xs pt-1" fxFlex="25" style="text-align:right;" >
|
||||
<button *ngIf="master.pd_type_name" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master)"><mat-icon>verified_user</mat-icon></button>
|
||||
<button *ngIf="master.pd_type_name" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master)"><mat-icon>schedule</mat-icon></button>
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(viewID)"><mat-icon>question_answer</mat-icon></button>
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="above" (click)="loadPdListCompoent()"><mat-icon>close</mat-icon></button>
|
||||
<br><span style="color:red;text-align:center">{{master.pd_allocated_to}} -{{master.pd_status_name}}</span>
|
||||
</div>
|
||||
<mat-card>
|
||||
<mat-card-content>
|
||||
<div class="mb-2" >
|
||||
<div fxLayout="row" fxLayoutAlign="start center" class="filter-header">
|
||||
<div *ngFor="let master of pdMasterData" class="ml-xs mr-xs" fxFlex="75">
|
||||
<h4>{{master.lender_full_name}} - {{master.lender_applicant_id}}</h4>
|
||||
{{master.pd_date_of_initiation}}
|
||||
</div>
|
||||
<div *ngFor="let master of pdMasterData" class="ml-xs mr-xs pt-1" fxFlex="25" style="text-align:right;" >
|
||||
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master)"><mat-icon>verified_user</mat-icon></button>
|
||||
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master)"><mat-icon>schedule</mat-icon></button>
|
||||
<button *ngIf="master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.TRIGGERED && currentPDStatus!=pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(viewID)"><mat-icon>question_answer</mat-icon></button>
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="above" (click)="loadPdListCompoent()"><mat-icon>close</mat-icon></button>
|
||||
<br><span style="color:red;text-align:left">{{master.pd_allocated_to}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<mat-card-content>
|
||||
<div fxLayout="row wrap">
|
||||
|
||||
</div>
|
||||
<mat-card-content>
|
||||
<div fxLayout="row wrap">
|
||||
|
||||
<div class="m-gap p-gap" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
|
||||
<!--pd master -->
|
||||
<mat-card *ngFor="let master of pdMasterData" class="minheight">
|
||||
<div class="cardEdit">
|
||||
<!-- <button *ngIf="master.pd_type_name" mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="pdAllocationTo(master)"><mat-icon>directions_run</mat-icon></button>
|
||||
<button *ngIf="master.pd_type_name" mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="scheduleDetails(master)"><mat-icon>schedule</mat-icon></button>
|
||||
-->
|
||||
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdMaster(master)"><mat-icon>edit</mat-icon></button>
|
||||
|
||||
</div>
|
||||
<mat-card-header>
|
||||
<!-- <img mat-card-avatar src="assets/images/avatar.jpg">
|
||||
<mat-card-title>{{master.lender_full_name}} - {{master.lender_applicant_id}}
|
||||
</mat-card-title>-->
|
||||
<mat-card-subtitle *ngIf="master.city_name" class="hover-icon"><i class="fa-1x fa fa-map-marker"> </i> <span>{{master.city_name}} / {{master.state_name}}-{{master.pincode}}</span></mat-card-subtitle>
|
||||
|
||||
</mat-card-header>
|
||||
<mat-card-content>
|
||||
<p *ngIf="master.product_name">{{master.product_name}} / {{master.subproduct_name}}</p>
|
||||
<p *ngIf="master.pd_type_name"><span>{{master.pd_type_name}}</span> / <span *ngIf="master.loan_amount" class="hover-icon"><i class="fa-1x fa fa-rupee"> </i>{{master.loan_amount}}</span></p>
|
||||
<p><span>{{master.addressline1}},{{master.addressline2}} ,{{master.addressline3}}</span></p>
|
||||
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
|
||||
|
||||
</div>
|
||||
<div fxFlex.xs="100" class="m-gap p-gap" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
|
||||
<!-- applicant card -->
|
||||
<mat-card class="minheight">
|
||||
<div class="cardEdit">
|
||||
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdApplicant(pdApplicantData)"><mat-icon>edit</mat-icon></button>
|
||||
</div>
|
||||
<mat-card-header>
|
||||
<mat-card-title>Applicants</mat-card-title>
|
||||
</mat-card-header>
|
||||
|
||||
<mat-card-content *ngIf="pdApplicantData.length>0; else noApplicant">
|
||||
<mat-list *ngFor="let applicant of pdApplicantData">
|
||||
<mat-list-item>
|
||||
<p><span *ngIf="applicant.applicant_name!=null" class="mb-2 text-center hover-icon">
|
||||
<i class="fa-1x fa fa-user-o"></i>
|
||||
{{applicant.applicant_name}} </span> <span *ngIf="applicant.mobile_no!=null" class="mb-2 text-center hover-icon">
|
||||
<i class="fa-1x fa fa-phone"></i>
|
||||
{{applicant.mobile_no}} </span> <br><span *ngIf="applicant.applicant_type=='1';else codetails" style="font-size:12px;">Main Applicant</span>
|
||||
<ng-template #codetails> <span>{{applicant.relation_name}}</span></ng-template>
|
||||
</p>
|
||||
|
||||
|
||||
</mat-list-item>
|
||||
|
||||
</mat-list>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
<ng-template #noApplicant><mat-card-content><p>No Applicant</p></mat-card-content></ng-template>
|
||||
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="m-gap p-gap">
|
||||
<!-- pd documents card -->
|
||||
<mat-card class="minheight">
|
||||
<!-- <div class="cardEdit">
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon"><mat-icon>edit</mat-icon></button>
|
||||
</div> -->
|
||||
<mat-card-header>
|
||||
<mat-card-title>Documents</mat-card-title>
|
||||
<!-- <mat-card-subtitle><i class="fa-1x fa fa-map-marker"> </i> {{master.city_name}} / {{master.state_name}}-{{master.pincode}}</mat-card-subtitle> -->
|
||||
</mat-card-header>
|
||||
<mat-card-content *ngIf="pdDocumentsData.length>0; else nodocument">
|
||||
<mat-list *ngFor="let documents of pdDocumentsData">
|
||||
<mat-list-item>
|
||||
<p><span>
|
||||
{{documents.pd_document_title}} </span> <span class="mb-2 text-center hover-icon">
|
||||
<i class="fa-1x fa fa-file"></i>
|
||||
{{documents.pd_document_name}} </span>
|
||||
</p>
|
||||
</mat-list-item>
|
||||
|
||||
</mat-list>
|
||||
</mat-card-content>
|
||||
<ng-template #nodocument><mat-card-content><p>No Document</p></mat-card-content></ng-template>
|
||||
|
||||
</mat-card>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="m-gap p-gap" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
|
||||
<!--pd logs card -->
|
||||
<mat-expansion-panel *ngIf="masterPdLogsData.length>0; else nohistory">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title class="text-xs-left">
|
||||
<h6 class="mt-0"> PD History</h6>
|
||||
</mat-panel-title>
|
||||
|
||||
</mat-expansion-panel-header>
|
||||
<mat-list class="m-gap p-gap" *ngFor="let masterHistory of masterPdLogsData">
|
||||
<mat-list-item>
|
||||
<p>{{masterHistory}}</p>
|
||||
|
||||
</mat-list-item>
|
||||
|
||||
</mat-list>
|
||||
|
||||
</mat-expansion-panel>
|
||||
<div class="m-gap p-gap" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
|
||||
<!--pd master -->
|
||||
<mat-card *ngFor="let master of pdMasterData" class="minheight">
|
||||
<div class="cardEdit" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
|
||||
<!-- <button *ngIf="master.pd_type_name" mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="pdAllocationTo(master)"><mat-icon>directions_run</mat-icon></button>
|
||||
<button *ngIf="master.pd_type_name" mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="scheduleDetails(master)"><mat-icon>schedule</mat-icon></button>
|
||||
-->
|
||||
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdMaster(master)"><mat-icon>edit</mat-icon></button>
|
||||
|
||||
<ng-template #nohistory>
|
||||
<mat-card>
|
||||
<mat-card-content><p>No History</p></mat-card-content>
|
||||
</mat-card>
|
||||
</ng-template>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</div>
|
||||
</div>
|
||||
<mat-card-header>
|
||||
<!-- <img mat-card-avatar src="assets/images/avatar.jpg">
|
||||
<mat-card-title>{{master.lender_full_name}} - {{master.lender_applicant_id}}
|
||||
</mat-card-title>-->
|
||||
<mat-card-subtitle *ngIf="master.city_name" class="hover-icon"><i class="fa-1x fa fa-map-marker"> </i> <span>{{master.city_name}} / {{master.state_name}}-{{master.pincode}}</span></mat-card-subtitle>
|
||||
|
||||
</mat-card-header>
|
||||
<mat-card-content>
|
||||
<p *ngIf="master.product_name">{{master.product_name}} / {{master.subproduct_name}}</p>
|
||||
<p *ngIf="master.pd_type_name"><span>{{master.pd_type_name}}</span> / <span *ngIf="master.loan_amount" class="hover-icon"><i class="fa-1x fa fa-rupee"> </i>{{master.loan_amount}}</span></p>
|
||||
<p><span>{{master.addressline1}},{{master.addressline2}} ,{{master.addressline3}}</span></p>
|
||||
<p><span>{{master.pd_status}} - {{ (master.updatedon)? (master.updatedon | slice:0:10):(master.updatedon) }}</span></p>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
|
||||
|
||||
</div>
|
||||
<div fxFlex.xs="100" class="m-gap p-gap" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
|
||||
<!-- applicant card -->
|
||||
<mat-card class="minheight">
|
||||
<div class="cardEdit" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
|
||||
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdApplicant(pdApplicantData)"><mat-icon>edit</mat-icon></button>
|
||||
</div>
|
||||
<mat-card-header>
|
||||
<mat-card-title>Applicants</mat-card-title>
|
||||
</mat-card-header>
|
||||
|
||||
<mat-card-content *ngIf="pdApplicantData.length>0; else noApplicant">
|
||||
<mat-list *ngFor="let applicant of pdApplicantData">
|
||||
<mat-list-item>
|
||||
<p><span *ngIf="applicant.applicant_name!=null" class="mb-2 text-center hover-icon">
|
||||
<i class="fa-1x fa fa-user-o"></i>
|
||||
{{applicant.applicant_name}} </span> <span *ngIf="applicant.mobile_no!=null" class="mb-2 text-center hover-icon">
|
||||
<i class="fa-1x fa fa-phone"></i>
|
||||
{{applicant.mobile_no}} </span> <br><span *ngIf="applicant.applicant_type=='1';else codetails" style="font-size:12px;">Main Applicant</span>
|
||||
<ng-template #codetails> <span>{{applicant.relation_name}}</span></ng-template>
|
||||
</p>
|
||||
|
||||
|
||||
</mat-list-item>
|
||||
|
||||
</mat-list>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
<ng-template #noApplicant><mat-card-content><p>No Applicant</p></mat-card-content></ng-template>
|
||||
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="m-gap p-gap">
|
||||
<!-- pd documents card -->
|
||||
<mat-card class="minheight">
|
||||
<!-- <div class="cardEdit">
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon"><mat-icon>edit</mat-icon></button>
|
||||
</div> -->
|
||||
<mat-card-header>
|
||||
<mat-card-title>Documents</mat-card-title>
|
||||
<!-- <mat-card-subtitle><i class="fa-1x fa fa-map-marker"> </i> {{master.city_name}} / {{master.state_name}}-{{master.pincode}}</mat-card-subtitle> -->
|
||||
</mat-card-header>
|
||||
<mat-card-content *ngIf="pdDocumentsData.length>0; else nodocument">
|
||||
<mat-list *ngFor="let documents of pdDocumentsData">
|
||||
<mat-list-item>
|
||||
<p><span>
|
||||
{{documents.pd_document_title}} </span> <span class="mb-2 text-center hover-icon">
|
||||
<i class="fa-1x fa fa-file"></i>
|
||||
{{documents.pd_document_name}} </span>
|
||||
</p>
|
||||
</mat-list-item>
|
||||
|
||||
</mat-list>
|
||||
</mat-card-content>
|
||||
<ng-template #nodocument><mat-card-content><p>No Document</p></mat-card-content></ng-template>
|
||||
|
||||
</mat-card>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="m-gap p-gap" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
|
||||
<!--pd logs card -->
|
||||
<mat-expansion-panel *ngIf="masterPdLogsData.length>0; else nohistory">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title class="text-xs-left">
|
||||
<h6 class="mt-0"> PD History</h6>
|
||||
</mat-panel-title>
|
||||
|
||||
</mat-expansion-panel-header>
|
||||
<mat-list class="m-gap p-gap" *ngFor="let masterHistory of masterPdLogsData">
|
||||
<mat-list-item>
|
||||
<p>{{masterHistory}}</p>
|
||||
|
||||
</mat-list-item>
|
||||
|
||||
</mat-list>
|
||||
|
||||
</mat-expansion-panel>
|
||||
|
||||
<ng-template #nohistory>
|
||||
<mat-card>
|
||||
<mat-card-content><p>No History</p></mat-card-content>
|
||||
</mat-card>
|
||||
</ng-template>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
|
||||
<!-- <notifier-container></notifier-container> -->
|
||||
|
||||
|
||||
@ -29,6 +29,18 @@ export class QcViewComponent implements OnInit, OnDestroy {
|
||||
viewID:string;
|
||||
viewParams:any;
|
||||
destroyType:number=1;
|
||||
currentPDStatus:string;
|
||||
|
||||
// create values for status check
|
||||
pdStatusCheck :any={
|
||||
"DRAFT" :'DRAFT',
|
||||
"TRIGGERED" :'TRIGGERED',
|
||||
"ALLOCATED" :'ALLOCATED',
|
||||
"SCHEDULED" :'SCHEDULED',
|
||||
"INPROGRESS" :'INPROGRESS',
|
||||
"COMPLETED" :'COMPLETED',
|
||||
"QC_COMPLETED" :'QC_COMPLETED',
|
||||
};
|
||||
public _EditPDtriggerForm:FormGroup;
|
||||
constructor(notifier:NotifierService,private dialog: MatDialog,private _fb: FormBuilder,
|
||||
private _qc: QcService,private route: ActivatedRoute,private router: Router, private QcListComponent: QcListComponent) {
|
||||
@ -52,6 +64,8 @@ export class QcViewComponent implements OnInit, OnDestroy {
|
||||
this.pdDocumentsData=data.records.pd_documnets;
|
||||
this.masterPdLogsData=data.records.pd_logs.master;
|
||||
//this.applicantPDLogsData= data.records.pd_logs.master;
|
||||
this.currentPDStatus = data.records.pd_master_details[0].pd_status;
|
||||
|
||||
}
|
||||
}, error => this.errorMessage = <any> error);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user