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">
Minha agenda
</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' && 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>
@@ -40,14 +40,14 @@
<div class="main-content d-flex height-100" >
<div class="content height-100 d-flex flex-column">
<div [ngSwitch]="segment">
<ion-list class="width-100 height-100" *ngSwitchCase="'MDGPR'">
<div *ngIf="eventoaprovacaostore.listmd" class="overflow-y-auto height-100">
<div >
<ion-list class="width-100 height-100" >
<div class="overflow-y-auto height-100">
<ion-item-sliding>
<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">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p>
@@ -65,51 +65,19 @@
</ion-item-sliding>
</div>
</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 class="height-100" [ngSwitch]="segment">
<div *ngSwitchCase="'MDGPR'" class="d-flex height-100 align-center justify-content-center" >
<div class="height-100" >
<div class="d-flex height-100 align-center justify-content-center" >
<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"
>
<span>Lista vazia</span>
</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>
@@ -16,6 +16,7 @@ import { ThemeService } from 'src/app/services/theme.service'
import { RouteService } from 'src/app/services/route.service';
import { Storage } from '@ionic/storage';
import { EventsService } from 'src/app/services/events.service';
import { SessionStore } from 'src/app/store/session.service';
@Component({
selector: 'app-event-list',
@@ -37,6 +38,8 @@ export class EventListPage implements OnInit {
skeletonLoader = true
eventoaprovacaostore = EventoAprovacaoStore;
eventsList: any = []
color: 'pr' | 'mdgpr'
constructor(
private processes: ProcessesService,
@@ -149,52 +152,53 @@ export class EventListPage implements OnInit {
}
async LoadToApproveEvents() {
// this.processes.GetTasksList('Agenda Oficial MDGPR', false).subscribe(async res => {
this.showLoader = true;
this.skeletonLoader = true
this.showLoader = true;
this.skeletonLoader = true
const segment = this.segment
if(this.segment == 'MDGPR') {
// color
if(SessionStore.user.Profile == 'PR') {
this.color = 'pr'
} else {
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.eventoaprovacaostore.save(segment, this.eventsList)
if (this.segment != 'PR') {
const segment = this.segment
let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR,Agenda Pessoal MDGPR', false).toPromise();
this.eventsMDGPRList = mdEventsOficial
} else {
this.eventsMDGPRList = this.sortService.sortDate(this.eventsMDGPRList, 'taskStartDate')
this.eventsMDGPRList = this.sortService.sortArrayByDate(this.eventsMDGPRList)
this.eventoaprovacaostore.resetmd(this.eventsMDGPRList);
this.eventoaprovacaostore.save('MDGPR', this.eventsMDGPRList)
this.color = 'pr'
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 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.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) {
const modal = await this.modalController.create({
@@ -242,7 +242,7 @@
<ion-icon src="assets/images/icons-agenda.svg"></ion-icon>
</div>
<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>
<!-- List -->
@@ -598,7 +598,7 @@ export class GabineteDigitalPage implements OnInit {
updateAllProcess = () => {
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)
// try{
@@ -732,21 +732,21 @@ export class GabineteDigitalPage implements OnInit {
this.updateAllProcess()
}
let mdEventsOficial = await this.processesbackend.GetTasksList('Agenda Oficial MDGPR,Agenda Pessoal MDGPR', false).toPromise();
let eventsMDGPRList = mdEventsOficial
// let mdEventsOficial = await this.processesbackend.GetTasksList('Agenda Oficial MDGPR,Agenda Pessoal MDGPR', false).toPromise();
// 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.resetmd(eventsMDGPRList);
// this.eventoaprovacaostore.countMd = eventsMDGPRList.length
// this.eventoaprovacaostore.resetmd(eventsMDGPRList);
this.updateAllProcess()
let prEventsOficial = await this.processesbackend.GetTasksList('Agenda Oficial PR,Agenda Pessoal PR', false).toPromise();
let eventsPRList = prEventsOficial
eventsPRList = eventsPRList.filter((item) => item.activityInstanceName != 'Editar Evento')
// let prEventsOficial = await this.processesbackend.GetTasksList('Agenda Oficial PR,Agenda Pessoal PR', false).toPromise();
// let eventsPRList = prEventsOficial
// eventsPRList = eventsPRList.filter((item) => item.activityInstanceName != 'Editar Evento')
this.eventoaprovacaostore.countPr = eventsPRList.length
this.eventoaprovacaostore.resetpr(eventsPRList);
// this.eventoaprovacaostore.countPr = eventsPRList.length
// this.eventoaprovacaostore.resetpr(eventsPRList);
this.updateAllProcess()
let diplomasValidar = depachoAPI.filter(data => data.activityInstanceName == "Revisar Diploma");
+1 -2
View File
@@ -20,9 +20,8 @@ export class ClearStoreService {
clear() {
EventoAprovacaoStore.clear();
DespachoStore.reset([])
EventoAprovacaoStore.resetmd([])
EventoAprovacaoStore.resetpr([])
ExpedienteGdStore.reset([])
PendentesStore.reset([])
PedidosStore.resetdeferimento([])
+5 -1
View File
@@ -258,12 +258,16 @@ export class EventsService {
this.myCalendarNames[sharedCalendar.CalendarId] = e.FullName
if(!this.calendarNamesAry.find(x => x.Role == e.Role)) {
let objectShared = {
"Fullname": e.FullName,
"Role": e.Role,
"OwnerUserId": sharedCalendar.OwnerUserId,
"RoleId": sharedCalendar.CalendarRoleId
}
console.log('objectShared', objectShared)
this.calendarNamesAry.push(objectShared)
+11 -2
View File
@@ -9,6 +9,10 @@ export class SortService {
constructor(private ObjectService: ObjectService) { }
sortArrayISODate(myArray: any) {
if(!Array.isArray(myArray)) {
myArray = []
}
if(myArray.length > 0){
return myArray.sort(function (a, b) {
return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0);
@@ -17,7 +21,9 @@ export class SortService {
}
sortArrayByDate(myArray: any) {
if(!Array.isArray(myArray)) {
myArray = []
}
if(myArray.length > 0){
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);
@@ -26,7 +32,10 @@ export class SortService {
}
sortDate(array = [], path: string) {
if(!Array.isArray(array)) {
array = []
}
return array.sort( (a,b)=> {
return (new Date(this.ObjectService.deepFind(a, path)) < new Date(this.ObjectService.deepFind(b, path))) ? -1 : ((new Date(this.ObjectService.deepFind(a, path)) > new Date(this.ObjectService.deepFind(b, path))) ? 1 : 0);
+16
View File
@@ -69,6 +69,22 @@ export class ProcessesService {
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[]> {
const processname = "Expediente"
const onlycount = false
@@ -10,10 +10,7 @@
</div>
<ion-toolbar>
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
<!-- <ion-segment-button value="MDGPR">
Minha agenda
</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' && 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>
@@ -30,39 +27,17 @@
<ion-refresher-content>
</ion-refresher-content>
</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> -->
<ion-list class="width-100" *ngSwitchCase="'MDGPR'" >
<div
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">
<ion-list class="width-100">
<div class="width-100" *ngIf="eventsList ">
<div
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)"
>
<div class="event-pr-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="event-{{color}}-{{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>
@@ -78,30 +53,9 @@
</div>
</div>
</div>
</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>
</ion-content>
@@ -21,6 +21,8 @@ export class EventListPage implements OnInit {
eventsPRList: any = []
eventsMDGPRList: any = []
eventsGenericList: any = []
eventsList: any = []
eventPerson: EventPerson;
eventBody: EventBody;
categories: string[];
@@ -28,6 +30,7 @@ export class EventListPage implements OnInit {
loggeduser: LoginUserRespose;
segment:string;
eventoaprovacaostore = EventoAprovacaoStore;
color: 'pr' | 'mdgpr'
@Input() profile:string;
@Input() showComponent:string;
@@ -78,79 +81,49 @@ export class EventListPage implements OnInit {
async LoadToApproveEvents() {
this.showLoader = true;
try {
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(allEvents.length > 0) {
this.eventsMDGPRList = this.sortService.sortArrayByDate(allEvents).reverse();
}
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;
const segment = this.segment
this.eventoaprovacaostore.save(segment, this.eventsMDGPRList)
if(this.segment == 'MDGPR') {
// color
if(SessionStore.user.Profile == 'PR') {
this.color = 'pr'
} 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;
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.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 = []
}
} catch(erro) {
this.showLoader = false;
this.eventsList = this.eventsList
this.eventsList = this.eventsList
this.eventoaprovacaostore.save(segment, this.eventsList)
}
this.showLoader = false;
}
async LoadToApproveEventsNoLoader() {
try {
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;
}
this.LoadToApproveEvents()
}
@@ -83,7 +83,7 @@ export class AllProcessesPage implements OnInit {
updateAllProcess = () => {
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)
}
@@ -12,11 +12,12 @@
<!-- <ion-segment-button value="MDGPR">
Minha agenda
</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' && 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' && 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>
</ion-toolbar>
@@ -27,20 +28,20 @@
<ion-refresher-content>
</ion-refresher-content>
</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
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)="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">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p>
@@ -55,10 +56,10 @@
</ion-list>
</div>
<div *ngIf="eventaprovacaostore.listmd" class="centered-div">
<div *ngIf="eventoaprovacaostore.get(segment)" class="centered-div">
<div *ngIf="eventaprovacaostore.listmd.length == 0">
<div *ngSwitchCase="'MDGPR'">
<div *ngIf="eventoaprovacaostore.get(segment).length == 0">
<div >
<div class="d-flex height-90 align-center justify-content-center"
>
Lista vazia
@@ -67,41 +68,7 @@
</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>
</ion-content>
@@ -31,6 +31,10 @@ export class EventsToApprovePage implements OnInit {
segment:string;
eventaprovacaostore = EventoAprovacaoStore;
eventsList: any = []
color: 'pr' | 'mdgpr'
eventoaprovacaostore = EventoAprovacaoStore;
constructor(
private processes:ProcessesService,
private modalController: ModalController,
@@ -68,37 +72,54 @@ export class EventsToApprovePage implements OnInit {
async LoadToApproveEvents() {
this.showLoader = true;
this.getFromDB();
if(this.segment != 'PR') {
let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR,Agenda Pessoal MDGPR', false).toPromise();
this.eventsMDGPRList = mdEventsOficial
this.eventsMDGPRList = this.sortService.sortArrayByDate(this.eventsMDGPRList)
this.eventsMDGPRList = ( this.eventsMDGPRList || []).filter(function(item) {
const segment = this.segment
console.log(this.eventService.calendarNamesAry)
if(this.segment == 'MDGPR') {
// color
if(SessionStore.user.Profile == 'PR') {
this.color = 'pr'
} else {
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'
}) || []
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'));
}
else if(this.segment == 'PR') {
let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR,Agenda Pessoal PR', false).toPromise();
// console.log(prEventsOficial)
// console.log(prEventsPessoal)
this.eventsPRList = prEventsOficial
this.eventsPRList = this.sortService.sortArrayByDate(this.eventsPRList)
this.eventsPRList = (this.eventsPRList || []).filter(function(item) {
this.color = 'pr'
let allEvents = await this.processes.eventsToApprove(segment).toPromise()
console.log('allEvents', allEvents)
try {
this.eventsList = this.sortService.sortArrayByDate(allEvents).reverse();
} catch(error) {
this.eventsList = []
}
this.eventsList = this.eventsList.filter(function(item) {
return item.activityInstanceName != 'Editar Evento'
})
this.storage.set('event-to-aprovePR',this.eventsPRList).then(() => {
})
this.eventaprovacaostore.resetpr(this.sortService.sortDate(this.eventsPRList, 'CreateDate'));
}) || []
this.eventsList = this.eventsList
this.eventsList = this.eventsList
this.showLoader = false;
this.eventoaprovacaostore.save(segment, this.eventsList)
}
this.showLoader = false;
}
+39 -92
View File
@@ -9,114 +9,36 @@ import { isArray } from 'ionic-angular/umd/util/util';
export class EventoaprovacaoStoreService {
// main data
private _listPr: any[] = []
private _listMd: any[] = []
private _list: {[key: string]: any[]} = {}
private _concatList = []
// local storage keyName
private keyNamemd: string;
private keyNamepr: string;
private keyNameAll: string;
private _counts : {[key: string]: number} = {}
private _countsAll = 0
private _count = 0
private _countPr = 0
private _countMd = 0
constructor() {
this.keyNamemd = (SHA1("EventoaprovacaoStoreService"+"md")).toString()
this.keyNamepr = (SHA1("EventoaprovacaoStoreService"+"pr")).toString()
this.keyNameAll = (SHA1("EventoaprovacaoStoreService"+"all")).toString()
setTimeout(()=>{
let restoreMd = localstoreService.get(this.keyNamemd, [])
let restorePr = localstoreService.get(this.keyNamepr, [])
let {list , counts} = localstoreService.get(this.keyNameAll, {})
this._listPr = restorePr.listPr || []
this._listMd = restoreMd.lisMd || []
this._countMd = parseInt(restoreMd.countListMd) || 0
this._countPr = parseInt(restorePr.countListPr) || 0
this._count = (this._countMd + this._countPr) || 0
this._list = list || {}
this.updateCount();
}, 10)
}
get listpr() { return this._listPr || [] }
get listmd() { return this._listMd || [] }
get count() { return this._count || 0 }
set count(value: number) {
this._count = value
get countAll() {
return this._countsAll
}
get countPr() { return this._countPr || 0 }
set countPr (value: number) {
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)
get contactList() {
return this._concatList
}
@@ -134,8 +56,28 @@ export class EventoaprovacaoStoreService {
setTimeout(() => {
localstoreService.set(this.keyNameAll,{
_list: this._list,
_counts: this._counts
list: this._list,
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)
}
@@ -145,13 +87,18 @@ export class EventoaprovacaoStoreService {
}
updateCount() {
let count = 0
let allList = []
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()