mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
merge and add new features
This commit is contained in:
@@ -31,25 +31,25 @@
|
||||
<div class="event-box">
|
||||
<!-- <p>correspondencia com prazo para hoje</p> -->
|
||||
<p>Tarefas que terminam hoje</p>
|
||||
<span>0</span>
|
||||
<span>{{ TaskService.deadline }}</span>
|
||||
</div>
|
||||
|
||||
<div class="event-box">
|
||||
<!-- <p>correspondencia em atraso</p> -->
|
||||
<p>Tarefas em atraso</p>
|
||||
<span>0</span>
|
||||
<span>{{ TaskService.overdueTasks }}</span>
|
||||
</div>
|
||||
|
||||
<div class="event-box">
|
||||
<!-- <p>Novas correspondencia</p> -->
|
||||
<p>Novas tarefas</p>
|
||||
<span>0</span>
|
||||
<span>{{ TaskService.new }}</span>
|
||||
</div>
|
||||
|
||||
<div class="event-box">
|
||||
<!-- <p>correspondencia não lidas</p> -->
|
||||
<p>Tarefas não lidas</p>
|
||||
<span>0</span>
|
||||
<span>{{ TaskService.unread }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -17,6 +17,7 @@ import { PermissionService } from 'src/app/services/permission.service';
|
||||
import { ViewEventPage } from 'src/app/modals/view-event/view-event.page';
|
||||
import { ChangeProfileService } from 'src/app/services/change-profile.service';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { TaskService } from 'src/app/services/task.service'
|
||||
@Component({
|
||||
selector: 'app-events',
|
||||
templateUrl: './events.page.html',
|
||||
@@ -79,7 +80,10 @@ export class EventsPage implements OnInit {
|
||||
private storage: Storage,
|
||||
public p: PermissionService,
|
||||
private changeProfileService: ChangeProfileService,
|
||||
public TaskService: TaskService
|
||||
) {
|
||||
|
||||
this.TaskService.updateCount()
|
||||
|
||||
|
||||
window['zipPhoneCallback'] = function (zipphone) {
|
||||
|
||||
@@ -23,10 +23,16 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
@@ -18,10 +18,16 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
@@ -30,6 +30,12 @@
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
@@ -26,14 +26,20 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<button class="btn-no-color" (click)="doRefresh($event)">
|
||||
|
||||
@@ -24,10 +24,14 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
@@ -24,6 +24,22 @@ import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-
|
||||
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
||||
import { AllProcessesPageModule } from 'src/app/shared/gabinete-digital/all-processes/all-processes.module';
|
||||
|
||||
//
|
||||
|
||||
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatNativeDateModule } from '@angular/material/core';
|
||||
|
||||
import {
|
||||
NgxMatDatetimePickerModule,
|
||||
NgxMatNativeDateModule,
|
||||
NgxMatTimepickerModule
|
||||
} from '@angular-material-components/datetime-picker';
|
||||
|
||||
import { ReactiveFormsModule } from '@angular/forms';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NgxMatMomentModule } from '@angular-material-components/moment-adapter';
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
@@ -44,7 +60,16 @@ import { AllProcessesPageModule } from 'src/app/shared/gabinete-digital/all-proc
|
||||
DiplomasAssinarPageModule,
|
||||
EmptyContainerPageModule,
|
||||
BtnModalDismissPageModule,
|
||||
DiplomasGerarPageModule
|
||||
DiplomasGerarPageModule,
|
||||
//
|
||||
MatInputModule,
|
||||
MatNativeDateModule,
|
||||
NgxMatDatetimePickerModule,
|
||||
NgxMatTimepickerModule,
|
||||
NgxMatNativeDateModule,
|
||||
NgxMatMomentModule,
|
||||
MatSelectModule,
|
||||
MatButtonModule,
|
||||
|
||||
],
|
||||
declarations: [
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<button title="Atualizar" *ngIf="hideRefreshBtn && loadCount" class="btn-no-color btn-refresh" (click)="doRefresh($event)">
|
||||
<ion-icon class="title-icon font-awesome" name="reload-circle"></ion-icon>
|
||||
</button>
|
||||
<div *ngIf="!hideRefreshBtn" class="title-icons">
|
||||
<div *ngIf="!hideRefreshBtn" class="title-icons d-flex">
|
||||
<ion-segment [(ngModel)]="segmentVista" (ionChange)="onSegmentVistaChange()">
|
||||
<ion-segment-button value="listview" class="ion-segment-button-no-border">
|
||||
<fa-icon icon="align-justify"></fa-icon>
|
||||
@@ -26,60 +26,99 @@
|
||||
<fa-icon icon="th-large"></fa-icon>
|
||||
</ion-segment-button>
|
||||
</ion-segment>
|
||||
|
||||
<div>
|
||||
<mat-form-field class="task-filter-input" appearance="none" color="ion-color-secondary" placeholder="Selecione agenda">
|
||||
<mat-select [(value)]="filterName">
|
||||
|
||||
<mat-option value="Para hoje" >
|
||||
Para hoje
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Novos" >
|
||||
Novos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Lidos" >
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div [ngSwitch]="segmentVista" class="overflow-y-auto">
|
||||
<!-- This is the list view -->
|
||||
<div *ngSwitchCase="'listview'">
|
||||
|
||||
|
||||
<ion-item-sliding *ngIf="loadCount || (getAllProcessCount >= 1 && loadNum >= 1)">
|
||||
<div class="listview" >
|
||||
<ion-list *ngIf="AllProcess">
|
||||
<div
|
||||
class="item-wrapper box-hover ion-no-padding cursor-pointer"
|
||||
class=" box-hover ion-no-padding cursor-pointer"
|
||||
*ngFor = "let task of AllProcess"
|
||||
(click)="goToProcess(task.SerialNumber || task.serialNumber, task.WorkflowName || task.workflowName || task.workflowDisplayName || task.workflowName, task.activityInstanceName)">
|
||||
<div class="item width-100">
|
||||
<div class="item-top-detail">
|
||||
<div class="item-subject">
|
||||
<!-- ... {{ task.SerialNumber || task.serialNumber}} {{ task.WorkflowName || task.workflowName }} {{ task.activityInstanceName }} -->
|
||||
<ion-label>{{ task.Folio || task.Subject || task.workflowInstanceDataFields.Subject}}</ion-label>
|
||||
<div class="item-wrapper" *ngIf="TaskService.filter(task, filterName)">
|
||||
<div class="item width-100">
|
||||
<div class="item-top-detail">
|
||||
<div class="item-subject">
|
||||
<!-- ... {{ task.SerialNumber || task.serialNumber}} {{ task.WorkflowName || task.workflowName }} {{ task.activityInstanceName }} -->
|
||||
<ion-label [class.gb-seen]="TaskService.seen(task)">{{ task.Folio || task.Subject || task.workflowInstanceDataFields.Subject}}</ion-label>
|
||||
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline || task.deadline)">Para hoje</span>
|
||||
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate || task.taskStartDate)">Nova</span>
|
||||
</div>
|
||||
<div *ngIf="task.DocumentsQty != 0" class="item-icon">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-attachment.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-expediente-attachment.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-attachment.svg"></ion-icon>
|
||||
<label>{{task.DocumentsQty || task.totalDocuments}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="task.DocumentsQty != 0" class="item-icon">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-attachment.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-expediente-attachment.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-attachment.svg"></ion-icon>
|
||||
<label>{{task.DocumentsQty || task.totalDocuments}}</label>
|
||||
<div class="item-middle-detail">
|
||||
<div class="item-remetente">
|
||||
<ion-label *ngIf="task.Senders">{{task.Senders }}</ion-label>
|
||||
<ion-label *ngIf="task.workflowInstanceDataFields">{{ task.workflowInstanceDataFields.Sender }}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-middle-detail">
|
||||
<div class="item-remetente">
|
||||
<ion-label *ngIf="task.Senders">{{task.Senders }}</ion-label>
|
||||
<ion-label *ngIf="task.workflowInstanceDataFields">{{ task.workflowInstanceDataFields.Sender }}</ion-label>
|
||||
<div *ngIf="task.Agenda" class="item-middle-detail">
|
||||
<div class="item-remetente">
|
||||
<ion-label>{{task.customDate}}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="task.Agenda" class="item-middle-detail">
|
||||
<div class="item-remetente">
|
||||
<ion-label>{{task.customDate}}</ion-label>
|
||||
<div *ngIf="task.Agenda" class="item-middle-detail-extra">
|
||||
<div class="item-middle-detail-extra-text">
|
||||
<ion-label *ngIf=" task.WorkflowName == 'Agenda Oficial PR' || task.WorkflowName == 'Agenda Pessoal PR'">
|
||||
<!-- Agenda {{task.Agenda || task.workflowInstanceDataFields.Agenda}} do Presidente da República -->
|
||||
Agenda {{task.Agenda || task.workflowInstanceDataFields.Agenda}} do Titular
|
||||
</ion-label>
|
||||
<ion-label *ngIf=" task.WorkflowName == 'Agenda Oficial MDGPR' || task.WorkflowName == 'Agenda Pessoal MDGPR'">
|
||||
A sua agenda {{task.Agenda || task.workflowInstanceDataFields.Agenda}}
|
||||
</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="task.Agenda" class="item-middle-detail-extra">
|
||||
<div class="item-middle-detail-extra-text">
|
||||
<ion-label *ngIf=" task.WorkflowName == 'Agenda Oficial PR' || task.WorkflowName == 'Agenda Pessoal PR'">
|
||||
<!-- Agenda {{task.Agenda || task.workflowInstanceDataFields.Agenda}} do Presidente da República -->
|
||||
Agenda {{task.Agenda || task.workflowInstanceDataFields.Agenda}} do Titular
|
||||
</ion-label>
|
||||
<ion-label *ngIf=" task.WorkflowName == 'Agenda Oficial MDGPR' || task.WorkflowName == 'Agenda Pessoal MDGPR'">
|
||||
A sua agenda {{task.Agenda || task.workflowInstanceDataFields.Agenda}}
|
||||
</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-bottom-detail d-flex align-items-center">
|
||||
<div class="item-workflow">
|
||||
<span class="label">{{task.activityInstanceName}}</span>
|
||||
</div>
|
||||
<div class="item-date">
|
||||
<ion-label>{{ task.CreateDate || task.taskStartDate || task.TaskStartDate | date: 'dd-MM-yyyy HH:mm' }}</ion-label>
|
||||
<div class="item-bottom-detail d-flex align-items-center">
|
||||
<div class="item-workflow">
|
||||
<span class="label">{{task.activityInstanceName}}</span>
|
||||
</div>
|
||||
<div class="item-date">
|
||||
<ion-label>{{ task.CreateDate || task.taskStartDate || task.TaskStartDate | date: 'dd-MM-yyyy HH:mm' }}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -35,6 +35,8 @@ import { NotificationsService } from 'src/app/services/notifications.service'
|
||||
import { environment } from 'src/environments/environment';
|
||||
import { EventsService } from 'src/app/services/events.service';
|
||||
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
|
||||
import { TaskService } from 'src/app/services/task.service'
|
||||
|
||||
@Component({
|
||||
selector: 'app-gabinete-digital',
|
||||
templateUrl: './gabinete-digital.page.html',
|
||||
@@ -115,6 +117,9 @@ export class GabineteDigitalPage implements OnInit {
|
||||
@ViewChild(PendentesPage) pendentesListPage: PendentesPage;
|
||||
@ViewChild(EventsToApprovePage) eventsToApprove: EventsToApprovePage;
|
||||
|
||||
|
||||
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
|
||||
|
||||
constructor(
|
||||
private processesbackend: ProcessesService,
|
||||
private modalController: ModalController,
|
||||
@@ -130,7 +135,8 @@ export class GabineteDigitalPage implements OnInit {
|
||||
public p: PermissionService,
|
||||
public NotificationsService: NotificationsService,
|
||||
public eventService: EventsService,
|
||||
private httpErroHandle: HttpErrorHandle
|
||||
private httpErroHandle: HttpErrorHandle,
|
||||
public TaskService: TaskService
|
||||
) {
|
||||
|
||||
// this.workerList = new Worker(new URL('./list.worker.js', import.meta.url));
|
||||
@@ -502,6 +508,9 @@ export class GabineteDigitalPage implements OnInit {
|
||||
this.showDiplomasGerar = false
|
||||
}
|
||||
|
||||
|
||||
functionTimer = null
|
||||
|
||||
updateAllProcess = () => {
|
||||
|
||||
this.AllProcess = this.sortArrayISODate(this.despachoprstore.list.concat(this.deplomasStore.diplomasAssinadoList as any).concat(this.deplomasStore.diplomasParaAssinarList as any).concat(this.deplomasStore.DiplomaGerarList as any)
|
||||
@@ -520,9 +529,19 @@ export class GabineteDigitalPage implements OnInit {
|
||||
// .concat(this.despachoprstore.list).concat(this.eventoaprovacaostore.listmd).concat(this.eventoaprovacaostore.listpr).concat(this.despachoStore.list)
|
||||
// .concat(this.deplomasStore.diplomasParaAssinarList).concat(this.deplomasStore.diplomasAssinadoList).concat(this.deplomasStore.DiplomaGerarList)
|
||||
// }
|
||||
if(window['all-process']) {
|
||||
window['all-process']()
|
||||
}
|
||||
|
||||
|
||||
clearTimeout(this.functionTimer);
|
||||
this.functionTimer = setTimeout(() => {
|
||||
|
||||
if(window['all-process']) {
|
||||
window['all-process']()
|
||||
} else {
|
||||
this.TaskService.updateCount()
|
||||
}
|
||||
}, 1000); // time is in milliseconds
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -22,14 +22,20 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<button class="btn-no-color" (click)="doRefresh($event)">
|
||||
|
||||
@@ -23,14 +23,20 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<button class="btn-no-color" (click)="doRefresh($event)">
|
||||
|
||||
@@ -1,12 +1,38 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { momentG } from 'src/plugin/momentG';
|
||||
|
||||
import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service';
|
||||
import { DeplomasStore } from 'src/app/store/deplomas.service';
|
||||
import { PendentesStore } from 'src/app/store/pendestes-store.service';
|
||||
import { DespachoStore } from 'src/app/store/despacho-store.service';
|
||||
import { TotalDocumentStore } from 'src/app/store/total-document.service';
|
||||
import { DespachosprStore } from 'src/app/store/despachospr-store.service';
|
||||
import { EventoAprovacaoStore } from 'src/app/store/eventoaprovacao-store.service';
|
||||
import { PedidosStore } from 'src/app/store/pedidos-store.service';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class TaskService {
|
||||
|
||||
|
||||
read = 0
|
||||
unread = 0
|
||||
deadline = 0
|
||||
new = 0
|
||||
overdueTasks = 0
|
||||
|
||||
expedientegbstore = ExpedienteGdStore;
|
||||
pendentesstore = PendentesStore;
|
||||
despachoStore = DespachoStore;
|
||||
eventoaprovacaostore = EventoAprovacaoStore;
|
||||
pedidosstore = PedidosStore;
|
||||
despachoprstore = DespachosprStore;
|
||||
totalDocumentStore = TotalDocumentStore
|
||||
deplomasStore = DeplomasStore
|
||||
|
||||
AllProcess = []
|
||||
|
||||
constructor() { }
|
||||
|
||||
deadlineIsToday(isoDateString:string) {
|
||||
@@ -17,10 +43,13 @@ export class TaskService {
|
||||
return momentG(new Date(), 'dd MMMM yyyy') == momentG(new Date(isoDateString), 'dd MMMM yyyy')
|
||||
}
|
||||
|
||||
overdueTask(isoDateString:string) {
|
||||
return (new Date()).getTime() < (new Date(isoDateString)).getTime()
|
||||
}
|
||||
|
||||
lessThen24Hours(isoDateString:string) {
|
||||
|
||||
if(!isoDateString) {
|
||||
console.log('no created date')
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -33,7 +62,6 @@ export class TaskService {
|
||||
}
|
||||
|
||||
filter(item, attribute) {
|
||||
|
||||
if(attribute == 'Para hoje') {
|
||||
return this.deadlineIsToday(item.TaskStartDate || item.taskStartDate)
|
||||
} else if (attribute == 'Novos') {
|
||||
@@ -41,7 +69,9 @@ export class TaskService {
|
||||
} else if (attribute == 'Lidos') {
|
||||
return item.TaskStatus == 'Open' || item.taskStatus == 'Open'
|
||||
} else if (attribute == 'Não lidos') {
|
||||
return item.TaskStatus != 'Open' && item.taskStatus != 'Open'
|
||||
return !(item.TaskStatus == 'Open' || item.taskStatus == 'Open')
|
||||
} else if (attribute == 'OverdueTasks') {
|
||||
return this.overdueTask(item.Deadline || item.deadline)
|
||||
}
|
||||
return true
|
||||
}
|
||||
@@ -50,4 +80,29 @@ export class TaskService {
|
||||
seen(item) {
|
||||
return item.TaskStatus == 'Open' || item.taskStatus == 'Open'
|
||||
}
|
||||
|
||||
updateAllProcess = () => {
|
||||
this.AllProcess = this.sortArrayISODate(this.despachoprstore.list.concat(this.deplomasStore.diplomasAssinadoList as any).concat(this.deplomasStore.diplomasParaAssinarList as any).concat(this.deplomasStore.DiplomaGerarList as any)
|
||||
.concat(this.eventoaprovacaostore.contactList as any).concat(this.expedientegbstore.list as any).concat(this.despachoStore.list as any).concat(this.pedidosstore.listparecer as any).concat(this.pedidosstore.listdeferimento as any)
|
||||
.concat(this.pendentesstore.list as any)).reverse()
|
||||
}
|
||||
|
||||
sortArrayISODate(myArray: any): any[] {
|
||||
// return myArray.sort(function (a, b) {
|
||||
// return (a.CreateDate || a.taskStartDate < b.CreateDate || b.taskStartDate) ? -1 : ((a.CreateDate || a.taskStartDate > b.CreateDate || b.taskStartDate) ? 1 : 0);
|
||||
// });
|
||||
|
||||
return myArray.sort((a,b) => Date.parse(b.CreateDate || b.taskStartDate || b.TaskStartDate) - Date.parse(a.CreateDate || a.taskStartDate || a.TaskStartDate))
|
||||
}
|
||||
|
||||
|
||||
|
||||
updateCount() {
|
||||
this.updateAllProcess()
|
||||
this.read = this.AllProcess.filter((item) => this.filter(item,'Lidos')).length
|
||||
this.unread = this.AllProcess.filter((item) => this.filter(item,'Não lidos')).length
|
||||
this.deadline = this.AllProcess.filter((task) => this.deadlineIsToday(task.Deadline || task.deadline)).length
|
||||
this.new = this.AllProcess.filter((task) => this.lessThen24Hours(task.TaskStartDate || task.taskStartDate)).length
|
||||
this.overdueTasks = this.AllProcess.filter((task) => this.overdueTask(task.Deadline || task.deadline)).length
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,10 +20,14 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
@@ -83,11 +83,20 @@ export class AllProcessesPage implements OnInit {
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
functionTimer = null
|
||||
|
||||
updateAllProcess = () => {
|
||||
|
||||
this.AllProcess = this.sortArrayISODate(this.despachoprstore.list.concat(this.deplomasStore.diplomasAssinadoList as any).concat(this.deplomasStore.diplomasParaAssinarList as any).concat(this.deplomasStore.DiplomaGerarList as any)
|
||||
.concat(this.eventoaprovacaostore.contactList as any).concat(this.expedientegbstore.list as any).concat(this.despachoStore.list as any).concat(this.pedidosstore.listparecer as any).concat(this.pedidosstore.listdeferimento as any)
|
||||
.concat(this.pendentesstore.list as any)).reverse()
|
||||
|
||||
clearTimeout(this.functionTimer);
|
||||
this.functionTimer = setTimeout(() => {
|
||||
|
||||
this.TaskService.updateCount()
|
||||
|
||||
}, 1000); // time is in milliseconds
|
||||
}
|
||||
|
||||
get getAllProcessCount() {
|
||||
|
||||
@@ -20,13 +20,17 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -21,14 +21,20 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
@@ -26,6 +26,10 @@
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<!-- <button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
|
||||
@@ -63,6 +67,7 @@
|
||||
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
|
||||
<div class="exp-top-detail">
|
||||
<div class="subject">
|
||||
{{ task.taskStatus || task.TaskStatus }}
|
||||
<ion-label [class.gb-seen]="TaskService.seen(task)">{{ task.Folio || task.workflowInstanceDataFields.Subject }}</ion-label>
|
||||
</div>
|
||||
<div class="exp-icon">
|
||||
|
||||
@@ -18,10 +18,16 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
@@ -18,14 +18,21 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<!-- <button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
|
||||
@@ -58,6 +65,7 @@
|
||||
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
|
||||
<div class="exp-top-detail">
|
||||
<div class="subject">
|
||||
{{ task.taskStatus || task.TaskStatus }}
|
||||
<ion-label [class.gb-seen]="TaskService.seen(task)">{{ task.Folio }}</ion-label>
|
||||
</div>
|
||||
<div class="exp-icon">
|
||||
@@ -95,7 +103,8 @@
|
||||
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
|
||||
<div class="exp-top-detail">
|
||||
<div class="subject">
|
||||
<ion-label>{{ task.Folio }}</ion-label>
|
||||
{{ task.taskStatus || task.TaskStatus }}
|
||||
<ion-label [class.gb-seen]="TaskService.seen(task)">{{ task.Folio }}</ion-label>
|
||||
</div>
|
||||
<div class="exp-icon">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-attachment.svg"></ion-icon>
|
||||
|
||||
@@ -114,6 +114,7 @@ export class DiplomasPage implements OnInit {
|
||||
"Status": element.workflowInstanceDataFields.Status,
|
||||
"Deadline": element.deadline,
|
||||
"TaskStartDate": element.taskStartDate,
|
||||
"TaskStatus": element.taskStatus
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,10 +19,15 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
@@ -18,10 +18,16 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
@@ -18,14 +18,20 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<!-- <button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
|
||||
|
||||
@@ -18,10 +18,15 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
@@ -18,10 +18,15 @@
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não Lidos" >
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
@@ -2,7 +2,7 @@ import { versionData } from '../../../version/git-version'
|
||||
import { Environment } from './../../app/models/envarioment'
|
||||
|
||||
export const DevProd: Environment = {
|
||||
id:'1',
|
||||
id:'3',
|
||||
apiURL: 'https://gdapi-dev.dyndns.info/GabineteDigital.Services/V5/api/',
|
||||
apiChatUrl: 'https://CHAT.DONEIT.CO.AO/api/v1/',
|
||||
apiWsChatUrl: 'wss://CHAT.DONEIT.CO.AO/websocket',
|
||||
@@ -25,7 +25,7 @@ export const DevProd: Environment = {
|
||||
};
|
||||
|
||||
export const DevDev: Environment = {
|
||||
id:'1',
|
||||
id:'3',
|
||||
apiURL: 'https://gdapi-dev.dyndns.info/GabineteDigital.Services/V5/api/',
|
||||
apiChatUrl: 'https://CHAT.DONEIT.CO.AO/api/v1/',
|
||||
apiWsChatUrl: 'wss://CHAT.DONEIT.CO.AO/websocket',
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
export let versionData = {
|
||||
"shortSHA": "578b9a125",
|
||||
"SHA": "578b9a12520ef698f839e1b8b717dabc51fbb719",
|
||||
"shortSHA": "2c18fb4a2",
|
||||
"SHA": "2c18fb4a20230776ad020d4d4bc4565bbc991fb8",
|
||||
"branch": "feature/gabineteLabels",
|
||||
"lastCommitAuthor": "'Peter Maquiran'",
|
||||
"lastCommitTime": "'Mon Apr 17 11:42:46 2023 +0100'",
|
||||
"lastCommitMessage": "add environment",
|
||||
"lastCommitNumber": "4905",
|
||||
"lastCommitTime": "'Mon Apr 17 11:50:41 2023 +0100'",
|
||||
"lastCommitMessage": "change home layout",
|
||||
"lastCommitNumber": "4906",
|
||||
"change": "",
|
||||
"changeStatus": "On branch feature/gabineteLabels\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: src/app/pages/events/events.page.html\n\tmodified: src/app/pages/events/events.page.scss\n\tmodified: src/app/services/auth.service.ts\n\tmodified: src/app/services/task-deadline.service.ts\n\tmodified: src/environments/environment.ts",
|
||||
"changeStatus": "On branch feature/gabineteLabels\nAll conflicts fixed but you are still merging.\n (use \"git commit\" to conclude merge)\n\nChanges to be committed:\n\tmodified: src/app/pages/events/events.page.html\n\tmodified: src/app/pages/events/events.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas/diplomas.page.html\n\tmodified: src/app/pages/gabinete-digital/event-list/event-list.page.html\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente.page.html\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.html\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.module.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/pages/gabinete-digital/pedidos/pedidos.page.html\n\tmodified: src/app/pages/gabinete-digital/pendentes/pendentes.page.html\n\tmodified: src/app/services/task.service.ts\n\tmodified: src/app/shared/gabinete-digital/all-processes/all-processes.page.html\n\tmodified: src/app/shared/gabinete-digital/all-processes/all-processes.page.ts\n\tmodified: src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.html\n\tmodified: src/app/shared/gabinete-digital/despachos/despachos.page.html\n\tmodified: src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html\n\tmodified: src/app/shared/gabinete-digital/diplomas-gerar/diplomas-gerar.page.html\n\tmodified: src/app/shared/gabinete-digital/diplomas/diplomas.page.html\n\tmodified: src/app/shared/gabinete-digital/diplomas/diplomas.page.ts\n\tmodified: src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html\n\tmodified: src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.html\n\tmodified: src/app/shared/gabinete-digital/expedients/expedients.page.html\n\tmodified: src/app/shared/gabinete-digital/pedidos/pedidos.page.html\n\tmodified: src/app/shared/gabinete-digital/pendentes/pendentes.page.html\n\tmodified: src/environments/suport/dev.ts\n\tmodified: version/git-version.ts",
|
||||
"changeAuthor": "peter.maquiran"
|
||||
}
|
||||
Reference in New Issue
Block a user