diff --git a/src/components/report-popover/report-popover.html b/src/components/report-popover/report-popover.html index ffc48ba..0260ad4 100644 --- a/src/components/report-popover/report-popover.html +++ b/src/components/report-popover/report-popover.html @@ -1,16 +1,25 @@ <!-- Generated template for the ReportPopoverComponent component --> <div> - <ion-list no-lines> - <ion-list-header>Período</ion-list-header> + <ion-list> + <ion-item-divider> + Período + </ion-item-divider> + <ion-item> <ion-label>De</ion-label> <ion-datetime displayFormat="DDD DD/MM/YYYY" pickerFormat="DD MM YYYY" [(ngModel)]="from"></ion-datetime> </ion-item> + <ion-item> <ion-label>Até</ion-label> <ion-datetime displayFormat="DDD DD/MM/YYYY" pickerFormat="DD MM YYYY" [(ngModel)]="to"></ion-datetime> </ion-item> + + <ion-item-divider> + Opções + </ion-item-divider> + <button ion-item (click)="clear()">Limpar filtro</button> - <button ion-item (click)="save()">Salvar</button> + <button ion-item (click)="save()">Aplicar filtro</button> </ion-list> </div> diff --git a/src/pages/reports/detail/reports-detail.ts b/src/pages/reports/detail/reports-detail.ts index 793c316..f095753 100644 --- a/src/pages/reports/detail/reports-detail.ts +++ b/src/pages/reports/detail/reports-detail.ts @@ -48,6 +48,10 @@ export class ReportsDetailPage { categoryName = 'produto'; this.listTitle = 'Lista de pedidos'; break; + case 'customers': + categoryName = 'cliente'; + this.listTitle = 'Lista de pedidos'; + break; default: this.listTitle = 'Listagem'; } @@ -63,7 +67,7 @@ export class ReportsDetailPage { */ presentPopover(myEvent) { let popover = this.popoverCtrl.create(ReportPopoverComponent, {period: this.period}); - popover.present(); + popover.present({ev: myEvent}); popover.onDidDismiss(data => { if (data) { this.updatePeriod([data.from, data.to]); @@ -76,11 +80,15 @@ export class ReportsDetailPage { */ updatePeriod(period) { if (period && period[0] && period[1]) { - this.period = [period[0], period[1]]; + this.period = period = [ + this.toIso(period[0]), + this.toIso(period[1]) + ]; + this.periodTitle = moment(period[0]).format('DD/MM/YYYY') + ' - ' + moment(period[1]).format('DD/MM/YYYY'); - this.apiProvider.builder('reports/' + this.category + '/' + this.id + '/' + period[0] + '/' + period[1]).loader().get() - .subscribe((res) => this.updateListDate(res)); + this.apiProvider.builder('reports/' + this.category + '/' + this.id + '/' + moment(period[0]).format('YYYY-MM-DD') + '/' + moment(period[1]).format('YYYY-MM-DD')) + .loader().get().subscribe((res) => this.updateListDate(res)); } else { this.period = []; this.periodTitle = 'Sempre'; @@ -105,4 +113,12 @@ export class ReportsDetailPage { this.report = res; } + + /** + * @param date + * @returns {string} + */ + toIso(date) { + return new Date(date).toISOString(); + } } diff --git a/src/pages/reports/index/reports.html b/src/pages/reports/index/reports.html index 44e09f3..96003cc 100644 --- a/src/pages/reports/index/reports.html +++ b/src/pages/reports/index/reports.html @@ -11,6 +11,11 @@ </ion-header> <ion-content> + <button ion-button (click)="goToReportView('customers')" full clear icon-left large> + <ion-icon name="people"></ion-icon> + Clientes + </button> + <button ion-button (click)="goToReportView('products')" full clear icon-left large> <ion-icon name="alarm"></ion-icon> Produtos diff --git a/src/pages/reports/view/reports-view.ts b/src/pages/reports/view/reports-view.ts index 2ad247c..5693489 100644 --- a/src/pages/reports/view/reports-view.ts +++ b/src/pages/reports/view/reports-view.ts @@ -42,6 +42,9 @@ export class ReportsViewPage { case 'products': categoryName = 'produtos'; break; + case 'customers': + categoryName = 'clientes'; + break; } this.pageTitle = 'Relatório de ' + categoryName; @@ -63,7 +66,7 @@ export class ReportsViewPage { */ presentPopover(myEvent) { let popover = this.popoverCtrl.create(ReportPopoverComponent, {period: this.period}); - popover.present(); + popover.present({ev: myEvent}); popover.onDidDismiss(data => { if (data) { this.updatePeriod([data.from, data.to]); @@ -76,11 +79,16 @@ export class ReportsViewPage { */ updatePeriod(period) { if (period && period[0] && period[1]) { - this.period = [period[0], period[1]]; + this.period = period = [ + this.toIso(period[0]), + this.toIso(period[1]) + ]; + this.periodTitle = moment(period[0]).format('DD/MM/YYYY') + ' - ' + moment(period[1]).format('DD/MM/YYYY'); - this.apiProvider.builder('reports/' + this.category + '/' + period[0] + '/' + period[1]).loader().get() - .subscribe((res) => { + this.apiProvider + .builder('reports/' + this.category + '/' + moment(period[0]).format('YYYY-MM-DD') + '/' + moment(period[1]).format('YYYY-MM-DD')) + .loader().get().subscribe((res) => { this.reports = res; this.loaded = true; }); @@ -95,4 +103,12 @@ export class ReportsViewPage { }); } } + + /** + * @param date + * @returns {string} + */ + toIso(date) { + return new Date(date).toISOString(); + } }