diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/pd-report.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/pd-report.component.html
index 946913656..12865496c 100755
--- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/pd-report.component.html
+++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/pd-report.component.html
@@ -56,7 +56,7 @@
short_text
-
-
+ {{qcStatus}}
+
-
+ *ngIf="latestPDDetails.is_latest == 1 && qcStatus !== 'QC_COMPLETED'" (click)="addNewQuestion()">edit
+
diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/pd-report.component.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/pd-report.component.ts
index 83f222a13..d7ad19799 100755
--- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/pd-report.component.ts
+++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/pd-report.component.ts
@@ -10,6 +10,7 @@ import { MatDialog,
MatDialogRef,
MAT_DIALOG_DATA } from "@angular/material";
import { ModelEditPdReportComponent} from './model-edit-pd-report/model-edit-pd-report.component';
+import { QcReviewComponent } from './qc-review/qc-review.component';
/**sweet alert */
// import Swal from 'sweetalert2';
@@ -117,12 +118,14 @@ export class PdReportComponent implements OnInit {
})
}
+ public qcStatus: string = '';
getPdReportVersionList(){
this.pdTrigerService.getPdDocVersionList(this.startPD).subscribe(data => {
if(data.status == 200 && data.dataStatus){
- this.pdReportVersionList = [...data.records].reverse();
+ this.pdReportVersionList = [...data.records.reports_urls].reverse();
let datas = this.pdReportVersionList.filter((a)=>{return a.is_latest == 1;})
this.latestPDDetails = datas[0];
+ this.qcStatus = data.records.pdstatus;
// alert(JSON.stringify(this.latestPDDetails));
this.reGenerateBtn = true;
} else {
@@ -174,6 +177,22 @@ export class PdReportComponent implements OnInit {
console.log(this.latestPDDetails);
}
+
+
+ reportReview(): void {
+ const dialogRef = this.dialog.open(QcReviewComponent, {
+ data: { startId : this.startPD },
+ disableClose: true
+ });
+ dialogRef.afterClosed()
+ .subscribe(dataresult => {
+ // this.getPdReportFinalTemplateDetails();
+ // this.getQuestionsMasters();
+ // this.getBranch();
+ // this.isPopupOpened = false;
+ });
+ }
+
changeDocumentEdit() : void{
@@ -200,8 +219,6 @@ export class PdReportComponent implements OnInit {
} else {
}
});
-
-
// Swal('User Created');
diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/qc-review/qc-review.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/qc-review/qc-review.component.html
new file mode 100644
index 000000000..c67d819ea
--- /dev/null
+++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/qc-review/qc-review.component.html
@@ -0,0 +1,23 @@
+QC Completed Review
+
+
+
+
+
+
+
+
+
+
diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/qc-review/qc-review.component.scss b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/qc-review/qc-review.component.scss
new file mode 100644
index 000000000..e69de29bb
diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/qc-review/qc-review.component.spec.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/qc-review/qc-review.component.spec.ts
new file mode 100644
index 000000000..0d0b84d1e
--- /dev/null
+++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/qc-review/qc-review.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { QcReviewComponent } from './qc-review.component';
+
+describe('QcReviewComponent', () => {
+ let component: QcReviewComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ QcReviewComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(QcReviewComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/qc-review/qc-review.component.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/qc-review/qc-review.component.ts
new file mode 100644
index 000000000..e87e9c5a0
--- /dev/null
+++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/pd-report/qc-review/qc-review.component.ts
@@ -0,0 +1,87 @@
+import { Component, OnInit, ViewChild , Input, Inject} from '@angular/core';
+import { FormGroup, FormBuilder, Validators } from '@angular/forms';
+import { PdTrigerService } from '../../../../pd-service/pd-triger.service';
+import { NotifierService } from "angular-notifier";
+
+
+import {
+ MatDialog,
+ MatDialogRef,
+ MAT_DIALOG_DATA
+} from '@angular/material';
+
+@Component({
+ selector: 'app-qc-review',
+ templateUrl: './qc-review.component.html',
+ styleUrls: ['./qc-review.component.scss']
+})
+export class QcReviewComponent implements OnInit {
+
+ @Input() questionId: number;
+ ngForm: FormGroup;
+ recordData: any;
+ showForm: Boolean;
+/**
+ * Notifier service
+ */
+ private notifier: NotifierService;
+ constructor( private _formBuilder: FormBuilder,
+ private pdTrigerService: PdTrigerService,
+ notifier: NotifierService ,
+ private dialogRef: MatDialogRef,
+ @Inject(MAT_DIALOG_DATA) public data: any) {
+ this.notifier = notifier;
+
+ // this.mycontent = `My html content
`;
+ }
+
+ ngOnInit() {
+ this.getQcCompleteReviewStatus();
+ }
+
+ getQcCompleteReviewStatus() {
+ this.pdTrigerService.getQCReportFinalReviewDetails(this.data.startId, "QC").subscribe(data => {
+ if(data['dataStatus']){
+ this.recordData = data.records[0];
+ this.ngForm = this._formBuilder.group({
+ qc_remarks: [this.recordData.qc_remarks],
+ qc_rating: [Number(this.recordData.qc_rating)],
+ pd_status: [this.recordData.pd_status],
+ })
+ this.showForm = true;
+ }
+ },err => {
+
+ });
+ }
+
+ onChange($event: any): void {
+ console.log('onChange');
+ // this.log += new Date() + "
";
+ }
+
+ myClick(): void {
+ let template = this.ngForm.value;
+ template.pd_id = this.data.startId;
+ console.log(JSON.stringify(template));
+ this.pdTrigerService.pdReviewStatusUpdate(template).subscribe(data=>{
+ this.notifier.notify('success', 'Your Changes Updated.!');
+ this.dialogRef.close();
+ }, err => {
+ this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
+
+ })
+ }
+
+
+
+ // =============================
+
+ ratingClicked: number;
+ itemIdRatingClicked: string;
+ rating : number = 1;
+
+ ratingComponentClick(e){
+ this.ngForm.controls.qc_rating.setValue(e.rating);
+ }
+}
diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/manage-pd.module.ts b/ng6-seed/src/app/personal-discussion/manage-pd/manage-pd.module.ts
index 12285e2ba..64756a67c 100755
--- a/ng6-seed/src/app/personal-discussion/manage-pd/manage-pd.module.ts
+++ b/ng6-seed/src/app/personal-discussion/manage-pd/manage-pd.module.ts
@@ -87,6 +87,8 @@ import { NgxViewerModule } from 'ngx-viewer';
import { FinalRemarksComponent } from './list-pd/start-pd/forms/final-remarks/final-remarks.component';
import { BusinessOtherFamilyMemberComponent } from './list-pd/start-pd/forms/dialogue/business-other-family-member/business-other-family-member.component';
+import { QcReviewComponent } from './list-pd/pd-report/qc-review/qc-review.component';
+import { SharedModule } from "app/shared/shared.module";
/**
* Custom angular notifier options
@@ -264,7 +266,7 @@ const pdCustomNotifierOptions: NotifierOptions = {
// AgmCoreModule.forRoot({apiKey: 'AIzaSyBtdO5k6CRntAMJCF-H5uZjTCoSGX95cdk'}), OwlDateTimeModule,
// OwlNativeDateTimeModule,
// ],
- declarations: [RentalInfoComponent, TelePdAllocationComponent, FinancialInfoComponent, BusinessInfoComponent, EmploymentInfoComponent, StockComponent, BankingDetailsComponent, ListPdComponent, FamilyDetailsComponent, AddressComponent, ManagePdComponent, MapPdViewComponent, AddPdComponent, ViewPdComponent, PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, InprogressPdComponent, AllPdComponent, ScheduledPdComponent, CompletedPdComponent, QcCompletedPdComponent, ClientInfoComponent, CurrentLoanComponent, AssetsInfoComponent, LoanDetailsComponent, OtherIncomeComponent, SupplierInfoComponent, PersonalInfoComponent, LenderRepresentativeComponent, PdReportComponent, AssessedIncomeComponent, AllocationViewMoreComponent, PdRequirementComponent, GeneralInfoComponent, ModelEditPdReportComponent, OtherApplicantDetailsComponent, NeighbourHoodComponent, DialogChangeCurrentVenrsion, FinalRemarksComponent, BusinessOtherFamilyMemberComponent],
+ declarations: [RentalInfoComponent, TelePdAllocationComponent, FinancialInfoComponent, BusinessInfoComponent, EmploymentInfoComponent, StockComponent, BankingDetailsComponent, ListPdComponent, FamilyDetailsComponent, AddressComponent, ManagePdComponent, MapPdViewComponent, AddPdComponent, ViewPdComponent, PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, InprogressPdComponent, AllPdComponent, ScheduledPdComponent, CompletedPdComponent, QcCompletedPdComponent, ClientInfoComponent, CurrentLoanComponent, AssetsInfoComponent, LoanDetailsComponent, OtherIncomeComponent, SupplierInfoComponent, PersonalInfoComponent, LenderRepresentativeComponent, PdReportComponent, AssessedIncomeComponent, AllocationViewMoreComponent, PdRequirementComponent, GeneralInfoComponent, ModelEditPdReportComponent, OtherApplicantDetailsComponent, NeighbourHoodComponent, DialogChangeCurrentVenrsion, FinalRemarksComponent, BusinessOtherFamilyMemberComponent, QcReviewComponent],
// exports: [PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, CompletedPdComponent, QcCompletedPdComponent],
// providers: [PdTrigerService, GetGeometricLocationService],
@@ -273,6 +275,7 @@ const pdCustomNotifierOptions: NotifierOptions = {
CommonModule,
ManagePdRoutingModule,
NgxViewerModule,
+ SharedModule,
NotifierModule.withConfig(pdCustomNotifierOptions),
CKEditorModule,
PdfViewerModule,
@@ -307,7 +310,7 @@ const pdCustomNotifierOptions: NotifierOptions = {
{provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS}],
entryComponents: [PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, TelePdAllocationComponent, AllocationViewMoreComponent, PersonalInfoComponent,
- ClientInfoComponent, SupplierInfoComponent, CurrentLoanComponent, LoanDetailsComponent, OtherIncomeComponent, AssetsInfoComponent, AddressComponent, FamilyDetailsComponent, BankingDetailsComponent, StockComponent, EmploymentInfoComponent, BusinessInfoComponent, FinancialInfoComponent, LenderRepresentativeComponent,RentalInfoComponent, AssessedIncomeComponent, GeneralInfoComponent, PdRequirementComponent, ModelEditPdReportComponent, OtherApplicantDetailsComponent, NeighbourHoodComponent, DialogChangeCurrentVenrsion, FinalRemarksComponent, BusinessOtherFamilyMemberComponent],
+ ClientInfoComponent, SupplierInfoComponent, CurrentLoanComponent, LoanDetailsComponent, OtherIncomeComponent, AssetsInfoComponent, AddressComponent, FamilyDetailsComponent, BankingDetailsComponent, StockComponent, EmploymentInfoComponent, BusinessInfoComponent, FinancialInfoComponent, LenderRepresentativeComponent,RentalInfoComponent, AssessedIncomeComponent, GeneralInfoComponent, PdRequirementComponent, ModelEditPdReportComponent, OtherApplicantDetailsComponent, NeighbourHoodComponent, DialogChangeCurrentVenrsion, FinalRemarksComponent, BusinessOtherFamilyMemberComponent, QcReviewComponent],
})
export class ManagePdModule {
diff --git a/ng6-seed/src/app/personal-discussion/pd-service/pd-triger.service.ts b/ng6-seed/src/app/personal-discussion/pd-service/pd-triger.service.ts
index 0cec83e9f..89b00f4b7 100755
--- a/ng6-seed/src/app/personal-discussion/pd-service/pd-triger.service.ts
+++ b/ng6-seed/src/app/personal-discussion/pd-service/pd-triger.service.ts
@@ -331,6 +331,23 @@ getTypeofActivityForSuppliedInfoForm(pd_id: any): Observable{
)
}
+ getQCReportFinalReviewDetails(pd_id: any, flag : string ): Observable{
+ return this._http.post(this.apiUrl+"getQCLenderRemarks", {"records": { "pd_id" : pd_id, "flag" :flag }})
+ .pipe(
+ catchError(this.handleError('operation', []))
+ )
+ }
+
+ // pd review status update details
+ pdReviewStatusUpdate(editData: any): Observable {
+ editData.fk_updatedby = this._aws.getlocale();
+ // editData.updatedon = currentdate;
+ return this._http.post(this.apiUrl + "updatePDMaster", {records: editData})
+
+ .pipe(
+ catchError(this.handleError('operation', []))
+ )
+ }
// inWords(num) {
diff --git a/ng6-seed/src/app/shared/rating/rating.component.html b/ng6-seed/src/app/shared/rating/rating.component.html
new file mode 100644
index 000000000..06bae631d
--- /dev/null
+++ b/ng6-seed/src/app/shared/rating/rating.component.html
@@ -0,0 +1,16 @@
+
\ No newline at end of file
diff --git a/ng6-seed/src/app/shared/rating/rating.component.scss b/ng6-seed/src/app/shared/rating/rating.component.scss
new file mode 100644
index 000000000..64db81cb4
--- /dev/null
+++ b/ng6-seed/src/app/shared/rating/rating.component.scss
@@ -0,0 +1,42 @@
+
+.rating {
+ float:left;
+}
+
+.rating:not(:checked) > input {
+ position:absolute;
+ top:-9999px;
+ clip:rect(0,0,0,0);
+}
+
+.rating:not(:checked) > label {
+ float:right;
+ width:1em;
+ padding:0.1em;
+ overflow:hidden;
+ white-space:nowrap;
+ cursor:pointer;
+ font-size:200%;
+ line-height:1.2;
+ color:#ddd;
+}
+
+.rating:not(:checked) > label:before {
+ content: '★ ';
+}
+
+.rating > input:checked ~ label {
+ color: #f70;
+}
+
+.rating:not(:checked) > label:hover,
+.rating:not(:checked) > label:hover ~ label {
+ color: gold;
+}
+
+
+.rating > input:checked ~ label:hover,
+.rating > input:checked ~ label:hover ~ label,
+.rating > label:hover ~ input:checked ~ label {
+ color: #ea0;
+}
\ No newline at end of file
diff --git a/ng6-seed/src/app/shared/rating/rating.component.spec.ts b/ng6-seed/src/app/shared/rating/rating.component.spec.ts
new file mode 100644
index 000000000..1460c9ec6
--- /dev/null
+++ b/ng6-seed/src/app/shared/rating/rating.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { RatingComponent } from './rating.component';
+
+describe('RatingComponent', () => {
+ let component: RatingComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ RatingComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(RatingComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/ng6-seed/src/app/shared/rating/rating.component.ts b/ng6-seed/src/app/shared/rating/rating.component.ts
new file mode 100644
index 000000000..5c6eed26a
--- /dev/null
+++ b/ng6-seed/src/app/shared/rating/rating.component.ts
@@ -0,0 +1,25 @@
+import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';
+
+@Component({
+ selector: 'app-rating',
+ templateUrl: './rating.component.html',
+ styleUrls: ['./rating.component.scss']
+})
+export class RatingComponent implements OnInit {
+ @Input() rating: number;
+ @Input() itemId: number;
+ @Output() ratingClick: EventEmitter = new EventEmitter();
+
+ inputName: string;
+ ngOnInit() {
+ this.inputName = this.itemId + '_rating';
+ }
+ onClick(rating: number): void {
+ this.rating = rating;
+ this.ratingClick.emit({
+ itemId: this.itemId,
+ rating: rating
+ });
+ }
+
+}
diff --git a/ng6-seed/src/app/shared/shared.module.ts b/ng6-seed/src/app/shared/shared.module.ts
index 9dbf91116..cc6a4cb68 100755
--- a/ng6-seed/src/app/shared/shared.module.ts
+++ b/ng6-seed/src/app/shared/shared.module.ts
@@ -4,19 +4,22 @@ import { MenuItems } from './menu-items/menu-items';
import { HorizontalMenuItems } from './menu-items/horizontal-menu-items';
import { AccordionAnchorDirective, AccordionLinkDirective, AccordionDirective } from './accordion';
import { ToggleFullscreenDirective } from './fullscreen/toggle-fullscreen.directive';
+import { RatingComponent} from './rating/rating.component';
@NgModule({
declarations: [
AccordionAnchorDirective,
AccordionLinkDirective,
AccordionDirective,
- ToggleFullscreenDirective
+ ToggleFullscreenDirective,
+ RatingComponent
],
exports: [
AccordionAnchorDirective,
AccordionLinkDirective,
AccordionDirective,
- ToggleFullscreenDirective
+ ToggleFullscreenDirective,
+ RatingComponent
],
providers: [ MenuItems, HorizontalMenuItems ]
})