diff --git a/src/app/config/auth-constants.ts b/src/app/config/auth-constants.ts index bb1fef4ae..4cee9ccc0 100644 --- a/src/app/config/auth-constants.ts +++ b/src/app/config/auth-constants.ts @@ -1,5 +1,6 @@ /* This file stores all the keys */ export class AuthConnstants{ /* My reference key */ - public static readonly AUTH = 'userDataKey' + public static readonly AUTH = 'userDataKey'; + public static readonly PROFILE = 'profile'; } \ No newline at end of file diff --git a/src/app/home/home-routing.module.ts b/src/app/home/home-routing.module.ts index 114a9bb7f..0ba9e0a22 100644 --- a/src/app/home/home-routing.module.ts +++ b/src/app/home/home-routing.module.ts @@ -96,7 +96,7 @@ const routes: Routes = [ path:'event-list', children: [ { - path:'', + path:':profile', loadChildren: ()=> import('../pages/gabinete-digital/event-list/event-list.module').then(m => m.EventListPageModule) }, ] diff --git a/src/app/home/home.page.html b/src/app/home/home.page.html index ebc7028f6..c659ac7a5 100644 --- a/src/app/home/home.page.html +++ b/src/app/home/home.page.html @@ -19,10 +19,10 @@ Pesquisa --> - + diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index 039db1710..b335c523f 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -119,6 +119,7 @@ export class AgendaPage implements OnInit { component: CalModalPage, componentProps:{ segment: this.segment, + profile: this.profile, eventSelectedDate: this.eventSelectedDate, }, cssClass: 'cal-modal', @@ -147,7 +148,6 @@ export class AgendaPage implements OnInit { async loadRangeEvents(startTime: Date, endTime: Date){ this.showLoader = true; - switch (this.segment) { case "Combinada": @@ -210,7 +210,8 @@ export class AgendaPage implements OnInit { this.myCal.loadEvents(); this.showLoader = false; }); - }else{ + } + else{ this.eventService.getAllPrEvents(formatDate(startTime, 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(endTime, 'yyyy-MM-dd HH:mm:ss', 'pt')).subscribe(response => { this.eventsListPessoal = response.filter(data => data.CalendarName == "Pessoal");; this.eventsListPessoal.forEach(element => { @@ -227,9 +228,8 @@ export class AgendaPage implements OnInit { this.showLoader = false; }); } - break; - + case "Oficial": //Inicializa o array eventSource this.eventSource=[]; @@ -266,14 +266,12 @@ export class AgendaPage implements OnInit { this.showLoader = false; }); } - break; } } doRefresh(ev: any){ this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); - setTimeout(() => { ev.target.complete(); }, 250); diff --git a/src/app/pages/cal-modal/cal-modal.page.ts b/src/app/pages/cal-modal/cal-modal.page.ts index 54a2d2b40..155cda309 100644 --- a/src/app/pages/cal-modal/cal-modal.page.ts +++ b/src/app/pages/cal-modal/cal-modal.page.ts @@ -10,6 +10,7 @@ import { AttendeeModalPage } from '../events/attendee-modal/attendee-modal.page' import { EventPerson } from 'src/app/models/eventperson.model'; import { AlertService } from 'src/app/services/alert.service'; import { FormGroup, FormBuilder, Validators } from "@angular/forms"; +import { identifierModuleUrl } from '@angular/compiler'; @Component({ selector: 'app-cal-modal', @@ -43,15 +44,20 @@ export class CalModalPage implements OnInit { formLocationSatus: boolean = false; formEventTypeSatus: boolean = false; + profile:string; + constructor(public formBuilder: FormBuilder, private modalCtrl: ModalController, private eventService: EventsService, private alertController:AlertService, private navParams: NavParams) { this.postEvent = new Event(); this.eventBody = { BodyType : "1", Text : ""}; this.postEvent.Body = this.eventBody; + this.profile = this.navParams.get('profile'); } ngOnInit() { + + this.selectedSegment = this.navParams.get('segment'); this.selectedDate = this.navParams.get('eventSelectedDate'); @@ -127,9 +133,14 @@ export class CalModalPage implements OnInit { } save(){ - if (this.ionicForm.valid) - { - this.eventService.postEvent(this.postEvent, this.postEvent.CalendarName, "md").subscribe(); + if (this.ionicForm.valid) { + if(this.profile=='mdgpr'){ + this.eventService.postEventMd(this.postEvent, this.postEvent.CalendarName).subscribe(); + + } + else if(this.profile=='pr'){ + this.eventService.postEventPr(this.postEvent, this.postEvent.CalendarName).subscribe(); + } this.modalCtrl.dismiss(this.postEvent); } else{ diff --git a/src/app/pages/events/event-detail-modal/event-detail-modal-routing.module.ts b/src/app/pages/events/event-detail-modal/event-detail-modal-routing.module.ts new file mode 100644 index 000000000..bebfe4ea1 --- /dev/null +++ b/src/app/pages/events/event-detail-modal/event-detail-modal-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { EventDetailModalPage } from './event-detail-modal.page'; + +const routes: Routes = [ + { + path: '', + component: EventDetailModalPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class EventDetailModalPageRoutingModule {} diff --git a/src/app/pages/events/event-detail-modal/event-detail-modal.module.ts b/src/app/pages/events/event-detail-modal/event-detail-modal.module.ts new file mode 100644 index 000000000..5472c8c36 --- /dev/null +++ b/src/app/pages/events/event-detail-modal/event-detail-modal.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { EventDetailModalPageRoutingModule } from './event-detail-modal-routing.module'; + +import { EventDetailModalPage } from './event-detail-modal.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + EventDetailModalPageRoutingModule + ], + declarations: [EventDetailModalPage] +}) +export class EventDetailModalPageModule {} diff --git a/src/app/pages/events/event-detail-modal/event-detail-modal.page.html b/src/app/pages/events/event-detail-modal/event-detail-modal.page.html new file mode 100644 index 000000000..52d1c6b52 --- /dev/null +++ b/src/app/pages/events/event-detail-modal/event-detail-modal.page.html @@ -0,0 +1,215 @@ + + + + + + Visualizar Evento + + + + + + + +
+ + +
+ + Assunto + + + + + Campo obrigatório + +
+ + Descrição + + + + Localização + + + + Calendário + + Pessoal + Oficial + + + + Tipo do evento + + Reunião + Viagem + Conferência + Encontro + + + + Data Início + + + + Data Fim + + + +
+ + + Editar + + Participantes + +
+
+
+ + + + {{attendee.Name}} + + +
+ +
+
+ + Ver mais... + +
+
+
+
+ + + Editar + + Anexos + +
+
+
+ + + + + +

{{ att.Description }}

+

{{ att.CreateDate }}

+
+
+
+
+
+
+ + Ver mais... + +
+
+ + + + + +

+

+
+
+
+ + + + + Sem anexos + + + +
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + +

+ +

+

+ +

+

+ +

+
+
+ + + + + +

+ +

+

+ +

+

+ +

+
+
+ + + +

+ +

+

+ +

+

+ +

+
+
+
+
+ +
+ + +
+ Gravar +
+
+
+ diff --git a/src/app/pages/events/event-detail-modal/event-detail-modal.page.scss b/src/app/pages/events/event-detail-modal/event-detail-modal.page.scss new file mode 100644 index 000000000..b94403c90 --- /dev/null +++ b/src/app/pages/events/event-detail-modal/event-detail-modal.page.scss @@ -0,0 +1,95 @@ +ion-item-group{ + margin: 15px; +} +.div-item{ + width: 100%; + overflow: auto; + border-bottom: 1px solid #ccc; + margin: 10px 0 5px 0; +} +.div-up{ + width: 100%; + overflow: auto; +} +.div-up h3{ + margin: 0; + padding: 0; + font-size: 17px; + width: 100%; +} +.div-icon{ + width: 10%; + font-size: 22px; + float: left; + color: #808080; +} +.div-icon ion-icon{ + display: block; + margin: 0 auto; + +} +.div-content-attachment{ + width: 85%; + float: left; + padding: 0 0 0 12px; +} +.ion-icon-attach{ + color: #666666; + font-size: 20px; +} + +.btn-attach{ + margin: 15px 0 0 0; + --color: #333; + --border-color:#333; +} +.div-card-button{ + width: 100%; + overflow: auto; + padding: 0 !important; +} +ion-card{ + margin: 2.5% !important; + width: 45%; + float: left; +} +.center{ + text-align: center; + float: center; +} + +/* FFOTER */ +.event-detail-buttons{ + width: 90%; + margin: 10px auto; +} +.event-detail-buttons ion-button{ + width: 90%; + margin: 0 auto; + display: block; + margin-bottom: 25px; +} +.ion-icon-delete{ + font-size: 22px; + color: red; + background-color: white; + padding-right: 5px; +} +.error{ + color:red; + font-size: 12px; + font-weight: bold; + padding-bottom: 20px; +} +/* .event-detail-buttons{ + margin-bottom: 80px; + margin-top: 10px; +} */ +.attendees-icon{ + font-size: 14px; +} +.see-more-button{ + text-transform: initial; + font-size: 16px; +} + diff --git a/src/app/pages/events/event-detail-modal/event-detail-modal.page.spec.ts b/src/app/pages/events/event-detail-modal/event-detail-modal.page.spec.ts new file mode 100644 index 000000000..76c8032a4 --- /dev/null +++ b/src/app/pages/events/event-detail-modal/event-detail-modal.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { EventDetailModalPage } from './event-detail-modal.page'; + +describe('EventDetailModalPage', () => { + let component: EventDetailModalPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ EventDetailModalPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(EventDetailModalPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/events/event-detail-modal/event-detail-modal.page.ts b/src/app/pages/events/event-detail-modal/event-detail-modal.page.ts new file mode 100644 index 000000000..5570b2c68 --- /dev/null +++ b/src/app/pages/events/event-detail-modal/event-detail-modal.page.ts @@ -0,0 +1,227 @@ +import { Component, OnInit } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { ActivatedRoute, Router } from '@angular/router'; +import { AlertController, ModalController, NavParams } from '@ionic/angular'; +import { Attachment } from 'src/app/models/attachment.model'; +import { Event } from 'src/app/models/event.model'; +import { EventBody } from 'src/app/models/eventbody.model'; +import { EventPerson } from 'src/app/models/eventperson.model'; +import { AlertService } from 'src/app/services/alert.service'; +import { AttachmentsService } from 'src/app/services/attachments.service'; +import { EventsService } from 'src/app/services/events.service'; +import { AttachmentsPage } from '../attachments/attachments.page'; +import { AttendeesPage } from '../attendees/attendees.page'; + +@Component({ + selector: 'app-event-detail-modal', + templateUrl: './event-detail-modal.page.html', + styleUrls: ['./event-detail-modal.page.scss'], +}) +export class EventDetailModalPage implements OnInit { + + loadedEvent: Event; + loadedEventAttachments: Attachment[]; + pageId: string; + showLoader: boolean; + backURL: string; + ionicForm: FormGroup; + isSubmitted = false; + + minDate: Date; + + profile:string; + + constructor( + public formBuilder: FormBuilder, + public alertController: AlertController, + private router: Router, + private activatedRoute: ActivatedRoute, + private eventsService: EventsService, + private modalCtrl: ModalController, + private alertService: AlertService, + private attachamentsService: AttachmentsService, + private route: Router, + private iab: InAppBrowser) { + this.loadedEvent = new Event(); + this.loadedEvent.Body = new EventBody(); + } + ngOnInit() { + this.loadEvent(); + this.loadAttachments(); + this.ionicForm = this.formBuilder.group({ + subject: ['', [Validators.required]] + }) + } + + get errorControl() { + return this.ionicForm.controls; + } + + loadEvent(){ + let eventid: string; + this.activatedRoute.paramMap.subscribe(paramMap => + { + if (!paramMap.has("eventId")){ + return; + } + else{ + this.pageId = paramMap.get('eventId'); + eventid = paramMap.get('eventId'); + console.log(eventid); + + } + if (paramMap.has("caller")){ + this.backURL = "/home/" + paramMap.get('caller'); + } + } + ); + this.eventsService.getEvent(eventid).subscribe(response => { + this.loadedEvent = response; + }); + } + + async openAttendees(){ + const modal = await this.modalCtrl.create({ + component: AttendeesPage, + componentProps: { + eventAttendees: this.loadedEvent.Attendees + }, + cssClass: 'attendee', + backdropDismiss: false + }); + + await modal.present(); + + modal.onDidDismiss().then((data) => { + if (data['data'] != null) + { + let newattendees: EventPerson[] = data['data']; + this.loadedEvent.Attendees = newattendees; + } + }); +} + + getEventAttendees(): EventPerson[] + { + return this.loadedEvent.Attendees; + } + + setEventAttendees(newattendes: EventPerson[]) + { + this.loadedEvent.Attendees = newattendes; + } + + async deleteConfirm() + { + const alert = await this.alertController.create({ + cssClass: 'my-custom-class', + header: 'Apagar evento!', + message: 'Deseja apagar o evento da agenda ' + this.loadedEvent.CalendarName + '?', + buttons: [ + { + text: 'Não', + role: 'cancel', + cssClass: 'secondary', + handler: () => { } + }, { + text: 'Sim', + handler: () => { + this.Delete(); + } + } + ] + }); + + await alert.present(); + } + + Delete() + { + this.eventsService.deleteEvent(this.loadedEvent.EventId, 0).subscribe(async () => + { + const alert = await this.alertController.create({ + cssClass: 'my-custom-class', + header: 'Evento removido', + buttons: ['OK'] + }); + + await alert.present(); + + this.router.navigate(['/home/events']); + }); + } + + Save() + { + if (this.ionicForm.valid) + { + + this.eventsService.putEvent(this.loadedEvent, 2, 3, "md").subscribe(async () => + { + const alert = await this.alertController.create({ + cssClass: 'my-custom-class', + header: 'Evento actualizado', + buttons: ['OK'] + }); + + await alert.present(); + }); + } + } + + showAlert(){ + this.alertService.presentAlert("Funcionalidade em desenvolvimento"); + } + + loadAttachments() + { + /* this.attachamentsService.getEventAttachments(this.pageId).subscribe(attachments => { + this.loadedEventAttachments = attachments; + }); */ + } + async viewDocument(documenturl:string) + { + const url: string = documenturl.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1"); + /* const browser = this.iab.create(url,"_blank"); + browser.show(); */ + } + + back() + { + //this.back(); + } + doRefresh(event){ + /* this.RefreshEvents(); */ + event.target.complete(); + setTimeout(() => { + event.target.complete(); + }, 2000); + + } + navigateTo(ev){ + this.route.navigate(['/home/events',ev]); + } + async openAttachments(){ + const modal = await this.modalCtrl.create({ + component: AttachmentsPage, + componentProps: { + eventId: this.pageId, + attachments: this.loadedEventAttachments + }, + cssClass: 'attachments', + backdropDismiss: false + }); + + await modal.present(); + + modal.onDidDismiss().then((data) => { + if (data['data'] != null) + { + let newattendees: EventPerson[] = data['data']; + this.loadedEvent.Attendees = newattendees; + } + }); + + } + +} diff --git a/src/app/pages/events/event-detail/event-detail.page.html b/src/app/pages/events/event-detail/event-detail.page.html index 52d1c6b52..566da7929 100644 --- a/src/app/pages/events/event-detail/event-detail.page.html +++ b/src/app/pages/events/event-detail/event-detail.page.html @@ -19,7 +19,7 @@
Assunto - + diff --git a/src/app/pages/events/event-detail/event-detail.page.ts b/src/app/pages/events/event-detail/event-detail.page.ts index 8adf4c9dc..54ac057e5 100644 --- a/src/app/pages/events/event-detail/event-detail.page.ts +++ b/src/app/pages/events/event-detail/event-detail.page.ts @@ -32,8 +32,11 @@ export class EventDetailPage implements OnInit { minDate: Date; + profile:string; - constructor(public formBuilder: FormBuilder, + + constructor( + public formBuilder: FormBuilder, public alertController: AlertController, private router: Router, private activatedRoute: ActivatedRoute, @@ -155,9 +158,16 @@ export class EventDetailPage implements OnInit { Save() { - if (this.ionicForm.valid) - { - this.eventsService.putEvent(this.loadedEvent, 2, 3, "md").subscribe(async () => + if (this.ionicForm.valid){ + + this.activatedRoute.paramMap.subscribe(paramMap =>{ + if (paramMap.has("profile")){ + console.log(paramMap.get('profile')); + + } + }); + + this.eventsService.editEvent(this.loadedEvent, 2, 3).subscribe(async () => { const alert = await this.alertController.create({ cssClass: 'my-custom-class', @@ -176,9 +186,11 @@ export class EventDetailPage implements OnInit { loadAttachments() { - /* this.attachamentsService.getEventAttachments(this.pageId).subscribe(attachments => { + console.log(this.pageId); + + this.attachamentsService.getEventAttachments(this.pageId).subscribe(attachments => { this.loadedEventAttachments = attachments; - }); */ + }); } async viewDocument(documenturl:string) { diff --git a/src/app/pages/events/events-routing.module.ts b/src/app/pages/events/events-routing.module.ts index a102b735b..64b25a029 100644 --- a/src/app/pages/events/events-routing.module.ts +++ b/src/app/pages/events/events-routing.module.ts @@ -1,33 +1,37 @@ -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; - -import { EventsPage } from './events.page'; - -const routes: Routes = [ - { - path: '', - component: EventsPage - }, - { - path: 'event-detail', - loadChildren: () => import('./event-detail/event-detail.module').then( m => m.EventDetailPageModule) - }, - { - path: 'attachments', - loadChildren: () => import('./attachments/attachments.module').then( m => m.AttachmentsPageModule) - }, - { - path: 'attendees', - loadChildren: () => import('./attendees/attendees.module').then( m => m.AttendeesPageModule) - }, - { - path: 'attendee-modal', - loadChildren: () => import('./attendee-modal/attendee-modal.module').then( m => m.AttendeeModalPageModule) +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { EventsPage } from './events.page'; + +const routes: Routes = [ + { + path: '', + component: EventsPage + }, + { + path: 'event-detail', + loadChildren: () => import('./event-detail/event-detail.module').then( m => m.EventDetailPageModule) + }, + { + path: 'attachments', + loadChildren: () => import('./attachments/attachments.module').then( m => m.AttachmentsPageModule) + }, + { + path: 'attendees', + loadChildren: () => import('./attendees/attendees.module').then( m => m.AttendeesPageModule) + }, + { + path: 'attendee-modal', + loadChildren: () => import('./attendee-modal/attendee-modal.module').then( m => m.AttendeeModalPageModule) + }, { + path: 'event-detail-modal', + loadChildren: () => import('./event-detail-modal/event-detail-modal.module').then( m => m.EventDetailModalPageModule) } -]; -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule], -}) -export class EventsPageRoutingModule {} +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class EventsPageRoutingModule {} diff --git a/src/app/pages/events/events.page.html b/src/app/pages/events/events.page.html index 48553187f..3ac14fedf 100644 --- a/src/app/pages/events/events.page.html +++ b/src/app/pages/events/events.page.html @@ -97,7 +97,7 @@ -
diff --git a/src/app/pages/events/events.page.ts b/src/app/pages/events/events.page.ts index 7f62c5607..70921673c 100644 --- a/src/app/pages/events/events.page.ts +++ b/src/app/pages/events/events.page.ts @@ -7,6 +7,11 @@ import { ActivatedRoute, NavigationEnd } from '@angular/router'; import { formatDate } from '@angular/common'; import { AlertService } from 'src/app/services/alert.service'; import { AuthService } from 'src/app/services/auth.service'; +import { StorageService } from 'src/app/services/storage.service'; +import { AuthConnstants } from 'src/app/config/auth-constants'; +import { ModalController } from '@ionic/angular'; +import { EventDetailPage } from './event-detail/event-detail.page'; +import { EventDetailModalPage } from './event-detail-modal/event-detail-modal.page'; @Component({ selector: 'app-events', @@ -46,8 +51,10 @@ export class EventsPage implements OnInit { constructor(private eventService: EventsService, private router: Router, + private storageService:StorageService, public activatedRoute: ActivatedRoute, private alertController: AlertService, + private modalController: ModalController, private authService: AuthService) { this.prEventList = null; } @@ -57,6 +64,8 @@ export class EventsPage implements OnInit { this.segment = "Combinada"; //Initialize profile as mdgpr this.profile = "mdgpr"; + console.log(this.profile); + this.showGreeting(); @@ -65,6 +74,10 @@ export class EventsPage implements OnInit { this.RefreshEvents(); } }); + /* this.storageService.get(AuthConnstants.PROFILE).then(res=>{ + this.profile = res; + }); */ + } @@ -93,7 +106,6 @@ export class EventsPage implements OnInit { this.eventsList = res; console.log(this.eventsList); this.showLoader = false; - }); } @@ -163,5 +175,31 @@ export class EventsPage implements OnInit { this.router.navigate(['/home/login']); } + async openEventDetail1(id:any){ + console.log(id); + + const modal = await this.modalController.create({ + component: EventDetailPage, + componentProps: { + eventId: id, + }, + cssClass: 'event-detail', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss(); + + } + async openEventDetail(id:any) { + const modal = await this.modalController.create({ + component: EventDetailModalPage, + componentProps: { + eventId: id, + }, + cssClass: 'my-custom-class' + }); + return await modal.present(); + } + } diff --git a/src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page.ts b/src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page.ts index 2798fe715..089f8d110 100644 --- a/src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page.ts +++ b/src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page.ts @@ -20,10 +20,15 @@ export class DiscartExpedientModalPage implements OnInit { } ngOnInit() { + console.log(this.serialNumber); + } close(){ this.modalController.dismiss(); } + /* notDelete(){ + + } */ save(){ let body = { "serialNumber": this.serialNumber, "action": "Task Completed" } console.log(body); diff --git a/src/app/pages/gabinete-digital/event-list/event-list.page.html b/src/app/pages/gabinete-digital/event-list/event-list.page.html index 39b896b5d..b8eb30bcc 100644 --- a/src/app/pages/gabinete-digital/event-list/event-list.page.html +++ b/src/app/pages/gabinete-digital/event-list/event-list.page.html @@ -1,10 +1,19 @@ - - + +
+
+ +
+
+ +
+ + @@ -15,6 +24,7 @@ +
diff --git a/src/app/pages/gabinete-digital/event-list/event-list.page.scss b/src/app/pages/gabinete-digital/event-list/event-list.page.scss index b611fab86..f36fe4665 100644 --- a/src/app/pages/gabinete-digital/event-list/event-list.page.scss +++ b/src/app/pages/gabinete-digital/event-list/event-list.page.scss @@ -1,3 +1,24 @@ +.header-content{ + width: 360px; + overflow: auto; + margin: 0 auto; + padding-top: 25px; +} +.header-icon-left{ + width: 36px; + font-size: 33px; + color: #42b9fe; + float: left; +} +.header-title{ + width: 300px; + font-family: Roboto; + font-size: 25px; + margin: 0 5px 0 5px; + padding: 0; + color:#000; + float: left; +} ion-item-sliding{ margin-top: 5px; } diff --git a/src/app/pages/gabinete-digital/event-list/event-list.page.ts b/src/app/pages/gabinete-digital/event-list/event-list.page.ts index 3066515fc..3db5bc439 100644 --- a/src/app/pages/gabinete-digital/event-list/event-list.page.ts +++ b/src/app/pages/gabinete-digital/event-list/event-list.page.ts @@ -3,7 +3,7 @@ import { EventBody } from 'src/app/models/eventbody.model'; import { EventPerson } from 'src/app/models/eventperson.model'; import { Event } from 'src/app/models/event.model'; import { ProcessesService } from 'src/app/services/processes.service'; -import { ModalController } from '@ionic/angular'; +import { ModalController, NavParams } from '@ionic/angular'; import { ApproveEventModalPage } from '../../agenda/approve-event-modal/approve-event-modal.page'; import { NavigationEnd, Router } from '@angular/router'; @@ -27,10 +27,16 @@ export class EventListPage implements OnInit { private processes:ProcessesService, private modalController: ModalController, private router: Router, + private navParams: NavParams, ) { } - +S ngOnInit() { - this.segment = "MDGPR"; + this.segment = this.navParams.get('segment'); + /* console.log(this.navParams.get('md')); */ + console.log(this.segment); + this.LoadToApproveEvents(); + + this.router.events.forEach((event) => { if(event instanceof NavigationEnd && event.url == this.router.url) { this.LoadToApproveEvents(); @@ -71,6 +77,9 @@ export class EventListPage implements OnInit { event.target.complete(); }, 2000); } + close(){ + this.modalController.dismiss(null); + } } diff --git a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts index 23e2250c1..add8cbbe0 100644 --- a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts @@ -11,6 +11,7 @@ import { StorageService } from 'src/app/services/storage.service'; import { AddParticipantsCcModalPage } from '../add-participants-cc-modal/add-participants-cc-modal.page'; import { AddParticipantsModalPage } from '../add-participants-modal/add-participants-modal.page'; import { environment } from 'src/environments/environment'; +import { DiscartExpedientModalPage } from '../../discart-expedient-modal/discart-expedient-modal.page'; @Component({ selector: 'app-expedient-task-modal', @@ -66,13 +67,14 @@ export class ExpedientTaskModalPage implements OnInit { } ngOnInit() { - - this.task = this.navParams.get('task'); this.taskDate = new Date(this.task.taskStartDate); /* this.authService.userData$.subscribe((res:any)=>{ console.log(res); }); console.log(this.user); */ + console.log(this.task) + console.log(this.task.serialNumber); + } close(){ @@ -98,6 +100,7 @@ export class ExpedientTaskModalPage implements OnInit { } console.log(this.postData); this.processes.postDespatcho(this.postData); + break; case '1': this.postData = { @@ -122,8 +125,8 @@ export class ExpedientTaskModalPage implements OnInit { this.processes.postDeferimento(this.postData); break; } - this.router.navigate(['/home/gabinete-digital/expediente']); - this.modalController.dismiss(null); + this.distartExpedientModal(); + this.close(); } async addParticipants(){ @@ -135,14 +138,10 @@ export class ExpedientTaskModalPage implements OnInit { cssClass: 'add-participants-modal', backdropDismiss: false }); - await modal.present(); - modal.onDidDismiss().then((res) => { this.taskParticipants = res.data; - let newattendees: EventPerson[] = res['data']; - if(newattendees!= null){ newattendees.forEach(newattendee => { let att = { @@ -159,6 +158,7 @@ export class ExpedientTaskModalPage implements OnInit { console.log(this.postData); }); } + async addParticipantsCc(){ const modal = await this.modalController.create({ component: AddParticipantsCcModalPage, @@ -168,14 +168,10 @@ export class ExpedientTaskModalPage implements OnInit { cssClass: 'add-participants-cc-modal', backdropDismiss: false }); - await modal.present(); - modal.onDidDismiss().then((res) => { this.taskParticipantsCc = res.data; - let newattendees: EventPerson[] = res['data']; - if(newattendees!= null){ newattendees.forEach(newattendee => { let att = { @@ -193,4 +189,18 @@ export class ExpedientTaskModalPage implements OnInit { }); } + async distartExpedientModal(){ + const modal = await this.modalController.create({ + component: DiscartExpedientModalPage, + componentProps: { + serialNumber: this.task.serialNumber, + }, + cssClass: 'discart-expedient-modal', + backdropDismiss: false + }); + + await modal.present(); + modal.onDidDismiss(); + } + } diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.html b/src/app/pages/gabinete-digital/gabinete-digital.page.html index 079564fa9..45c5a4610 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.html +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.html @@ -14,11 +14,11 @@ Eventos para Aprovação - + Minha agenda {{count_ev_md}} - + Agenda do Presidente {{count_ev_pr}} diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.ts b/src/app/pages/gabinete-digital/gabinete-digital.page.ts index 1e96e6a2f..941ebfc0c 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.ts +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.ts @@ -1,6 +1,9 @@ import { Component, OnInit } from '@angular/core'; import { ProcessesService } from 'src/app/services/processes.service'; import { AlertService } from 'src/app/services/alert.service'; +import { EventsService } from 'src/app/services/events.service'; +import { ModalController } from '@ionic/angular'; +import { EventListPage } from './event-list/event-list.page'; @Component({ selector: 'app-gabinete-digital', @@ -12,7 +15,11 @@ export class GabineteDigitalPage implements OnInit { segment:string; showLoader: boolean; - constructor(private processesbackend:ProcessesService, private alertService: AlertService) { } + constructor( + private processesbackend:ProcessesService, + private modalController: ModalController, + private eventService: EventsService, + private alertService: AlertService) { } count_exp_dailywork : number; count_exp_pp : string; @@ -25,6 +32,12 @@ export class GabineteDigitalPage implements OnInit { ngOnInit() { this.LoadCounts(); + /* this.eventService.getAllMdEvents.subscribe(res=>{ + console.log(res); + + }); + console.log(this.eventService.getAllPrEvents.length); + */ } LoadCounts() { @@ -47,8 +60,6 @@ export class GabineteDigitalPage implements OnInit { this.count_de_pr = "-"; this.count_ev_md='-'; - - } doRefresh(event) { @@ -63,5 +74,18 @@ export class GabineteDigitalPage implements OnInit { { this.alertService.presentAlert('Funcionalidade em desenvolvimento'); } + + async openEventsToApproveList(segment:any){ + const modal = await this.modalController.create({ + component: EventListPage, + componentProps:{ + segment: segment, + }, + cssClass: 'expedient-task-modal', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss(); + } } diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index d1fa5dde0..26f43ebcb 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -34,7 +34,7 @@ export class LoginPage implements OnInit { ngOnInit() { } - /* Function to validade the login inputs */ + //Function to validade the login inputs validateInput(){ return ( this.username.trim().length > 0 @@ -60,7 +60,7 @@ export class LoginPage implements OnInit { if(res.data){ this.storageService.store(AuthConnstants.AUTH, res.data); console.log('Log RockectChat OK'); - /* console.log(res.data); */ + //console.log(res.data); } else{ @@ -79,6 +79,7 @@ export class LoginPage implements OnInit { async Login(){ try { //Go to our home in home/feed. + //this.router.navigate(['/home/events']); if(this.validateInput()){ this.userattempt = { username: this.username, @@ -86,20 +87,19 @@ export class LoginPage implements OnInit { domainName: environment.domain, BasicAuthKey: "" } - if (await this.authService.login(this.userattempt)) - { + if (await this.authService.login(this.userattempt)){ this.loginAction(); console.log('Log Gabinete Digital OK'); this.router.navigate(['/home/events']); } else { - /* this.toastService.presentToast('Não foi possível fazer login"'); */ + //this.toastService.presentToast('Não foi possível fazer login"'); this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.'); } } else{ - /* this.toastService.presentToast('Preencha todos campos'); */ + //this.toastService.presentToast('Preencha todos campos'); this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.'); } } catch (error) { diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts index 3c2a6ea92..a8835bfa6 100644 --- a/src/app/services/auth.service.ts +++ b/src/app/services/auth.service.ts @@ -62,6 +62,12 @@ export class AuthService { }) } + getProfile(){ + this.storageService.get(AuthConnstants.PROFILE).then(res=>{ + return res; + }); + } + logoutChat(){ //this.storageService.clear(); this.storageService.removeStorageItem(AuthConnstants.AUTH).then(res =>{ diff --git a/src/app/services/events.service.ts b/src/app/services/events.service.ts index 0cf58e571..1d1ff2b87 100644 --- a/src/app/services/events.service.ts +++ b/src/app/services/events.service.ts @@ -82,8 +82,10 @@ export class EventsService { } getEvent(eventid: string): Observable{ - let geturl = environment.apiURL + 'Calendar/GetEvent'; + let geturl = environment.apiURL + 'calendar/GetEvent'; let params = new HttpParams(); + console.log(eventid); + params = params.set("EventId", eventid); @@ -112,6 +114,23 @@ export class EventsService { return this.http.put(`${puturl}`, event, options) } + editEvent(event: Event, conflictResolutionMode:number, sendInvitationsOrCancellationsMode:number): Observable + { + const puturl = environment.apiURL + 'calendar/PutEvent'; + + let params = new HttpParams(); + + params = params.set("conflictResolutionMode", conflictResolutionMode.toString()); + params = params.set("sendInvitationsOrCancellationsMode", sendInvitationsOrCancellationsMode.toString()); + + let options = { + headers: this.headers, + params: params + }; + + return this.http.put(`${puturl}`, event, options) + } + postEvent(event:Event, calendarName:string, sharedagenda:string) { const puturl = environment.apiURL + 'calendar/' + ((sharedagenda != '') ? sharedagenda : 'PostEvent'); @@ -126,6 +145,36 @@ export class EventsService { return this.http.post(`${puturl}`, event, options) } + + postEventMd(event:Event, calendarName:string) + { + const puturl = environment.apiURL + 'calendar/md'; + let params = new HttpParams(); + + params = params.set("CalendarName", calendarName); + + let options = { + headers: this.headers, + params: params + }; + + return this.http.post(`${puturl}`, event, options) + } + + postEventPr(event:Event, calendarName:string) + { + const puturl = environment.apiURL + 'calendar/pr'; + let params = new HttpParams(); + + params = params.set("CalendarName", calendarName); + + let options = { + headers: this.headers, + params: params + }; + + return this.http.post(`${puturl}`, event, options) + } deleteEvent(eventid:string, deletemode:number) {