diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index c4fa38263..a64d4988d 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,153 +1,157 @@ -import { NgModule } from '@angular/core'; -import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; -import { ChatPage } from './pages/chat/chat.page'; -import { MessagesPage } from './pages/chat/messages/messages.page'; - -const routes: Routes = [ - { - path: '', - loadChildren: () => import('./index/index.module').then(m => m.IndexPageModule) - }, - { - path: '', - loadChildren: () => import('./home/home.module').then( m => m.HomePageModule) - }, - { - path: 'empty-chat', - loadChildren: () => import('./shared/chat/empty-chat/empty-chat.module').then( m => m.EmptyChatPageModule) - }, - { - path: 'empty-container', - loadChildren: () => import('./shared/empty-container/empty-container.module').then( m => m.EmptyContainerPageModule) - }, - { - path: 'events-to-approve', - loadChildren: () => import('./shared/gabinete-digital/events-to-approve/events-to-approve.module').then( m => m.EventsToApprovePageModule) - }, - { - path: 'expedients', - loadChildren: () => import('./shared/gabinete-digital/expedients/expedients.module').then( m => m.ExpedientsPageModule) - }, - { - path: 'document-detail', - loadChildren: () => import('./modals/document-detail/document-detail.module').then( m => m.DocumentDetailPageModule) - }, - { - path: 'edit-group', - loadChildren: () => import('./shared/chat/edit-group/edit-group.module').then( m => m.EditGroupPageModule) - }, - { - path: 'pedidos', - loadChildren: () => import('./shared/gabinete-digital/pedidos/pedidos.module').then( m => m.PedidosPageModule) - }, - { - path: 'event-list', - loadChildren: () => import('./pages/gabinete-digital/event-list/event-list.module').then(m =>m.EventListPageModule) - }, - { - path: 'despachos', - loadChildren: () => import('./shared/gabinete-digital/despachos/despachos.module').then( m => m.DespachosPageModule) - }, - { - path: 'create-process', - loadChildren: () => import('./modals/create-process/create-process.module').then( m => m.CreateProcessPageModule) - }, - { - path: 'pendentes', - loadChildren: () => import('./shared/gabinete-digital/pendentes/pendentes.module').then( m => m.PendentesPageModule) - }, - { - path: 'delegar', - loadChildren: () => import('./modals/delegar/delegar.module').then( m => m.DelegarPageModule) - }, - { - path: 'add-note', - loadChildren: () => import('./modals/add-note/add-note.module').then( m => m.AddNotePageModule) - }, - { - path: 'dar-parecer', - loadChildren: () => import('./modals/dar-parecer/dar-parecer.module').then( m => m.DarParecerPageModule) - }, - { - path: 'opts-expediente', - loadChildren: () => import('./shared/popover/opts-expediente/opts-expediente.module').then( m => m.OptsExpedientePageModule) - }, - { - path: 'despachos-pr', - loadChildren: () => import('./shared/gabinete-digital/despachos-pr/despachos-pr.module').then( m => m.DespachosPrPageModule) - }, - { - path: 'diplomas', - loadChildren: () => import('./shared/gabinete-digital/diplomas/diplomas.module').then( m => m.DiplomasPageModule) - }, - { - path: 'expedientes-pr', - loadChildren: () => import('./shared/gabinete-digital/expedientes-pr/expedientes-pr.module').then( m => m.ExpedientesPrPageModule) - }, - { - path: 'diplomas-assinar', - loadChildren: () => import('./shared/gabinete-digital/diplomas-assinar/diplomas-assinar.module').then( m => m.DiplomasAssinarPageModule) - }, - { - path: 'opts-expediente-pr', - loadChildren: () => import('./shared/popover/opts-expediente-pr/opts-expediente-pr.module').then( m => m.OptsExpedientePrPageModule) - }, - { - path: 'despachos-options', - loadChildren: () => import('./shared/popover/despachos-options/despachos-options.module').then( m => m.DespachosOptionsPageModule) - }, - { - path: 'despachos-pr-options', - loadChildren: () => import('./shared/popover/despachos-pr-options/despachos-pr-options.module').then( m => m.DespachosPrOptionsPageModule) - }, - { - path: 'deploma-options', - loadChildren: () => import('./shared/popover/deploma-options/deploma-options.module').then( m => m.DeplomaOptionsPageModule) - }, - { - path: 'pin', - loadChildren: () => import('./shared/pin/pin.module').then( m => m.PinPageModule) - }, - { - path: 'fingerprint', - loadChildren: () => import('./shared/fingerprint/fingerprint.module').then( m => m.FingerprintPageModule) - }, - { - path: 'new-event', - loadChildren: () => import('./shared/agenda/new-event/new-event.module').then( m => m.NewEventPageModule) - }, - { - path: 'event-list', - loadChildren: () => import('./shared/agenda/event-list/event-list.module').then( m => m.EventListPageModule) - }, - { - path: 'approve-event', - loadChildren: () => import('./shared/agenda/approve-event/approve-event.module').then( m => m.ApproveEventPageModule) - }, - { - path: 'bad-request', - loadChildren: () => import('./shared/popover/bad-request/bad-request.module').then( m => m.BadRequestPageModule) - }, - { - path: 'success-message', - loadChildren: () => import('./shared/popover/success-message/success-message.module').then( m => m.SuccessMessagePageModule) - }, - { - path: 'forward', - loadChildren: () => import('./modals/forward/forward.module').then( m => m.ForwardPageModule) +import { NgModule } from '@angular/core'; +import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; +import { ChatPage } from './pages/chat/chat.page'; +import { MessagesPage } from './pages/chat/messages/messages.page'; + +const routes: Routes = [ + { + path: '', + loadChildren: () => import('./index/index.module').then(m => m.IndexPageModule) + }, + { + path: '', + loadChildren: () => import('./home/home.module').then( m => m.HomePageModule) + }, + { + path: 'empty-chat', + loadChildren: () => import('./shared/chat/empty-chat/empty-chat.module').then( m => m.EmptyChatPageModule) + }, + { + path: 'empty-container', + loadChildren: () => import('./shared/empty-container/empty-container.module').then( m => m.EmptyContainerPageModule) + }, + { + path: 'events-to-approve', + loadChildren: () => import('./shared/gabinete-digital/events-to-approve/events-to-approve.module').then( m => m.EventsToApprovePageModule) + }, + { + path: 'expedients', + loadChildren: () => import('./shared/gabinete-digital/expedients/expedients.module').then( m => m.ExpedientsPageModule) + }, + { + path: 'document-detail', + loadChildren: () => import('./modals/document-detail/document-detail.module').then( m => m.DocumentDetailPageModule) + }, + { + path: 'edit-group', + loadChildren: () => import('./shared/chat/edit-group/edit-group.module').then( m => m.EditGroupPageModule) + }, + { + path: 'pedidos', + loadChildren: () => import('./shared/gabinete-digital/pedidos/pedidos.module').then( m => m.PedidosPageModule) + }, + { + path: 'event-list', + loadChildren: () => import('./pages/gabinete-digital/event-list/event-list.module').then(m =>m.EventListPageModule) + }, + { + path: 'despachos', + loadChildren: () => import('./shared/gabinete-digital/despachos/despachos.module').then( m => m.DespachosPageModule) + }, + { + path: 'create-process', + loadChildren: () => import('./modals/create-process/create-process.module').then( m => m.CreateProcessPageModule) + }, + { + path: 'pendentes', + loadChildren: () => import('./shared/gabinete-digital/pendentes/pendentes.module').then( m => m.PendentesPageModule) + }, + { + path: 'delegar', + loadChildren: () => import('./modals/delegar/delegar.module').then( m => m.DelegarPageModule) + }, + { + path: 'add-note', + loadChildren: () => import('./modals/add-note/add-note.module').then( m => m.AddNotePageModule) + }, + { + path: 'dar-parecer', + loadChildren: () => import('./modals/dar-parecer/dar-parecer.module').then( m => m.DarParecerPageModule) + }, + { + path: 'opts-expediente', + loadChildren: () => import('./shared/popover/opts-expediente/opts-expediente.module').then( m => m.OptsExpedientePageModule) + }, + { + path: 'despachos-pr', + loadChildren: () => import('./shared/gabinete-digital/despachos-pr/despachos-pr.module').then( m => m.DespachosPrPageModule) + }, + { + path: 'diplomas', + loadChildren: () => import('./shared/gabinete-digital/diplomas/diplomas.module').then( m => m.DiplomasPageModule) + }, + { + path: 'expedientes-pr', + loadChildren: () => import('./shared/gabinete-digital/expedientes-pr/expedientes-pr.module').then( m => m.ExpedientesPrPageModule) + }, + { + path: 'diplomas-assinar', + loadChildren: () => import('./shared/gabinete-digital/diplomas-assinar/diplomas-assinar.module').then( m => m.DiplomasAssinarPageModule) + }, + { + path: 'opts-expediente-pr', + loadChildren: () => import('./shared/popover/opts-expediente-pr/opts-expediente-pr.module').then( m => m.OptsExpedientePrPageModule) + }, + { + path: 'despachos-options', + loadChildren: () => import('./shared/popover/despachos-options/despachos-options.module').then( m => m.DespachosOptionsPageModule) + }, + { + path: 'despachos-pr-options', + loadChildren: () => import('./shared/popover/despachos-pr-options/despachos-pr-options.module').then( m => m.DespachosPrOptionsPageModule) + }, + { + path: 'deploma-options', + loadChildren: () => import('./shared/popover/deploma-options/deploma-options.module').then( m => m.DeplomaOptionsPageModule) + }, + { + path: 'pin', + loadChildren: () => import('./shared/pin/pin.module').then( m => m.PinPageModule) + }, + { + path: 'fingerprint', + loadChildren: () => import('./shared/fingerprint/fingerprint.module').then( m => m.FingerprintPageModule) + }, + { + path: 'new-event', + loadChildren: () => import('./shared/agenda/new-event/new-event.module').then( m => m.NewEventPageModule) + }, + { + path: 'event-list', + loadChildren: () => import('./shared/agenda/event-list/event-list.module').then( m => m.EventListPageModule) + }, + { + path: 'approve-event', + loadChildren: () => import('./shared/agenda/approve-event/approve-event.module').then( m => m.ApproveEventPageModule) + }, + { + path: 'bad-request', + loadChildren: () => import('./shared/popover/bad-request/bad-request.module').then( m => m.BadRequestPageModule) + }, + { + path: 'success-message', + loadChildren: () => import('./shared/popover/success-message/success-message.module').then( m => m.SuccessMessagePageModule) + }, + { + path: 'forward', + loadChildren: () => import('./modals/forward/forward.module').then( m => m.ForwardPageModule) + }, { + path: 'edit-event-to-approve', + loadChildren: () => import('./shared/agenda/edit-event-to-approve/edit-event-to-approve.module').then( m => m.EditEventToApprovePageModule) }, - - /* { - path: 'chat', - component: ChatPage - } */ - -]; -@NgModule({ - imports: [ - RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) - ], - exports: [RouterModule] -}) -export class AppRoutingModule {} + + + /* { + path: 'chat', + component: ChatPage + } */ + +]; +@NgModule({ + imports: [ + RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) + ], + exports: [RouterModule] +}) +export class AppRoutingModule {} diff --git a/src/app/pages/agenda/agenda.module.ts b/src/app/pages/agenda/agenda.module.ts index 089f41bd4..6e85614ce 100644 --- a/src/app/pages/agenda/agenda.module.ts +++ b/src/app/pages/agenda/agenda.module.ts @@ -30,6 +30,7 @@ import { NewEventPageModule } from 'src/app/shared/agenda/new-event/new-event.mo import { EventsToApprovePageModule } from 'src/app/shared/gabinete-digital/events-to-approve/events-to-approve.module'; import { EventListPageModule } from 'src/app/shared/agenda/event-list/event-list.module'; import { EditEventPageModule } from 'src/app/shared/agenda/edit-event/edit-event.module'; +import { EditEventToApprovePageModule } from 'src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.module'; @NgModule({ imports: [ @@ -53,6 +54,7 @@ import { EditEventPageModule } from 'src/app/shared/agenda/edit-event/edit-event NewEventPageModule, EventListPageModule, EditEventPageModule, + EditEventToApprovePageModule, ], declarations: [ AgendaPage diff --git a/src/app/pages/agenda/agenda.page.html b/src/app/pages/agenda/agenda.page.html index db321e04d..6d7709ce4 100644 --- a/src/app/pages/agenda/agenda.page.html +++ b/src/app/pages/agenda/agenda.page.html @@ -356,7 +356,8 @@ mobileComponent.showEventList == false && mobileComponent.showEventToApprove == false && mobileComponent.showAttendees == false && - mobileComponent.showAttendeeModal == false + mobileComponent.showAttendeeModal == false && + mobileComponent.showEditEventToApprove == false ) " class="text-black nothing-to-show"> @@ -407,7 +408,9 @@ > - - + + (); @Output() AproveEventEditEvent = new EventEmitter(); + @Output() EditApproveEventDismiss = new EventEmitter(); + constructor( private router:Router, private modalController: ModalController, @@ -202,9 +204,13 @@ export class ApproveEventPage implements OnInit { async editar(serialNumber: string) { - - - const modal = await this.modalController.create({ + if(window.innerWidth > 800){ + console.log('DESTOP'); + + this.EditApproveEventDismiss.emit(); + } + else{ + /* const modal = await this.modalController.create({ component: EditEventToApproveComponent, componentProps: { serialNumber: serialNumber, @@ -213,15 +219,16 @@ export class ApproveEventPage implements OnInit { cssClass: 'modal modal-desktop', // backdropDismiss: false }); - await modal.present(); - modal.onDidDismiss().then(res => { this.getTask(); this.getAttachments(); - }); + }); */ + } + + } + - } } diff --git a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve-routing.module.ts b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve-routing.module.ts new file mode 100644 index 000000000..4889201b6 --- /dev/null +++ b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { EditEventToApprovePage } from './edit-event-to-approve.page'; + +const routes: Routes = [ + { + path: '', + component: EditEventToApprovePage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class EditEventToApprovePageRoutingModule {} diff --git a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.module.ts b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.module.ts new file mode 100644 index 000000000..4cf285f4e --- /dev/null +++ b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.module.ts @@ -0,0 +1,45 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { EditEventToApprovePageRoutingModule } from './edit-event-to-approve-routing.module'; + +import { EditEventToApprovePage } from './edit-event-to-approve.page'; + +import { MatNativeDateModule } from '@angular/material/core'; +import { + NgxMatDatetimePickerModule, + NgxMatNativeDateModule, + NgxMatTimepickerModule +} from '@angular-material-components/datetime-picker'; +import { ReactiveFormsModule } from '@angular/forms'; +import { MatButtonModule } from '@angular/material/button'; +import { MatSelectModule } from '@angular/material/select'; +import { NgxMatMomentModule } from '@angular-material-components/moment-adapter'; +import { MAT_DATE_LOCALE } from '@angular/material/core'; +import { MatDatepickerModule } from '@angular/material/datepicker'; +import { MatInputModule } from '@angular/material/input'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + EditEventToApprovePageRoutingModule, + MatDatepickerModule, + MatInputModule, + MatNativeDateModule, + NgxMatDatetimePickerModule, + NgxMatTimepickerModule, + NgxMatNativeDateModule, + NgxMatMomentModule, + MatSelectModule, + MatButtonModule, + ReactiveFormsModule + ], + declarations: [EditEventToApprovePage], + exports: [EditEventToApprovePage] +}) +export class EditEventToApprovePageModule {} diff --git a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.html b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.html new file mode 100644 index 000000000..00b8d3014 --- /dev/null +++ b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.html @@ -0,0 +1,282 @@ + + +
+ +
+ +
+ +
+
+ Editar evento por aprovar +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+
+
+ +
+
+ + + Oficial + Pessoal + + + + + + + Oficial + + + Pessoal + + + + +
+
+
+ +
+
+
+ +
+
+ + + + + + + + + +
+
+
+ +
+
+
+ +
+
+ + + + + + + + + + +
+
+
+ +
+
+
+ +
+
+ + Não se repete + Repete + + + + + + Não se repete + + + Repete + + + + +
+
+
+ + + +
+
+
+ +
+
+
+ + + Adicionar intervenientes* + {{participant.Name}} + + +
+
+ +
+
+
+
+ +
+
+
+ +
+
+
+ + + Adicionar intervenientes + {{participant.Name}} + + +
+
+ +
+
+
+
+ +
+ +
+ +
+
+ Adicionar documentos +
+
+
+ +
+ + + +

