From c335b6f3a75635998e3887219b1fdf7d6bc9cc22 Mon Sep 17 00:00:00 2001 From: "venbatechnologies@gmail.com" Date: Sat, 11 Jan 2020 16:02:32 +0530 Subject: [PATCH] Fairoj : Sales PD MIS Report created and issue fixed --- ng6-seed/src/app/app.module.ts | 4 +- ng6-seed/src/app/app.routing.ts | 3 +- .../layouts/admin/admin-layout.component.html | 18 +- .../list-pd/all-pd/all-pd.component.html | 4 +- .../completed-pd/completed-pd.component.html | 2 +- .../inprogress-pd.component.html | 2 +- .../qc-completed-pd.component.html | 2 +- .../scheduled-pd/scheduled-pd.component.html | 2 +- .../business-info/business-info.component.ts | 2 +- .../list-pd/view-pd/view-pd.component.html | 14 +- .../material_modules/material.module.spec.ts | 13 + .../material_modules/material.module.ts | 95 ++++++ .../mis-reports/mis-reports.component.html | 177 ++++++++++++ .../mis-reports/mis-reports.component.scss | 99 +++++++ .../mis-reports/mis-reports.component.spec.ts | 25 ++ .../mis-reports/mis-reports.component.ts | 273 ++++++++++++++++++ .../sales-pd.component.html | 34 ++- .../sales-pd.component.scss | 7 + .../sales-pd.component.spec.ts | 0 .../{ => sales-pd-list}/sales-pd.component.ts | 1 + .../app/sales-pd/sales-pd-routing.module.ts | 25 ++ .../src/app/sales-pd/sales-pd.module.spec.ts | 13 + ng6-seed/src/app/sales-pd/sales-pd.module.ts | 19 ++ ng6-seed/src/app/sales-pd/sales-pd.service.ts | 9 - .../{ => services}/sales-pd.service.spec.ts | 0 .../app/sales-pd/services/sales-pd.service.ts | 22 ++ .../menu-items/horizontal-menu-items.ts | 26 +- .../src/app/shared/menu-items/menu-items.ts | 14 +- 28 files changed, 850 insertions(+), 55 deletions(-) create mode 100644 ng6-seed/src/app/sales-pd/material_modules/material.module.spec.ts create mode 100644 ng6-seed/src/app/sales-pd/material_modules/material.module.ts create mode 100644 ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.html create mode 100644 ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.scss create mode 100644 ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.spec.ts create mode 100644 ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.ts rename ng6-seed/src/app/sales-pd/{ => sales-pd-list}/sales-pd.component.html (90%) rename ng6-seed/src/app/sales-pd/{ => sales-pd-list}/sales-pd.component.scss (73%) rename ng6-seed/src/app/sales-pd/{ => sales-pd-list}/sales-pd.component.spec.ts (100%) rename ng6-seed/src/app/sales-pd/{ => sales-pd-list}/sales-pd.component.ts (99%) create mode 100644 ng6-seed/src/app/sales-pd/sales-pd-routing.module.ts create mode 100644 ng6-seed/src/app/sales-pd/sales-pd.module.spec.ts create mode 100644 ng6-seed/src/app/sales-pd/sales-pd.module.ts delete mode 100644 ng6-seed/src/app/sales-pd/sales-pd.service.ts rename ng6-seed/src/app/sales-pd/{ => services}/sales-pd.service.spec.ts (100%) create mode 100644 ng6-seed/src/app/sales-pd/services/sales-pd.service.ts diff --git a/ng6-seed/src/app/app.module.ts b/ng6-seed/src/app/app.module.ts index e9e4bbaa0..d626e5b9c 100755 --- a/ng6-seed/src/app/app.module.ts +++ b/ng6-seed/src/app/app.module.ts @@ -54,7 +54,7 @@ import { AngularFireModule } from '@angular/fire'; import { MessagingService } from './shared/messaging.service'; import { environment } from '../environments/environment'; import { AsyncPipe } from '../../node_modules/@angular/common'; -import { SalesPdComponent } from './sales-pd/sales-pd.component'; +// import { SalesPdComponent } from './sales-pd/sales-pd.component'; import { PdTrigerService } from './personal-discussion/pd-service/pd-triger.service'; @@ -75,7 +75,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = { AppComponent, AdminLayoutComponent, AuthLayoutComponent, - NewPasswordDialog,ForgotPass,ChangePasswordDialog, RoleMenuItemsPipe, SalesPdComponent, + NewPasswordDialog,ForgotPass,ChangePasswordDialog, RoleMenuItemsPipe ], imports: [ BrowserModule, diff --git a/ng6-seed/src/app/app.routing.ts b/ng6-seed/src/app/app.routing.ts index 50264b3fc..b77156e35 100755 --- a/ng6-seed/src/app/app.routing.ts +++ b/ng6-seed/src/app/app.routing.ts @@ -4,7 +4,6 @@ import { AdminLayoutComponent } from './layouts/admin/admin-layout.component'; import { AuthLayoutComponent } from './layouts/auth/auth-layout.component'; import { CognitoService} from './AwsService/cognito.service'; import { AuthGuard } from './_guard/auth.guard'; -import { SalesPdComponent } from './sales-pd/sales-pd.component'; export const AppRoutes: Routes = [{ path: '', redirectTo: 'home', @@ -33,7 +32,7 @@ export const AppRoutes: Routes = [{ }, { path:'sales-pd-list', - component:SalesPdComponent + loadChildren:'./sales-pd/sales-pd.module#SalesPdModule' }, { path:'reports', diff --git a/ng6-seed/src/app/layouts/admin/admin-layout.component.html b/ng6-seed/src/app/layouts/admin/admin-layout.component.html index 07ea127b3..6c7660de2 100755 --- a/ng6-seed/src/app/layouts/admin/admin-layout.component.html +++ b/ng6-seed/src/app/layouts/admin/admin-layout.component.html @@ -131,7 +131,7 @@ - - diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/all-pd/all-pd.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/all-pd/all-pd.component.html index 523cb02fb..c7bfec3d0 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/all-pd/all-pd.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/all-pd/all-pd.component.html @@ -78,13 +78,13 @@ - +
{{details.pd_sno}}
{{details.pd_type_name}}
- + {{details.is_child == 0 ? details.applicant_name : 'Add On PD' }} diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/completed-pd/completed-pd.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/completed-pd/completed-pd.component.html index 2e30309a3..e2f8ed4c1 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/completed-pd/completed-pd.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/completed-pd/completed-pd.component.html @@ -84,7 +84,7 @@ - + diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/inprogress-pd/inprogress-pd.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/inprogress-pd/inprogress-pd.component.html index db3b9020a..a71f2de87 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/inprogress-pd/inprogress-pd.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/inprogress-pd/inprogress-pd.component.html @@ -81,7 +81,7 @@ - + diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/qc-completed-pd/qc-completed-pd.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/qc-completed-pd/qc-completed-pd.component.html index 24dd47ac3..9dc13bc53 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/qc-completed-pd/qc-completed-pd.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/qc-completed-pd/qc-completed-pd.component.html @@ -83,7 +83,7 @@ - + diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/scheduled-pd/scheduled-pd.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/scheduled-pd/scheduled-pd.component.html index 07bc2cf44..d45bb0319 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/scheduled-pd/scheduled-pd.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/scheduled-pd/scheduled-pd.component.html @@ -81,7 +81,7 @@ - + diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/business-info/business-info.component.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/business-info/business-info.component.ts index a82dd71cf..f06081857 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/business-info/business-info.component.ts +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/business-info/business-info.component.ts @@ -135,6 +135,7 @@ export class BusinessInfoComponent implements OnInit { console.log(this.product_abbr); console.log("com",this.company_id) this.image_doc_params={pdid:this.pdid,form_id:this.form_id,company_id:this.company_id} + this.getActivity(); } documentsAndFilesList: any = []; pdf(fileURL){ @@ -165,7 +166,6 @@ export class BusinessInfoComponent implements OnInit { this.getBusinessEntity(); this.getRelation(); //this.getIndustry(); - this.getActivity(); this.getStateCityList(); this.getCountryDataList(); this.initBusinessForm(); diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.html index 5047c2094..4b8a80d09 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.html @@ -21,11 +21,11 @@
-
+
{{master.lender_short_name}}
{{master.fin_institute_name}}
-
+
{{master.branch_name}}
@@ -36,17 +36,17 @@
-
+
{{master.lender_applicant_id}}
-
+
{{master.pd_date_of_initiation}}
- +
@@ -61,10 +61,10 @@
-
+
Loan Amount
-
+
{{master.loan_amount}}
diff --git a/ng6-seed/src/app/sales-pd/material_modules/material.module.spec.ts b/ng6-seed/src/app/sales-pd/material_modules/material.module.spec.ts new file mode 100644 index 000000000..0585c16b1 --- /dev/null +++ b/ng6-seed/src/app/sales-pd/material_modules/material.module.spec.ts @@ -0,0 +1,13 @@ +import { MaterialModule } from './material.module'; + +describe('MaterialModule', () => { + let materialModule: MaterialModule; + + beforeEach(() => { + materialModule = new MaterialModule(); + }); + + it('should create an instance', () => { + expect(materialModule).toBeTruthy(); + }); +}); diff --git a/ng6-seed/src/app/sales-pd/material_modules/material.module.ts b/ng6-seed/src/app/sales-pd/material_modules/material.module.ts new file mode 100644 index 000000000..94d954350 --- /dev/null +++ b/ng6-seed/src/app/sales-pd/material_modules/material.module.ts @@ -0,0 +1,95 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { MatIconModule, MatInputModule, MatTableModule, MatListModule, MatToolbarModule, MatFormFieldModule, MatTabsModule, MatCardModule, MatPaginatorModule, MatButtonModule, MatExpansionModule, MatProgressBarModule, MatProgressSpinnerModule, MatDatepickerModule } from '@angular/material'; +import { FlexLayoutModule } from '@angular/flex-layout'; +import { MatTableExporterModule } from 'mat-table-exporter'; +import { ReactiveFormsModule, FormsModule } from '@angular/forms'; +import { NotifierOptions, NotifierModule } from 'angular-notifier'; + +const pdCustomNotifierOptions: NotifierOptions = { + position: { + horizontal: { + position: 'right', + distance: 12 + }, + vertical: { + position: 'top', + distance: 32, + gap: 10 + } + }, + theme: 'material', + behaviour: { + autoHide: 2000, + onClick: 'hide', + onMouseover: 'pauseAutoHide', + showDismissButton: true, + stacking: 4 + }, + animations: { + enabled: true, + show: { + preset: 'slide', + speed: 300, + easing: 'ease' + }, + hide: { + preset: 'fade', + speed: 300, + easing: 'ease', + offset: 50 + }, + shift: { + speed: 300, + easing: 'ease' + }, + overlap: 150 + } +}; + +@NgModule({ + imports: [ + CommonModule, + MatInputModule, + MatIconModule, + MatTableModule, + MatListModule, + MatToolbarModule, + MatFormFieldModule, + MatTabsModule, + MatCardModule, + MatPaginatorModule, + MatButtonModule, + FlexLayoutModule, + MatExpansionModule, + MatProgressBarModule,MatProgressSpinnerModule, + MatTableExporterModule, + ReactiveFormsModule, + FormsModule, + MatDatepickerModule, + NotifierModule.withConfig(pdCustomNotifierOptions), + ], + exports:[ + CommonModule, + MatInputModule, + MatIconModule, + MatTableModule, + MatListModule, + MatToolbarModule, + MatFormFieldModule, + MatTabsModule, + MatCardModule, + MatPaginatorModule, + MatButtonModule, + FlexLayoutModule, + MatExpansionModule, + MatProgressBarModule,MatProgressSpinnerModule, + MatTableExporterModule, + ReactiveFormsModule, + FormsModule, + MatDatepickerModule, + NotifierModule, + ], + declarations: [] +}) +export class MaterialModule { } diff --git a/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.html b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.html new file mode 100644 index 000000000..aade5dd15 --- /dev/null +++ b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.html @@ -0,0 +1,177 @@ + + +
+
+ Sales PD MIS Report + + + + + +
+
+ + +
+ +
+
+
+ error +

Error!

+ {{er.error_status}} +

{{er.error_text}}

+
+

Sorry, but the page you were trying to view does not exist

+

{{er.error_message}}

+
+
+
+
+ + +
+
+
+
+ + + +
+ filter_list Filter
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+
+
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Sr. No. {{i+1}} Sales PD ID + {{row.sales_pd_id}} Reference Number + {{row.sales_pd_sno}} Main Loan Applicant + {{row.applicant_name}} Sales Person + {{row.officer_name}} Status + {{row.status}} Date + {{row.createdon | date: 'dd-MM-yyyy hh:mm a'}} Mail Status + {{row.mail_status}}
+
+ +
+
+
+
+
+ +
+ +
+
+
+ + diff --git a/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.scss b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.scss new file mode 100644 index 000000000..82891a76d --- /dev/null +++ b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.scss @@ -0,0 +1,99 @@ +/** Card title */ +.mat-card-title{ + font-size: 25px !important; + } + + /** CSS for "No record Found Text " and "Loading Text" */ + .nocontent { + color: red; + font-size: 16px; + text-align: center; + width: 100%; + } + + /** Filter Header Css (Overall) */ + .filter-header { + min-height: 64px; + padding: 8px 24px 0; + } + + /** Export Button CSS */ + .btn_export + { + float: right; + } + + /** Report Card Common Css (Overall) */ + .report-card-container { + display: flex; + flex-direction: column; + min-width: 300px; + } + + /** Report Table Common Css (Overall)*/ + .report-table-container { + max-height:540px; + width: auto; + overflow: auto; + margin-top: 2%; + } + + /** Table Header Cell Css*/ + .mat-header-cell { + padding: 0 10px 0 10px; + white-space: pre-wrap; + font-size: 1rem !important; + } + + /** Table Body Cell Css*/ + .mat-cell { + padding: 0 10px 0 10px; + white-space: nowrap; + } + + /** Table Static Columns Css*/ + .mat-table-sticky { + border-right: 1px solid #e0e0e0; + } + + /** Table Footer Cell Css - not In use*/ + .mat-footer-cell { + font-weight: bold; + font-size: 1.2rem !important; + padding: 0 10px 0 10px; + } + + /* Error Text Font Size*/ + .error-text{ + font-size: 6rem !important; + } + .error-wrapper{ + padding-top: 2rem !important;//default is 5 rem + } + .error-icon{ + width: 100px; + font-size: 79px !important; + } + + .form-back{ + background-position: top center; + min-height: calc(100vh + 100px); + height: auto; + background-color: #fff !important; + color:red !important; + } + .mat-column-status{ + text-align: center; + + } + .mat-column-serialno{ + text-align: center; + + } + .mat-column-sales_pd_id{ + text-align: center; + + } + .mat-column-createdon{ + text-align: center; + } \ No newline at end of file diff --git a/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.spec.ts b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.spec.ts new file mode 100644 index 000000000..90e92e7f7 --- /dev/null +++ b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MisReportsComponent } from './mis-reports.component'; + +describe('MisReportsComponent', () => { + let component: MisReportsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ MisReportsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(MisReportsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.ts b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.ts new file mode 100644 index 000000000..a9b250a1f --- /dev/null +++ b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.ts @@ -0,0 +1,273 @@ +import { Component, OnInit, ViewChild, ElementRef } from '@angular/core'; +import { PageEvent, MatTableDataSource, MatPaginator, MatSort } from '@angular/material'; +import { DatePipe } from '@angular/common'; +import { FormGroup, FormBuilder } from '@angular/forms'; +import { SalesPdService } from '../services/sales-pd.service'; +import { Router } from '@angular/router'; +import { NotifierService } from 'angular-notifier'; +import { AngularCsv } from 'angular-csv-ext/dist/Angular-csv'; +import * as XLSX from 'xlsx'; +import { start } from 'repl'; + +@Component({ + selector: 'app-mis-reports', + templateUrl: './mis-reports.component.html', + styleUrls: ['./mis-reports.component.scss'] +}) +export class MisReportsComponent implements OnInit { + @ViewChild('card_c') scroll_table:ElementRef + pageEvent:PageEvent; + pipe = new DatePipe('en-US'); + maxDate: any; + minDate: any; + + api_data:any=[]; + filtered_data:any=[]; + + public Loading: boolean; + + public reportform: FormGroup; + + public dataLength:number=-1; + public pageSize : number; + public dataSource = new MatTableDataSource(); + error:any=[]; + pageNumber:number=10; + pageIndex:number=0 + + displayedColumns = ['serialno', + 'sales_pd_id', + 'sales_pd_sno', + 'applicant_name', + 'officer_name', + 'status', + 'createdon', + 'mail_status' + ]; + expandStatus: boolean=true; + + + + constructor(private salesPDService:SalesPdService,private router:Router,private form_builder:FormBuilder,private notifier:NotifierService) { + this.reportform = this.form_builder.group({ + from_date:[null],to_date:[null],officer_name:[null],lender_id:[null]}); + + } + + ngOnInit(){ + this.maxDate = new Date(); + // this.getMISDailyReport(); + } + + getMISDailyReport() { + let array=[] + this.salesPDService.salesPDMisReport(array).subscribe( + data => { + if(data.dataStatus == true){ + this.api_data = data.records; + this.dataLength = data.records.length; + this.pageSize = data.records.length; + // if(data.records.length >= 1){ + // this.api_data = this.api_data.map((val, i)=>{ + // val['serialno'] = i + 1; + // return val; + // }) + // } + this.dataSource.data = this.api_data; + this.Loading = false; + }else{ + this.dataLength = 0; + // this.Loading = true; + } + }, + error => { + this.error.push(error); + this.dataLength = 0; + this.Loading = false; + }) + } + + @ViewChild(MatPaginator) paginator: MatPaginator; + @ViewChild(MatSort) sort: MatSort; + // @ViewChild('TABLE') table: ElementRef; + @ViewChild('TABLE',{ read: ElementRef }) table: ElementRef; + + @ViewChild('exporter') exp + + // exportAsExcel():void { + + // const ws: XLSX.WorkSheet=XLSX.utils.table_to_sheet(this.table.nativeElement); + // const wb: XLSX.WorkBook = XLSX.utils.book_new(); + // XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); + + // /* save to file */ + // XLSX.writeFile(wb, 'Daily MIS Report.xlsx'); + // } + // exportAsCSV(){ + // console.log(this.exp) + // var options = { + // fieldSeparator: ',', + // quoteStrings: '"', + // decimalseparator: '.', + // showLabels: true, + // showTitle: true, + // title: 'Your title', + // useBom: true, + // noDownload: true, + // headers: this.displayedColumns, + // nullToEmptyString: true, + // }; + // // console.log(this.table.nativeElement) + // new AngularCsv(this.dataSource.data,'sample') + // } + ngAfterViewInit() { + + this.dataSource.paginator = this.paginator; + this.dataSource.sort = this.sort; + } + + /** For Display Tables Filtering */ + applyFilter(filterValue: string) { + filterValue = filterValue.trim(); // Remove whitespace + filterValue = filterValue.toLowerCase(); // Datasource defaults to lowercase matches + this.dataSource.filter = filterValue; + } + pageChange(e) { + console.log(e); + } + searchPanel(){ + this.Loading=true; + this.reportform.value.from_date=this.pipe.transform(this.reportform.value.from_date,'yyyy-MM-dd') + this.reportform.value.to_date=this.pipe.transform(this.reportform.value.to_date,'yyyy-MM-dd') + // OLD API + // this.reportsService.retirveDataForMISDailyReport(this.reportform.value).subscribe(res=>{ + this.salesPDService.salesPDMisReport(this.reportform.value).subscribe(res=>{ + if(res['dataStatus'] == true){ + + this.dataSource.data=res['records']; + this.dataLength=res['records'].length; + setTimeout(()=>{ + console.log(this.exp); + }) + this.expandStatus=false + // const element = document.querySelector('.report-card-container'); + // this.scroll_table.nativeElement.scrollIntoView(true) + setTimeout(()=>{ + this.scroll_table.nativeElement.scrollIntoView({block:"end"}) + console.log("Console",this.scroll_table,this.table,this.exp) + }) + + if(this.dataLength == 0){ + console.log("data length",this.dataLength) + this.notifier.notify('warning', 'No Records Found !'); + this.dataSource.data = []; + this.dataLength=0 + + } + } + else{ + this.notifier.notify('Warning', 'Something Went Wrong'); + this.dataSource.data = []; + this.dataLength=0 + } + this.Loading=false + },error => { + //this.errorMessage.push(error); + this.error.push(error) + this.dataLength=0 + this.Loading = false; + this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!'); + alert(error.html_format); + }); + + } + onReset(){ + // if(this.reportform.value.filter(val=>val.)) + // this.Loading=true + this.reportform.reset(); + this.dataLength = -1; + // this.getMISDailyReport() + // this.expandStatus=false + } + filterForApplicantID(arrayData: any, Values: any) { + Values = Values.toLowerCase(); + if (Values) { + + let Filter: any = []; + + let getAllApplicationIDOnly = arrayData.map(v => v.application_id.replace(/[^A-Za-z0-9]/ig, "").toLowerCase()); + + let searched_filter_array = getAllApplicationIDOnly.filter(val => val.includes(Values)); + + Filter = searched_filter_array.map(x => { + let findIndex = getAllApplicationIDOnly.indexOf(x); + return arrayData[findIndex]; + }); + + return Filter.length > 0 ? Filter : arrayData; + } + else{ + return arrayData; + } + } + + filterForCity(arrayData: any, Values: any) { + Values = Values.toLowerCase(); + if (Values) { + let Filter: any = []; + // console.log("arra",JSON.parse(arrayData),Values); + let getAllCityOnly = arrayData.map(v => v.city.replace(/[^A-Za-z0-9]/ig, "").toLowerCase()); + console.log("getall ",getAllCityOnly) + + let searched_filter_array = getAllCityOnly.filter(val => val.includes(Values)); + + Filter = searched_filter_array.map(x => { + console.log("x",x); + let findIndex = getAllCityOnly.indexOf(x); + return arrayData[findIndex]; + }); + + return Filter.length > 0 ? Filter : arrayData; + } + else{ + return arrayData; + } + } + + filterForBranch(arrayData: any, Values: any) { + Values = Values.toLowerCase(); + if (Values) { + let Filter: any = []; + + let getAllBranchOnly = arrayData.map(v => v.branch.replace(/[^A-Za-z0-9]/ig, "").toLowerCase()); + + let searched_filter_array = getAllBranchOnly.filter(val => val.includes(Values)); + + Filter = searched_filter_array.map(x => { + let findIndex = getAllBranchOnly.indexOf(x); + return arrayData[findIndex]; + }); + + return Filter.length > 0 ? Filter : arrayData; + } + else{ + return arrayData; + } + } + + + // customFilter(array,value,flag){ + // if(flag == 3){ + // var str = array.branch.split("").join("").toLowercase(); + // return str.includes(value)?array:null; + // } + // } + + getDateObjects(values: any) { + + let selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); + this.minDate = new Date(selected_date); + } + + +} diff --git a/ng6-seed/src/app/sales-pd/sales-pd.component.html b/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.html similarity index 90% rename from ng6-seed/src/app/sales-pd/sales-pd.component.html rename to ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.html index e3a1eab83..4af6211e4 100644 --- a/ng6-seed/src/app/sales-pd/sales-pd.component.html +++ b/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.html @@ -1,15 +1,23 @@ -
+ + +
Sales PD List
+
+ + +
- + + close
- - - Sales PD - + + + + \ No newline at end of file diff --git a/ng6-seed/src/app/sales-pd/sales-pd.component.scss b/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.scss similarity index 73% rename from ng6-seed/src/app/sales-pd/sales-pd.component.scss rename to ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.scss index 793673f90..36c05eb5e 100644 --- a/ng6-seed/src/app/sales-pd/sales-pd.component.scss +++ b/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.scss @@ -18,3 +18,10 @@ .toolbar-space { flex: 0.01 0 auto; } +.close_btn_filter{ + color: gainsboro +} +.close_btn_filter:hover{ + color: black; + cursor: pointer; +} diff --git a/ng6-seed/src/app/sales-pd/sales-pd.component.spec.ts b/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.spec.ts similarity index 100% rename from ng6-seed/src/app/sales-pd/sales-pd.component.spec.ts rename to ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.spec.ts diff --git a/ng6-seed/src/app/sales-pd/sales-pd.component.ts b/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.ts similarity index 99% rename from ng6-seed/src/app/sales-pd/sales-pd.component.ts rename to ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.ts index f119b4c25..b5defb4f0 100644 --- a/ng6-seed/src/app/sales-pd/sales-pd.component.ts +++ b/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.ts @@ -11,6 +11,7 @@ import { UserService } from 'app/settings/service/user.service'; export class SalesPdComponent implements OnInit { public dataLengthTab4: number; public dataSourceTab4 = new MatTableDataSource(); + filter_input:string=''; displayedColumns = ['SalesPdId','SalesPdSno','Applicant Name','Short Name','Officer Name','status','Create On','Action']; diff --git a/ng6-seed/src/app/sales-pd/sales-pd-routing.module.ts b/ng6-seed/src/app/sales-pd/sales-pd-routing.module.ts new file mode 100644 index 000000000..65c0b5b9d --- /dev/null +++ b/ng6-seed/src/app/sales-pd/sales-pd-routing.module.ts @@ -0,0 +1,25 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { SalesPdComponent } from './sales-pd-list/sales-pd.component'; +import { MisReportsComponent } from './mis-reports/mis-reports.component'; + +const routes: Routes = [ + { + path:'', + redirectTo:'list-pd', + pathMatch:'full' + }, + { + path:'list-pd', + component:SalesPdComponent + }, + { + path:'reports', + component:MisReportsComponent + }]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class SalesPdRoutingModule { } diff --git a/ng6-seed/src/app/sales-pd/sales-pd.module.spec.ts b/ng6-seed/src/app/sales-pd/sales-pd.module.spec.ts new file mode 100644 index 000000000..2f947628f --- /dev/null +++ b/ng6-seed/src/app/sales-pd/sales-pd.module.spec.ts @@ -0,0 +1,13 @@ +import { SalesPdModule } from './sales-pd.module'; + +describe('SalesPdModule', () => { + let salesPdModule: SalesPdModule; + + beforeEach(() => { + salesPdModule = new SalesPdModule(); + }); + + it('should create an instance', () => { + expect(salesPdModule).toBeTruthy(); + }); +}); diff --git a/ng6-seed/src/app/sales-pd/sales-pd.module.ts b/ng6-seed/src/app/sales-pd/sales-pd.module.ts new file mode 100644 index 000000000..2dad63eaf --- /dev/null +++ b/ng6-seed/src/app/sales-pd/sales-pd.module.ts @@ -0,0 +1,19 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { SalesPdRoutingModule } from './sales-pd-routing.module'; +import { SalesPdComponent } from './sales-pd-list/sales-pd.component'; +import { MaterialModule } from './material_modules/material.module'; +import { MisReportsComponent } from './mis-reports/mis-reports.component'; +import { MAT_DATE_LOCALE } from '@angular/material'; + +@NgModule({ + imports: [ + CommonModule, + SalesPdRoutingModule, + MaterialModule + ], + declarations: [SalesPdComponent, MisReportsComponent], + providers:[{ provide: MAT_DATE_LOCALE, useValue: 'en-GB' }] +}) +export class SalesPdModule { } diff --git a/ng6-seed/src/app/sales-pd/sales-pd.service.ts b/ng6-seed/src/app/sales-pd/sales-pd.service.ts deleted file mode 100644 index 1ea766a1a..000000000 --- a/ng6-seed/src/app/sales-pd/sales-pd.service.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Injectable } from '@angular/core'; - -@Injectable({ - providedIn: 'root' -}) -export class SalesPdService { - - constructor() { } -} diff --git a/ng6-seed/src/app/sales-pd/sales-pd.service.spec.ts b/ng6-seed/src/app/sales-pd/services/sales-pd.service.spec.ts similarity index 100% rename from ng6-seed/src/app/sales-pd/sales-pd.service.spec.ts rename to ng6-seed/src/app/sales-pd/services/sales-pd.service.spec.ts diff --git a/ng6-seed/src/app/sales-pd/services/sales-pd.service.ts b/ng6-seed/src/app/sales-pd/services/sales-pd.service.ts new file mode 100644 index 000000000..a54fa7a8a --- /dev/null +++ b/ng6-seed/src/app/sales-pd/services/sales-pd.service.ts @@ -0,0 +1,22 @@ +import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import {environment} from 'environments/environment' +import { catchError } from 'rxjs/operators'; +import { Observable } from 'rxjs'; + + +const api_url=environment.apiEndpoint +@Injectable({ + providedIn: 'root' +}) + +export class SalesPdService { + + constructor(private _http:HttpClient) { } + + salesPDMisReport(params): Observable{ + return this._http.post(api_url+'salesPDMisReport',params) + } + + +} diff --git a/ng6-seed/src/app/shared/menu-items/horizontal-menu-items.ts b/ng6-seed/src/app/shared/menu-items/horizontal-menu-items.ts index 4dbb1f212..d8a6cc3b8 100755 --- a/ng6-seed/src/app/shared/menu-items/horizontal-menu-items.ts +++ b/ng6-seed/src/app/shared/menu-items/horizontal-menu-items.ts @@ -28,6 +28,16 @@ const HORIZONTALMENUITEMS = [ // type: 'link', // icon: 'home' // }, + { + state:'reports', + name:'MIS Reports', + type:'multi', + icon:'report', + children:[ + {state:'reports',name:'Credit PD'}, + {state:'sales-pd-list/reports',name:'Sales PD'} + ] + }, { state:'setting', name:'Manage', @@ -64,13 +74,15 @@ const HORIZONTALMENUITEMS = [ name:'Sales PD', type:'link', icon:'work', - }, - { - state:'reports', - name:'Reports', - type:'link', - icon:'report', - }, + } + + // { + // state:'reports', + // name:'Reports', + // type:'link', + // icon:'report', + // }, + ]; @Injectable() diff --git a/ng6-seed/src/app/shared/menu-items/menu-items.ts b/ng6-seed/src/app/shared/menu-items/menu-items.ts index 72843ff5c..6f444c110 100755 --- a/ng6-seed/src/app/shared/menu-items/menu-items.ts +++ b/ng6-seed/src/app/shared/menu-items/menu-items.ts @@ -106,11 +106,21 @@ const MENUITEMS : Menu[] = [ type:'link', icon:'work', }, + // { + // state:'reports', + // name:'Reports', + // type:'link', + // icon:'report', + // } { state:'reports', - name:'Reports', - type:'link', + name:'MIS Reports', + type:'multi', icon:'report', + children:[ + {state:'reports',name:'Credit PD'}, + {state:'sales-pd-list/reports',name:'Sales PD'} + ] } ];