diff --git a/src/app/OtherService/document-counter.service.ts b/src/app/OtherService/document-counter.service.ts index c350c9521..a2b8c2059 100644 --- a/src/app/OtherService/document-counter.service.ts +++ b/src/app/OtherService/document-counter.service.ts @@ -6,7 +6,7 @@ import { PendentesStore } from 'src/app/store/pendestes-store.service'; import { PedidosStore } from 'src/app/store/pedidos-store.service'; import { ExpedienteprStore } from 'src/app/store/expedientepr-store.service'; import { DespachosprStore } from 'src/app/store/despachospr-store.service'; - +import { DeplomasStore } from '../store/deplomas.service'; @Injectable({ providedIn: 'root' @@ -20,6 +20,7 @@ export class DocumentCounterService { pedidosStore = PedidosStore; expedientePrStore = ExpedienteprStore; despachoPrStore = DespachosprStore; + deplomasStore = DeplomasStore constructor() { } @@ -27,10 +28,12 @@ export class DocumentCounterService { get mdTotalDocument() { return this.despachoStore.count + this.expedienteGbStore.count + this.pedidosStore.countdeferimento + this.pedidosStore.countparecer + this.expedientePrStore.count + this.despachoPrStore.count + this.pendentesStore.count - + this.eventoAprovacaoStore.count + + this.eventoAprovacaoStore.count + this.deplomasStore.diplomasListCount + this.deplomasStore.countDiplomasListCount } get prTotalDocument() { - return 0 + return this.despachoStore.count + this.expedienteGbStore.count + this.pedidosStore.countdeferimento + + this.pedidosStore.countparecer + this.expedientePrStore.count + this.despachoPrStore.count + this.pendentesStore.count + + this.eventoAprovacaoStore.count + this.deplomasStore.diplomasListCount + this.deplomasStore.countDiplomasListCount } } diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 15072112d..99374a12a 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,161 +1,162 @@ -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 = [ - { - 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: 'actions-options', - loadChildren: () => import('./shared/popover/actions-options/actions-options.module').then( m => m.ActionsOptionsPageModule) - }, - { - path: 'edit-action', - loadChildren: () => import('./shared/publication/edit-action/edit-action.module').then( m => m.EditActionPageModule) - }, - { - path: 'eliminate-event', - loadChildren: () => import('./modals/eliminate-event/eliminate-event.module').then( m => m.EliminateEventPageModule) - }, - { - path: 'inactivity', - loadChildren: () => import('./pages/inactivity/inactivity.module').then( m => m.InactivityPageModule) - }, { +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 = [ + { + 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: 'actions-options', + loadChildren: () => import('./shared/popover/actions-options/actions-options.module').then( m => m.ActionsOptionsPageModule) + }, + { + path: 'edit-action', + loadChildren: () => import('./shared/publication/edit-action/edit-action.module').then( m => m.EditActionPageModule) + }, + { + path: 'eliminate-event', + loadChildren: () => import('./modals/eliminate-event/eliminate-event.module').then( m => m.EliminateEventPageModule) + }, + { + path: 'inactivity', + loadChildren: () => import('./pages/inactivity/inactivity.module').then( m => m.InactivityPageModule) + }, + { path: 'document-set-up-meeting', loadChildren: () => import('./modals/document-set-up-meeting/document-set-up-meeting.module').then( m => m.DocumentSetUpMeetingPageModule) }, @@ -171,21 +172,47 @@ const routes = [ path: 'searched-document-options', loadChildren: () => import('./shared/popover/searched-document-options/searched-document-options.module').then( m => m.SearchedDocumentOptionsPageModule) }, + { + path: 'task-list', + loadChildren: () => import('./shared/gabinete-digital/generic/task-list/task-list.module').then( m => m.TaskListPageModule) + }, + { + path: 'task-list', + loadChildren: () => import('./shared/gabinete-digital/generic/task-list/task-list.module').then( m => m.TaskListPageModule) + }, + { + path: 'task-detailde', + loadChildren: () => import('./shared/gabinete-digital/generic/task-detailde/task-detailde.module').then( m => m.TaskDetaildePageModule) + }, + { + path: 'task-details', + loadChildren: () => import('./shared/gabinete-digital/generic/task-details/task-details.module').then( m => m.TaskDetailsPageModule) + }, + { + path: 'chat-options-features', + loadChildren: () => import('./modals/chat-options-features/chat-options-features.module').then( m => m.ChatOptionsFeaturesPageModule) + }, - - - - /* - path: 'chat', - component: ChatPage - } */ - -]; -@NgModule({ - imports: [ - RouterModule.forRoot(routes, - { preloadingStrategy: PreloadAllModules }) - ], - exports: [RouterModule] -}) -export class AppRoutingModule {} + + + + + /* + path: 'chat', + component: ChatPage + } */ + + /* + path: 'chat', + component: ChatPage + } */ + +]; +@NgModule({ + imports: [ + RouterModule.forRoot(routes, + { preloadingStrategy: PreloadAllModules }) + ], + exports: [RouterModule] +}) +export class AppRoutingModule {} diff --git a/src/app/home/home.page.html b/src/app/home/home.page.html index 876b3cbc1..306d7d197 100644 --- a/src/app/home/home.page.html +++ b/src/app/home/home.page.html @@ -15,8 +15,8 @@ - {{documentCounterService.mdTotalDocument}} - 0 + {{ documentCounterService.mdTotalDocument }} + {{ documentCounterService.prTotalDocument }} Gabinete diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts index 3b890bebb..3cdeb8d43 100644 --- a/src/app/home/home.page.ts +++ b/src/app/home/home.page.ts @@ -118,15 +118,15 @@ export class HomePage implements OnInit { //this.MFPushNotification(); }, (error) => { - alert("Connect with JavaAdapter Failure: " + JSON.stringify(error)); + console.log("Connect with JavaAdapter Failure: " + JSON.stringify(error)); } ); }, (error) => { console.log('MobileFirst Server connect: failure ' + error.responseText); console.log(JSON.stringify(error)) /* this.zone.run(() => { - alert("Bummer..."); - alert("Failed to connect to MobileFirst Server"); + console.log("Bummer..."); + console.log("Failed to connect to MobileFirst Server"); }); */ }); } diff --git a/src/app/modals/chat-options-features/chat-options-features-routing.module.ts b/src/app/modals/chat-options-features/chat-options-features-routing.module.ts new file mode 100644 index 000000000..84c99e3e5 --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { ChatOptionsFeaturesPage } from './chat-options-features.page'; + +const routes: Routes = [ + { + path: '', + component: ChatOptionsFeaturesPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class ChatOptionsFeaturesPageRoutingModule {} diff --git a/src/app/modals/chat-options-features/chat-options-features.module.ts b/src/app/modals/chat-options-features/chat-options-features.module.ts new file mode 100644 index 000000000..625164a28 --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features.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 { ChatOptionsFeaturesPageRoutingModule } from './chat-options-features-routing.module'; + +import { ChatOptionsFeaturesPage } from './chat-options-features.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + ChatOptionsFeaturesPageRoutingModule + ], + declarations: [ChatOptionsFeaturesPage] +}) +export class ChatOptionsFeaturesPageModule {} diff --git a/src/app/modals/chat-options-features/chat-options-features.page.html b/src/app/modals/chat-options-features/chat-options-features.page.html new file mode 100644 index 000000000..8b387656a --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features.page.html @@ -0,0 +1,17 @@ + +
+ +
+
+ + + + +
+ + +
+ +
diff --git a/src/app/modals/chat-options-features/chat-options-features.page.scss b/src/app/modals/chat-options-features/chat-options-features.page.scss new file mode 100644 index 000000000..7e30d88ff --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features.page.scss @@ -0,0 +1,47 @@ +.container{ + --padding-top:20px !important; + --padding-bottom:20px !important; + --padding-start:20px !important; + --padding-end:20px !important; +} +.arrow-right{ + display: none; + margin-bottom: 20px; + .arrow-right-icon{ + width: 37px; + float: right; + font-size: 35px; + overflow: hidden; + } +} +.buttons{ + display: flex; + flex-wrap: wrap; + justify-content: space-between; + + .btn-ok, .btn-cancel, .btn-delete{ + margin-bottom: 10px !important; + } +} +.solid { + display: none; + width: 90%; + border-top: 1px solid #bbb; + margin: 0 auto !important; + margin-bottom: 10px; +} +@media only screen and (min-width: 1024px) { + .arrow-right{ + display: flex; + justify-content: flex-end; + } + .btn-cancel{ + width: 100% !important; + } + .btn-cancel:hover{ + background-color: #42b9fe; + } + .mobile-only{ + display: none !important; + } +} diff --git a/src/app/modals/chat-options-features/chat-options-features.page.spec.ts b/src/app/modals/chat-options-features/chat-options-features.page.spec.ts new file mode 100644 index 000000000..9d5b4b02d --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { ChatOptionsFeaturesPage } from './chat-options-features.page'; + +describe('ChatOptionsFeaturesPage', () => { + let component: ChatOptionsFeaturesPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ ChatOptionsFeaturesPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(ChatOptionsFeaturesPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/modals/chat-options-features/chat-options-features.page.ts b/src/app/modals/chat-options-features/chat-options-features.page.ts new file mode 100644 index 000000000..51f676f89 --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features.page.ts @@ -0,0 +1,128 @@ +import { Component, OnInit } from '@angular/core'; +import { ModalController, NavParams, PopoverController } from '@ionic/angular'; +import { EventPerson } from 'src/app/models/eventperson.model'; +import { SearchDocument } from 'src/app/models/search-document'; +import { NewEventPage } from 'src/app/pages/agenda/new-event/new-event.page'; +import { SearchPage } from 'src/app/pages/search/search.page'; +import { AlertService } from 'src/app/services/alert.service'; +import { environment } from 'src/environments/environment'; + +@Component({ + selector: 'app-chat-options-features', + templateUrl: './chat-options-features.page.html', + styleUrls: ['./chat-options-features.page.scss'], +}) +export class ChatOptionsFeaturesPage implements OnInit { + + documents:SearchDocument[] = []; + members: any; + attendees: EventPerson[] = []; + + constructor( + private popoverController: PopoverController, + private modalController: ModalController, + private alertService: AlertService, + private navParams: NavParams, + ) { + + this.members = this.navParams.get('members'); + console.log(this.members); + this.attendees = this.members.map((val)=>{ + return { + Name: val.name, + EmailAddress: val.username+"@"+environment.domain, + IsRequired: "true", + } + }); + } + + ngOnInit() { + console.log(this.attendees); + + } + + notImplemented(){ + this.alertService.presentAlert('Funcionalidade em desenvolvimento'); + } + + close(){ + if( window.innerWidth <= 1024){ + this.popoverController.dismiss(); + } + else{ + this.modalController.dismiss(); + } + } + + attachDocument(){ + console.log('Anexar Documento'); + + } + + /* getGroupContacts(room:any){ + this.showLoader = true; + //If group is private call getGroupMembers + if(this.room.t === 'p'){ + this.chatService.getGroupMembers(this.roomId).subscribe(res=>{ + console.log(res); + this.members = res['members']; + this.showLoader = false; + }); + } + //Otherwise call getChannelMembers for públic groups + else{ + this.chatService.getChannelMembers(this.roomId).subscribe(res=>{ + console.log(res); + this.members = res['members']; + this.showLoader = false; + }); + } + } */ + + async getDoc(){ + const modal = await this.modalController.create({ + component: SearchPage, + cssClass: 'group-messages modal-desktop search-modal search-modal-to-desktop', + componentProps: { + type: 'AccoesPresidenciais & ArquivoDespachoElect', + select: true, + showSearchInput: true, + } + }); + await modal.present(); + modal.onDidDismiss().then((res)=>{ + if(res){ + const data = res.data; + this.documents.push(data.selected); + console.log(res.data); + + } + }); + } + + async bookMeeting() { + console.log(this.attendees); + + if( window.innerWidth <= 800){ + this.popoverController.dismiss(); + const modal = await this.modalController.create({ + component: NewEventPage, + componentProps:{ + attendees: this.attendees, + }, + cssClass: 'modal modal-desktop', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss().then((data) => { + if(data){ + + } + }); + } + else{ + this.modalController.dismiss('meeting'); + } + } + +} diff --git a/src/app/modals/create-process/create-process.page.ts b/src/app/modals/create-process/create-process.page.ts index 94505b7d0..fd6afb325 100644 --- a/src/app/modals/create-process/create-process.page.ts +++ b/src/app/modals/create-process/create-process.page.ts @@ -330,7 +330,6 @@ export class CreateProcessPage implements OnInit { try { await this.pedidoService.createDeferimento(this.postData).toPromise(); await this.pedidoService.taskCompleteDeferimento({serialNumber:this.task.serialNumber}).toPromise(); - alert('!!__!!') this.modalController.dismiss(); this.toastService.successMessage('Pedido de Deferimento criado'); @@ -470,8 +469,7 @@ export class CreateProcessPage implements OnInit { } } else { - alert('!!!') - console.log('this.task', this.task) + console.log('unexpected activityInstanceName', this.task) } console.log(body); diff --git a/src/app/modals/dar-parecer/dar-parecer.page.ts b/src/app/modals/dar-parecer/dar-parecer.page.ts index d46c40d24..78c87ed8d 100644 --- a/src/app/modals/dar-parecer/dar-parecer.page.ts +++ b/src/app/modals/dar-parecer/dar-parecer.page.ts @@ -4,8 +4,6 @@ import { SearchDocument } from 'src/app/models/search-document'; import { SearchPage } from 'src/app/pages/search/search.page'; import { ProcessesService } from 'src/app/services/processes.service'; import { ToastService } from 'src/app/services/toast.service'; -import { BadRequestPage } from 'src/app/shared/popover/bad-request/bad-request.page'; -import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page'; @Component({ selector: 'app-dar-parecer', diff --git a/src/app/modals/document-detail/document-detail.page.ts b/src/app/modals/document-detail/document-detail.page.ts index fca534e33..5201e2bae 100644 --- a/src/app/modals/document-detail/document-detail.page.ts +++ b/src/app/modals/document-detail/document-detail.page.ts @@ -89,7 +89,7 @@ export class DocumentDetailPage implements OnInit { } } } else { - alert('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! alert') + console.log('unexpected ApplicationID') } this.task = task @@ -185,7 +185,7 @@ export class DocumentDetailPage implements OnInit { this.openExpedientActionsModal(res.data.taskAction) } else { console.log(res.data) - alert('component not found') + console.log('component not found') } }); } diff --git a/src/app/models/dailyworktask.model.ts b/src/app/models/dailyworktask.model.ts index e98eb4a7a..d180b0d38 100644 --- a/src/app/models/dailyworktask.model.ts +++ b/src/app/models/dailyworktask.model.ts @@ -11,7 +11,9 @@ export class DailyWorkTask{ Status: string; } -export class tasksList{ + + +export class fullTask { actions: null; activityInstanceName: string; formURL: string; @@ -25,11 +27,16 @@ export class tasksList{ serialNumber: string; taskStartDate: string; workflowDisplayName: string; - workflowID: number + workflowID: number; + totalDocuments: any; workflowInstanceDataFields: { AttachmentsProcessLastInstanceId: number, + Sender: string, + ViewerRequest: string, DispatchDocId: number, + Remetente: string, DispatchImageId: number, + Status: string, DistributionTypeName: string, DocID: number, DocIDTmp: string, @@ -38,6 +45,8 @@ export class tasksList{ ImageIDTmp: string, ImageXMLTmp: string, InstanceDistributionId: number, + DeadlineType: any, + Note: string, InstanceID: string, InstanceIDNew: string, NewSerialNumber: string, @@ -53,7 +62,24 @@ export class tasksList{ WorkflowID: string, wxUserID: number, } + Documents: any[] workflowInstanceFolio: string workflowInstanceID: number workflowName: string } +export class tasksList extends fullTask{} +export class customTaskList { + SerialNumber: string + Folio : string + Senders: string + CreateDate : string + DocumentURL : string + Remetente : string + DocumentsQty : string + DocId : number + FolderID : number + WorkflowName : string + activityInstanceName : string + Status : string +} +export class customTask extends customTaskList{} \ No newline at end of file diff --git a/src/app/pages/agenda/new-event/new-event.page.html b/src/app/pages/agenda/new-event/new-event.page.html index 433053105..0cfae6c88 100644 --- a/src/app/pages/agenda/new-event/new-event.page.html +++ b/src/app/pages/agenda/new-event/new-event.page.html @@ -227,12 +227,11 @@
- Com conhecimento + Com conhecimento
- Adicionar intervenientes - {{participant.Name}} + {{participant.Name}}
diff --git a/src/app/pages/agenda/new-event/new-event.page.ts b/src/app/pages/agenda/new-event/new-event.page.ts index c2359b6f1..bdff27d63 100644 --- a/src/app/pages/agenda/new-event/new-event.page.ts +++ b/src/app/pages/agenda/new-event/new-event.page.ts @@ -59,6 +59,7 @@ export class NewEventPage implements OnInit { documents:SearchDocument[] = []; loggeduser: User; + members:any; constructor( private modalController: ModalController, @@ -78,7 +79,9 @@ export class NewEventPage implements OnInit { this.selectedSegment = this.navParams.get('segment'); this.selectedDate = this.navParams.get('eventSelectedDate'); + this.taskParticipants = this.navParams.get('attendees'); + console.log(this.taskParticipants); this.postEvent.StartDate = new Date() this.postEvent.EndDate = (new Date(new Date().getTime() + 15 * 60000)) @@ -232,13 +235,15 @@ export class NewEventPage implements OnInit { this.postEvent.EventRecurrence.Type = this.selectedRecurringType; } + this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc); + let eventId: any; const loader = this.toastService.loading() try { - + if(this.loggeduser.Profile == 'MDGPR') { console.log(this.loggeduser.Profile); diff --git a/src/app/pages/chat/chat.module.ts b/src/app/pages/chat/chat.module.ts index c8480955d..957e1967a 100644 --- a/src/app/pages/chat/chat.module.ts +++ b/src/app/pages/chat/chat.module.ts @@ -26,6 +26,8 @@ import { GroupContactsPageModule } from 'src/app/shared/chat/group-messages/grou import { MessagesPageModule } from 'src/app/shared/chat/messages/messages.module'; import { EmptyChatPageModule } from 'src/app/shared/chat/empty-chat/empty-chat.module'; import { HeaderPageModule } from 'src/app/shared/header/header.module'; +import { NewEventPageModule } from 'src/app/shared/agenda/new-event/new-event.module'; +import { AttendeeModalPageModule } from 'src/app/shared/event/attendee-modal/attendee-modal.module'; @NgModule({ imports: [ @@ -44,6 +46,8 @@ import { HeaderPageModule } from 'src/app/shared/header/header.module'; EditGroupPageModule, GroupContactsPageModule, EmptyChatPageModule, + NewEventPageModule, + AttendeeModalPageModule, ], declarations: [ ChatPage diff --git a/src/app/pages/chat/chat.page.html b/src/app/pages/chat/chat.page.html index 1be48dcf3..f00981d68 100644 --- a/src/app/pages/chat/chat.page.html +++ b/src/app/pages/chat/chat.page.html @@ -112,17 +112,20 @@ [showMessages]="showMessages" #messagecontainer> + + + + + + + + + + + +
diff --git a/src/app/pages/chat/chat.page.ts b/src/app/pages/chat/chat.page.ts index 01a7cc689..b57a3b0df 100644 --- a/src/app/pages/chat/chat.page.ts +++ b/src/app/pages/chat/chat.page.ts @@ -23,6 +23,9 @@ import * as Rx from "rxjs/Rx"; import { Message } from 'src/app/models/message.model'; import { Observable, Subject } from "rxjs/Rx"; import { Router } from '@angular/router'; +import { EventPerson } from 'src/app/models/eventperson.model'; +import { removeDuplicate } from 'src/plugin/removeDuplicate.js' +import { environment } from 'src/environments/environment'; @Component({ selector: 'app-chat', @@ -70,6 +73,8 @@ export class ChatPage implements OnInit { showEditGroup=false; showGroupMessages=false; showGroupContacts=false; + showNewEvent=false; + showAttendees=false; emptyTextDescription = 'Sem conversa selecionada'; @Output() getRoomInfo; @@ -95,6 +100,14 @@ export class ChatPage implements OnInit { loggedUserChat:any; hideRefreshBtn = true; + taskParticipants: any = []; + taskParticipantsCc: any = []; + adding: "intervenient" | "CC" = "intervenient"; + profile:'mdgpr' | 'pr'; + eventSelectedDate: Date = new Date(); + contacts: EventPerson[]; + showEventEditOrOpen: "edit" | "add" | "" | "eventoToApprove" = "" + constructor( private http:HttpClient, private chatService: ChatService, @@ -164,8 +177,11 @@ hideRefreshButton(){ this.showGroupMessages=false; this.showEmptyComponent=false; this.showGroupContacts=false; + this.showNewEvent=false; + this.showAttendees=false; console.log('All components closed!'); } + showEmptyContainer(){ this.showEmptyComponent=true; } @@ -240,6 +256,57 @@ hideRefreshButton(){ } } + openNewEventPage(data:any){ + this.taskParticipants = data.members.map((val) =>{ + return { + Name: val.name, + EmailAddress: val.username+"@"+environment.domain, + IsRequired: "true", + } + }); + this.closeAllDesktopComponents(); + if(window.innerWidth < 801){ + console.log('Mobile'); + } + else{ + this.showNewEvent=true; + } + } + + async openAttendeesComponent(data) { + this.adding = data.type + this.closeAllDesktopComponents(); + this.showAttendees = true; + } + + async clearContact() { + this.contacts = []; + } + + async setContact(data:EventPerson[]) { + this.contacts = data; + } + + async setIntervenient(data) { + this.taskParticipants = removeDuplicate(data) + + } + + async setIntervenientCC(data) { + this.taskParticipantsCc = removeDuplicate(data) + } + + async closeAttendeesComponent() { + this.closeAllDesktopComponents(); + this.showNewEvent = true; + } + + async closeNewEventComponent() { + this.closeAllDesktopComponents(); + this.showEmptyComponent = true; + this.idSelected = ""; + } + onSegmentChange(){ this.load(); } diff --git a/src/app/pages/chat/group-messages/group-messages.module.ts b/src/app/pages/chat/group-messages/group-messages.module.ts index 1dfcecefa..c0e419c06 100644 --- a/src/app/pages/chat/group-messages/group-messages.module.ts +++ b/src/app/pages/chat/group-messages/group-messages.module.ts @@ -12,11 +12,14 @@ import { GroupMessagesPage } from './group-messages.page'; import { ChatPopoverPageModule } from 'src/app/shared/popover/chat-popover/chat-popover.module'; import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module'; +import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; + @NgModule({ imports: [ CommonModule, BrowserModule, FormsModule, + FontAwesomeModule, IonicModule, GroupMessagesPageRoutingModule, diff --git a/src/app/pages/chat/group-messages/group-messages.page.html b/src/app/pages/chat/group-messages/group-messages.page.html index 6132a87a0..173101d6b 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.html +++ b/src/app/pages/chat/group-messages/group-messages.page.html @@ -86,11 +86,11 @@
-
-
+
-
Reencaminhar para Area juridica
+
Reencaminhar para Área jurídica
Outras opções
diff --git a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts index a14652cef..0af829ddb 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts +++ b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts @@ -81,8 +81,8 @@ export class DespachoPrPage implements OnInit { // this.LoadRelatedEvents(this.serialnumber); } - close(){ - this.modalController.dismiss(); + close() { + this.goBack() } goBack() { @@ -129,7 +129,6 @@ export class DespachoPrPage implements OnInit { } }); - this.getDocumentDetails(this.task.FolderId, '361'); }, (error)=>{ try { @@ -146,13 +145,6 @@ export class DespachoPrPage implements OnInit { }); } - getDocumentDetails(forlderId:string, applicationId:string) { - this.processes.GetDocumentDetails(forlderId,applicationId).subscribe(res=>{ - this.attachments = res.Documents; - console.log(res['Documents']); - console.log(this.attachments); - }) - } // async LoadRelatedEvents(serial: string) { // if (this.eventsList == null) { @@ -514,9 +506,12 @@ export class DespachoPrPage implements OnInit { popover.onDidDismiss().then(( res =>{ if( res['data'] == 'close') { - this.goBack() + this.goBack() + } + console.log('alert ...'+ JSON.stringify(res)) + })) } diff --git a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts index b477a5d49..308b8076a 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts +++ b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts @@ -68,7 +68,8 @@ export class DespachosPrPage implements OnInit { const location = window.location const pathname = location.pathname + location.search - this.LoadList(); + + this.LoadList() this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith(pathname)) { @@ -97,12 +98,10 @@ export class DespachosPrPage implements OnInit { openExpedientDetailPage(data){ console.log(data); - // this.openExpedientDetail.emit(data); } async LoadList() { - this.skeletonLoader = true let result = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise(); @@ -119,8 +118,6 @@ export class DespachosPrPage implements OnInit { console.log(result); despachosPr = await result.reverse().filter(data => data.activityInstanceName == "Concluir Despacho"); - console.log(despachosPr); - break; } diff --git a/src/app/pages/gabinete-digital/despachos/despacho/despacho.module.ts b/src/app/pages/gabinete-digital/despachos/despacho/despacho.module.ts index 6b4de5340..79eadf1bc 100644 --- a/src/app/pages/gabinete-digital/despachos/despacho/despacho.module.ts +++ b/src/app/pages/gabinete-digital/despachos/despacho/despacho.module.ts @@ -10,6 +10,7 @@ import { DespachoPage } from './despacho.page'; import { SharedModule } from 'src/app/shared/shared.module'; import { HeaderPageModule } from 'src/app/shared/header/header.module'; +import { TaskDetailsPageModule } from 'src/app/shared/gabinete-digital/generic/task-details/task-details.module' @NgModule({ imports: [ @@ -19,6 +20,8 @@ import { HeaderPageModule } from 'src/app/shared/header/header.module'; DespachoPageRoutingModule, HeaderPageModule, + // entries + TaskDetailsPageModule ], declarations: [ DespachoPage, diff --git a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html index 9b2949b7e..38f37c110 100644 --- a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html +++ b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html @@ -4,71 +4,19 @@
-
-
-
-
- -
-
- {{ task.Folio}} -
-
- -
-
-
-
-
- -

{{customDate}}{{ task.activityInstanceName }}

-

{{ task.DeadlineType }}

-
-
-
-
- -
-
-
Intervenientes
- - -
-

{{interveniente.Name}}

-
-
-
-
-
Com conhecimento
- - -
-

{{c.Name}}

-
-
-
-
-
-
Detalhes
- -

-
-
-
-
- -
Documentos Anexados
- - -

{{ Document.Assunto }}

-

{{ Document.Sender}}{{ Document.DocDate | date: 'dd/MM/yyyy HH:mm' }}

-
-
-
-
-
-
+ + +
diff --git a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts index a1f203bfb..1c881496d 100644 --- a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts +++ b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts @@ -17,6 +17,7 @@ import { DespachosOptionsPage } from 'src/app/shared/popover/despachos-options/d import { ToastService } from 'src/app/services/toast.service'; import { DespachoService } from 'src/app/Rules/despacho.service' import { Location } from '@angular/common' +import { customTask, customTaskList, fullTask } from 'src/app/models/dailyworktask.model'; @Component({ selector: 'app-despacho', @@ -29,7 +30,9 @@ export class DespachoPage implements OnInit { customDate:any; - task: any; + // task: customTask; + task; + attachments:any; fulltask: any; eventsList: Event[] = []; @@ -50,7 +53,8 @@ export class DespachoPage implements OnInit { private activatedRoute: ActivatedRoute, private toastService: ToastService, private despachoService: DespachoService, - private location: Location + private location: Location, + ) { this.activatedRoute.paramMap.subscribe(params => { @@ -69,12 +73,9 @@ export class DespachoPage implements OnInit { if (!paramMap.has('SerialNumber')) { return; } - /* this.serialnumber = paramMap.get('SerialNumber'); */ - this.LoadTaskDetail(this.serialnumber); - // this.LoadRelatedEvents(this.serialnumber); }); - this.LoadTaskDetail(this.serialnumber); - // this.LoadRelatedEvents(this.serialnumber); + + this.LoadTaskDetail(this.serialnumber) } close() { @@ -114,7 +115,7 @@ export class DespachoPage implements OnInit { } async LoadTaskDetail(serial: string) { - this.processes.GetTask(serial).subscribe(res => { + this.processes.GetTask(serial).subscribe( (res: fullTask) => { this.task = { "SerialNumber": res.serialNumber, "Folio": res.workflowInstanceDataFields.Subject, @@ -123,9 +124,10 @@ export class DespachoPage implements OnInit { "DocumentURL": res.workflowInstanceDataFields.ViewerRequest, "Remetente": res.workflowInstanceDataFields.Sender, "Note": res.workflowInstanceDataFields.TaskMessage || res.workflowInstanceDataFields.Note, - "FolderId": res.workflowInstanceDataFields.FolderID, + "FolderID": res.workflowInstanceDataFields.FolderID, "FsId": '361', "DocId": res.workflowInstanceDataFields.DispatchDocId, + "DocumentsQty": '', "WorkflowName": res.workflowDisplayName, "DeadlineType": res.workflowInstanceDataFields.DeadlineType, "activityInstanceName": res.activityInstanceName, @@ -136,7 +138,7 @@ export class DespachoPage implements OnInit { let thedate = new Date(this.task.CreateDate); this.customDate = this.days[thedate.getDay()]+ ", " + thedate.getDate() +" de " + ( this.months[thedate.getMonth()]); - this.processes.GetTaskParticipants(this.task.FolderId).subscribe(users=>{ + this.processes.GetTaskParticipants(this.task.FolderID).subscribe(users=>{ this.intervenientes = users.filter(user=>{ return user.Type == 'I'; @@ -145,12 +147,11 @@ export class DespachoPage implements OnInit { return user.Type == 'CC'; }); }); - this.getDocumentDetails(this.task.FolderId, '361'); }, (error)=>{ try { this.goBack() } catch (e) { - window.history.back(); + this.location.back(); } finally { if(error.status == 0) { this.toastService.badRequest('Não é possível visualizar este processo no modo offline') @@ -161,27 +162,6 @@ export class DespachoPage implements OnInit { }); } - getDocumentDetails(forlderId:string, applicationId:string) { - this.processes.GetDocumentDetails(forlderId,applicationId).subscribe(res=>{ - this.attachments = res.Documents; - }) - } - - // async LoadRelatedEvents(serial: string) { - // if (this.eventsList == null) { - // this.attachmentsService.getAttachmentsBySerial(serial).subscribe(res => { - // res.forEach(att => { - // if (this.eventsList == null) { - // this.eventsList = new Array(); - // } - // this.events.getEvent(att.ParentId).subscribe(event => { - // this.eventsList.push(event); - // }); - // }); - // }); - // } - // } - viewDocument(docId:string){ this.processes.GetDocumentUrl(docId, '361').subscribe(res=>{ const url: string = res.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1"); @@ -399,7 +379,7 @@ export class DespachoPage implements OnInit { }); } - async distartExpedientModal(){ + async distartExpedientModal() { console.log(this.fulltask); const modal = await this.modalController.create({ component: DiscartExpedientModalPage, diff --git a/src/app/pages/gabinete-digital/despachos/despachos.page.ts b/src/app/pages/gabinete-digital/despachos/despachos.page.ts index 4a7f8f2a6..693bd6009 100644 --- a/src/app/pages/gabinete-digital/despachos/despachos.page.ts +++ b/src/app/pages/gabinete-digital/despachos/despachos.page.ts @@ -56,7 +56,8 @@ export class DespachosPage implements OnInit { const location = window.location const pathname = location.pathname + location.search - this.LoadList(); + + this.LoadList() this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith(pathname)) { diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts index ef43b1b07..9d571a3ad 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts @@ -1,11 +1,12 @@ import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; import { NavigationEnd, NavigationExtras, Router } from '@angular/router'; -import { DailyWorkTask, tasksList } from '../../../models/dailyworktask.model'; +import { customTask, DailyWorkTask, tasksList } from '../../../models/dailyworktask.model'; import { ProcessesService } from 'src/app/services/processes.service'; import { formatDate } from '@angular/common'; import { ModalController, NavParams } from '@ionic/angular'; import { AlertService } from 'src/app/services/alert.service'; import { DiplomaPage } from 'src/app/pages/gabinete-digital/diplomas/diploma/diploma.page'; +import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; @Component({ selector: 'app-diplomas-assinar', @@ -22,6 +23,7 @@ export class DiplomasAssinarPage implements OnInit { @Input() profile:string; @Input() segment:string; + customTaskPipe = new CustomTaskPipe() skeletonLoader = true constructor( @@ -35,8 +37,9 @@ export class DiplomasAssinarPage implements OnInit { ngOnInit() { const location = window.location const pathname = location.pathname + location.search - this.LoadList(); + this.LoadList() + this.router.events.forEach((event) => { if (event instanceof NavigationEnd && event.url.startsWith(pathname)) { if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { @@ -76,43 +79,10 @@ export class DiplomasAssinarPage implements OnInit { let diplomasAssinar = diplomas.reverse().filter(data => data.activityInstanceName == "Assinar Diploma"); console.log(diplomasAssinar); + diplomasAssinar.forEach(element => { - let DocId = element.workflowInstanceDataFields.FolderID; - let ApplicationId = element.workflowInstanceDataFields.ApplicationId; - this.processes.GetDocumentDetails(DocId, '361').subscribe(res=>{ - this.totalDocs = res.DocumentsTotal; - console.log(res.DocumentsTotal); - let task = { - "SerialNumber": element.serialNumber, - "Folio": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": formatDate(new Date(element.taskStartDate), 'yyyy-MM-dd HH:mm', 'pt'), - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": element.totalDocuments, - "DocId": element.workflowInstanceDataFields.DocId, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": element.workflowInstanceDataFields.Status, - } - this.diplomasList.push(task); - }, - (error)=>{ - let task = { - "SerialNumber": element.serialNumber, - "Folio": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": formatDate(new Date(element.taskStartDate), 'yyyy-MM-dd HH:mm', 'pt'), - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": element.totalDocuments, - "DocId": element.workflowInstanceDataFields.DocId, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": element.workflowInstanceDataFields.Status, - } - this.diplomasList.push(task); - }); + let task: customTask = this.customTaskPipe.transform(element) + this.diplomasList.push(task); }); diff --git a/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts b/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts index 67e4ab67d..b9307ed0a 100644 --- a/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts +++ b/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts @@ -43,7 +43,8 @@ constructor( const location = window.location const pathname = location.pathname + location.search - this.LoadList(); + + this.LoadList() this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith(pathname)) { 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 bccca72e0..56e95d9c1 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 @@ -42,8 +42,9 @@ export class EventListPage implements OnInit { const location = window.location const pathname = location.pathname + location.search - this.LoadToApproveEvents(); + this.LoadToApproveEvents() + this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith(pathname)) { if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { diff --git a/src/app/pages/gabinete-digital/expediente/expediente.page.ts b/src/app/pages/gabinete-digital/expediente/expediente.page.ts index 44ff72e21..e803d6052 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expediente.page.ts @@ -37,9 +37,9 @@ export class ExpedientePage implements OnInit { const location = window.location const pathname = location.pathname + location.search - - this.LoadList(); + this.LoadList() + this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith(pathname)) { if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.html b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.html index e184bc4b8..c613e0d65 100644 --- a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.html +++ b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.html @@ -65,7 +65,7 @@
Documentos Anexados
- +

{{ Document.Assunto }}

{{ Document.Sender}}{{ Document.DocDate | date: 'dd/MM/yyyy HH:mm' }}

diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts index d963d6f04..4546c2355 100644 --- a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts +++ b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts @@ -48,7 +48,6 @@ export class ExpedientePrPage implements OnInit { private iab: InAppBrowser, private events: EventsService, private menu: MenuController, - private router: Router, private modalController: ModalController, public popoverController: PopoverController, private activatedRoute: ActivatedRoute, @@ -86,7 +85,7 @@ export class ExpedientePrPage implements OnInit { return new Date(e).toDateString() } - close(){ + close() { this.modalController.dismiss(); } @@ -129,7 +128,7 @@ export class ExpedientePrPage implements OnInit { } */ } - sendExpedienteToPending(){ + sendExpedienteToPending() { this.processes.SetTaskToPending(this.serialnumber).subscribe(res=>{ console.log(res); this.toastService.successMessage('Processo enviado para pendentes') @@ -140,7 +139,6 @@ export class ExpedientePrPage implements OnInit { }); } - async LoadTaskDetail(serial: string) { this.processes.GetTask(serial).subscribe(res => { @@ -155,9 +153,9 @@ export class ExpedientePrPage implements OnInit { "CreateDate":taskDate, "DocumentURL": res.workflowInstanceDataFields.ViewerRequest, "Remetente": res.workflowInstanceDataFields.Sender, - "Note": res.workflowInstanceDataFields.TaskMessage || res.workflowInstanceDataFields.Note, + "Note": res.workflowInstanceDataFields.TaskMessage || res.workflowInstanceDataFields.Note, // "FolderId": res.workflowInstanceDataFields.FolderID, - "FsId": res.workflowInstanceDataFields.FsId, + "FsId": res.workflowInstanceDataFields.FsId, // "DocId": res.workflowInstanceDataFields.DocId || res.workflowInstanceDataFields.DocID, "WorkflowName": res.workflowDisplayName, "activityInstanceName": res.activityInstanceName, @@ -196,32 +194,6 @@ export class ExpedientePrPage implements OnInit { }); } - getAttachments(serialNumber){ - console.log(serialNumber); - - this.attachmentsService.getAttachmentsBySerial(serialNumber).subscribe(res=>{ - this.attachments = res; - console.log('res', res); - }); - } - - async LoadRelatedEvents(serial: string) { - if (this.eventsList == null) { - this.attachmentsService.getAttachmentsBySerial(serial).subscribe(res => { - console.log(res); - res.forEach(att => { - if (this.eventsList == null) { - this.eventsList = new Array(); - } - this.events.getEvent(att.ParentId).subscribe(event => { - this.eventsList.push(event); - console.log(this.eventsList); - }); - }); - }); - } - } - viewDocument(DocId:string) { this.processes.GetDocumentUrl(DocId, this.task.FsId).subscribe(res=>{ console.log(res); @@ -562,7 +534,6 @@ export class ExpedientePrPage implements OnInit { }); } - async openOptions(taskAction?: any) { const popover = await this.popoverController.create({ component: OptsExpedientePrPage, diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts b/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts index d8d966be0..05792807c 100644 --- a/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts +++ b/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts @@ -47,7 +47,7 @@ export class ExpedientesPrPage implements OnInit { const location = window.location const pathname = location.pathname + location.search - this.LoadList(); + this.LoadList() this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith(pathname)) { @@ -61,7 +61,7 @@ export class ExpedientesPrPage implements OnInit { } - LoadList(){ + LoadList() { this.skeletonLoader = true this.processes.GetTasksList("Expediente", false).subscribe(result => { diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.ts b/src/app/pages/gabinete-digital/gabinete-digital.page.ts index 7e31cae4a..ef67fbc35 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.ts +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.ts @@ -1,13 +1,8 @@ -import { AfterViewInit, Component, DoCheck, OnInit, ViewChild } from '@angular/core'; +import { Component, DoCheck, OnInit, ViewChild } from '@angular/core'; import { ProcessesService } from 'src/app/services/processes.service'; import { AlertService } from 'src/app/services/alert.service'; import { ModalController } from '@ionic/angular'; -import { EventListPage } from './event-list/event-list.page'; -import { ExpedientePage } from './expediente/expediente.page'; import { ActivatedRoute, NavigationEnd, NavigationExtras, Router } from '@angular/router'; -import { DespachosPage } from './despachos/despachos.page'; -import { PedidosPage } from './pedidos/pedidos.page'; -/* import { PendentesPage } from './pendentes/pendentes.page'; */ import { AuthService } from 'src/app/services/auth.service'; import { User } from 'src/app/models/user.model'; import { ExpedientsPage } from 'src/app/shared/gabinete-digital/expedients/expedients.page'; @@ -23,6 +18,7 @@ import { DespachosprStore } from 'src/app/store/despachospr-store.service'; import { PermissionService } from 'src/app/OtherService/permission.service'; import { removeDuplicate } from 'src/plugin/removeDuplicate.js' import { WaitForDomService } from 'src/app/services/dom/wait-for-dom.service'; + @Component({ selector: 'app-gabinete-digital', templateUrl: './gabinete-digital.page.html', @@ -182,7 +178,7 @@ export class GabineteDigitalPage implements OnInit, DoCheck { } - async loadAllProcesses(){ + async loadAllProcesses() { let allProcessesList = await this.processesbackend.GetTasksList("", false).toPromise(); console.log(allProcessesList); @@ -211,11 +207,12 @@ export class GabineteDigitalPage implements OnInit, DoCheck { "Agenda": element.workflowInstanceDataFields.Agenda, "customDate": this.setFormatDate(new Date(element.workflowInstanceDataFields.StartDate), new Date(element.workflowInstanceDataFields.EndDate), element.workflowInstanceDataFields.IsAllDayEvent), } + this.allProcessesList.push(task); this.allProcessesList = removeDuplicate( this.allProcessesList) this.allProcessesList = this.sortArrayISODate(this.allProcessesList).reverse(); }); - //this.pendentesstore.reset(this.allProcessesList); + this.skeletonLoader = false; } @@ -244,7 +241,6 @@ export class GabineteDigitalPage implements OnInit, DoCheck { let diffDays = totalDays; let diffMinutes = minutes; - console.log(allday); if(totalDays == 0){ if(allday){ customDate = this.getCustomDate(start)+", "+this.getCustomHours(start)+" (todo dia)"; diff --git a/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts b/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts index 2b0c7e864..2ff1e9906 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts +++ b/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts @@ -53,8 +53,8 @@ export class PedidosPage implements OnInit { ngOnInit() { - this.LoadList(); - + this.LoadList() + this.router.events.forEach((event) => { if(event instanceof NavigationStart && '/home/gabinete-digital/pedidos?parecer=true'.startsWith(event.url) || event instanceof NavigationStart && '/home/gabinete-digital/pedidos?deferimento=true'.startsWith(event.url) diff --git a/src/app/pages/gabinete-digital/pendentes/pendentes.module.ts b/src/app/pages/gabinete-digital/pendentes/pendentes.module.ts index 22787ed6b..3d2776aa3 100644 --- a/src/app/pages/gabinete-digital/pendentes/pendentes.module.ts +++ b/src/app/pages/gabinete-digital/pendentes/pendentes.module.ts @@ -11,6 +11,7 @@ import { SharedModule } from 'src/app/shared/shared.module'; import { HeaderPageModule } from 'src/app/shared/header/header.module'; import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module'; +import { TaskListPageModule } from 'src/app/shared/gabinete-digital/generic/task-list/task-list.module'; @NgModule({ imports: [ @@ -21,6 +22,8 @@ import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn- PendentesPageRoutingModule, HeaderPageModule, BtnModalDismissPageModule, + // entryComponents + TaskListPageModule ], declarations: [PendentesPage] }) diff --git a/src/app/pages/gabinete-digital/pendentes/pendentes.page.html b/src/app/pages/gabinete-digital/pendentes/pendentes.page.html index be07b201d..dc2d3daa4 100644 --- a/src/app/pages/gabinete-digital/pendentes/pendentes.page.html +++ b/src/app/pages/gabinete-digital/pendentes/pendentes.page.html @@ -15,91 +15,21 @@
- + -
- - - - + + + + - - -
- -
- -
- -
-
-
- {{ task.Folio }} -
-
- - -
-
-
-
- {{task.Senders}} -
-
-
-
- {{task.activityInstanceName}} -
-
- {{ task.CreateDate | date: 'dd-MM-yyyy HH:mm' }} -
-
-
-
-
-
-
- - -
- Lista vazia -
- -
- - - - - - -

-

-

-
-
- - - - - -

-

-

-
-
-
-
-
+
diff --git a/src/app/pages/gabinete-digital/pendentes/pendentes.page.scss b/src/app/pages/gabinete-digital/pendentes/pendentes.page.scss index fda425ff4..921a17f3d 100644 --- a/src/app/pages/gabinete-digital/pendentes/pendentes.page.scss +++ b/src/app/pages/gabinete-digital/pendentes/pendentes.page.scss @@ -9,11 +9,13 @@ border-top-left-radius: 24px; } -ion-content, .header-2, .main-content{ +.header-2{ padding: 30px 20px 0 20px !important; background-color: white; } + .main-content { + background-color: white; padding-top: 0px !important; } diff --git a/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts b/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts index aa77c7e2d..33a947cfb 100644 --- a/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts +++ b/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts @@ -2,13 +2,14 @@ import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angu import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; import { CalendarComponent } from 'ionic2-calendar'; import { removeDuplicate } from 'src/plugin/removeDuplicate.js' -import { DailyWorkTask } from '../../../models/dailyworktask.model'; +import { customTaskList, DailyWorkTask } from '../../../models/dailyworktask.model'; import { ProcessesService } from 'src/app/services/processes.service'; import { formatDate } from '@angular/common'; import { AlertService } from 'src/app/services/alert.service'; import { PendentesStore } from 'src/app/store/pendestes-store.service'; import { User } from 'src/app/models/user.model'; import { AuthService } from 'src/app/services/auth.service'; +import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; @Component({ @@ -19,7 +20,6 @@ import { AuthService } from 'src/app/services/auth.service'; export class PendentesPage implements OnInit { @ViewChild(CalendarComponent) myCal: CalendarComponent; - pendentesList:DailyWorkTask[] = []; taskType: string; serialNumber:string; totalDocs:any; @@ -30,6 +30,7 @@ export class PendentesPage implements OnInit { segment:string; skeletonLoader = true pendentesstore = PendentesStore; + customTaskPipe = new CustomTaskPipe() constructor( private processes:ProcessesService, @@ -49,6 +50,8 @@ export class PendentesPage implements OnInit { const location = window.location const pathname = location.pathname + location.search + this.LoadList() + this.router.events.forEach((event) => { if (event instanceof NavigationEnd && event.url.startsWith(pathname)) { if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { @@ -69,46 +72,31 @@ export class PendentesPage implements OnInit { this.router.navigate(['/home/gabinete-digital']); } - notImplemented(){ + notImplemented() { this.alertService.presentAlert('Funcionalidade em desenvolvimento'); } - async LoadList(){ + async LoadList() { this.skeletonLoader = true; let pendentes = await this.processes.GetPendingTasks(false).toPromise(); - this.pendentesList = []; + let pendentesList = []; pendentes.forEach(element => { - let date = new Date(element.taskStartDate); - date.setMonth(date.getMonth() + 1); - let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); - - let task = { - "SerialNumber": element.serialNumber, - "Folio": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": element.totalDocuments, - "DocId": element.workflowInstanceDataFields.DocIdDiferimento, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": element.workflowInstanceDataFields.Status, - } - this.pendentesList.push(task); - this.pendentesList = removeDuplicate( this.pendentesList) - this.pendentesList = this.sortArrayISODate(this.pendentesList); - + let task: customTaskList = this.customTaskPipe.transform(element); + pendentesList.push(task); }); - this.pendentesstore.reset(this.pendentesList); + + pendentesList = removeDuplicate( pendentesList) + pendentesList = this.sortArrayISODate(pendentesList); + + this.pendentesstore.reset(pendentesList); this.skeletonLoader = false; } - sortArrayISODate(myArray: any){ + sortArrayISODate(myArray: any) { return myArray.sort(function(a, b) { return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); }); @@ -128,18 +116,27 @@ export class PendentesPage implements OnInit { }, 2000); } - async viewTaskDetails(serialNumber:string, workflowName:string) { - if(workflowName == 'Despacho'){ - this.router.navigate(['/home/gabinete-digital/despachos',serialNumber,'gabinete-digital']); + async viewTaskDetails({ SerialNumber, WorkflowName, activityInstanceName }:customTaskList) { + if(WorkflowName == 'Despacho') { + this.router.navigate(['/home/gabinete-digital/despachos',SerialNumber,'gabinete-digital']); } - else if(workflowName == 'Pedido de Parecer' || workflowName == 'Pedido de Deferimento'){ - this.router.navigate(['/home/gabinete-digital/pedidos',serialNumber,'gabinete-digital']); + else if(WorkflowName == 'Pedido de Parecer' || WorkflowName == 'Pedido de Deferimento' || WorkflowName == 'Pedido de Parecer do Presidente') { + this.router.navigate(['/home/gabinete-digital/pedidos',SerialNumber,'gabinete-digital']); } - else if(workflowName == 'Expediente'){ - this.router.navigate(['/home/gabinete-digital/expediente',serialNumber,'gabinete-digital']); + else if(WorkflowName == 'Expediente') { + this.router.navigate(['/home/gabinete-digital/expediente',SerialNumber,'gabinete-digital']); } - else if(workflowName == 'Expediente' && this.loggeduser.Profile == 'PR') { - this.router.navigate(['/home/gabinete-digital/expedientes-pr',serialNumber,'gabinete-digital']); + else if(WorkflowName == 'Expediente' && this.loggeduser.Profile == 'PR') { + this.router.navigate(['/home/gabinete-digital/expedientes-pr',SerialNumber,'gabinete-digital']); + } + else if (activityInstanceName == "Tarefa de Parecer") { + this.router.navigate(['/home/gabinete-digital/pedidos',SerialNumber,'gabinete-digital']); + } + else if(activityInstanceName == "Tarefa de Despacho") { + this.router.navigate(['/home/gabinete-digital/despachos',SerialNumber,'gabinete-digital']); + } + else { + console.log('cant find page for this task', WorkflowName, activityInstanceName) } } @@ -148,5 +145,4 @@ export class PendentesPage implements OnInit { return new Date(e).toDateString() } - } diff --git a/src/app/pages/inactivity/inactivity.page.ts b/src/app/pages/inactivity/inactivity.page.ts index 92db2288d..77700a497 100644 --- a/src/app/pages/inactivity/inactivity.page.ts +++ b/src/app/pages/inactivity/inactivity.page.ts @@ -140,10 +140,10 @@ export class InactivityPage implements OnInit { const encrypted = crypto.SHA1(code) if(!this.hasPin) { - // alert('storePin') + // console.log('storePin') this.storePin() } else { - // alert('pinLogin') + // console.log('pinLogin') this.pinLogin() } } diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index e4f2c25b8..12f62751a 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -111,7 +111,7 @@ export class LoginPage implements OnInit { getToken() { this.notificatinsservice.getAndpostToken(this.username); - //alert('HERE'); + //console.log('HERE'); } async Login() { @@ -161,10 +161,10 @@ export class LoginPage implements OnInit { const encrypted = crypto.SHA1(code) if(!this.hasPin) { - // alert('storePin') + // console.log('storePin') this.storePin() } else { - // alert('pinLogin') + // console.log('pinLogin') this.pinLogin() } } diff --git a/src/app/pages/publications/new-publication/new-publication.page.ts b/src/app/pages/publications/new-publication/new-publication.page.ts index 14a4b624a..6ecaa3d5d 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.ts +++ b/src/app/pages/publications/new-publication/new-publication.page.ts @@ -248,7 +248,7 @@ export class NewPublicationPage implements OnInit { else { const date = formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss') - alert(date) + console.log(date) this.publication = { DateIndex: date, diff --git a/src/app/pipes/custom-task.pipe.spec.ts b/src/app/pipes/custom-task.pipe.spec.ts new file mode 100644 index 000000000..4172ee147 --- /dev/null +++ b/src/app/pipes/custom-task.pipe.spec.ts @@ -0,0 +1,8 @@ +import { CustomTaskPipe } from './custom-task.pipe'; + +describe('CustomTaskPipe', () => { + it('create an instance', () => { + const pipe = new CustomTaskPipe(); + expect(pipe).toBeTruthy(); + }); +}); diff --git a/src/app/pipes/custom-task.pipe.ts b/src/app/pipes/custom-task.pipe.ts new file mode 100644 index 000000000..e5f610134 --- /dev/null +++ b/src/app/pipes/custom-task.pipe.ts @@ -0,0 +1,31 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import { customTaskList } from '../models/dailyworktask.model'; + +@Pipe({ + name: 'customTask' +}) +export class CustomTaskPipe implements PipeTransform { + + transform(fullTask): customTaskList { + + let date = new Date(fullTask.taskStartDate); + date.setMonth(date.getMonth() + 1); + let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); + + return { + "SerialNumber": fullTask.serialNumber, + "Folio": fullTask.workflowInstanceDataFields.Subject, + "Senders": fullTask.workflowInstanceDataFields.Sender, + "CreateDate": taskDate, + "DocumentURL": fullTask.workflowInstanceDataFields.ViewerRequest, + "Remetente": fullTask.workflowInstanceDataFields.Remetente, + "DocumentsQty": fullTask.totalDocuments, + "DocId": fullTask.workflowInstanceDataFields.DispatchDocId, + "FolderID": fullTask.workflowInstanceDataFields.FolderID, + "WorkflowName": fullTask.workflowDisplayName, + "activityInstanceName": fullTask.activityInstanceName, + "Status": fullTask.workflowInstanceDataFields.Status, + } + } + +} diff --git a/src/app/pipes/pipes.module.ts b/src/app/pipes/pipes.module.ts index 3867629f9..9728402d2 100644 --- a/src/app/pipes/pipes.module.ts +++ b/src/app/pipes/pipes.module.ts @@ -1,10 +1,11 @@ import { NgModule } from '@angular/core'; import { FilterPipe } from './filter.pipe'; import { SearchDocumentPipe } from './search-document.pipe'; +import { CustomTaskPipe } from './custom-task.pipe'; @NgModule({ - declarations: [FilterPipe, SearchDocumentPipe], + declarations: [FilterPipe, SearchDocumentPipe, CustomTaskPipe], exports: [FilterPipe], imports: [] }) diff --git a/src/app/services/processes.service.ts b/src/app/services/processes.service.ts index 7f8addef0..0f5f1690a 100644 --- a/src/app/services/processes.service.ts +++ b/src/app/services/processes.service.ts @@ -88,7 +88,7 @@ export class ProcessesService { return this.http.post(`${geturl}`, body, options); } - GetTaskParticipants(folderId:string): Observable{ + GetTaskParticipants(folderId): Observable{ const geturl = environment.apiURL + 'Processes/GetUsersInDispash'; let params = new HttpParams(); diff --git a/src/app/services/webnotifications.service.ts b/src/app/services/webnotifications.service.ts index 85469e00e..c528bc51c 100644 --- a/src/app/services/webnotifications.service.ts +++ b/src/app/services/webnotifications.service.ts @@ -39,7 +39,7 @@ export class WebNotificationsService { MFPPush.registerDevice() .then((res) => { - alert("WEB Successfully Registered Device..."); + console.log("WEB Successfully Registered Device..."); }) .catch((err) => { console.log("WEB Registration Failed" + err); diff --git a/src/app/shared/agenda/new-event/new-event.page.html b/src/app/shared/agenda/new-event/new-event.page.html index 12d3aa2cd..12465819e 100644 --- a/src/app/shared/agenda/new-event/new-event.page.html +++ b/src/app/shared/agenda/new-event/new-event.page.html @@ -186,11 +186,11 @@ - {{recurring.Description}} - + --> @@ -204,19 +204,6 @@
- - - - -
-
diff --git a/src/app/shared/chat/group-messages/group-messages.page.scss b/src/app/shared/chat/group-messages/group-messages.page.scss index 46a69b6a8..fc3ee7a9b 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.scss +++ b/src/app/shared/chat/group-messages/group-messages.page.scss @@ -160,14 +160,15 @@ .container{ justify-content: center; justify-content: space-evenly; + align-items: center; } .chat-icon-options{ display:block !important; - font-size: 25px; + font-size: 35px; float: right !important; - margin-top: 10px; + margin-top: 5px; } .chat-icon-send{ diff --git a/src/app/shared/chat/group-messages/group-messages.page.ts b/src/app/shared/chat/group-messages/group-messages.page.ts index 8affbd4de..bcec85e3f 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -3,12 +3,13 @@ import { ActionSheetController, AnimationController, MenuController, ModalContro import { AlertService } from 'src/app/services/alert.service'; import { AuthService } from 'src/app/services/auth.service'; import { ChatService } from 'src/app/services/chat.service'; -import { ChatOptionsPopoverPage } from 'src/app/shared/popover/chat-options-popover/chat-options-popover.page'; import { ChatPopoverPage } from 'src/app/shared/popover/chat-popover/chat-popover.page'; import { ContactsPage } from '../new-group/contacts/contacts.page'; import { NewGroupPage } from '../new-group/new-group.page'; import { GroupContactsPage } from './group-contacts/group-contacts.page'; import { Router } from '@angular/router' +import { ChatOptionsPopoverPage } from '../../popover/chat-options-popover/chat-options-popover.page'; +import { ChatOptionsFeaturesPage } from 'src/app/modals/chat-options-features/chat-options-features.page'; @Component({ selector: 'app-group-messages', @@ -34,6 +35,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { @Output() showEmptyContainer:EventEmitter = new EventEmitter(); @Output() openGroupContacts:EventEmitter = new EventEmitter(); @Output() openEditGroupPage:EventEmitter = new EventEmitter(); + @Output() openNewEventPage:EventEmitter = new EventEmitter(); @ViewChild('scrollMe') private myScrollContainer: ElementRef; @@ -79,6 +81,14 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { this.openGroupContacts.emit(this.roomId); } + openBookMeetingComponent(){ + let data = { + roomId: this.roomId, + members: this.members + } + this.openNewEventPage.emit(data); + } + close(){ this.modalController.dismiss(); } @@ -242,7 +252,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { } openSendGroupMessageOptions(ev?: any){ - if(window.innerWidth <= 1024){ + if(window.innerWidth <= 701){ console.log('mobile'); this.openChatOptions(ev); } @@ -280,6 +290,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { event: ev, componentProps: { room: this.room, + members: this.members, }, translucent: true }); @@ -350,7 +361,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { return this.animationController.create() .addElement(baseEl) .easing('ease-out') - .duration(500) + .duration(5000) .addAnimation([backdropAnimation, wrapperAnimation]); } @@ -361,13 +372,27 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { const modal = await this.modalController.create({ enterAnimation, leaveAnimation, - component: ChatOptionsPopoverPage, + component: ChatOptionsFeaturesPage, cssClass: 'model profile-modal search-submodal', componentProps: { roomId: this.roomId, + members: this.members, } }); - return await modal.present(); + + await modal.present(); + modal.onDidDismiss().then((res)=>{ + console.log(res['data']); + if(res['data'] == 'meeting'){ + //this.closeAllDesktopComponents.emit(); + let data = { + roomId: this.roomId, + members: this.members + } + this.openNewEventPage.emit(data); + } + + }); } async serverLongPull(){ diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index edd0c5a38..0e4ce007b 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -50,7 +50,7 @@
-
diff --git a/src/app/shared/event/attendee-modal/attendee-modal.page.ts b/src/app/shared/event/attendee-modal/attendee-modal.page.ts index f48ddcf37..294cf7450 100644 --- a/src/app/shared/event/attendee-modal/attendee-modal.page.ts +++ b/src/app/shared/event/attendee-modal/attendee-modal.page.ts @@ -100,7 +100,7 @@ export class AttendeePage implements OnInit { itm.IsRequired = false; this.LtaskParticipantsCc.push(itm); } else { - // alert('bug') + // console.log('bug') } // run only in gabinete digital diff --git a/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts b/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts index d7a83f62d..c31a6d9e8 100644 --- a/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts +++ b/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts @@ -96,7 +96,6 @@ export class AllProcessesPage implements OnInit { let diffDays = totalDays; let diffMinutes = minutes; - console.log(allday); if(totalDays == 0) { if(allday) { customDate = this.getCustomDate(start)+", "+this.getCustomHours(start)+" (todo dia)"; diff --git a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.module.ts b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.module.ts index c82c092c2..4f4f714bf 100644 --- a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.module.ts +++ b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.module.ts @@ -7,13 +7,16 @@ import { IonicModule } from '@ionic/angular'; import { DespachosPrPageRoutingModule } from './despachos-pr-routing.module'; import { DespachosPrPage } from './despachos-pr.page'; +import { TaskListPageModule } from '../generic/task-list/task-list.module'; @NgModule({ imports: [ CommonModule, FormsModule, IonicModule, - DespachosPrPageRoutingModule + DespachosPrPageRoutingModule, + // entryComponents + TaskListPageModule ], exports: [DespachosPrPage], declarations: [DespachosPrPage] diff --git a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.html b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.html index e888eb12a..9d64f4db1 100644 --- a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.html +++ b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.html @@ -24,77 +24,11 @@ -
- -
- - -
- -
-
-
- {{ task.Folio }} -
-
- - -
-
-
-
- {{task.Senders}} -
-
-
-
- {{task.activityInstanceName}} -
-
- {{ task.CreateDate | date: 'dd-MM-yyyy HH:mm' }} -
-
-
-
-
-
- -
- Lista vazia -
- -
- - - - - - - -

-

-

-
-
- - - - - -

-

-

-
-
-
-
-
+ + diff --git a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts index 79992a246..5191f345a 100644 --- a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts +++ b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts @@ -1,20 +1,13 @@ -import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; -import { CalendarComponent } from 'ionic2-calendar'; +import { Component, OnInit} from '@angular/core'; -import { DailyWorkTask, tasksList } from '../../../models/dailyworktask.model'; +import { customTaskList} from '../../../models/dailyworktask.model'; import { ProcessesService } from 'src/app/services/processes.service'; -import { ModalController } from '@ionic/angular'; -import { AlertService } from 'src/app/services/alert.service'; - -import { ExpedientTaskModalPage } from 'src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page'; -import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page'; -import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page'; import { AuthService } from 'src/app/services/auth.service'; -import { DespachoPrPage } from 'src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page'; import { User } from 'src/app/models/user.model'; -import { NavigationEnd, NavigationExtras, NavigationStart, Router } from '@angular/router'; +import { NavigationStart, Router } from '@angular/router'; import { DespachosprStore } from 'src/app/store/despachospr-store.service'; +import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; @Component({ selector: 'app-despachos-pr', @@ -22,54 +15,26 @@ import { DespachosprStore } from 'src/app/store/despachospr-store.service'; styleUrls: ['./despachos-pr.page.scss'], }) export class DespachosPrPage implements OnInit { -//profile:string; -@ViewChild(CalendarComponent) myCal: CalendarComponent; + customTaskPipe = new CustomTaskPipe() + skeletonLoader = true -taskslist:DailyWorkTask[] = []; -despachoList:any[]=[]; -deferimentoList:DailyWorkTask[] = []; - -taskList:tasksList[] = []; - -taskType: string; -serialNumber:string; -totalDocs:any; -skeletonLoader = true - -@Input() profile:string; -segment:string; -@Output() openExpedientDetail:EventEmitter = new EventEmitter(); - -loadedAttachments:any; -dicIndex = 0; -inicial = false - -loggeduser: User; -despachosprstore = DespachosprStore; + loggeduser: User; + despachosprstore = DespachosprStore; constructor ( private processes:ProcessesService, - private modalController: ModalController, - private alertService: AlertService, private authService: AuthService, private router: Router, ) { - this.profile = 'mdgpr'; this.loggeduser = authService.ValidatedUser; } ngOnInit() { - //Inicializar segment - this.segment = "despachos"; - - // update list - const location = window.location - const pathname = location.pathname + location.search - - this.LoadList(); + this.LoadList() + this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith('/home/gabinete-digital?despachospr=true')) { @@ -83,34 +48,12 @@ constructor ( } - segmentChanged(ev: any) { - this.LoadList(); - } - - goToDespachoPr(serialNumber:any) { - let navigationExtras: NavigationExtras = { - queryParams: { - "serialNumber": serialNumber, - } - }; - this.router.navigate(['/home/gabinete-digital/despachos-pr/despacho-pr'], navigationExtras); - } - - notImplemented(){ - this.alertService.presentAlert('Funcionalidade em desenvolvimento'); - } - - openExpedientDetailPage(data){ - console.log(data); - this.openExpedientDetail.emit(data); - } - async LoadList() { this.skeletonLoader = true; let result = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise(); - this.despachoList = []; + let despachoList = []; let despachosPr; switch (this.loggeduser.Profile) { @@ -123,212 +66,42 @@ constructor ( } despachosPr = despachosPr.filter(data => data.workflowInstanceDataFields.Status == "Active"); - console.log('despachosPr', despachosPr); despachosPr.forEach( (element, index) => { - let date = new Date(element.taskStartDate); - date.setMonth(date.getMonth() + 1); - let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); + let task: customTaskList = this.customTaskPipe.transform(element); - let task = { - "SerialNumber": element.serialNumber, - "Folio": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": element.totalDocuments, - "DocId": element.workflowInstanceDataFields.DispatchDocID, - "FolderID": element.workflowInstanceDataFields.FolderID, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": element.workflowInstanceDataFields.Status, - } - - this.despachoList.push(task); + despachoList.push(task); }); - this.despachoList = this.sortArrayISODate(this.despachoList).reverse() - this.despachosprstore.reset(this.despachoList); + despachoList = this.sortArrayISODate(despachoList).reverse() + this.despachosprstore.reset(despachoList); this.skeletonLoader = false; } - sortArrayISODate(myArray: any){ - return myArray.sort(function(a, b) { - return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); - }); - } - - refreshing(){ - setTimeout(() => { - this.LoadList(); - }, 1000); - } - -doRefresh() { - - - setTimeout(() => { - this.LoadList(); - //event.target.complete(); - }, 1000); -} - -goToDespacho(serialNumber:any){ - this.router.navigate(['/home/gabinete-digital/despachos-pr',serialNumber,'gabinete-digital']); -} - -async viewExpedientDetail(serialNumber:any) { - console.log(this.profile); - - let classs; - if( window.innerWidth <= 800){ - classs = 'modal modal-desktop' - } else { - classs = 'modal modal-desktop' + sortArrayISODate(myArray: any){ + return myArray.sort(function(a, b) { + return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); + }); } - const modal = await this.modalController.create({ - component: DespachoPrPage, - componentProps:{ - enterAnimation: "", - serialNumber: serialNumber, - profile: this.profile, - }, - cssClass: classs, - }); - await modal.present(); - modal.onDidDismiss().then((res)=>{ - console.log('refresh list'); - this.LoadList(); - }); -} - - // old - async openExpedientActionsModal(taskAction: any, task: any) { - //this.modalController.dismiss(); - let classs; - if( window.innerWidth <= 800){ - classs = 'modal modal-desktop' - } else { - classs = 'modal modal-desktop showAsideOptions' - } - - const doc = this.loadedAttachments[ this.dicIndex]; - - task = { - serialNumber: doc.SourceId, - taskStartDate: doc.CreateDate, - isEvent: true, - workflowInstanceDataFields: { - FsId: doc.ApplicationId, - FolderID: null, - DocId: doc.SourceId, - Subject: doc.SourceName - }, - } - - const modal = await this.modalController.create({ - component: ExpedientTaskModalPage, - componentProps: { - taskAction: taskAction, - task: task, - profile: this.profile, - }, - cssClass: classs, - }); - await modal.present(); - modal.onDidDismiss().then(res=>{ - console.log(res['data']); - this.LoadList(); - if(res['data']=='openDiscart'){ - console.log('open discart'); - - // this.distartExpedientModal(); - - } - - }); - } - - async openBookMeetingModal(task: any) { - - const doc = this.loadedAttachments[ this.dicIndex]; - - task = { - serialNumber: doc.SourceId, - taskStartDate: doc.CreateDate, - isEvent: true, - workflowInstanceDataFields: { - FsId: doc.ApplicationId, - FolderID: null, - DocId: doc.SourceId, - Subject: doc.SourceName - }, - } - - let classs; - if( window.innerWidth <= 800){ - classs = 'book-meeting-modal modal modal-desktop' - } else { - classs = 'modal modal-desktop showAsideOptions' - } - const modal = await this.modalController.create({ - component: BookMeetingModalPage, - componentProps: { - task: task, - }, - cssClass: classs, - backdropDismiss: false - }); - await modal.present(); - modal.onDidDismiss().then(res=>{ + refreshing(){ + setTimeout(() => { this.LoadList(); - if(res['data']=='close'){ - // this.close(); - /* console.log('2Expedient Discard closed2'); - this.close(); - this.openMenu(); */ - } + }, 1000); + } - }); - } + doRefresh() { + setTimeout(() => { + this.LoadList(); + //event.target.complete(); + }, 1000); + } - async distartExpedientModal() { - - const doc = this.taskList[ this.dicIndex]; - - console.log(doc, this.dicIndex, this.taskList) - - const modal = await this.modalController.create({ - component: DiscartExpedientModalPage, - componentProps: { - serialNumber: doc.serialNumber, - folderId: doc.workflowInstanceDataFields.FolderID, - action: 'complete', - }, - cssClass: 'discart-expedient-modal', - backdropDismiss: false - }); - - await modal.present(); - modal.onDidDismiss().then(res=>{ - this.LoadList(); - if(res['data']=='close'){ - // this.close(); - /* console.log('2Expedient Discard closed2'); - this.close(); - this.openMenu(); */ - } - - }); - } - - docIndex(index: number) { - this.dicIndex = index; - } + goToDespacho({ SerialNumber } :customTaskList) { + this.router.navigate(['/home/gabinete-digital/despachos-pr',SerialNumber,'gabinete-digital']); + } } diff --git a/src/app/shared/gabinete-digital/despachos/despachos.module.ts b/src/app/shared/gabinete-digital/despachos/despachos.module.ts index 4fff76935..e6598bf66 100644 --- a/src/app/shared/gabinete-digital/despachos/despachos.module.ts +++ b/src/app/shared/gabinete-digital/despachos/despachos.module.ts @@ -7,13 +7,17 @@ import { IonicModule } from '@ionic/angular'; import { DespachosPageRoutingModule } from './despachos-routing.module'; import { DespachosPage } from './despachos.page'; +import { TaskListPageModule } from 'src/app/shared/gabinete-digital/generic/task-list/task-list.module' @NgModule({ imports: [ CommonModule, FormsModule, IonicModule, - DespachosPageRoutingModule + DespachosPageRoutingModule, + // entryComponents + TaskListPageModule + ], exports: [DespachosPage], declarations: [DespachosPage] diff --git a/src/app/shared/gabinete-digital/despachos/despachos.page.html b/src/app/shared/gabinete-digital/despachos/despachos.page.html index acd21332e..d2896f812 100644 --- a/src/app/shared/gabinete-digital/despachos/despachos.page.html +++ b/src/app/shared/gabinete-digital/despachos/despachos.page.html @@ -11,89 +11,21 @@ - - + + -
- - -
- -
- -
-
-
- {{ task.Folio }} -
-
- - -
-
-
-
- {{task.Senders}} -
-
-
-
- {{task.activityInstanceName}} -
-
- {{ task.CreateDate | date: 'dd-MM-yyyy HH:mm' }} -
-
-
-
-
-
- -
- Lista vazia -
- -
- - - - - - - -

-

-

-
-
- - - - - -

-

-

-
-
-
-
- -
- + +
diff --git a/src/app/shared/gabinete-digital/despachos/despachos.page.scss b/src/app/shared/gabinete-digital/despachos/despachos.page.scss index d8be65f71..0bf21f51a 100644 --- a/src/app/shared/gabinete-digital/despachos/despachos.page.scss +++ b/src/app/shared/gabinete-digital/despachos/despachos.page.scss @@ -1,6 +1,6 @@ @import '~src/function.scss'; /* CONTENT */ -:host{ +ion-header { padding: 30px 20px 0 20px !important; margin: 0; } @@ -97,6 +97,7 @@ ion-item{ font-size: 12px; padding-right: 18px; } + /* New CSS */ .expediente{ border-radius: 15px; diff --git a/src/app/shared/gabinete-digital/despachos/despachos.page.ts b/src/app/shared/gabinete-digital/despachos/despachos.page.ts index f240eb219..f37a1fb3b 100644 --- a/src/app/shared/gabinete-digital/despachos/despachos.page.ts +++ b/src/app/shared/gabinete-digital/despachos/despachos.page.ts @@ -1,21 +1,9 @@ -import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; -import { CalendarComponent } from 'ionic2-calendar'; - -import { DailyWorkTask, tasksList } from '../../../models/dailyworktask.model'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { customTaskList, DailyWorkTask, fullTask, tasksList } from '../../../models/dailyworktask.model'; import { ProcessesService } from 'src/app/services/processes.service'; -import { formatDate } from '@angular/common'; -import { ModalController } from '@ionic/angular'; -import { ExpedienteDetailPage } from 'src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page'; -import { AlertService } from 'src/app/services/alert.service'; - -import { ExpedientTaskModalPage } from 'src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page'; -import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page'; -import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page'; - -import { AuthService } from 'src/app/services/auth.service'; -import { DespachoPage } from 'src/app/pages/gabinete-digital/despachos/despacho/despacho.page'; -import { ActivatedRoute, NavigationEnd, NavigationExtras, NavigationStart, Router } from '@angular/router'; -import { DespachoStore, DespachoStoreService } from 'src/app/store/despacho-store.service'; +import { NavigationStart, Router } from '@angular/router'; +import { DespachoStore } from 'src/app/store/despacho-store.service'; +import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; @Component({ selector: 'app-despachos', @@ -23,254 +11,70 @@ import { DespachoStore, DespachoStoreService } from 'src/app/store/despacho-stor styleUrls: ['./despachos.page.scss'], }) export class DespachosPage implements OnInit { - //profile:string; - @ViewChild(CalendarComponent) myCal: CalendarComponent; - - taskslist:DailyWorkTask[] = []; - despachoList:any[] = []; - deferimentoList:DailyWorkTask[] = []; - - taskList:tasksList[] = []; - - taskType: string; - serialNumber:string; - totalDocs:any; - - @Input() profile:string; segment:string; @Output() openExpedientDetail:EventEmitter = new EventEmitter(); - loadedAttachments:any; - dicIndex = 0; - inicial = false skeletonLoader = true despachoStore = DespachoStore; + customTaskPipe = new CustomTaskPipe() constructor ( private processes:ProcessesService, - private modalController: ModalController, - private alertService: AlertService, - private authService: AuthService, private router: Router, - private activatedRoute: ActivatedRoute, - ) { - this.profile = 'mdgpr'; - - this.activatedRoute.queryParams.subscribe(params => { - if(params["serialNumber"]) { - this.serialNumber = params["serialNumber"]; - console.log(params["serialNumber"]); - } - }); - - } + ) {} ngOnInit() { - //Inicializar segment - this.segment = "despachos"; + this.LoadList(); this.router.events.forEach((event) => { - if (event instanceof NavigationStart && - event.url.startsWith('/home/gabinete-digital?despachos=true')) { - if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { - this.doRefresh() - } else { - this.LoadList() - } + if (event instanceof NavigationStart && event.url.startsWith('/home/gabinete-digital?despachos=true')) { + if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { + this.doRefresh() + } else { + this.LoadList() + } } }); - } - segmentChanged(ev: any) { - this.LoadList(); - } - - goToDespacho(serialNumber:any) { - this.router.navigate(['/home/gabinete-digital/despachos',serialNumber,'gabinete-digital']); - } - - notImplemented(){ - this.alertService.presentAlert('Funcionalidade em desenvolvimento'); - } - - openExpedientDetailPage(data){ - this.openExpedientDetail.emit(data); + goToDespacho({ SerialNumber } :customTaskList) { + this.router.navigate(['/home/gabinete-digital/despachos',SerialNumber,'gabinete-digital']); } async LoadList() { this.skeletonLoader = true - let result = await this.processes.GetTasksList("Despacho", false).toPromise(); + let result: fullTask[] = await this.processes.GetTasksList("Despacho", false).toPromise(); + result = result.filter(data => data.workflowInstanceDataFields.Status == "Active") - this.despachoList = new Array(); + let despachoList = new Array(); - await result.filter(data => data.workflowInstanceDataFields.Status == "Active").forEach( (element, index) => { + result.forEach((element, index) => { - let date = new Date(element.taskStartDate); - date.setMonth(date.getMonth() + 1); - let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); - - let task = { - "SerialNumber": element.serialNumber, - "Folio": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": element.totalDocuments, - "DocId": element.workflowInstanceDataFields.DispatchDocId, - "FolderID": element.workflowInstanceDataFields.FolderID, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": element.workflowInstanceDataFields.Status, - } - - this.despachoList.push(task) + let task = this.customTaskPipe.transform(element); + despachoList.push(task); }); - this.despachoList = this.sortArrayISODate(this.despachoList).reverse(); - this.despachoStore.reset(this.despachoList); + despachoList = this.sortArrayISODate(despachoList).reverse(); + this.despachoStore.reset(despachoList); this.skeletonLoader = false } - sortArrayISODate(myArray: any){ + sortArrayISODate(myArray: any) { return myArray.sort(function(a, b) { return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); }); } doRefresh() { - setTimeout(() => { this.LoadList(); }, 1000); } - // old - async openExpedientActionsModal(taskAction: any, task: any) { - - let classs; - if( window.innerWidth <= 800){ - classs = 'modal modal-desktop' - } else { - classs = 'modal modal-desktop showAsideOptions' - } - - const doc = this.loadedAttachments[ this.dicIndex]; - - task = { - serialNumber: doc.SourceId, - taskStartDate: doc.CreateDate, - isEvent: true, - workflowInstanceDataFields: { - FsId: doc.ApplicationId, - FolderID: null, - DocId: doc.SourceId, - Subject: doc.SourceName - } - } - - const modal = await this.modalController.create({ - component: ExpedientTaskModalPage, - componentProps: { - taskAction: taskAction, - task: task, - profile: this.profile, - }, - cssClass: classs, - }); - await modal.present(); - modal.onDidDismiss().then(res=>{ - console.log(res['data']); - this.LoadList(); - if(res['data']=='openDiscart'){ - console.log('open discart'); - - - // this.distartExpedientModal(); - - } - - }); - } - - async openBookMeetingModal(task: any) { - - const doc = this.loadedAttachments[ this.dicIndex]; - - task = { - serialNumber: doc.SourceId, - taskStartDate: doc.CreateDate, - isEvent: true, - workflowInstanceDataFields: { - FsId: doc.ApplicationId, - FolderID: null, - DocId: doc.SourceId, - Subject: doc.SourceName - }, - } - - let classs; - if( window.innerWidth <= 800){ - classs = 'book-meeting-modal modal modal-desktop' - } else { - classs = 'modal modal-desktop showAsideOptions' - } - const modal = await this.modalController.create({ - component: BookMeetingModalPage, - componentProps: { - task: task, - }, - cssClass: classs, - backdropDismiss: false - }); - await modal.present(); - modal.onDidDismiss().then(res=>{ - this.LoadList(); - - }); - } - - - async distartExpedientModal() { - - const doc = this.taskList[ this.dicIndex]; - - // console.log(doc, this.dicIndex, this.taskList) - - const modal = await this.modalController.create({ - component: DiscartExpedientModalPage, - componentProps: { - serialNumber: doc.serialNumber, - folderId: doc.workflowInstanceDataFields.FolderID, - action: 'complete', - }, - cssClass: 'discart-expedient-modal', - backdropDismiss: false - }); - - await modal.present(); - modal.onDidDismiss().then(res=>{ - this.LoadList(); - - if(res['data']=='close'){ - // this.close(); - /* console.log('2Expedient Discard closed2'); - this.close(); - this.openMenu(); */ - } - - }); - } - - docIndex(index: number) { - this.dicIndex = index; - } - } diff --git a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts index 1f3249f74..544687609 100644 --- a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts +++ b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts @@ -1,11 +1,11 @@ -import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; -import { NavigationEnd, NavigationExtras, NavigationStart, Router } from '@angular/router'; -import { DailyWorkTask, tasksList } from '../../../models/dailyworktask.model'; +import { Component, OnInit } from '@angular/core'; +import { NavigationStart, Router } from '@angular/router'; +import { customTask, DailyWorkTask } from '../../../models/dailyworktask.model'; import { ProcessesService } from 'src/app/services/processes.service'; -import { formatDate } from '@angular/common'; -import { ModalController, NavParams } from '@ionic/angular'; +import { ModalController } from '@ionic/angular'; import { AlertService } from 'src/app/services/alert.service'; -import { DiplomaPage } from 'src/app/pages/gabinete-digital/diplomas/diploma/diploma.page'; +import { DeplomasStore } from 'src/app/store/deplomas.service'; +import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; @Component({ selector: 'app-diplomas-assinar', @@ -13,28 +13,25 @@ import { DiplomaPage } from 'src/app/pages/gabinete-digital/diplomas/diploma/dip styleUrls: ['./diplomas-assinar.page.scss'], }) export class DiplomasAssinarPage implements OnInit { - //profile:string; -diplomasList:DailyWorkTask[] = []; -showLoader: boolean; -totalDocs:any; -serialNumber:string; -skeletonLoader = true -@Input() profile:string; -@Input() segment:string; + diplomasList:DailyWorkTask[] = []; + serialNumber:string; + skeletonLoader = true + + deplomasStore = DeplomasStore + customTaskPipe = new CustomTaskPipe() constructor( private processes:ProcessesService, private modalController: ModalController, private alertService: AlertService, private router: Router, - ) { - } + ) { } ngOnInit() { - // update list - this.LoadList(); + this.LoadList() + this.router.events.forEach((event) => { if (event instanceof NavigationStart && '/home/gabinete-digital?diplomasassinar=true'.startsWith(event.url)) { if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { @@ -52,14 +49,13 @@ skeletonLoader = true } doRefresh() { - setTimeout(() => { this.LoadList(); //event.target.complete(); }, 1000); } - async LoadList(){ + async LoadList() { this.skeletonLoader = true @@ -70,55 +66,15 @@ skeletonLoader = true console.log(diplomas); let diplomasAssinar = diplomas.reverse().filter(data => data.activityInstanceName == "Assinar Diploma"); console.log(diplomasAssinar); + diplomasAssinar.forEach(element => { - let DocId = element.workflowInstanceDataFields.FolderID; - let ApplicationId = element.workflowInstanceDataFields.ApplicationId; - this.processes.GetDocumentDetails(DocId, '361').subscribe(res=>{ - this.totalDocs = res.DocumentsTotal; - console.log(res.DocumentsTotal); - let date = new Date(element.taskStartDate); - date.setMonth(date.getMonth() + 1); - let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); + + let task: customTask = this.customTaskPipe.transform(element) + this.diplomasList.push(task); + this.deplomasStore.resetDiplomasList(this.diplomasList) - let task = { - "SerialNumber": element.serialNumber, - "Folio": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": element.totalDocuments, - "DocId": element.workflowInstanceDataFields.DispatchDocID, - "FolderID": element.workflowInstanceDataFields.FolderID, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": element.workflowInstanceDataFields.Status, - } - this.diplomasList.push(task); - }, - (error)=>{ - let date = new Date(element.taskStartDate); - date.setMonth(date.getMonth() + 1); - let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); + }); - let task = { - "SerialNumber": element.serialNumber, - "Folio": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Sender, - "DocumentsQty": element.totalDocuments, - "DocId": element.workflowInstanceDataFields.DispatchDocID, - "FolderID": element.workflowInstanceDataFields.FolderID, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": element.workflowInstanceDataFields.Status, - } - this.diplomasList.push(task); - }); - }); - this.showLoader = false; } -} +} \ No newline at end of file diff --git a/src/app/shared/gabinete-digital/diplomas/diplomas.page.html b/src/app/shared/gabinete-digital/diplomas/diplomas.page.html index d9f7cc18b..06e93b8cf 100644 --- a/src/app/shared/gabinete-digital/diplomas/diplomas.page.html +++ b/src/app/shared/gabinete-digital/diplomas/diplomas.page.html @@ -23,46 +23,47 @@
-
+
-
-
-
- {{ task.Folio }} -
-
- - -
+ > +
+
+
+ {{ task.Folio }}
-
-
- {{task.Senders}} -
+
+ +
-
-
- {{task.activityInstanceName}} -
-
- {{ task.CreateDate | date: 'dd-MM-yyyy HH:mm' }} -
+
+
+
+ {{task.Senders}} +
+
+
+
+ {{task.activityInstanceName}} +
+
+ {{ task.CreateDate | date: 'dd-MM-yyyy HH:mm' }}
+
-
+
@@ -94,13 +95,13 @@
Lista vazia
-
+
diff --git a/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts b/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts index 47f6b5712..83c02725d 100644 --- a/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts +++ b/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts @@ -5,6 +5,8 @@ import { ProcessesService } from 'src/app/services/processes.service'; import { ModalController, NavParams } from '@ionic/angular'; import { AlertService } from 'src/app/services/alert.service'; import { removeDuplicate } from 'src/plugin/removeDuplicate.js' +import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; +import { DeplomasStore } from 'src/app/store/deplomas.service'; @Component({ selector: 'app-diplomas', @@ -16,12 +18,15 @@ export class DiplomasPage implements OnInit { diplomasList:DailyWorkTask[] = []; diplomasAssinadoList:DailyWorkTask[] = []; showLoader: boolean; -totalDocs:any; serialNumber:string; skeletonLoader = false @Input() segment:string; + +deplomasStore = DeplomasStore +customTaskPipe = new CustomTaskPipe() + constructor( private processes:ProcessesService, private modalController: ModalController, @@ -34,11 +39,8 @@ constructor( ngOnInit() { // update list - this.LoadList(); - // update list - const location = window.location - const pathname = location.pathname + location.search - + this.LoadList() + this.router.events.forEach((event) => { if (event instanceof NavigationStart && '/home/gabinete-digital?diplomas=true'.startsWith(event.url)) { if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { @@ -65,7 +67,6 @@ constructor( } async LoadList() { - this.skeletonLoader = true let diplomas = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise(); @@ -73,7 +74,6 @@ constructor( let diplomasList = []; let diplomasValidar = diplomas.filter(data => data.activityInstanceName == "Revisar Diploma"); - diplomasValidar.forEach(element => { let task = this.pipeTask(element) @@ -81,11 +81,9 @@ constructor( }); this.diplomasList = this.sortArrayISODate(diplomasList).reverse(); - - this.showLoader = false; + this.deplomasStore.resetDiplomasList(this.diplomasList) let diplomasAssinadoList = [] - let diplomasAssinados = diplomas.reverse().filter(data => data.activityInstanceName == "Diploma Assinado"); diplomasAssinados.forEach(async element => { @@ -94,15 +92,12 @@ constructor( }); this.diplomasAssinadoList = this.sortArrayISODate(diplomasAssinadoList).reverse(); - - console.log('diplomasAssinados', diplomasAssinados) + this.deplomasStore.resetDiplomasAssinadoList(this.diplomasAssinadoList) this.showLoader = false; - this.skeletonLoader = false } - pipeTask(element) { let date = new Date(element.taskStartDate); date.setMonth(date.getMonth() + 1); diff --git a/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.html b/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.html index 1226d0f4a..48113c09a 100644 --- a/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.html +++ b/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.html @@ -11,6 +11,7 @@
+
= new EventEmitter(); @@ -39,8 +37,8 @@ export class ExpedientesPrPage implements OnInit { ngOnInit() { - this.LoadList(); - + this.LoadList() + this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith('/home/gabinete-digital?expedientespr=true') || @@ -62,32 +60,19 @@ export class ExpedientesPrPage implements OnInit { this.openExpedientDetail.emit(data); } - LoadList(){ + LoadList() { this.skeletonLoader = true; this.processes.GetTasksList("Expediente", false).subscribe(result => { this.taskslist = []; let res = result.reverse().filter(data => data.workflowInstanceDataFields.Status == "Active"); res.forEach(element => { - let date = new Date(element.taskStartDate); - date.setMonth(date.getMonth() + 1); - let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); - let task: DailyWorkTask = { - "SerialNumber": element.serialNumber, - "Folio": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": 0, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": element.workflowInstanceDataFields.Status, - } - this.taskslist.push(task); + let task: customTaskList = this.customTaskPipe.transform(element); + this.taskslist.push(task); }); this.expedienteprstore.reset(this.taskslist); this.skeletonLoader = false; + }); } @@ -108,21 +93,4 @@ export class ExpedientesPrPage implements OnInit { this.router.navigate(['/home/gabinete-digital/expedientes-pr',serialNumber,'gabinete-digital']); } - async viewExpedientDetail(serialNumber:any) { - const modal = await this.modalController.create({ - component: ExpedienteDetailPage, - componentProps:{ - enterAnimation: "", - serialNumber: serialNumber, - profile: this.loggeduser.Profile, - }, - cssClass: 'modal modal-desktop', - }); - await modal.present(); - modal.onDidDismiss().then((res)=>{ - console.log('refresh list'); - this.LoadList(); - }); - } - } diff --git a/src/app/shared/gabinete-digital/expedients/expedients.page.ts b/src/app/shared/gabinete-digital/expedients/expedients.page.ts index 1f2536597..821991bc2 100644 --- a/src/app/shared/gabinete-digital/expedients/expedients.page.ts +++ b/src/app/shared/gabinete-digital/expedients/expedients.page.ts @@ -43,8 +43,8 @@ export class ExpedientsPage implements OnInit { ngOnInit() { //Inicializar segment this.segment = "expedientes"; - this.LoadList(); - + this.LoadList() + this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith('/home/gabinete-digital?expedientes=true')) { diff --git a/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde-routing.module.ts b/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde-routing.module.ts new file mode 100644 index 000000000..e228d44a1 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { TaskDetaildePage } from './task-detailde.page'; + +const routes: Routes = [ + { + path: '', + component: TaskDetaildePage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class TaskDetaildePageRoutingModule {} diff --git a/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.module.ts b/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.module.ts new file mode 100644 index 000000000..15a7c342e --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.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 { TaskDetaildePageRoutingModule } from './task-detailde-routing.module'; + +import { TaskDetaildePage } from './task-detailde.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + TaskDetaildePageRoutingModule + ], + declarations: [TaskDetaildePage] +}) +export class TaskDetaildePageModule {} diff --git a/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.page.html b/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.page.html new file mode 100644 index 000000000..09e50335e --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.page.html @@ -0,0 +1,9 @@ + + + taskDetailde + + + + + + diff --git a/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.page.scss b/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.page.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.page.spec.ts b/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.page.spec.ts new file mode 100644 index 000000000..71d3a7a07 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { TaskDetaildePage } from './task-detailde.page'; + +describe('TaskDetaildePage', () => { + let component: TaskDetaildePage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ TaskDetaildePage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(TaskDetaildePage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.page.ts b/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.page.ts new file mode 100644 index 000000000..0fc36fc08 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detailde/task-detailde.page.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-task-detailde', + templateUrl: './task-detailde.page.html', + styleUrls: ['./task-detailde.page.scss'], +}) +export class TaskDetaildePage implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details-routing.module.ts b/src/app/shared/gabinete-digital/generic/task-details/task-details-routing.module.ts new file mode 100644 index 000000000..0cbd5ff45 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { TaskDetailsPage } from './task-details.page'; + +const routes: Routes = [ + { + path: '', + component: TaskDetailsPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class TaskDetailsPageRoutingModule {} diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.module.ts b/src/app/shared/gabinete-digital/generic/task-details/task-details.module.ts new file mode 100644 index 000000000..ceee1740f --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { TaskDetailsPageRoutingModule } from './task-details-routing.module'; + +import { TaskDetailsPage } from './task-details.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + TaskDetailsPageRoutingModule + ], + declarations: [TaskDetailsPage], + exports: [TaskDetailsPage] +}) +export class TaskDetailsPageModule {} diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html new file mode 100644 index 000000000..1211313ae --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html @@ -0,0 +1,66 @@ + +
+
+
+ +
+
+ {{ task.Folio}} +
+
+ +
+
+
+
+
+ +

{{customDate}}{{ task.activityInstanceName }}

+

{{ fulltask.workflowInstanceDataFields.DeadlineType }}

+
+
+
+
+
+ + +
+
+
Intervenientes
+ + +
+

{{interveniente.Name}}

+
+
+
+
+
Com conhecimento
+ + +
+

{{c.Name}}

+
+
+
+
+
+
Detalhes
+ +

+
+
+
+
+ +
Documentos Anexados
+ + +

{{ Document.Assunto }}

+

{{ Document.Sender}}{{ Document.DocDate | date: 'dd/MM/yyyy HH:mm' }}

+
+
+
+
+
+
diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss new file mode 100644 index 000000000..592d2c19e --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss @@ -0,0 +1,197 @@ +@import '~src/function.scss'; +.main-content{ + background-color: #fff !important; + border-top-left-radius: 25px; + border-top-right-radius: 25px; +} +.content{ + padding: 30px 20px 0 20px !important; + margin: 0; + float: left; +} +.color-red{ + font-weight: 500; + color:#d30a0a !important; +} +.btn-size{ + font-size: 18px !important; +} +.main-header{ + display: flex; + font-family: Roboto; + background-color: #fff; + color:#000; + transform: translate3d(0, 1px, 0); + .title-content{ + display: flex; + justify-content: start !important; + align-items: flex-start !important; + border-radius: 0 !important; + } + .title{ + width: fit-content; + height: auto; + font-size: 25px; + overflow: auto; + float: left; + padding-left: 5px; + } + .div-icon{ + width: 40px !important; + font-size: 35px !important; + text-align: start !important; + padding: 1px; + } +} +ion-item-group{ + margin: 15px; +} +ion-button{ + display: block; + width: 80%; + margin: 20px auto; +} + +.upper-content{ + font-family: Roboto; + margin-top: 15px; + margin-left: 41px; + font-size: 18px; + + .label{ + border-radius: 20px; + background: #ffb703; + float: right; + padding: 5px 13.5px 5px 13.5px; + color: #fff; + } + + .button-calendar-type ion-button{ + height: 25px; + } + .content-details{ + font-size: 17px; + .date{ + color: #797979; + } + } +} +.middle-conten{ + .middle-content p{ + font-size: 16px; + } +} +.bottom-content{ + //width: 360px; + margin: 0 auto; + + .bottom-content h3{ + font-size: 16px; + margin: 0 0 0 10px; + } + .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{ + font-size: 18px; + width: 100%; + color:#0d89d1; + padding-bottom: 5px; + } + /* SPAN */ + .span-left{ + float: left; + font-size: 15x; + } + .span-right{ + text-align: right; + float: right; + font-size: 13px; + } +} +.aside-right{ + padding: 30px 20px 0 20px !important; + + .arrow-right{ + display: flex; + justify-content: flex-end; + margin-bottom: 20px; + + .arrow-right-icon{ + width: 37px; + float: right; + font-size: 35px; + overflow: hidden; + } + } + .buttons{ + display: flex; + flex-wrap: wrap; + justify-content: space-between; + + .btn-ok, .btn-cancel, .btn-delete{ + height: auto !important; + font-size: 16px !important; + font-weight: 600 !important; + width: 100% !important; + margin-bottom: 10px !important; + padding: 15px !important; + } + } + .solid { + display: block; + width: 90%; + border-top: 1px solid #ebebeb; + margin: 0 auto !important; + margin-bottom: 10px !important; + } +} + +@media only screen and (max-width: 800px) { + .content{ + width: 100% !important; + } + .aside-right{ + display: none; + } +} +@media only screen and (min-width: 801px) { + .div-icon{ + display: none; + } + .content{ + width: 65%; + border-right: 1px solid #d8d8d8; + } + + .aside-right{ + width: 35%; + } +} + +@media only screen and (min-width: 1024px){ + .content{ + width: 70%; + } + .aside-right{ + width: 30%; + } +} + +@media only screen and (min-width: 1140px){ + .content{ + width: 75%; + } + .aside-right{ + width: 25%; + } +} diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.spec.ts b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.spec.ts new file mode 100644 index 000000000..2abb48496 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { TaskDetailsPage } from './task-details.page'; + +describe('TaskDetailsPage', () => { + let component: TaskDetailsPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ TaskDetailsPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(TaskDetailsPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts new file mode 100644 index 000000000..c959779e3 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts @@ -0,0 +1,26 @@ +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { customTask, fullTask } from 'src/app/models/dailyworktask.model'; + +@Component({ + selector: 'app-task-details', + templateUrl: './task-details.page.html', + styleUrls: ['./task-details.page.scss'], +}) +export class TaskDetailsPage implements OnInit { + + @Input() task = new customTask(); + @Input() intervenientes = [] + @Input() cc = [] + @Input() customDate = '' + @Input() fulltask = new fullTask() + + @Output() openOptions = new EventEmitter(); + @Output() goBack = new EventEmitter(); + @Output() viewDocument = new EventEmitter(); + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/shared/gabinete-digital/generic/task-list/task-list-routing.module.ts b/src/app/shared/gabinete-digital/generic/task-list/task-list-routing.module.ts new file mode 100644 index 000000000..9d576ab7e --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-list/task-list-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { TaskListPage } from './task-list.page'; + +const routes: Routes = [ + { + path: '', + component: TaskListPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class TaskListPageRoutingModule {} diff --git a/src/app/shared/gabinete-digital/generic/task-list/task-list.module.ts b/src/app/shared/gabinete-digital/generic/task-list/task-list.module.ts new file mode 100644 index 000000000..50d82b58c --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-list/task-list.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { TaskListPageRoutingModule } from './task-list-routing.module'; + +import { TaskListPage } from './task-list.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + TaskListPageRoutingModule + ], + declarations: [TaskListPage], + exports: [TaskListPage] +}) +export class TaskListPageModule {} diff --git a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.html b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.html new file mode 100644 index 000000000..1ccc40ad7 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.html @@ -0,0 +1,75 @@ + +
+ + +
+ +
+ +
+
+
+ {{ task.Folio }} +
+
+ + +
+
+
+
+ {{task.Senders}} +
+
+
+
+ {{task.activityInstanceName}} +
+
+ {{ task.CreateDate | date: 'dd-MM-yyyy HH:mm' }} +
+
+
+
+
+
+ +
+ Lista vazia +
+ +
+ + + + + + + +

+

+

+
+
+ + + + + +

+

+

+
+
+
+
+ +
+
diff --git a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.scss b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.scss new file mode 100644 index 000000000..7957606f3 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.scss @@ -0,0 +1,124 @@ + +/* New CSS */ +.expediente{ + border-radius: 15px; + box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.07); + border:1px solid #e9e9e9 !important; + background-color: var(--white); + margin-bottom: 10px !important; + padding: 15px; + } + .exp-list-item{ + //width: 368px; + overflow: auto; + /* border-bottom: 1px solid gray; */ + margin: 10px auto; + } + + .exp-top-detail{ + width: 100%; + float: left; + font-family: Roboto; + font-size: 12pt; + font-weight: 700; + color: #0d89d1; + padding-left: 3px; + + .subject{ + width: 84%; + float: left; + } + + .exp-icon{ + width: fit-content; + float: right; + /* font-size: 13px; */ + margin: 0 !important; + padding: 0 !important; + + ion-icon{ + font-size: 12pt; + color: #42b9fe; + float: left; + } + label{ + font-size: 10pt; + } + } + } + .exp-middle-detail, .exp-bottom-detail{ + margin-bottom: 5px; + + } + .exp-middle-detail{ + font-size: 12pt; + width: 100%; + overflow: auto; + + .exp-workflow{ + float: left; + margin: 0 !important; + + .label{ + border-radius: 15px; + background: #ffb703; + /* font-size: 12px; */ + float: right; + padding: 2.5px 13.5px 2.5px 13.5px; + color: #fff; + } + } + .exp-date{ + width: auto; + font-family: Roboto; + font-size: 10pt; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + color: #797979; + float: right; + } + } + .exp-bottom-detail{ + font-size: 8pt; + width: 100%; + overflow: auto; + padding-left: 3px; + + .exp-remetente{ + //width: 200px; + font-family: Roboto; + /* font-size: 13px; */ + font-weight: normal; + color: #000000; + float: left; + /* border: 1px solid red; */ + } + } + .div-top-header{ + width: 400px; + margin: 6px auto; + background-color: #0782c9; + overflow: auto; + } + .div-search{ + font-size: 45px; + float: left; + margin: 0 0 0 10px + } + .div-logo{ + background: transparent; + width: 150px; + margin: 2.5px 0 2.5px 71px; + float: left; + } + .div-logo img{ + width: 100%; + } + .div-profile{ + font-size: 45px; + float: right; + margin-right: 10px; + } \ No newline at end of file diff --git a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.spec.ts b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.spec.ts new file mode 100644 index 000000000..01cc754f5 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { TaskListPage } from './task-list.page'; + +describe('TaskListPage', () => { + let component: TaskListPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ TaskListPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(TaskListPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts new file mode 100644 index 000000000..206456509 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts @@ -0,0 +1,21 @@ +import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; +import { customTaskList } from 'src/app/models/dailyworktask.model'; + +@Component({ + selector: 'app-task-list', + templateUrl: './task-list.page.html', + styleUrls: ['./task-list.page.scss'], +}) +export class TaskListPage implements OnInit { + + @Input() taskList: customTaskList[] = []; + @Input() skeletonLoader: boolean = false + @Output() viewTaskDetail = new EventEmitter(); + + constructor() { + console.log('taskList', this.taskList) + } + + ngOnInit() {} + +} diff --git a/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts b/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts index 9a01501b9..ecd2c9a10 100644 --- a/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts +++ b/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts @@ -1,18 +1,14 @@ import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; -import { NavigationEnd, NavigationExtras, NavigationStart, Router } from '@angular/router'; +import { NavigationStart, Router } from '@angular/router'; import { CalendarComponent } from 'ionic2-calendar'; -import { DailyWorkTask, tasksList } from '../../../models/dailyworktask.model'; +import { customTaskList, DailyWorkTask, tasksList } from '../../../models/dailyworktask.model'; import { ProcessesService } from 'src/app/services/processes.service'; -import { formatDate } from '@angular/common'; -import { LoadingService } from 'src/app/services/loading.service'; -import { ModalController, NavParams } from '@ionic/angular'; -import { ExpedienteDetailPage } from 'src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page'; +import { ModalController } from '@ionic/angular'; import { AlertService } from 'src/app/services/alert.service'; import { PedidoPage } from 'src/app/pages/gabinete-digital/pedidos/pedido/pedido.page'; -import { PendentesStore } from 'src/app/store/pendestes-store.service'; import { PedidosStore } from 'src/app/store/pedidos-store.service'; - +import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; @Component({ selector: 'app-pedidos', templateUrl: './pedidos.page.html', @@ -41,6 +37,7 @@ export class PedidosPage implements OnInit { @Output() openPedido:EventEmitter = new EventEmitter(); skeletonLoader = true pedidosstore = PedidosStore; + customTaskPipe = new CustomTaskPipe() constructor( private router: Router, @@ -53,8 +50,6 @@ export class PedidosPage implements OnInit { ngOnInit() { - this.LoadList(); - this.router.events.forEach((event) => { if(event instanceof NavigationStart && '/home/gabinete-digital?parecer=true'.startsWith(event.url) || event instanceof NavigationStart && '/home/gabinete-digital?deferimento=true'.startsWith(event.url) || @@ -76,16 +71,7 @@ export class PedidosPage implements OnInit { segmentChanged(ev: any) { this.LoadList(); } - - notImplemented(){ - this.alertService.presentAlert('Funcionalidade em desenvolvimento'); - } - - openExpedientDetailPage(data){ - console.log(data); - this.openPedido.emit(data); - } - + async LoadList() { this.skeletonLoader = true; @@ -104,24 +90,7 @@ export class PedidosPage implements OnInit { allParecer.filter(data => data.workflowInstanceDataFields.Status == "Active").forEach(element => { - let date = new Date(element.taskStartDate); - date.setMonth(date.getMonth() + 1); - let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); - - let task = { - "SerialNumber": element.serialNumber, - "Folio": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": element.totalDocuments, - "DocId": element.workflowInstanceDataFields.ParecerDocID, - "FolderID": element.workflowInstanceDataFields.FolderID, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": element.workflowInstanceDataFields.Status, - } + let task: customTaskList = this.customTaskPipe.transform(element); this.parecerList.push(task); }); this.pedidosstore.resetparecer(this.parecerList); @@ -132,32 +101,14 @@ export class PedidosPage implements OnInit { this.processes.GetTasksList("Pedido de Deferimento", false).subscribe(result => { this.taskslist = result.filter(data => data.workflowInstanceDataFields.Status == "Active") - this.skeletonLoader = false this.deferimentoList = new Array(); let res = result.reverse().filter(data => data.workflowInstanceDataFields.Status == "Active") res.forEach(element => { - let date = new Date(element.taskStartDate); - date.setMonth(date.getMonth() + 1); - let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); - - let task = { - "SerialNumber": element.serialNumber, - "Folio": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": element.totalDocuments, - "DocId": element.workflowInstanceDataFields.DocIdDiferimento, - "FolderID": element.workflowInstanceDataFields.FolderID, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": element.workflowInstanceDataFields.Status, - } - this.deferimentoList.push(task); + let task: customTaskList = this.customTaskPipe.transform(element); + this.deferimentoList.push(task); }); this.pedidosstore.resetdeferimento(this.deferimentoList); diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.module.ts b/src/app/shared/gabinete-digital/pendentes/pendentes.module.ts index 3abd2fa40..d2dfb53b6 100644 --- a/src/app/shared/gabinete-digital/pendentes/pendentes.module.ts +++ b/src/app/shared/gabinete-digital/pendentes/pendentes.module.ts @@ -7,13 +7,16 @@ import { IonicModule } from '@ionic/angular'; import { PendentesPageRoutingModule } from './pendentes-routing.module'; import { PendentesPage } from './pendentes.page'; +import { TaskListPageModule } from '../generic/task-list/task-list.module'; @NgModule({ imports: [ CommonModule, FormsModule, IonicModule, - PendentesPageRoutingModule + PendentesPageRoutingModule, + // entryComponents + TaskListPageModule ], exports: [PendentesPage], declarations: [PendentesPage] diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.html b/src/app/shared/gabinete-digital/pendentes/pendentes.page.html index 4fb891ea3..88b43af3c 100644 --- a/src/app/shared/gabinete-digital/pendentes/pendentes.page.html +++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.html @@ -18,75 +18,11 @@ -
- - -
- -
-
-
- {{ task.Folio }} -
-
- - -
-
-
-
- {{task.Senders}} -
-
-
-
- {{task.activityInstanceName}} -
-
- {{ task.CreateDate | date: 'dd-MM-yyyy HH:mm' }} -
-
-
-
-
- -
- Lista vazia -
- -
- - - - - - - -

-

-

-
-
- - - - - -

-

-

-
-
-
-
-
+ diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts b/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts index 3982eaccb..014636344 100644 --- a/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts +++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts @@ -1,15 +1,12 @@ -import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; -import { NavigationEnd, NavigationStart, Router } from '@angular/router'; -import { CalendarComponent } from 'ionic2-calendar'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { NavigationStart, Router } from '@angular/router'; import { removeDuplicate } from 'src/plugin/removeDuplicate.js' -import { DailyWorkTask } from '../../../models/dailyworktask.model'; +import { customTaskList} from '../../../models/dailyworktask.model'; import { ProcessesService } from 'src/app/services/processes.service'; -import { ModalController } from '@ionic/angular'; -import { AlertService } from 'src/app/services/alert.service'; import { AuthService } from 'src/app/services/auth.service'; import { PendentesStore } from 'src/app/store/pendestes-store.service'; import { User } from 'src/app/models/user.model'; - +import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; @Component({ selector: 'app-pendentes', @@ -17,14 +14,10 @@ import { User } from 'src/app/models/user.model'; styleUrls: ['./pendentes.page.scss'], }) export class PendentesPage implements OnInit { - @ViewChild(CalendarComponent) myCal: CalendarComponent; - pendentesList:DailyWorkTask[] = []; - taskType: string; - serialNumber:string; - totalDocs:any; - skeletonLoader: boolean; + skeletonLoader: boolean = false; pendentesstore = PendentesStore; + customTaskPipe = new CustomTaskPipe() loggeduser: User; @Input() profile:string; @@ -33,75 +26,43 @@ export class PendentesPage implements OnInit { constructor( private processes:ProcessesService, - private modalController: ModalController, - private alertService: AlertService, private authService: AuthService, private router: Router, ) { - this.profile = 'mdgpr'; this.loggeduser = authService.ValidatedUser; } ngOnInit() { - //Inicializar segment - this.segment = "despachos"; - // update list - this.LoadList(); this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith('/home/gabinete-digital?pendentes=true')) { - if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { this.doRefresh() } else { this.LoadList() } - } }); } - segmentChanged(ev: any) { - this.LoadList(); - } - - openExpedientDetailPage(data){ - console.log(data); - this.openExpedientDetail.emit(data); - } - async LoadList(){ this.skeletonLoader = true; let pendentes = await this.processes.GetPendingTasks(false).toPromise(); - this.pendentesList = []; + let pendentesList = []; pendentes.forEach(element => { - let date = new Date(element.taskStartDate); - date.setMonth(date.getMonth() + 1); - let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); - - let task = { - "SerialNumber": element.serialNumber, - "Folio": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": element.totalDocuments, - "DocId": element.workflowInstanceDataFields.DocIdDiferimento, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": element.workflowInstanceDataFields.Status, - } - this.pendentesList.push(task); - this.pendentesList = removeDuplicate( this.pendentesList) - this.pendentesList = this.sortArrayISODate(this.pendentesList); + let task: customTaskList = this.customTaskPipe.transform(element); + pendentesList.push(task); }); - this.pendentesstore.reset(this.pendentesList); + + pendentesList = removeDuplicate( pendentesList) + pendentesList = this.sortArrayISODate(pendentesList); + + this.pendentesstore.reset(pendentesList); this.skeletonLoader = false; } @@ -111,37 +72,34 @@ export class PendentesPage implements OnInit { }); } - doRefresh() { - setTimeout(()=>{ this.LoadList(); }, 1000) } - async viewTaskDetails(serialNumber:string, workflowName:string , task) { - console.log(this.profile); - if(workflowName == 'Despacho') { - this.router.navigate(['/home/gabinete-digital/despachos',serialNumber,'gabinete-digital']); + async viewTaskDetails({ SerialNumber, WorkflowName, activityInstanceName }:customTaskList) { + if(WorkflowName == 'Despacho') { + this.router.navigate(['/home/gabinete-digital/despachos',SerialNumber,'gabinete-digital']); } - else if(workflowName == 'Pedido de Parecer' || workflowName == 'Pedido de Deferimento' || workflowName == 'Pedido de Parecer do Presidente') { - this.router.navigate(['/home/gabinete-digital/pedidos',serialNumber,'gabinete-digital']); + else if(WorkflowName == 'Pedido de Parecer' || WorkflowName == 'Pedido de Deferimento' || WorkflowName == 'Pedido de Parecer do Presidente') { + this.router.navigate(['/home/gabinete-digital/pedidos',SerialNumber,'gabinete-digital']); } - else if(workflowName == 'Expediente') { - this.router.navigate(['/home/gabinete-digital/expediente',serialNumber,'gabinete-digital']); + else if(WorkflowName == 'Expediente') { + this.router.navigate(['/home/gabinete-digital/expediente',SerialNumber,'gabinete-digital']); } - else if(workflowName == 'Expediente' && this.loggeduser.Profile == 'PR') { - this.router.navigate(['/home/gabinete-digital/expedientes-pr',serialNumber,'gabinete-digital']); + else if(WorkflowName == 'Expediente' && this.loggeduser.Profile == 'PR') { + this.router.navigate(['/home/gabinete-digital/expedientes-pr',SerialNumber,'gabinete-digital']); } - else if (task.activityInstanceName == "Tarefa de Parecer") { - this.router.navigate(['/home/gabinete-digital/pedidos',serialNumber,'gabinete-digital']); + else if (activityInstanceName == "Tarefa de Parecer") { + this.router.navigate(['/home/gabinete-digital/pedidos',SerialNumber,'gabinete-digital']); } - else if(task.activityInstanceName == "Tarefa de Despacho") { - this.router.navigate(['/home/gabinete-digital/despachos',serialNumber,'gabinete-digital']); + else if(activityInstanceName == "Tarefa de Despacho") { + this.router.navigate(['/home/gabinete-digital/despachos',SerialNumber,'gabinete-digital']); } else { - console.log('cant find page for this task', task, workflowName) + console.log('cant find page for this task', WorkflowName, activityInstanceName) } } diff --git a/src/app/shared/popover/chat-options-popover/chat-options-popover.module.ts b/src/app/shared/popover/chat-options-popover/chat-options-popover.module.ts index d6e7129d9..7ea2a727e 100644 --- a/src/app/shared/popover/chat-options-popover/chat-options-popover.module.ts +++ b/src/app/shared/popover/chat-options-popover/chat-options-popover.module.ts @@ -15,6 +15,7 @@ import { ChatOptionsPopoverPage } from './chat-options-popover.page'; IonicModule, ChatOptionsPopoverPageRoutingModule ], - declarations: [ChatOptionsPopoverPage] + declarations: [ChatOptionsPopoverPage], + exports: [ChatOptionsPopoverPage] }) export class ChatOptionsPopoverPageModule {} diff --git a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html index bb0fc5c83..a3adebd27 100644 --- a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html +++ b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html @@ -10,6 +10,7 @@
+
diff --git a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts index 9f09bc0aa..f17fc4d15 100644 --- a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts +++ b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts @@ -1,8 +1,11 @@ import { Component, OnInit } from '@angular/core'; -import { ModalController, PopoverController } from '@ionic/angular'; +import { ModalController, NavParams, PopoverController } from '@ionic/angular'; +import { EventPerson } from 'src/app/models/eventperson.model'; import { SearchDocument } from 'src/app/models/search-document'; +import { NewEventPage } from 'src/app/pages/agenda/new-event/new-event.page'; import { SearchPage } from 'src/app/pages/search/search.page'; import { AlertService } from 'src/app/services/alert.service'; +import { environment } from 'src/environments/environment'; @Component({ selector: 'app-chat-options-popover', @@ -12,14 +15,30 @@ import { AlertService } from 'src/app/services/alert.service'; export class ChatOptionsPopoverPage implements OnInit { documents:SearchDocument[] = []; + members: any; + attendees: EventPerson[] = []; constructor( private popoverController: PopoverController, private modalController: ModalController, private alertService: AlertService, - ) { } + private navParams: NavParams, + ) { + + this.members = this.navParams.get('members'); + console.log(this.members); + this.attendees = this.navParams.get('members').map((val)=>{ + return { + Name: val.name, + EmailAddress: val.username+"@"+environment.domain, + IsRequired: "true", + } + }); + } ngOnInit() { + console.log(this.attendees); + } notImplemented(){ @@ -37,9 +56,29 @@ export class ChatOptionsPopoverPage implements OnInit { attachDocument(){ console.log('Anexar Documento'); - + } + /* getGroupContacts(room:any){ + this.showLoader = true; + //If group is private call getGroupMembers + if(this.room.t === 'p'){ + this.chatService.getGroupMembers(this.roomId).subscribe(res=>{ + console.log(res); + this.members = res['members']; + this.showLoader = false; + }); + } + //Otherwise call getChannelMembers for públic groups + else{ + this.chatService.getChannelMembers(this.roomId).subscribe(res=>{ + console.log(res); + this.members = res['members']; + this.showLoader = false; + }); + } + } */ + async getDoc(){ const modal = await this.modalController.create({ component: SearchPage, @@ -56,9 +95,30 @@ export class ChatOptionsPopoverPage implements OnInit { const data = res.data; this.documents.push(data.selected); console.log(res.data); - + } }); } + async bookMeeting() { + console.log(this.attendees); + this.popoverController.dismiss(); + if( window.innerWidth <= 1024){ + const modal = await this.modalController.create({ + component: NewEventPage, + componentProps:{ + attendees: this.attendees, + }, + cssClass: 'modal modal-desktop', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss().then((data) => { + if(data){ + + } + }); + } + } + } diff --git a/src/app/shared/popover/chat-popover/chat-popover.page.html b/src/app/shared/popover/chat-popover/chat-popover.page.html index c16ada8e6..806cedd83 100644 --- a/src/app/shared/popover/chat-popover/chat-popover.page.html +++ b/src/app/shared/popover/chat-popover/chat-popover.page.html @@ -8,6 +8,7 @@
+
diff --git a/src/app/shared/popover/chat-popover/chat-popover.page.ts b/src/app/shared/popover/chat-popover/chat-popover.page.ts index 1fdf3bbf6..58ead2ef5 100644 --- a/src/app/shared/popover/chat-popover/chat-popover.page.ts +++ b/src/app/shared/popover/chat-popover/chat-popover.page.ts @@ -86,4 +86,8 @@ export class ChatPopoverPage implements OnInit { this.modalController.dismiss('edit'); } + bookMeeting(){ + + } + } diff --git a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html index 8ea4ffe3f..b10f5950a 100644 --- a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html +++ b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html @@ -5,22 +5,36 @@
-
- - - +
+
+
+ + + + + + +
+
+ + + + +
+
+
+
+ +
+ + + + +
+
+
- - - -
- -
-
- - - - +
diff --git a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.scss b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.scss index 009bb2ba4..6d42b51b4 100644 --- a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.scss +++ b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.scss @@ -3,18 +3,19 @@ --padding-bottom:20px !important; --padding-start:20px !important; --padding-end:20px !important; + width: 100%; } -.arrow-right { +.arrow-right{ display: none; margin-bottom: 20px; - .arrow-right-icon { + .arrow-right-icon{ width: 37px; float: right; font-size: 35px; overflow: hidden; } } -.buttons { +.buttons{ display: flex; flex-wrap: wrap; justify-content: space-around; @@ -30,10 +31,8 @@ margin-bottom: 5px !important; margin-top: 5px !important; } -@media only screen and (max-width: 800px) { - .btn-ok, .btn-cancel, .btn-delete{ - width: 47% !important; - } +.btn-ok, .btn-cancel, .btn-delete{ + width: 100% !important; } @media only screen and (min-width: 1024px) { .arrow-right{ @@ -53,4 +52,10 @@ /* .solid{ display: block; } */ +} + + +.desk{ + text-align: left; + background-color: white; } \ No newline at end of file diff --git a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts index 0f9b4b2ff..ade13929f 100644 --- a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts +++ b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts @@ -13,6 +13,7 @@ import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/ import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page'; import { ToastService } from 'src/app/services/toast.service'; import { Location } from '@angular/common' +import { PermissionService } from 'src/app/OtherService/permission.service'; @Component({ selector: 'app-despachos-pr-options', @@ -29,18 +30,14 @@ export class DespachosPrOptionsPage implements OnInit { constructor(private activateRoute: ActivatedRoute, private processes: ProcessesService, - private iab: InAppBrowser, - private attachmentsService: AttachmentsService, - private events: EventsService, - private menu: MenuController, private router: Router, private modalController: ModalController, - private alertService: AlertService, public popoverController: PopoverController, private activatedRoute: ActivatedRoute, - private animationController: AnimationController, private toastService: ToastService, - private location: Location,) { } + private location: Location, + public p: PermissionService, + ) { } ngOnInit() { @@ -78,9 +75,9 @@ export class DespachosPrOptionsPage implements OnInit { cssClass: classs, }); await modal.present(); - modal.onDidDismiss().then(res=>{ + modal.onDidDismiss().then( (res)=> { console.log(res['data']); - if(res['data']=='openDiscart'){ + if(res['data']=='openDiscart') { console.log('open discart'); this.distartExpedientModal(); @@ -102,7 +99,7 @@ export class DespachosPrOptionsPage implements OnInit { }); } - async distartExpedientModal(){ + async distartExpedientModal() { this.popoverController.dismiss(); console.log(this.fulltask); const modal = await this.modalController.create({ @@ -170,7 +167,7 @@ export class DespachosPrOptionsPage implements OnInit { modal.onDidDismiss(); } - async generateDiploma(note:string, documents:any){ + async generateDiploma(note:string, documents:any) { let body = { "serialNumber": this.serialnumber, "action": "Reencaminhar", @@ -331,13 +328,15 @@ export class DespachosPrOptionsPage implements OnInit { goBack() { - let navigationExtras: NavigationExtras = { - queryParams: { - "despachospr": true, - } - }; + // let navigationExtras: NavigationExtras = { + // queryParams: { + // "despachospr": true, + // } + // }; - this.router.navigate(['/home/gabinete-digital'], navigationExtras); + // this.router.navigate(['/home/gabinete-digital'], navigationExtras); + + this.location.back() } diff --git a/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts b/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts index 4c648efb4..ea9cbc679 100644 --- a/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts +++ b/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts @@ -12,6 +12,7 @@ import { AttachmentsService } from 'src/app/services/attachments.service'; import { AuthService } from 'src/app/services/auth.service'; import { ProcessesService } from 'src/app/services/processes.service'; import { ToastService } from 'src/app/services/toast.service'; +import { Location } from '@angular/common' @Component({ selector: 'app-opts-expediente-pr', @@ -48,7 +49,8 @@ export class OptsExpedientePrPage implements OnInit { private navParams: NavParams, private animationController: AnimationController, private router: Router, - private toastService: ToastService + private toastService: ToastService, + private location: Location, ) { @@ -275,8 +277,8 @@ export class OptsExpedientePrPage implements OnInit { modal.onDidDismiss().then( async (res)=>{ console.log(res['data']); let body = res['data']; - // alert('close '+ res['data']) - if(res['data']){ + // console.log('close '+ res['data']) + if(res['data']) { console.log('open discart'); const loader = this.toastService.loading() @@ -290,7 +292,6 @@ export class OptsExpedientePrPage implements OnInit { } finally { loader.remove() } - this.goBack(); } else{ @@ -321,16 +322,7 @@ export class OptsExpedientePrPage implements OnInit { } goBack() { - if (window.innerWidth <= 800) { - this.router.navigate(['/home/gabinete-digital/expedientes-pr']); - } else { - let navigationExtras: NavigationExtras = { - queryParams: { - "expedientes-pr": true, - } - }; - this.router.navigate(['/home/gabinete-digital'], navigationExtras); - } + this.location.back() } getAttachments(serialNumber){ diff --git a/src/app/store/deplomas.service.spec.ts b/src/app/store/deplomas.service.spec.ts new file mode 100644 index 000000000..e9b2ad09a --- /dev/null +++ b/src/app/store/deplomas.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { DeplomasService } from './deplomas.service'; + +describe('DeplomasService', () => { + let service: DeplomasService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(DeplomasService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/store/deplomas.service.ts b/src/app/store/deplomas.service.ts new file mode 100644 index 000000000..d91e5ac73 --- /dev/null +++ b/src/app/store/deplomas.service.ts @@ -0,0 +1,97 @@ +import { Injectable } from '@angular/core'; +import { localstoreService } from './localstore.service' +import { AES, enc, SHA1 } from 'crypto-js' + +@Injectable({ + providedIn: 'root' +}) +export class DeplomasService { + + private _diplomasAssinadoList = [] + private _diplomasList = [] + + private keyNameDiplomasAssinado: string; + private keyNameDiplomasList: string; + + private _diplomasAssinadoListCount = 0 + private _diplomasListCount = 0 + + constructor() { + this.keyNameDiplomasAssinado = (SHA1(this.constructor.name+"diplomasAssinado")).toString() + this.keyNameDiplomasList = (SHA1(this.constructor.name+"diplomasList")).toString() + + + setTimeout(()=>{ + let restoreDiplomasAssinado = localstoreService.get(this.keyNameDiplomasAssinado, {}) + let restoreDiplomasList = localstoreService.get(this.keyNameDiplomasList, {}) + + this._diplomasAssinadoList = restoreDiplomasAssinado.list || [] + this._diplomasAssinadoListCount = parseInt(restoreDiplomasAssinado.count) || 0 + + this._diplomasList = restoreDiplomasList.list || [] + this._diplomasListCount = parseInt(restoreDiplomasList.count) || 0 + + }, 10) + + } + + get countDiplomasListCount() { + return this._diplomasAssinadoListCount || 0 + } + + set countDiplomasListCount(value) { + this._diplomasAssinadoListCount = value + this.saveDiplomasAssinadoList() + } + + get diplomasListCount() { + return this._diplomasListCount || 0 + } + + set diplomasListCount(value) { + this._diplomasListCount = value + this.saveDiplomasList() + } + + get diplomasList() { + return this._diplomasList + } + get diplomasAssinadoList() { + return this._diplomasAssinadoList + } + + resetDiplomasAssinadoList(value: any[]) { + + this._diplomasAssinadoListCount = value.length + this._diplomasAssinadoList = value + this.saveDiplomasAssinadoList() + } + + resetDiplomasList(value: any[]) { + + this._diplomasListCount = value.length + this._diplomasList = value + this.saveDiplomasList() + } + + saveDiplomasAssinadoList() { + setTimeout(()=>{ + localstoreService.set(this.keyNameDiplomasAssinado,{ + list: this._diplomasAssinadoList, + count: this._diplomasAssinadoListCount, + }) + }, 10) + } + + saveDiplomasList () { + setTimeout(()=>{ + localstoreService.set(this.keyNameDiplomasList,{ + list: this._diplomasList, + count: this._diplomasListCount, + }) + }, 10) + } + +} + +export let DeplomasStore = new DeplomasService() diff --git a/src/app/store/despachos-page-store.service.ts b/src/app/store/despachos-page-store.service.ts index a1f027eb5..24c67da1e 100644 --- a/src/app/store/despachos-page-store.service.ts +++ b/src/app/store/despachos-page-store.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; import { localstoreService } from './localstore.service' import { AES, enc, SHA1 } from 'crypto-js' +import { customTaskList } from '../models/dailyworktask.model'; @Injectable({ providedIn: 'root' @@ -26,7 +27,7 @@ export class DespachosPageStoreService { } - get list() { + get list(): customTaskList[] { return this._list || [] }