This commit is contained in:
Peter Maquiran
2023-02-22 13:06:31 +01:00
parent 9c540d38b0
commit 623df60aeb
15 changed files with 243 additions and 381 deletions
@@ -19,7 +19,7 @@
<!-- <ion-segment-button value="MDGPR"> <!-- <ion-segment-button value="MDGPR">
Minha agenda Minha agenda
</ion-segment-button> --> </ion-segment-button> -->
<ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry; let i index" [value]="i === 'Meu calendario' ? 'MDGPR' : 'PR'"> <ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry; let i index" [value]="i === 'Meu calendario' ? 'MDGPR' : i.OwnerUserId">
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div> <div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div> <div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div> <div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
@@ -40,14 +40,14 @@
<div class="main-content d-flex height-100" > <div class="main-content d-flex height-100" >
<div class="content height-100 d-flex flex-column"> <div class="content height-100 d-flex flex-column">
<div [ngSwitch]="segment"> <div >
<ion-list class="width-100 height-100" *ngSwitchCase="'MDGPR'"> <ion-list class="width-100 height-100" >
<div *ngIf="eventoaprovacaostore.listmd" class="overflow-y-auto height-100"> <div class="overflow-y-auto height-100">
<ion-item-sliding> <ion-item-sliding>
<ion-item class="Rectangle cursor-pointer" lines="none" <ion-item class="Rectangle cursor-pointer" lines="none"
*ngFor="let event of eventoaprovacaostore.listmd" (click)="goToEventToApproveDetail(event.serialNumber)"> *ngFor="let event of eventoaprovacaostore.get(segment)" (click)="goToEventToApproveDetail(event.serialNumber)">
<div class="content-mdgpr-{{event.workflowInstanceDataFields.Agenda}} width-100"> <div class="content-{{color}}-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time"> <div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p> <p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p> <p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p>
@@ -65,51 +65,19 @@
</ion-item-sliding> </ion-item-sliding>
</div> </div>
</ion-list> </ion-list>
<ion-label></ion-label>
<ion-list *ngSwitchCase="'PR'">
<div *ngIf="eventoaprovacaostore.listpr" class="overflow-y-auto height-100">
<ion-item-sliding>
<ion-item class="Rectangle cursor-pointer" lines="none"
*ngFor="let event of eventoaprovacaostore.listpr" (click)="goToEventToApproveDetail(event.serialNumber)">
<div class="content-pr-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p>
</div>
<div class="approve-event-detail">
<p *ngIf="event.workflowInstanceDataFields.StartDate != event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} - {{ event.workflowInstanceDataFields.EndDate | date: 'dd/M/yy'}} | {{event.workflowInstanceDataFields.Location}}</p>
<p *ngIf="event.workflowInstanceDataFields.StartDate == event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} | {{event.workflowInstanceDataFields.Location}}</p>
<h3>{{event.workflowInstanceDataFields.Subject}}</h3>
<div *ngIf="event.activityInstanceName">
<div class="label-event-type"> {{ event.activityInstanceName }} </div>
</div>
</div>
</div>
</ion-item>
</ion-item-sliding>
</div>
</ion-list>
</div> </div>
<div class="height-100" [ngSwitch]="segment"> <div class="height-100" >
<div *ngSwitchCase="'MDGPR'" class="d-flex height-100 align-center justify-content-center" > <div class="d-flex height-100 align-center justify-content-center" >
<div <div
*ngIf="!skeletonLoader && (!eventoaprovacaostore.listmd || eventoaprovacaostore.listmd.length == 0)" *ngIf="!skeletonLoader && (eventoaprovacaostore.get(segment).length == 0)"
class="empty-list d-flex height-100 align-center justify-content-center" class="empty-list d-flex height-100 align-center justify-content-center"
> >
<span>Lista vazia</span> <span>Lista vazia</span>
</div> </div>
</div> </div>
<div *ngSwitchCase="'PR'" class="d-flex height-100 align-center justify-content-center">
<div
*ngIf="!skeletonLoader && (!eventoaprovacaostore.listmd || eventoaprovacaostore.listmd.length == 0)"
class="empty-list d-flex height-100 align-center justify-content-center"
>
<span>Lista vazia</span>
</div>
</div>
</div> </div>
</div> </div>
@@ -16,6 +16,7 @@ import { ThemeService } from 'src/app/services/theme.service'
import { RouteService } from 'src/app/services/route.service'; import { RouteService } from 'src/app/services/route.service';
import { Storage } from '@ionic/storage'; import { Storage } from '@ionic/storage';
import { EventsService } from 'src/app/services/events.service'; import { EventsService } from 'src/app/services/events.service';
import { SessionStore } from 'src/app/store/session.service';
@Component({ @Component({
selector: 'app-event-list', selector: 'app-event-list',
@@ -37,6 +38,8 @@ export class EventListPage implements OnInit {
skeletonLoader = true skeletonLoader = true
eventoaprovacaostore = EventoAprovacaoStore; eventoaprovacaostore = EventoAprovacaoStore;
eventsList: any = []
color: 'pr' | 'mdgpr'
constructor( constructor(
private processes: ProcessesService, private processes: ProcessesService,
@@ -149,52 +152,53 @@ export class EventListPage implements OnInit {
} }
async LoadToApproveEvents() { async LoadToApproveEvents() {
// this.processes.GetTasksList('Agenda Oficial MDGPR', false).subscribe(async res => { this.showLoader = true;
this.showLoader = true; this.skeletonLoader = true
this.skeletonLoader = true
const segment = this.segment
if (this.segment != 'PR') { if(this.segment == 'MDGPR') {
const segment = this.segment // color
let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR,Agenda Pessoal MDGPR', false).toPromise(); if(SessionStore.user.Profile == 'PR') {
this.eventsMDGPRList = mdEventsOficial this.color = 'pr'
} else {
this.eventsMDGPRList = this.sortService.sortDate(this.eventsMDGPRList, 'taskStartDate') this.color = 'mdgpr'
this.eventsMDGPRList = this.sortService.sortArrayByDate(this.eventsMDGPRList)
this.eventoaprovacaostore.resetmd(this.eventsMDGPRList);
this.eventoaprovacaostore.save('MDGPR', this.eventsMDGPRList)
this.storage.set('event-to-aproveMD',this.eventsMDGPRList).then(() => {
})
} }
else if (this.segment == 'PR') {
const segment = this.segment
let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR,Agenda Pessoal PR', false).toPromise();
this.eventsPRList = prEventsOficial
this.eventsPRList = this.sortService.sortDate(this.eventsPRList, 'taskStartDate')
this.eventsPRList = this.sortService.sortArrayByDate(this.eventsPRList)
this.eventoaprovacaostore.resetpr(this.eventsPRList);
this.eventoaprovacaostore.save('PR', this.eventsPRList)
this.storage.set('event-to-aprovePR',this.eventsPRList).then(() => {
})
let genericEvents = await this.processes.GetTasksList('Agendar Evento', false).toPromise();
try {
this.eventsList = this.sortService.sortArrayByDate(genericEvents).reverse();
} catch (error) {
this.eventsList = [];
} }
this.eventoaprovacaostore.save(segment, this.eventsList)
} else {
this.color = 'pr'
let allEvents = await this.processes.eventsToApprove(segment).toPromise()
try {
this.eventsList = this.sortService.sortArrayByDate(allEvents).reverse();
} catch(error) {
this.eventsList = []
}
this.eventsList = this.eventsList
this.eventsList = this.eventsList
this.showLoader = false; this.showLoader = false;
this.skeletonLoader = false this.eventoaprovacaostore.save(segment, this.eventsList)
}
this.showLoader = false;
this.skeletonLoader = false
// }, (error) => {
// this.getEventToAproveFromDB();
// })
} }
toDateString(e) {
return new Date(e).toDateString()
}
async openApproveModal(eventSerialNumber, event) { async openApproveModal(eventSerialNumber, event) {
const modal = await this.modalController.create({ const modal = await this.modalController.create({
@@ -242,7 +242,7 @@
<ion-icon src="assets/images/icons-agenda.svg"></ion-icon> <ion-icon src="assets/images/icons-agenda.svg"></ion-icon>
</div> </div>
<p class="text-center exp-card-title ">Eventos para Aprovação</p> <p class="text-center exp-card-title ">Eventos para Aprovação</p>
<p class="text-center exp-card-content"> {{eventoaprovacaostore.countMd + eventoaprovacaostore.countPr}} <span class="title1">Documentos</span></p> <p class="text-center exp-card-content"> {{eventoaprovacaostore.countAll}} <span class="title1">Documentos</span></p>
</div> </div>
<!-- List --> <!-- List -->
@@ -598,7 +598,7 @@ export class GabineteDigitalPage implements OnInit {
updateAllProcess = () => { updateAllProcess = () => {
this.AllProcess = this.expedientegbstore.list.concat(this.pedidosstore.listparecer).concat(this.pedidosstore.listdeferimento) this.AllProcess = this.expedientegbstore.list.concat(this.pedidosstore.listparecer).concat(this.pedidosstore.listdeferimento)
.concat(this.despachoprstore.list).concat(this.eventoaprovacaostore.listmd).concat(this.eventoaprovacaostore.listpr).concat(this.despachoStore.list) .concat(this.despachoprstore.list).concat(this.eventoaprovacaostore.contactList).concat(this.despachoStore.list)
.concat(this.deplomasStore.diplomasParaAssinarList).concat(this.deplomasStore.diplomasAssinadoList).concat(this.deplomasStore.DiplomaGerarList).concat(this.pendentesstore.list) .concat(this.deplomasStore.diplomasParaAssinarList).concat(this.deplomasStore.diplomasAssinadoList).concat(this.deplomasStore.DiplomaGerarList).concat(this.pendentesstore.list)
// try{ // try{
@@ -732,21 +732,21 @@ export class GabineteDigitalPage implements OnInit {
this.updateAllProcess() this.updateAllProcess()
} }
let mdEventsOficial = await this.processesbackend.GetTasksList('Agenda Oficial MDGPR,Agenda Pessoal MDGPR', false).toPromise(); // let mdEventsOficial = await this.processesbackend.GetTasksList('Agenda Oficial MDGPR,Agenda Pessoal MDGPR', false).toPromise();
let eventsMDGPRList = mdEventsOficial // let eventsMDGPRList = mdEventsOficial
eventsMDGPRList = eventsMDGPRList.filter((item) => item.activityInstanceName != 'Editar Evento') // eventsMDGPRList = eventsMDGPRList.filter((item) => item.activityInstanceName != 'Editar Evento')
this.eventoaprovacaostore.countMd = eventsMDGPRList.length // this.eventoaprovacaostore.countMd = eventsMDGPRList.length
this.eventoaprovacaostore.resetmd(eventsMDGPRList); // this.eventoaprovacaostore.resetmd(eventsMDGPRList);
this.updateAllProcess() this.updateAllProcess()
let prEventsOficial = await this.processesbackend.GetTasksList('Agenda Oficial PR,Agenda Pessoal PR', false).toPromise(); // let prEventsOficial = await this.processesbackend.GetTasksList('Agenda Oficial PR,Agenda Pessoal PR', false).toPromise();
let eventsPRList = prEventsOficial // let eventsPRList = prEventsOficial
eventsPRList = eventsPRList.filter((item) => item.activityInstanceName != 'Editar Evento') // eventsPRList = eventsPRList.filter((item) => item.activityInstanceName != 'Editar Evento')
this.eventoaprovacaostore.countPr = eventsPRList.length // this.eventoaprovacaostore.countPr = eventsPRList.length
this.eventoaprovacaostore.resetpr(eventsPRList); // this.eventoaprovacaostore.resetpr(eventsPRList);
this.updateAllProcess() this.updateAllProcess()
let diplomasValidar = depachoAPI.filter(data => data.activityInstanceName == "Revisar Diploma"); let diplomasValidar = depachoAPI.filter(data => data.activityInstanceName == "Revisar Diploma");
+1 -2
View File
@@ -20,9 +20,8 @@ export class ClearStoreService {
clear() { clear() {
EventoAprovacaoStore.clear();
DespachoStore.reset([]) DespachoStore.reset([])
EventoAprovacaoStore.resetmd([])
EventoAprovacaoStore.resetpr([])
ExpedienteGdStore.reset([]) ExpedienteGdStore.reset([])
PendentesStore.reset([]) PendentesStore.reset([])
PedidosStore.resetdeferimento([]) PedidosStore.resetdeferimento([])
+4
View File
@@ -259,12 +259,16 @@ export class EventsService {
if(!this.calendarNamesAry.find(x => x.Role == e.Role)) { if(!this.calendarNamesAry.find(x => x.Role == e.Role)) {
let objectShared = { let objectShared = {
"Fullname": e.FullName, "Fullname": e.FullName,
"Role": e.Role, "Role": e.Role,
"OwnerUserId": sharedCalendar.OwnerUserId,
"RoleId": sharedCalendar.CalendarRoleId "RoleId": sharedCalendar.CalendarRoleId
} }
console.log('objectShared', objectShared)
this.calendarNamesAry.push(objectShared) this.calendarNamesAry.push(objectShared)
this.calendarNamesType[e.FullName] = {} this.calendarNamesType[e.FullName] = {}
+10 -1
View File
@@ -9,6 +9,10 @@ export class SortService {
constructor(private ObjectService: ObjectService) { } constructor(private ObjectService: ObjectService) { }
sortArrayISODate(myArray: any) { sortArrayISODate(myArray: any) {
if(!Array.isArray(myArray)) {
myArray = []
}
if(myArray.length > 0){ if(myArray.length > 0){
return myArray.sort(function (a, b) { return myArray.sort(function (a, b) {
return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0);
@@ -17,7 +21,9 @@ export class SortService {
} }
sortArrayByDate(myArray: any) { sortArrayByDate(myArray: any) {
if(!Array.isArray(myArray)) {
myArray = []
}
if(myArray.length > 0){ if(myArray.length > 0){
return myArray.sort(function (a, b) { return myArray.sort(function (a, b) {
return (new Date(a.workflowInstanceDataFields.StartDate) < new Date(b.workflowInstanceDataFields.StartDate)) ? -1 : ((new Date(a.workflowInstanceDataFields.StartDate) > new Date(b.workflowInstanceDataFields.StartDate)) ? 1 : 0); return (new Date(a.workflowInstanceDataFields.StartDate) < new Date(b.workflowInstanceDataFields.StartDate)) ? -1 : ((new Date(a.workflowInstanceDataFields.StartDate) > new Date(b.workflowInstanceDataFields.StartDate)) ? 1 : 0);
@@ -26,6 +32,9 @@ export class SortService {
} }
sortDate(array = [], path: string) { sortDate(array = [], path: string) {
if(!Array.isArray(array)) {
array = []
}
return array.sort( (a,b)=> { return array.sort( (a,b)=> {
+16
View File
@@ -69,6 +69,22 @@ export class ProcessesService {
return this.http.get<fullTaskList[]>(`${geturl}`, options); return this.http.get<fullTaskList[]>(`${geturl}`, options);
} }
eventsToApprove(userid) {
const geturl = environment.apiURL + 'tasks/events-to-approve';
let params = new HttpParams();
params = params.set("pageNum", 1);
params = params.set("pageSize", 500);
params = params.set("userid", userid);
let options = {
headers: this.headers,
params: params
};
return this.http.get<fullTaskList[]>(`${geturl}`, options);
}
GetTaskListExpediente(onlycount1): Observable<ExpedienteFullTask[]> { GetTaskListExpediente(onlycount1): Observable<ExpedienteFullTask[]> {
const processname = "Expediente" const processname = "Expediente"
const onlycount = false const onlycount = false
@@ -10,10 +10,7 @@
</div> </div>
<ion-toolbar> <ion-toolbar>
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)"> <ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
<!-- <ion-segment-button value="MDGPR"> <ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry; let i index" [value]="i === 'Meu calendario' ? 'MDGPR' : i.OwnerUserId ">
Minha agenda
</ion-segment-button> -->
<ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry; let i index" [value]="i === 'Meu calendario' ? 'MDGPR' : 'PR'">
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div> <div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div> <div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div> <div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
@@ -30,39 +27,17 @@
<ion-refresher-content> <ion-refresher-content>
</ion-refresher-content> </ion-refresher-content>
</ion-refresher> </ion-refresher>
<div class="main-content overflow-y-auto height-100" [ngSwitch]="segment" *ngIf="eventsMDGPRList"> <div class="main-content overflow-y-auto height-100" >
<!-- <div class="header-content width-100"> --> <!-- <div class="header-content width-100"> -->
<!-- </div> --> <!-- </div> -->
<ion-list class="width-100" *ngSwitchCase="'MDGPR'" > <ion-list class="width-100">
<div <div class="width-100" *ngIf="eventsList ">
class="item item-hover ion-no-padding width-100 cursor-pointer"
*ngFor="let event of eventsMDGPRList"
(click)="openApproveModal(event.serialNumber, event)"
>
<div class="event-mdgpr-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p>
</div>
<div class="approve-event-detail">
<p *ngIf="toDateString(event.workflowInstanceDataFields.StartDate) != toDateString(event.workflowInstanceDataFields.EndDate)">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} - {{ event.workflowInstanceDataFields.EndDate | date: 'dd/M/yy'}} | {{event.workflowInstanceDataFields.Location}}</p>
<p *ngIf="toDateString(event.workflowInstanceDataFields.StartDate) == toDateString(event.workflowInstanceDataFields.EndDate)">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} | {{event.workflowInstanceDataFields.Location}}</p>
<h3>{{event.workflowInstanceDataFields.Subject}}</h3>
<div *ngIf="event.activityInstanceName">
<div class="label-event-type"> {{ event.activityInstanceName }} </div>
</div>
</div>
</div>
</div>
</ion-list>
<ion-list class="width-100" *ngSwitchCase="'PR'">
<div class="width-100" *ngIf="eventsPRList">
<div <div
class="item ion-no-padding width-100 cursor-pointer" class="item ion-no-padding width-100 cursor-pointer"
*ngFor="let event of eventsPRList" *ngFor="let event of eventoaprovacaostore.get(segment)"
(click)="openApproveModal(event.serialNumber, event)" (click)="openApproveModal(event.serialNumber, event)"
> >
<div class="event-pr-{{event.workflowInstanceDataFields.Agenda}} width-100"> <div class="event-{{color}}-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time"> <div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p> <p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p> <p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p>
@@ -78,30 +53,9 @@
</div> </div>
</div> </div>
</div> </div>
</ion-list> </ion-list>
<ion-list class="width-100" *ngSwitchCase="'Unknown'">
<div class="width-100" *ngIf="eventsGenericList">
<div
class="item ion-no-padding width-100 cursor-pointer"
*ngFor="let event of eventsGenericList"
(click)="openApproveModal(event.serialNumber, event)"
>
<div class="event-pr-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p>
</div>
<div class="approve-event-detail">
<p *ngIf="toDateString(event.workflowInstanceDataFields.StartDate) != toDateString(event.workflowInstanceDataFields.EndDate)">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} - {{ event.workflowInstanceDataFields.EndDate | date: 'dd/M/yy'}} | {{event.workflowInstanceDataFields.Location}}</p>
<p *ngIf="toDateString(event.workflowInstanceDataFields.StartDate) == toDateString(event.workflowInstanceDataFields.EndDate)">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} | {{event.workflowInstanceDataFields.Location}}</p>
<h3>{{event.workflowInstanceDataFields.Subject}}</h3>
<div *ngIf="event.activityInstanceName">
<div class="label-event-type"> {{ event.activityInstanceName }} </div>
</div>
</div>
</div>
</div>
</div>
</ion-list>
</div> </div>
</ion-content> </ion-content>
@@ -21,6 +21,8 @@ export class EventListPage implements OnInit {
eventsPRList: any = [] eventsPRList: any = []
eventsMDGPRList: any = [] eventsMDGPRList: any = []
eventsGenericList: any = [] eventsGenericList: any = []
eventsList: any = []
eventPerson: EventPerson; eventPerson: EventPerson;
eventBody: EventBody; eventBody: EventBody;
categories: string[]; categories: string[];
@@ -28,6 +30,7 @@ export class EventListPage implements OnInit {
loggeduser: LoginUserRespose; loggeduser: LoginUserRespose;
segment:string; segment:string;
eventoaprovacaostore = EventoAprovacaoStore; eventoaprovacaostore = EventoAprovacaoStore;
color: 'pr' | 'mdgpr'
@Input() profile:string; @Input() profile:string;
@Input() showComponent:string; @Input() showComponent:string;
@@ -79,78 +82,48 @@ export class EventListPage implements OnInit {
async LoadToApproveEvents() { async LoadToApproveEvents() {
this.showLoader = true; this.showLoader = true;
try { const segment = this.segment
if(this.segment == 'MDGPR') {
const segment = this.segment
let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR', false).toPromise();
let mdEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal MDGPR', false).toPromise();
let allEvents = mdEventsOficial.concat(mdEventsPessoal); if(this.segment == 'MDGPR') {
if(allEvents.length > 0) { // color
this.eventsMDGPRList = this.sortService.sortArrayByDate(allEvents).reverse(); if(SessionStore.user.Profile == 'PR') {
} this.color = 'pr'
this.showLoader = false;
this.eventoaprovacaostore.save(segment, this.eventsMDGPRList)
}
else if(this.segment == 'PR') {
const segment = this.segment
let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR,Agenda Pessoal PR', false).toPromise();
let allEvents = prEventsOficial
if(allEvents.length > 0) {
this.eventsPRList = this.sortService.sortArrayByDate(allEvents).reverse();
}
this.showLoader = false;
this.eventoaprovacaostore.save(segment, this.eventsMDGPRList)
} else { } else {
let genericEvents = await this.processes.GetTasksList('Agendar Evento', false).toPromise(); this.color = 'mdgpr'
if(genericEvents.length > 0) {
this.eventsGenericList = this.sortService.sortArrayByDate(genericEvents).reverse();
}
this.showLoader = false;
} }
} catch(erro) { let genericEvents = await this.processes.GetTasksList('Agendar Evento', false).toPromise();
this.showLoader = false; try {
this.eventsList = this.sortService.sortArrayByDate(genericEvents).reverse();
} catch (error) {
this.eventsList = [];
}
this.eventoaprovacaostore.save(segment, this.eventsList)
} else {
this.color = 'pr'
let allEvents = await this.processes.eventsToApprove(segment).toPromise()
try {
this.eventsList = this.sortService.sortArrayByDate(allEvents).reverse();
} catch(error) {
this.eventsList = []
}
this.eventsList = this.eventsList
this.eventsList = this.eventsList
this.eventoaprovacaostore.save(segment, this.eventsList)
} }
this.showLoader = false;
} }
async LoadToApproveEventsNoLoader() { async LoadToApproveEventsNoLoader() {
try { this.LoadToApproveEvents()
if(this.segment == 'MDGPR') {
let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR,Agenda Pessoal MDGPR', false).toPromise();
let allEvents = mdEventsOficial
if(allEvents.length > 0) {
this.eventsMDGPRList = this.sortService.sortArrayByDate(allEvents).reverse();
}
this.showLoader = false;
}
else if(this.segment == 'PR') {
let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR,Agenda Pessoal PR', false).toPromise();
let allEvents = prEventsOficial
if(allEvents.length > 0) {
this.eventsPRList = this.sortService.sortArrayByDate(allEvents).reverse();
}
this.showLoader = false;
} else {
let genericEvents = await this.processes.GetTasksList('Agendar Evento', false).toPromise();
if(genericEvents.length > 0) {
this.eventsGenericList = this.sortService.sortArrayByDate(genericEvents).reverse();
}
this.showLoader = false;
}
} catch(erro) {
this.showLoader = false;
}
} }
@@ -83,7 +83,7 @@ export class AllProcessesPage implements OnInit {
updateAllProcess = () => { updateAllProcess = () => {
this.AllProcess = this.expedientegbstore.list.concat(this.pedidosstore.listparecer).concat(this.pedidosstore.listdeferimento) this.AllProcess = this.expedientegbstore.list.concat(this.pedidosstore.listparecer).concat(this.pedidosstore.listdeferimento)
.concat(this.despachoprstore.list).concat(this.eventoaprovacaostore.listmd).concat(this.eventoaprovacaostore.listpr).concat(this.despachoStore.list) .concat(this.despachoprstore.list).concat(this.eventoaprovacaostore.contactList).concat(this.despachoStore.list)
.concat(this.deplomasStore.diplomasParaAssinarList).concat(this.deplomasStore.diplomasAssinadoList).concat(this.deplomasStore.DiplomaGerarList).concat(this.pendentesstore.list) .concat(this.deplomasStore.diplomasParaAssinarList).concat(this.deplomasStore.diplomasAssinadoList).concat(this.deplomasStore.DiplomaGerarList).concat(this.pendentesstore.list)
} }
@@ -12,11 +12,12 @@
<!-- <ion-segment-button value="MDGPR"> <!-- <ion-segment-button value="MDGPR">
Minha agenda Minha agenda
</ion-segment-button> --> </ion-segment-button> -->
<ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry; let i index" [value]="i === 'Meu calendario' ? 'MDGPR' : 'PR'">
<ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry; let i index" [value]="i === 'Meu calendario' ? 'MDGPR' : i.OwnerUserId">
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div> <div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div> <div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR {{ i.OwnerUserIds }}</div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div> <div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role != 'Ministro e Director do Gabinete do PR' && calendars.Role != 'Presidente da República'"> Agenda do {{calendars.Fullname}} </div> <div *ngIf="calendars != 'Meu calendario' && calendars.Role != 'Ministro e Director do Gabinete do PR' && calendars.Role != 'Presidente da República'"> Agenda do {{calendars.Fullname }} </div>
</ion-segment-button> </ion-segment-button>
</ion-segment> </ion-segment>
</ion-toolbar> </ion-toolbar>
@@ -27,20 +28,20 @@
<ion-refresher-content> <ion-refresher-content>
</ion-refresher-content> </ion-refresher-content>
</ion-refresher> </ion-refresher>
<div class="main-content overflow-y-auto height-100" [ngSwitch]="segment" *ngIf="eventaprovacaostore.listpr"> <div class="main-content overflow-y-auto height-100" >
<div *ngSwitchCase="'MDGPR'" class="height-100"> <div class="height-100">
<div *ngIf="eventaprovacaostore.listmd"> <div >
<ion-list class="width-100" *ngIf="eventaprovacaostore.listmd.length != 0" > <ion-list class="width-100" >
<div <div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer" class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor="let event of eventaprovacaostore.listmd" *ngFor="let event of eventoaprovacaostore.get(segment)"
(click)="goToEventDetail(event)" (click)="goToEventDetail(event)"
> >
<!-- (click)="openApproveModal(event)" --> <!-- (click)="openApproveModal(event)" -->
<div class="event-mdgpr-{{event.workflowInstanceDataFields.Agenda}} width-100"> <div class="event-{{color}}-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time"> <div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p> <p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p> <p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p>
@@ -55,10 +56,10 @@
</ion-list> </ion-list>
</div> </div>
<div *ngIf="eventaprovacaostore.listmd" class="centered-div"> <div *ngIf="eventoaprovacaostore.get(segment)" class="centered-div">
<div *ngIf="eventaprovacaostore.listmd.length == 0"> <div *ngIf="eventoaprovacaostore.get(segment).length == 0">
<div *ngSwitchCase="'MDGPR'"> <div >
<div class="d-flex height-90 align-center justify-content-center" <div class="d-flex height-90 align-center justify-content-center"
> >
Lista vazia Lista vazia
@@ -67,41 +68,7 @@
</div> </div>
</div> </div>
</div> </div>
<div *ngSwitchCase="'PR'">
<div *ngIf="eventaprovacaostore.listpr.length != 0">
<ion-list class="width-100" *ngSwitchCase="'PR'">
<div class="width-100" *ngIf="eventaprovacaostore.listpr">
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor="let event of eventaprovacaostore.listpr"
(click)="goToEventDetail(event)"
>
<div class="item event-pr-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p>
</div>
<div class="approve-event-detail">
<p *ngIf="toDateString(event.workflowInstanceDataFields.StartDate) != toDateString(event.workflowInstanceDataFields.EndDate)">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} - {{ event.workflowInstanceDataFields.EndDate | date: 'dd/M/yy'}} | {{event.workflowInstanceDataFields.Location}}</p>
<p *ngIf="toDateString(event.workflowInstanceDataFields.StartDate) == toDateString(event.workflowInstanceDataFields.EndDate)">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} | {{event.workflowInstanceDataFields.Location}}</p>
<h3>{{event.workflowInstanceDataFields.Subject}}</h3>
</div>
</div>
</div>
</div>
</ion-list>
</div>
<div *ngIf="eventaprovacaostore.listpr.length == 0" class="centered-div d-flex height-90 align-center justify-content-center">
<div *ngSwitchCase="'PR'" >
<div class="d-flex align-center justify-content-center"
*ngIf="eventaprovacaostore.listpr.length < 1">
Lista vazia
</div>
</div>
</div>
</div>
</div> </div>
</ion-content> </ion-content>
@@ -31,6 +31,10 @@ export class EventsToApprovePage implements OnInit {
segment:string; segment:string;
eventaprovacaostore = EventoAprovacaoStore; eventaprovacaostore = EventoAprovacaoStore;
eventsList: any = []
color: 'pr' | 'mdgpr'
eventoaprovacaostore = EventoAprovacaoStore;
constructor( constructor(
private processes:ProcessesService, private processes:ProcessesService,
private modalController: ModalController, private modalController: ModalController,
@@ -68,37 +72,54 @@ export class EventsToApprovePage implements OnInit {
async LoadToApproveEvents() { async LoadToApproveEvents() {
this.showLoader = true; this.showLoader = true;
const segment = this.segment
console.log(this.eventService.calendarNamesAry)
this.getFromDB(); if(this.segment == 'MDGPR') {
if(this.segment != 'PR') { // color
let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR,Agenda Pessoal MDGPR', false).toPromise(); if(SessionStore.user.Profile == 'PR') {
this.eventsMDGPRList = mdEventsOficial this.color = 'pr'
this.eventsMDGPRList = this.sortService.sortArrayByDate(this.eventsMDGPRList) } else {
this.eventsMDGPRList = ( this.eventsMDGPRList || []).filter(function(item) { this.color = 'mdgpr'
}
let genericEvents = await this.processes.GetTasksList('Agendar Evento', false).toPromise();
try {
this.eventsList = this.sortService.sortArrayByDate(genericEvents).reverse();
} catch (error) {
this.eventsList = [];
}
this.eventsList = this.eventsList.filter(function(item) {
return item.activityInstanceName != 'Editar Evento' return item.activityInstanceName != 'Editar Evento'
}) || [] }) || []
this.storage.set('event-to-aproveMD',this.eventsMDGPRList).then(() => { this.eventoaprovacaostore.save(segment, this.eventsList)
} else {
})
this.eventaprovacaostore.resetmd(this.sortService.sortDate(this.eventsMDGPRList, 'CreateDate'));
} this.color = 'pr'
else if(this.segment == 'PR') {
let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR,Agenda Pessoal PR', false).toPromise(); let allEvents = await this.processes.eventsToApprove(segment).toPromise()
// console.log(prEventsOficial)
// console.log(prEventsPessoal) console.log('allEvents', allEvents)
this.eventsPRList = prEventsOficial try {
this.eventsPRList = this.sortService.sortArrayByDate(this.eventsPRList) this.eventsList = this.sortService.sortArrayByDate(allEvents).reverse();
this.eventsPRList = (this.eventsPRList || []).filter(function(item) { } catch(error) {
this.eventsList = []
}
this.eventsList = this.eventsList.filter(function(item) {
return item.activityInstanceName != 'Editar Evento' return item.activityInstanceName != 'Editar Evento'
}) }) || []
this.storage.set('event-to-aprovePR',this.eventsPRList).then(() => { this.eventsList = this.eventsList
this.eventsList = this.eventsList
}) this.showLoader = false;
this.eventaprovacaostore.resetpr(this.sortService.sortDate(this.eventsPRList, 'CreateDate')); this.eventoaprovacaostore.save(segment, this.eventsList)
} }
this.showLoader = false; this.showLoader = false;
} }
+39 -92
View File
@@ -9,114 +9,36 @@ import { isArray } from 'ionic-angular/umd/util/util';
export class EventoaprovacaoStoreService { export class EventoaprovacaoStoreService {
// main data // main data
private _listPr: any[] = []
private _listMd: any[] = []
private _list: {[key: string]: any[]} = {} private _list: {[key: string]: any[]} = {}
private _concatList = []
// local storage keyName // local storage keyName
private keyNamemd: string;
private keyNamepr: string;
private keyNameAll: string; private keyNameAll: string;
private _counts : {[key: string]: number} = {} private _counts : {[key: string]: number} = {}
private _countsAll = 0 private _countsAll = 0
private _count = 0
private _countPr = 0
private _countMd = 0
constructor() { constructor() {
this.keyNamemd = (SHA1("EventoaprovacaoStoreService"+"md")).toString()
this.keyNamepr = (SHA1("EventoaprovacaoStoreService"+"pr")).toString()
this.keyNameAll = (SHA1("EventoaprovacaoStoreService"+"all")).toString() this.keyNameAll = (SHA1("EventoaprovacaoStoreService"+"all")).toString()
setTimeout(()=>{ setTimeout(()=>{
let restoreMd = localstoreService.get(this.keyNamemd, []) let {list , counts} = localstoreService.get(this.keyNameAll, {})
let restorePr = localstoreService.get(this.keyNamepr, [])
this._listPr = restorePr.listPr || [] this._list = list || {}
this._listMd = restoreMd.lisMd || []
this._countMd = parseInt(restoreMd.countListMd) || 0 this.updateCount();
this._countPr = parseInt(restorePr.countListPr) || 0
this._count = (this._countMd + this._countPr) || 0
}, 10) }, 10)
} }
get listpr() { return this._listPr || [] } get countAll() {
get listmd() { return this._listMd || [] } return this._countsAll
get count() { return this._count || 0 }
set count(value: number) {
this._count = value
} }
get countPr() { return this._countPr || 0 } get contactList() {
set countPr (value: number) { return this._concatList
this._countPr = value
}
get countMd() { return this._countMd || 0 }
set countMd (value) {
this._countMd = value
}
resetpr(eventsList: any) {
if(Array.isArray(eventsList)) {
this._listPr = eventsList
this.countPr = this._listPr.length
this.count = this.countPr + this.countMd
this.savePr()
if(window['all-process']) {
window['all-process']()
}
if(window['all-process-gabinete']) {
window['all-process-gabinete']()
}
}
}
resetmd(eventsList: any) {
if(Array.isArray(eventsList)) {
this._listMd = eventsList
this.countMd = this._listMd.length
this.count = this.countPr + this.countMd
this.saveMd()
if(window['all-process']) {
window['all-process']()
}
if(window['all-process-gabinete']) {
window['all-process-gabinete']()
}
}
}
private saveMd() {
setTimeout(()=>{
localstoreService.set(this.keyNamemd,{
lisMd: this._listMd,
countListMd: this._countMd
})
}, 10)
}
private savePr() {
setTimeout(()=>{
localstoreService.set(this.keyNamepr,{
listPr: this._listPr,
countListPr: this._countPr
})
}, 10)
} }
@@ -134,8 +56,28 @@ export class EventoaprovacaoStoreService {
setTimeout(() => { setTimeout(() => {
localstoreService.set(this.keyNameAll,{ localstoreService.set(this.keyNameAll,{
_list: this._list, list: this._list,
_counts: this._counts counts: this._counts
})
}, 10)
if(window['all-process']) {
window['all-process']()
}
if(window['all-process-gabinete']) {
window['all-process-gabinete']()
}
}
clear() {
this._list = {}
this._counts = {}
setTimeout(() => {
localstoreService.set(this.keyNameAll,{
list: this._list,
counts: this._counts
}) })
}, 10) }, 10)
} }
@@ -145,13 +87,18 @@ export class EventoaprovacaoStoreService {
} }
updateCount() { updateCount() {
let count = 0
let allList = []
for(let [name, value] of Object.entries(this._list)) { for(let [name, value] of Object.entries(this._list)) {
count = count + value.length allList = allList.concat(value)
} }
this._countsAll = count
this._countsAll = allList.length
this._concatList = allList
} }
} }
export const EventoAprovacaoStore = new EventoaprovacaoStoreService() export const EventoAprovacaoStore = new EventoaprovacaoStoreService()
+6 -6
View File
@@ -1,12 +1,12 @@
export let versionData = { export let versionData = {
"shortSHA": "f9bc1ae15", "shortSHA": "9c540d38b",
"SHA": "f9bc1ae153f98c00bdc1b7f0eb1078f5574ed9f5", "SHA": "9c540d38b0e4146fa71545686a971d10951020bf",
"branch": "no_bug_movemente", "branch": "no_bug_movemente",
"lastCommitAuthor": "'Peter Maquiran'", "lastCommitAuthor": "'Peter Maquiran'",
"lastCommitTime": "'Wed Feb 22 09:35:20 2023 +0100'", "lastCommitTime": "'Wed Feb 22 10:08:50 2023 +0100'",
"lastCommitMessage": "remove alert", "lastCommitMessage": "fix eventos",
"lastCommitNumber": "4815", "lastCommitNumber": "4816",
"change": "", "change": "",
"changeStatus": "On branch no_bug_movemente\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: src/app/pages/gabinete-digital/event-list/event-list.page.ts\n\tmodified: src/app/shared/agenda/event-list/event-list.page.ts\n\tmodified: src/app/store/eventoaprovacao-store.service.ts", "changeStatus": "On branch no_bug_movemente\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: src/app/pages/gabinete-digital/event-list/event-list.page.html\n\tmodified: src/app/pages/gabinete-digital/event-list/event-list.page.ts\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.html\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.ts\n\tmodified: src/app/services/clear-store.service.ts\n\tmodified: src/app/services/events.service.ts\n\tmodified: src/app/services/functions/sort.service.ts\n\tmodified: src/app/services/processes.service.ts\n\tmodified: src/app/shared/agenda/event-list/event-list.page.html\n\tmodified: src/app/shared/agenda/event-list/event-list.page.ts\n\tmodified: src/app/shared/gabinete-digital/all-processes/all-processes.page.ts\n\tmodified: src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html\n\tmodified: src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts\n\tmodified: src/app/store/eventoaprovacao-store.service.ts",
"changeAuthor": "peter.maquiran" "changeAuthor": "peter.maquiran"
} }