+ {{document.SourceName}} + Correspondencia + AccoesPresidenciais + ArquivoDespachoElect + + + +

+

{{document.Stakeholders}} {{document.CreateDate | date: 'dd-MM-yy'}}

+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+
+
+
+ + +
+ + +
+
\ No newline at end of file diff --git a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.scss b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.scss new file mode 100644 index 000000000..182551484 --- /dev/null +++ b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.scss @@ -0,0 +1,201 @@ + + +.title-content::after, .header-md::after{ + display: none; + } + + .content { + margin: 0; + float: left; + border-right: 1px solid #d8d8d8 !important; + } + .main-header{ + font-family: Roboto; + background-color: #fff; + + overflow:hidden; + transform: translate3d(0, 1px, 0); + + .title-content{ + margin: 0px auto; + padding: 0 !important; + background: #fff; + .middle{ + padding: 0!important; + float: left; + } + } + + .title{ + font-size: 25px; + } + + } + .ion-item-container{ + margin: 15px auto; + border: 1px solid #ebebeb; + border-radius: 5px; + padding-left: 10px; + } + .ion-item-container-no-border{ + width: 100%; + margin: 0px auto; + padding: 0 !important; + } + .container-div{ + margin-bottom: 15px; + float: left; + } + .ion-item-class-2{ + margin: 0px auto; + } + .ion-icon-class{ + width: 45px; + height: 45px; + float: left; + padding: 10px; + font-size: 25px; + } + ion-select{ + padding-left: 5px; + margin-left: 0; + } + .ion-input-class{ + width: calc(100% - 45px); + height: 45px; + border: 1px solid #ebebeb; + border-radius: 5px; + padding-left: 5px; + padding-right: 10px; + float: left; + } + .ion-input-class-no-height{ + width: calc(100% - 45px); + border: 1px solid #ebebeb; + border-radius: 5px; + } + .list-people{ + float: left; + + } + .add-people{ + width: 45px; + float: right; + overflow: auto; + font-size: 25px; + padding: 10px; + } + .list-people-title{ + /* font-size: 13px; */ + color: #797979; + } + .attach-document{ + font-size: 15px; + color: #0d89d1; + margin: 5px 5px 5px 10px; + padding: 5px; + float: left; + } + .attach-icon{ + width: 37px; + font-size: 35px; + float: left; + } + .attach-title-item{ + width: 100%; + font-size: 15px; + color:#0d89d1; + } + /* SPAN */ + .span-left{ + float: left; + font-size: 15x; + } + .span-right{ + text-align: right; + float: right; + font-size: 13px; + } + .container-footer{ + margin:0 auto; + overflow: auto; + } + .button-cancel { + width: 170px; + height: 44px; + border-radius: 22.5px; + --background: #e0e9ee; + --color: #061b52; + margin:10px; + } + .button-save { + width: 170px; + height: 44px; + border-radius: 22.5px; + --background: #42b9fe; + --color:#ffffff; + margin:10px; + } + + .text-input{ + width: 100%; + border: 1px solid #ebebeb; + margin: 0px 15px 15px 0px; + padding: 0 !important; + border-radius: 5px; + } + + /* Error Messages */ + .error{ + color:red; + font-size: 12px; + font-weight: bold; + padding-bottom: 20px; + } + .span-color{ + color:red; + } + + + .buttons{ + display: flex; + justify-content: space-between; + padding: 20px; + overflow: auto; + } + + + + .app-name{ + background: #42b9f2; + border-radius: 18px; + text-align: center; + display: flex; + align-items: center; + padding: 0px 5px; + color: white; + font-size: 9pt; + font-weight: 500; + height: 19px; + -webkit-border-radius: 18px; + -moz-border-radius: 18px; + -ms-border-radius: 18px; + -o-border-radius: 18px; + } + + + .close-button { + display: none; + } + + + .list:hover { + + .app-name { + display: none; + } + + .close-button { + display: block !important; + } + } \ No newline at end of file diff --git a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.spec.ts b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.spec.ts new file mode 100644 index 000000000..28fffc50f --- /dev/null +++ b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { EditEventToApprovePage } from './edit-event-to-approve.page'; + +describe('EditEventToApprovePage', () => { + let component: EditEventToApprovePage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ EditEventToApprovePage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(EditEventToApprovePage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts new file mode 100644 index 000000000..7aa91df30 --- /dev/null +++ b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts @@ -0,0 +1,426 @@ +import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; +import { FormControl } from '@angular/forms'; +import { AlertController, AnimationController, ModalController } from '@ionic/angular'; +import * as moment from 'moment'; +import { Attachment } from 'src/app/models/attachment.model'; +import { EventPerson } from 'src/app/models/eventperson.model'; +import { SearchDocument } from 'src/app/models/search-document'; +import { AttendeesPageModal } from 'src/app/pages/events/attendees/attendees.page'; +import { SearchPage } from 'src/app/pages/search/search.page'; +import { AttachmentsService } from 'src/app/services/attachments.service'; +import { EventsService } from 'src/app/services/events.service'; +import { ProcessesService } from 'src/app/services/processes.service'; +import { ToastService } from 'src/app/services/toast.service'; +import { Event } from '../../../models/event.model'; +import { NgxMatDateFormats, NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; + + +const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { + parse: { + dateInput: "YYYY-MMMM-DD HH:mm" + }, + display: { + dateInput: "DD MMM YYYY H:mm", + monthYearLabel: "MMM YYYY", + dateA11yLabel: "LL", + monthYearA11yLabel: "MMMM YYYY" + } +} + +@Component({ + selector: 'app-edit-event-to-approve', + templateUrl: './edit-event-to-approve.page.html', + styleUrls: ['./edit-event-to-approve.page.scss'], +}) +export class EditEventToApprovePage implements OnInit { + public date: any; + public disabled = false; + public showSpinners = true; + public showSeconds = false; + public touchUi = false; + public enableMeridian = false; + public minDate: any; + public maxDate: any; + public stepHour = 1; + public stepMinute = 5; + public stepSecond = 5; + + public dateControlStart = new FormControl(moment("DD MM YYYY hh")); + public dateControlEnd = new FormControl(moment("DD MM YYYY hh")); + + showLoader = false + + get dateStart () { + return this.dateControlStart.value + } + + get dateEnd () { + return this.dateControlEnd.value + } + + @ViewChild('picker') picker: any; + @ViewChild('fim') fim: any; + @ViewChild('inicio') inicio: any; + @ViewChild('picker1') picker1: any; + + @Input() serialNumber: string + + + loadedAttachments: Attachment[]= [] + + eventProcess = { + serialNumber: "", + taskStartDate: "", + workflowInstanceDataFields:{ + Body: "", + IsRecurring: false, + ParticipantsList: [], + Agenda: '', + EndDate: '', + Location: '', + Subject: '', + InstanceId: '', + EventType: '', + StartDate: '', + MDEmail: '', + MDName: '', + IsAllDayEvent: '', + Message: '' + } + } + + show = false + + postEvent: Event; + isRecurring:string; + isEventEdited: boolean; + segment:string = "true"; + profile:string; + eventAttendees: EventPerson[]; + + loadedEventAttachments: Attachment[]; + taskParticipants: any = []; + taskParticipantsCc: any = []; + adding: "intervenient" | "CC" = "intervenient"; + + Location = '' + + showAttendees = false; + + InstanceId: string + + @Output() openAttendeesComponent = new EventEmitter(); + @Output() clearContact = new EventEmitter(); + @Output() setIntervenient = new EventEmitter(); + @Output() setIntervenientCC = new EventEmitter(); + @Output() closeComponent = new EventEmitter(); + + constructor( + private modalController: ModalController, + private eventsService: EventsService, + public alertController: AlertController, + private attachmentsService: AttachmentsService, + private processes:ProcessesService, + private animationController: AnimationController, + private toastService: ToastService, + ) { + + /* this.serialNumber = this.navParams.get('serialNumber'); */ + + this.isEventEdited = false; + this.dateControlStart = new FormControl(moment(new Date())); + this.dateControlEnd = new FormControl(moment(new Date())); + + } + + ngOnInit() { + this.getTask(); + console.log(this.serialNumber); + } + + async getTask() { + console.log('this.eventProcess', this.eventProcess); + + const result = await this.processes.GetTask(this.serialNumber).subscribe( result =>{ + this.eventProcess = result + + this.restoreDatepickerData() + + console.log(this.eventProcess.workflowInstanceDataFields.Subject) + + // description + let body : any =this.eventProcess.workflowInstanceDataFields.Body.replace(/<[^>]+>/g, '') + this.eventProcess.workflowInstanceDataFields.Body = body + this.Location = this.eventProcess.workflowInstanceDataFields.Location + + this.InstanceId = this.eventProcess.workflowInstanceDataFields.InstanceId + this.getAttachments() + + if(this.eventProcess.workflowInstanceDataFields.IsRecurring == false) { + this.isRecurring = "Não se repete"; + } + else { + this.isRecurring = "Repete"; + } + + this.eventProcess.workflowInstanceDataFields.ParticipantsList.forEach(e => { + if(e.IsRequired) { + this.taskParticipants.push(e); + } else { + this.taskParticipantsCc.push(e); + } + }) + }) + } + + close() { + console.log('CLOSE'); + + this.closeComponent.emit(); + /* this.setIntervenient.emit([]); + this.setIntervenientCC.emit([]); + this.clearContact.emit(); */ + + //this.deleteTemporaryData(); + } + + save() { + // set dates to eventProcess object + this.getDatepickerData() + + this.taskParticipantsCc.forEach(e=>{ + e.IsRequired = false + }) + + this.eventProcess.workflowInstanceDataFields.ParticipantsList = this.taskParticipants.concat(this.taskParticipantsCc) + + this.eventProcess.workflowInstanceDataFields.ParticipantsList.forEach(e=>{ + + if(e.hasOwnProperty('$type')) { + delete e.$type + } + }) + + const event: any = { + Agenda: this.eventProcess.workflowInstanceDataFields.Agenda, + Body: this.eventProcess.workflowInstanceDataFields.Body, + EndDate: this.eventProcess.workflowInstanceDataFields.EndDate, + EventType: this.eventProcess.workflowInstanceDataFields.EventType, + IsAllDayEvent: this.eventProcess.workflowInstanceDataFields.IsAllDayEvent, + IsRecurring: this.eventProcess.workflowInstanceDataFields.IsRecurring, + Location: this.eventProcess.workflowInstanceDataFields.Location, + Subject: this.eventProcess.workflowInstanceDataFields.Subject, + serialNumber: this.eventProcess.serialNumber, + StartDate: this.eventProcess.workflowInstanceDataFields.StartDate, + MDEmail: this.eventProcess.workflowInstanceDataFields.MDEmail, + MDName: this.eventProcess.workflowInstanceDataFields.MDName, + Message: this.eventProcess.workflowInstanceDataFields.Message, + ParticipantsList: this.eventProcess.workflowInstanceDataFields.ParticipantsList, + Private: false, + ReviewUserComment: '' + } + + console.log(event); + + this.eventsService.postEventToApproveEdit(event).subscribe(()=>{ + this.toastService.successMessage('Evento editado'); + }, error =>{ + this.toastService.badRequest('Evento não editado'); + }) + + + this.loadedAttachments.forEach((document:any)=>{ + if(document['action'] == 'add') { + delete document.action + this.attachmentsService.setEventAttachmentById(document).subscribe(()=>{ + this.toastService.successMessage(); + }, error =>{ + this.toastService.badRequest(); + }); + } else if(document['action'] == 'delete') { + delete document.action + this.attachmentsService.deleteEventAttachmentById(document.Id).subscribe( res=>{ + this.toastService.successMessage() + }, error =>{ + this.toastService.badRequest() + }) + } + + }) + + + this.modalController.dismiss(); + + } + + /* async openAttendees() { + + if(window.innerWidth <= 1024) { + const modal = await this.modalController.create({ + component: AttendeesPageModal, + componentProps: { + adding: this.adding, + taskParticipants: this.taskParticipants, + taskParticipantsCc: this.taskParticipantsCc + }, + cssClass: 'attendee modal modal-desktop', + backdropDismiss: false + }); + + await modal.present(); + + modal.onDidDismiss().then((data) => { + + if(data){ + data = data['data']; + + const newAttendees: EventPerson[] = data['taskParticipants']; + const newAttendeesCC: EventPerson[] = data['taskParticipantsCc']; + + this.setIntervenient(newAttendees); + this.setIntervenientCC(newAttendeesCC); + } + }); + } else { + this.showAttendees = true + } + } + + setIntervenient(data){ + this.taskParticipants = data; + this.postEvent.Attendees = data; + } + + setIntervenientCC(data) { + this.taskParticipantsCc = data; + } + + addParticipants(){ + this.adding = 'intervenient' + + this.openAttendees(); + } + + addParticipantsCC(){ + + this.adding = 'CC' + this.openAttendees(); + } + + dynamicSetIntervenient({taskParticipants, taskParticipantsCc}){ + this.taskParticipants = taskParticipants; + this.taskParticipantsCc = taskParticipantsCc; + } */ + + + async addParticipants() { + + //this.saveTemporaryData(); + + this.openAttendeesComponent.emit({ + type: "intervenient" + }); + + this.clearContact.emit(); + } + + + async addParticipantsCC() { + + //this.saveTemporaryData(); + + this.openAttendeesComponent.emit({ + type: "CC" + }); + + this.clearContact.emit(); + } + + saveTemporaryData() { + + this.getDatepickerData() + + window['temp.path:/home/agenda/edit-event-to-approve.page.ts'] = { + postEvent: this.postEvent, + segment: this.segment + } + } + + + async getAttachments() { + + let result: any = await this.attachmentsService.getAttachmentsById(this.InstanceId).toPromise(); + + result.forEach((e)=>{ + e.action = false + }) + + this.loadedAttachments = result + + console.log('this.loadedAttachments', this.loadedAttachments, result) + } + + deleteAttachment(attachment: Attachment, index) { + + this.loadedAttachments[index]['action'] = 'delete' + } + + async getDoc() { + const modal = await this.modalController.create({ + component: SearchPage, + cssClass: 'modal-width-100-width-background modal', + componentProps: { + type: 'AccoesPresidenciais & ArquivoDespachoElect', + showSearchInput: true, + select: true, + } + }); + await modal.present(); + modal.onDidDismiss().then( async (res)=>{ + if(res){ + + const data: SearchDocument = res.data.selected; + + const DocumentToSave: any = { + SourceTitle: data.Assunto, + ParentId: this.InstanceId, + Source: '1', + SourceId: data.Id, + ApplicationId: data.ApplicationType.toString(), + Id: '', + Link: '', + SerialNumber: '', + action: 'add', + CreateDate: data.Data, + Data: data.Data, + Description: data.DocTypeDesc, + SourceName: data.Assunto, + Stakeholders: data.EntidadeOrganicaNome, + }; + + + this.loadedAttachments.push(DocumentToSave) + console.log('push', DocumentToSave) + + // await this.attachmentsService.setEventAttachmentById(DocumentToSave).subscribe(()=>{ + // this.getAttachments(); + // }); + } + }); + } + + restoreDatepickerData() { + + this.dateControlStart = new FormControl(moment(new Date(this.eventProcess.workflowInstanceDataFields.StartDate))); + this.dateControlEnd = new FormControl(moment(new Date(this.eventProcess.workflowInstanceDataFields.EndDate))); + + } + + getDatepickerData() { + + this.eventProcess.workflowInstanceDataFields.StartDate = this.dateStart + this.eventProcess.workflowInstanceDataFields.EndDate = this.dateEnd + + } + +} \ No newline at end of file diff --git a/src/app/shared/agenda/view-event/view-event.page.ts b/src/app/shared/agenda/view-event/view-event.page.ts index 55d094139..7e639e8cd 100644 --- a/src/app/shared/agenda/view-event/view-event.page.ts +++ b/src/app/shared/agenda/view-event/view-event.page.ts @@ -117,7 +117,6 @@ export class ViewEventPage implements OnInit { } async editEvent() { - this.viewEventDetailDismiss.emit({ type: 'edit', event: this.loadedEvent diff --git a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html index eab46b954..76ab1c5ea 100644 --- a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html +++ b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html @@ -24,7 +24,7 @@ -
+