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 80f0ffb2d..99374a12a 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -172,6 +172,22 @@ 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) @@ -181,6 +197,11 @@ const routes = [ + /* + path: 'chat', + component: ChatPage + } */ + /* path: 'chat', component: ChatPage 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/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..fb4086105 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, @@ -57,3 +66,19 @@ export class tasksList{ 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/events/events.page.ts b/src/app/pages/events/events.page.ts index 404b3ca37..8bca24ba2 100644 --- a/src/app/pages/events/events.page.ts +++ b/src/app/pages/events/events.page.ts @@ -90,18 +90,8 @@ export class EventsPage implements OnInit { this.prEventList = null; - // list - this.LoadList(); - - /* this.screenOrientation.onChange().subscribe( - () => { - alert("Orientation updated" + this.screenOrientation.type); - this.existingScreenOrientation = this.screenOrientation.type; - } - ); */ - this.platform.resize.subscribe(async () => { - //alert('Resize event detected'); + //console.log('Resize event detected'); console.log('Resize event detected'); }); @@ -109,18 +99,14 @@ export class EventsPage implements OnInit { } ngOnInit() { - //Inicializar segment + this.segment = "Combinada"; - //Initialize profile as mdgpr this.profile = "mdgpr"; - /* console.log(this.profile); */ this.showGreeting(); - const pathname = window.location.pathname - this.router.events.forEach((event) => { - if(event instanceof NavigationEnd && event.url == pathname) { + if(event instanceof NavigationEnd && event.url == '/home/events') { this.RefreshEvents(); this.LoadList(); } diff --git a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html index 5a820aa1b..2609972af 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html +++ b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html @@ -2,11 +2,11 @@ -
-
-
-
-
+
+
+
+
+
@@ -17,7 +17,7 @@
-
+

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

@@ -27,7 +27,7 @@
-
+
Intervenientes
@@ -61,7 +61,7 @@
Documentos Anexados
- 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..aa5c8972a 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.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/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/despachos-pr-options/despachos-pr-options.page.html b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html index 8ea4ffe3f..e2df44f8b 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,40 @@
-
- - - +
+
+
+ + + + + + +
+
+ + + + + + +
+
+
+
+ + +
+ + + + + +
+
+
- - - -
- -
-
- - - - +
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 || [] }