diff --git a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts index 5a365db97..f5ee17a0b 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts +++ b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts @@ -1,4 +1,11 @@ import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { MenuController, ModalController, PopoverController } from '@ionic/angular'; +import { EmendMessageModalPage } from 'src/app/pages/agenda/emend-message-modal/emend-message-modal.page'; +import { EventActionsPopoverPage } from 'src/app/pages/agenda/event-actions-popover/event-actions-popover.page'; +import { AlertService } from 'src/app/services/alert.service'; +import { AttachmentsService } from 'src/app/services/attachments.service'; +import { ProcessesService } from 'src/app/services/processes.service'; @Component({ selector: 'app-approve-event', @@ -6,10 +13,139 @@ import { Component, OnInit } from '@angular/core'; styleUrls: ['./approve-event.page.scss'], }) export class ApproveEventPage implements OnInit { + event: Event; + loadedEvent: any; + loadedAttachments: any; + serialNumber: string; + customDate: any; + today: any; - constructor() { } + months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]; + days = ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"]; + + + constructor( + private router: Router, + private modalController: ModalController, + private processes: ProcessesService, + private attachmentsService: AttachmentsService, + private popoverController: PopoverController, + private menu: MenuController, + private alertService: AlertService, + private activatedRoute: ActivatedRoute, + ) { + this.activatedRoute.paramMap.subscribe(paramMap => + { + if (!paramMap.has("serialNumber")){ + return; + } + else{ + this.serialNumber = paramMap.get('serialNumber'); + console.log(this.serialNumber); + + } + }); + this.loadedEvent = null; + } ngOnInit() { + console.log(this.serialNumber); + + this.getTask(); + this.getAttachments(); + } + + notImplemented() { + this.alertService.presentAlert('Funcionalidade em desenvolvimento'); + } + + close() { + this.router.navigate(['/home/gabinete-digital/event-list']); + } + + getTask() { + this.processes.GetTask(this.serialNumber).subscribe(res => { + console.log(res); + this.loadedEvent = res; + this.today = new Date(res.workflowInstanceDataFields.StartDate); + console.log(new Date(this.today)); + this.customDate = this.days[this.today.getDay()] + ", " + this.today.getDate() + " de " + (this.months[this.today.getMonth()]); + + }) + } + approveTask(serialNumber: string) { + let body = { "serialNumber": serialNumber, "action": "Aprovar" } + console.log(body); + this.processes.PostTaskAction(body); + this.alertService.presentAlert('Operação realizada com sucesso!'); + this.router.navigate(['/home/gabinete-digital/event-list']); + } + + emendTask(serialNumber: string) { + /* console.log('Emendar'); */ + this.menu.close(); + this.openEmendMessageModal(serialNumber); + this.close(); + } + + rejectTask(serialNumber: string) { + + let body = { "serialNumber": serialNumber, "action": "Rejeitar" } + console.log(body); + this.processes.PostTaskAction(body); + this.alertService.presentAlert('Operação realizada com sucesso!'); + this.router.navigate(['/home/gabinete-digital/event-list']) + this.close(); + } + getAttachments() { + this.attachmentsService.getAttachmentsBySerial(this.serialNumber).subscribe(res => { + this.loadedAttachments = res; + console.log(res); + }); + } + + async openOptions(ev: any) { + const popover = await this.popoverController.create({ + component: EventActionsPopoverPage, + cssClass: 'event-actions-popover', + event: ev, + translucent: true + }); + return await popover.present(); + } + openMenu() { + this.menu.open(); + } + async openEmendMessageModal(serialNumber: string) { + const modal = await this.modalController.create({ + component: EmendMessageModalPage, + componentProps: { + + }, + cssClass: 'emend-message-modal', + backdropDismiss: false + }); + + await modal.present(); + + modal.onDidDismiss().then(res => { + if (res.data !== '') { + let body = { + "serialNumber": serialNumber, + "action": "Emendar", + "dataFields": { + "ReviewerComments": res.data, + } + } + console.log(body); + this.processes.PostTaskAction(body); + this.router.navigate(['/home/gabinete-digital/event-list']) + this.alertService.presentAlert('Operação realizada com sucesso!'); + } + else { + this.alertService.presentAlert('Operação cancelada!'); + } + }); } }