mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-20 21:35:50 +00:00
133 lines
4.1 KiB
TypeScript
133 lines
4.1 KiB
TypeScript
import { Component, Input, OnInit } from '@angular/core';
|
|
import { ActivatedRoute, NavigationStart, Router } from '@angular/router';
|
|
import { DailyWorkTask } from '../../../models/dailyworktask.model';
|
|
import { ProcessesService } from 'src/app/services/processes.service';
|
|
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
|
|
import { DeplomasStore } from 'src/app/store/deplomas.service';
|
|
import { ThemeService } from 'src/app/services/theme.service'
|
|
import { SortService } from 'src/app/services/functions/sort.service';
|
|
import { PermissionService } from 'src/app/services/permission.service';
|
|
|
|
@Component({
|
|
selector: 'app-diplomas',
|
|
templateUrl: './diplomas.page.html',
|
|
styleUrls: ['./diplomas.page.scss'],
|
|
})
|
|
export class DiplomasPage implements OnInit {
|
|
|
|
diplomasList:DailyWorkTask[] = [];
|
|
diplomasAssinadoList:DailyWorkTask[] = [];
|
|
showLoader: boolean;
|
|
serialNumber:string;
|
|
skeletonLoader = false
|
|
|
|
@Input() segment:string;
|
|
|
|
|
|
deplomasStore = DeplomasStore
|
|
customTaskPipe = new CustomTaskPipe()
|
|
|
|
constructor(
|
|
private processes:ProcessesService,
|
|
private router: Router,
|
|
private activatedRoute: ActivatedRoute,
|
|
public ThemeService: ThemeService,
|
|
private sortService: SortService,
|
|
public p: PermissionService,
|
|
) {}
|
|
|
|
ngOnInit() {
|
|
// update list
|
|
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')) {
|
|
this.refreshing()
|
|
} else {
|
|
this.LoadList()
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
}
|
|
|
|
segmentChanged(ev: any) {
|
|
this.LoadList();
|
|
}
|
|
|
|
goToDiploma(serialNumber:any){
|
|
this.router.navigate(['/home/gabinete-digital/diplomas', serialNumber, 'gabinete-digital']);
|
|
}
|
|
|
|
async LoadList() {
|
|
this.skeletonLoader = true;
|
|
|
|
let diplomas = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise();
|
|
|
|
this.diplomasList = [];
|
|
let diplomasList = [];
|
|
|
|
// let diplomasReview = diplomas.reverse().filter(data => data.activityInstanceName == "Diploma Assinado");
|
|
|
|
diplomas.forEach(element => {
|
|
|
|
let task = this.pipeTask(element)
|
|
diplomasList.push(task);
|
|
});
|
|
|
|
diplomasList = diplomasList.filter(data => data.activityInstanceName != "Tarefa de Despacho");
|
|
|
|
this.diplomasList = this.sortService.sortDate(diplomasList, 'CreateDate')
|
|
|
|
this.deplomasStore.resetDiplomasReview(this.diplomasList)
|
|
|
|
let diplomasAssinadoList = []
|
|
let diplomasAssinados = diplomas.reverse().filter(data => data.activityInstanceName == "Diploma Assinado");
|
|
|
|
diplomasAssinados.forEach(async element => {
|
|
|
|
let task = this.pipeTask(element)
|
|
diplomasAssinadoList.push(task);
|
|
});
|
|
|
|
this.diplomasAssinadoList = this.sortService.sortDate(diplomasAssinadoList, 'CreateDate')
|
|
this.deplomasStore.resetDiplomasAssinadoList(this.diplomasAssinadoList)
|
|
|
|
this.showLoader = false;
|
|
this.skeletonLoader = false
|
|
}
|
|
|
|
pipeTask(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();
|
|
return {
|
|
"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,
|
|
}
|
|
}
|
|
|
|
async refreshing() {
|
|
setTimeout(() => {
|
|
this.LoadList();
|
|
}, 1000);
|
|
}
|
|
|
|
doRefresh() {
|
|
this.LoadList();
|
|
}
|
|
|
|
}
|