mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 21:06:06 +00:00
Improve
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<ion-content class="height-100">
|
||||
<div class="main-content d-flex height-100">
|
||||
<div class="content d-flex flex-column width-100">
|
||||
<ion-item lines="none">
|
||||
<ion-label class="title">{{modalTitle[taskType]}}</ion-label>
|
||||
</ion-item>
|
||||
<div class="title" lines="none">
|
||||
{{modalTitle[taskType]}}
|
||||
</div>
|
||||
<div class="ion-item-container width-100" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom ">
|
||||
<ion-input placeholder="Assunto*" [(ngModel)]="postData.DispatchFolder.Subject"></ion-input>
|
||||
</div>
|
||||
|
||||
@@ -117,13 +117,27 @@ export class CreateProcessPage implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
let SourceId;
|
||||
let SourceType;
|
||||
let SourceSecFsId;
|
||||
|
||||
if(this.task.workflowInstanceDataFields.FolderID) {
|
||||
SourceId = this.task.workflowInstanceDataFields.FolderID
|
||||
SourceType = 'FOLDER'
|
||||
SourceSecFsId = 361
|
||||
} else {
|
||||
SourceId = this.task.workflowInstanceDataFields.SourceID
|
||||
SourceType = 'DOC'
|
||||
SourceSecFsId = 8
|
||||
}
|
||||
|
||||
this.dispatchFolder = {
|
||||
Nad: 30,
|
||||
Subject: '',
|
||||
Message: '',
|
||||
SourceSecFsId: this.task.workflowInstanceDataFields.SourceSecFsID, //361
|
||||
SourceType: 'DOC', //FOLDER
|
||||
SourceId: this.task.workflowInstanceDataFields.SourceID, //FolderId
|
||||
SourceSecFsId: SourceSecFsId, //361
|
||||
SourceType: SourceType, //FOLDER
|
||||
SourceId: SourceId,
|
||||
DeadlineType: '',
|
||||
SubjectTypes: this.selectedTypes,
|
||||
NumberPDPP: this.task.workflowInstanceDataFields.DispatchNumber || NumberPDPP
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
class="expediente ion-no-padding cursor-pointer"
|
||||
*ngFor = "let task of diplomasList"
|
||||
(click)="goToDiploma(task.SerialNumber)"
|
||||
lines="none"
|
||||
>
|
||||
<div class="item width-100">
|
||||
<div class="exp-top-detail">
|
||||
@@ -69,8 +70,9 @@
|
||||
<ion-list *ngSwitchCase="'assinados'">
|
||||
<ion-item
|
||||
class="expediente ion-no-padding cursor-pointer"
|
||||
*ngFor = "let task of diplomasList"
|
||||
*ngFor = "let task of diplomasAssinadoList"
|
||||
(click)="goToDiploma(task.SerialNumber)"
|
||||
lines="none"
|
||||
>
|
||||
<div class="item width-100">
|
||||
<div class="exp-top-detail">
|
||||
|
||||
@@ -33,7 +33,6 @@ constructor(
|
||||
|
||||
this.segment = 'validar';
|
||||
this.activatedRoute.queryParams.subscribe(params => {
|
||||
console.log('Cria');
|
||||
|
||||
if(params['segment'] == 'validar') {
|
||||
this.segment = 'validar';
|
||||
@@ -132,7 +131,7 @@ constructor(
|
||||
});
|
||||
} */
|
||||
|
||||
async getTotalDocs(DocId:any){
|
||||
async getTotalDocs(DocId:any) {
|
||||
let res = await this.processes.GetDocumentDetails(DocId, '361').toPromise();
|
||||
console.log(res.DocumentsTotal);
|
||||
return res.DocumentsTotal;
|
||||
@@ -150,81 +149,56 @@ constructor(
|
||||
this.router.navigate(['/home/gabinete-digital/diplomas', serialNumber, 'gabinete-digital']);
|
||||
}
|
||||
|
||||
async LoadList(){
|
||||
async LoadList() {
|
||||
|
||||
console.log(this.diplomasList);
|
||||
this.skeletonLoader = true
|
||||
|
||||
let diplomas = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise();
|
||||
this.diplomasList = [];
|
||||
|
||||
this.skeletonLoader = false
|
||||
this.showLoader = false;
|
||||
|
||||
switch (this.segment) {
|
||||
case 'validar':
|
||||
let diplomasValidar = diplomas.filter(data => data.activityInstanceName == "Revisar Diploma");
|
||||
console.log(diplomasValidar);
|
||||
|
||||
diplomasValidar.forEach(async element => {
|
||||
let DocId = element.workflowInstanceDataFields.FolderID;
|
||||
let ApplicationId = element.workflowInstanceDataFields.ApplicationId;
|
||||
this.totalDocs = await this.getTotalDocs(DocId);
|
||||
let diplomasValidar = diplomas.filter(data => data.activityInstanceName == "Revisar Diploma");
|
||||
let diplomasList = [];
|
||||
diplomasValidar.forEach(async 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 = this.pipeTask(element)
|
||||
diplomasList.push(task);
|
||||
|
||||
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.diplomasList.push(task);
|
||||
this.diplomasList = removeDuplicate(this.diplomasList);
|
||||
this.diplomasList = this.sortArrayISODate(this.diplomasList).reverse();
|
||||
});
|
||||
this.diplomasList = this.sortArrayISODate(diplomasList.reverse());
|
||||
|
||||
|
||||
let diplomasAssinados = diplomas.reverse().filter(data => data.activityInstanceName == "Diploma Assinado");
|
||||
let diplomasAssinadoList = []
|
||||
diplomasAssinados.forEach(async element => {
|
||||
|
||||
});
|
||||
this.showLoader = false;
|
||||
break;
|
||||
case 'assinados':
|
||||
this.diplomasList = new Array();
|
||||
let diplomasAssinados = diplomas.reverse().filter(data => data.activityInstanceName == "Diploma Assinado");
|
||||
diplomasAssinados.forEach(async element => {
|
||||
let DocId = element.workflowInstanceDataFields.FolderID;
|
||||
let ApplicationId = element.workflowInstanceDataFields.ApplicationId;
|
||||
this.totalDocs = await this.getTotalDocs(DocId);
|
||||
let task = this.pipeTask(element)
|
||||
diplomasAssinadoList.push(task);
|
||||
});
|
||||
console.log('diplomasAssinados', diplomasAssinados)
|
||||
this.diplomasAssinadoList = this.sortArrayISODate(diplomasAssinadoList).reverse();
|
||||
|
||||
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.diplomasList.push(task);
|
||||
this.diplomasList = removeDuplicate(this.diplomasList);
|
||||
this.diplomasList = this.sortArrayISODate(this.diplomasList).reverse();
|
||||
pipeTask(element) {
|
||||
let date = new Date(element.taskStartDate);
|
||||
date.setMonth(date.getMonth() + 1);
|
||||
|
||||
});
|
||||
this.showLoader = false;
|
||||
break;
|
||||
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,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import { ExpedienteprStore } from 'src/app/store/expedientepr-store.service';
|
||||
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',
|
||||
@@ -109,7 +110,8 @@ export class GabineteDigitalPage implements OnInit, DoCheck {
|
||||
private activatedRoute: ActivatedRoute,
|
||||
private router: Router,
|
||||
authService: AuthService,
|
||||
public p: PermissionService
|
||||
public p: PermissionService,
|
||||
public waitForDomService: WaitForDomService
|
||||
) {
|
||||
|
||||
this.loggeduser = authService.ValidatedUser;
|
||||
@@ -160,6 +162,13 @@ export class GabineteDigitalPage implements OnInit, DoCheck {
|
||||
if(event instanceof NavigationEnd && event.url == pathname) {
|
||||
this.checkRoutes();
|
||||
this.LoadCounts();
|
||||
// this.waitForDomService.selector({
|
||||
// selector: 'app-gabinete-digital ion-content .aside-wrapper',
|
||||
// callback: ()=> {
|
||||
// this.checkRoutes();
|
||||
// this.LoadCounts();
|
||||
// }
|
||||
// })
|
||||
// console.log('yes', pathname)
|
||||
} else {
|
||||
// console.log('not')
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { WaitForDomService } from './wait-for-dom.service';
|
||||
|
||||
describe('WaitForDomService', () => {
|
||||
let service: WaitForDomService;
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({});
|
||||
service = TestBed.inject(WaitForDomService);
|
||||
});
|
||||
|
||||
it('should be created', () => {
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,24 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class WaitForDomService {
|
||||
|
||||
selectorString = ""
|
||||
constructor() { }
|
||||
|
||||
selector({ selector, callback }) {
|
||||
|
||||
function _try() {
|
||||
if (!document.querySelector(selector)) {
|
||||
window.requestAnimationFrame(_try);
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
};
|
||||
|
||||
_try()
|
||||
|
||||
}
|
||||
}
|
||||
@@ -58,17 +58,17 @@
|
||||
</ion-list>
|
||||
|
||||
</div>
|
||||
<div *ngIf="diplomasList.length >= 1">
|
||||
<div *ngIf="diplomasAssinadoList.length >= 1">
|
||||
<ion-list *ngSwitchCase="'assinados'">
|
||||
<div
|
||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of diplomasList"
|
||||
*ngFor = "let task of diplomasAssinadoList"
|
||||
(click)="goToDiploma(task.SerialNumber)"
|
||||
>
|
||||
>
|
||||
<div class="item width-100">
|
||||
<div class="exp-top-detail">
|
||||
<div class="subject">
|
||||
<ion-label>{{ task.Folio }}</ion-label>
|
||||
<ion-label>1123{{ task.Folio }}</ion-label>
|
||||
</div>
|
||||
<div class="exp-icon">
|
||||
<ion-icon src="assets/images/icons-expediente-attachment.svg"></ion-icon>
|
||||
@@ -93,15 +93,15 @@
|
||||
</ion-list>
|
||||
</div>
|
||||
|
||||
<div
|
||||
*ngIf="!skeletonLoader && diplomasList.length == 0"
|
||||
<div
|
||||
*ngIf="!skeletonLoader && diplomasList.length == 0 && diplomasAssinadoList.length == 0"
|
||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||
>
|
||||
<span>Lista vazia</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="skeletonLoader && diplomasList.length == 0">
|
||||
|
||||
<div *ngIf="skeletonLoader && diplomasAssinadoList.length == 0 && skeletonLoader && diplomasList.length == 0">
|
||||
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
<ion-thumbnail slot="end">
|
||||
|
||||
@@ -14,6 +14,7 @@ import { removeDuplicate } from 'src/plugin/removeDuplicate.js'
|
||||
export class DiplomasPage implements OnInit {
|
||||
//profile:string;
|
||||
diplomasList:DailyWorkTask[] = [];
|
||||
diplomasAssinadoList:DailyWorkTask[] = [];
|
||||
showLoader: boolean;
|
||||
totalDocs:any;
|
||||
serialNumber:string;
|
||||
@@ -64,84 +65,64 @@ constructor(
|
||||
}
|
||||
|
||||
async LoadList() {
|
||||
|
||||
this.diplomasList = [];
|
||||
console.log(this.diplomasList);
|
||||
|
||||
console.log(this.segment);
|
||||
|
||||
this.skeletonLoader = true
|
||||
|
||||
let diplomas = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise();
|
||||
|
||||
switch (this.segment) {
|
||||
case 'validar':
|
||||
let diplomasValidar = diplomas.filter(data => data.activityInstanceName == "Revisar Diploma");
|
||||
console.log(diplomasValidar);
|
||||
this.diplomasList = [];
|
||||
let diplomasList = [];
|
||||
|
||||
diplomasValidar.forEach(element => {
|
||||
let diplomasValidar = diplomas.filter(data => data.activityInstanceName == "Revisar Diploma");
|
||||
|
||||
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();
|
||||
diplomasValidar.forEach(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.DocIdDiferimento,
|
||||
"WorkflowName": element.workflowDisplayName,
|
||||
"activityInstanceName": element.activityInstanceName,
|
||||
"Status": element.workflowInstanceDataFields.Status,
|
||||
}
|
||||
this.diplomasList.push(task);
|
||||
this.diplomasList = removeDuplicate(this.diplomasList);
|
||||
this.diplomasList = this.sortArrayISODate(this.diplomasList).reverse();
|
||||
let task = this.pipeTask(element)
|
||||
diplomasList.push(task);
|
||||
});
|
||||
|
||||
});
|
||||
this.showLoader = false;
|
||||
break;
|
||||
case 'assinados':
|
||||
this.diplomasList = new Array();
|
||||
let diplomasAssinados = diplomas.reverse().filter(data => data.activityInstanceName == "Diploma Assinado");
|
||||
diplomasAssinados.forEach(async element => {
|
||||
this.diplomasList = this.sortArrayISODate(diplomasList).reverse();
|
||||
|
||||
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();
|
||||
this.showLoader = false;
|
||||
|
||||
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.diplomasList.push(task);
|
||||
this.diplomasList = removeDuplicate(this.diplomasList);
|
||||
this.diplomasList = this.sortArrayISODate(this.diplomasList).reverse();
|
||||
let diplomasAssinadoList = []
|
||||
|
||||
});
|
||||
this.showLoader = false;
|
||||
break;
|
||||
default:
|
||||
console.log('No segment provided!');
|
||||
break;
|
||||
}
|
||||
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.sortArrayISODate(diplomasAssinadoList).reverse();
|
||||
|
||||
console.log('diplomasAssinados', diplomasAssinados)
|
||||
|
||||
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,
|
||||
}
|
||||
}
|
||||
|
||||
sortArrayISODate(myArray: any) {
|
||||
return myArray.sort(function(a, b) {
|
||||
return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0);
|
||||
|
||||
Reference in New Issue
Block a user