add labels

This commit is contained in:
Peter Maquiran
2023-04-13 12:51:38 +01:00
parent 0660b44542
commit f8614029af
64 changed files with 1113 additions and 208 deletions
+15
View File
@@ -68,6 +68,11 @@ import { NgxExtendedPdfViewerModule } from 'ngx-extended-pdf-viewer';
import { FileOpener } from '@awesome-cordova-plugins/file-opener/ngx';
import { MatInputModule } from '@angular/material/input';
import { MatNativeDateModule } from '@angular/material/core';
// The example is using Angular, Import '@sentry/vue' or '@sentry/react' when using a Sibling different than Angular.
import * as SentrySibling from '@sentry/angular';
import * as Sentry from '@sentry/capacitor';
@@ -145,6 +150,16 @@ import { FirebaseX } from '@ionic-native/firebase-x/ngx'; */
HammerModule,
CustomImageCachePageRoutingModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
providers: [
{ provide: MAT_DATE_LOCALE, useValue: 'pt' },
@@ -6,8 +6,7 @@
<div class="main-header">
<app-btn-modal-dismiss (click)="goBack()" ></app-btn-modal-dismiss>
<div class="thetitle">
<ion-label *ngIf="SessionStore.user.Profile =='MDGPR'" >{{environment.dispatchPR }}</ion-label>
<ion-label *ngIf="SessionStore.user.Profile =='PR'" >Despachos</ion-label>
<ion-label >{{environment.dispatchPR }}</ion-label>
</div>
<div class="theicon btn-refresh">
<button class="btn-no-color" (click)="doRefresh($event)">
@@ -34,12 +33,12 @@
<div >
<ion-list>
<div
class="expediente ion-no-padding ion-no-margin cursor-pointer"
class=" ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of despachoprstore.list; let i = index"
(click)="goToDespachoPr(task.SerialNumber)"
>
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="item width-100 expedientes">
<div class="exp-top-detail">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
@@ -153,21 +153,7 @@ export class DespachosPrPage implements OnInit {
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": new Date(element.taskStartDate),
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": element.totalDocuments,
"DocId": element.workflowInstanceDataFields.DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"FolderID": element?.workflowInstanceDataFields?.FolderID,
"activityInstanceName": element.activityInstanceName,
"Status": element?.workflowInstanceDataFields?.Status,
"TaskStatus": element.taskStatus
}
let task = this.customTaskPipe.transform(element)
this.despachoList.push(task);
});
@@ -32,12 +32,12 @@
<div class="height-100">
<ion-list>
<div
class="expediente ion-no-padding ion-no-margin cursor-pointer"
class=" ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of despachoStore.list; let i = index"
(click)="GoToDespacho(task.SerialNumber)"
>
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="item width-100 expediente">
<div class="exp-top-detail">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
@@ -9,6 +9,21 @@ import { DiplomasAssinarPageRoutingModule } from './diplomas-assinar-routing.mod
import { DiplomasAssinarPage } from './diplomas-assinar.page';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.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,
@@ -17,6 +32,15 @@ import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-
DiplomasAssinarPageRoutingModule,
BtnModalDismissPageModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
declarations: [DiplomasAssinarPage]
})
@@ -8,6 +8,31 @@
<app-btn-modal-dismiss (click)="goBack()"></app-btn-modal-dismiss>
<div class="thetitle"><ion-label >Diplomas</ion-label></div>
<div class="theicon btn-refresh">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<button class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
@@ -35,12 +60,12 @@
<ion-list >
<div
class="expediente ion-no-padding ion-no-margin cursor-pointer"
class=" ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of deplomasStore.diplomasParaAssinarList"
(click)="goToDiploma(task.SerialNumber || task.serialNumber)"
>
<div class="item width-100">
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
<div class="exp-top-detail">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio || task.workflowInstanceDataFields.Subject }}</ion-label>
@@ -28,6 +28,8 @@ export class DiplomasAssinarPage implements OnInit {
customTaskPipe = new CustomTaskPipe()
skeletonLoader = true
deplomasStore = DeplomasStore
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private processes:ProcessesService,
@@ -9,13 +9,37 @@ import { DiplomasGerarPageRoutingModule } from './diplomas-gerar-routing.module'
import { DiplomasGerarPage } from './diplomas-gerar.page';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.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,
FormsModule,
IonicModule,
DiplomasGerarPageRoutingModule,
BtnModalDismissPageModule
BtnModalDismissPageModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
declarations: [DiplomasGerarPage]
})
@@ -36,11 +36,11 @@
<div *ngIf="deplomasStore.DiplomaGerarList">
<ion-list >
<div
class="expediente ion-no-padding ion-no-margin cursor-pointer"
class=" ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of deplomasStore.DiplomaGerarList"
(click)="goToDiploma(task.SerialNumber)"
>
<div class="item width-100">
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
<div class="exp-top-detail">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
@@ -29,6 +29,8 @@ export class DiplomasGerarPage implements OnInit {
skeletonLoader = true
deplomasStore = DeplomasStore
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private processes:ProcessesService,
private modalController: ModalController,
@@ -10,6 +10,20 @@ import { DiplomasPage } from './diplomas.page';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.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: [
@@ -18,6 +32,15 @@ import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-
IonicModule,
DiplomasPageRoutingModule,
BtnModalDismissPageModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
declarations: [DiplomasPage]
})
@@ -3,6 +3,31 @@
<app-btn-modal-dismiss (click)="goBack()"></app-btn-modal-dismiss>
<div class="thetitle"><ion-label >Diplomas</ion-label></div>
<div class="theicon btn-refresh">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<button class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
@@ -32,12 +57,12 @@
<ion-list *ngSwitchCase="'validar'">
<ion-item
class="expediente ion-no-padding cursor-pointer"
class=" ion-no-padding cursor-pointer"
*ngFor = "let task of diplomasList"
(click)="goToDiploma(task.SerialNumber)"
lines="none"
>
<div class="item width-100">
<div class="item width-100 expediente">
<div class="exp-top-detail">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
@@ -30,6 +30,7 @@ export class DiplomasPage implements OnInit, OnDestroy {
skeletonLoader = true
deplomasStore = DeplomasStore
customTaskPipe = new CustomTaskPipe()
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private processes: ProcessesService,
@@ -9,6 +9,21 @@ import { ExpedientesPrPageRoutingModule } from './expedientes-pr-routing.module'
import { ExpedientesPrPage } from './expedientes-pr.page';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.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,
@@ -16,6 +31,15 @@ import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-
IonicModule,
ExpedientesPrPageRoutingModule,
BtnModalDismissPageModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
declarations: [ExpedientesPrPage]
})
@@ -9,6 +9,31 @@
<div class="title">
<div class="thetitle"><ion-label >Expediente</ion-label></div>
<div class="theicon btn-refresh">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<button class="btn-no-color" (click)="refreshing()">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
@@ -29,11 +54,11 @@
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
<ion-list>
<div
class="expediente ion-no-padding ion-no-margin cursor-pointer"
class=" ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of expedienteGdStore.list"
(click)="goToExpediente(task.SerialNumber)"
>
<div class="item width-100">
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
<div class="exp-top-detail">
<div class="subject d-flex align-center">
<ion-label>{{ task.Subject }}</ion-label>
@@ -34,7 +34,8 @@ export class ExpedientesPrPage implements OnInit {
skeletonLoader = true
expedienteGdStore = ExpedienteGdStore;
expedienteTaskPipe = new ExpedienteTaskPipe()
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private processes:ProcessesService,
private modalController: ModalController,
@@ -157,9 +157,15 @@
</div>
<div class="exp-card-text">
<!-- <p class="text-center exp-card-title " *ngIf="p.userPermission([p.permissionList.Gabinete.md_tasks])">Despacho do Presidente da República</p> -->
<p class="text-center exp-card-title " *ngIf="p.userPermission([p.permissionList.Gabinete.md_tasks])">Despachos {{ environment.despachoLabel }}</p>
<p class="text-center exp-card-title " *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks]) && !p.userPermission([p.permissionList.Gabinete.md_tasks])">Despachos criados por mim</p>
<p class="text-center exp-card-content"> {{ despachoprstore.count }} <span class="title1">Documentos</span> </p>
<p class="text-center exp-card-title " *ngIf="p.userPermission([p.permissionList.Gabinete.md_tasks])">
Despachos {{ environment.despachoLabel }} <br>
<span class="new-task-count">{{ despachoprstore.newList.length}} Despacho <span *ngIf="despachoprstore.newList.length >=2">s</span> {{ environment.despachoLabel }} novo <span *ngIf="despachoprstore.newList.length >=2">s</span></span></p>
<p class="text-center exp-card-title " *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks]) && !p.userPermission([p.permissionList.Gabinete.md_tasks])">
Despachos criados por mim<br>
<span class="new-task-count">{{ despachoprstore.newList.length}} Despacho <span *ngIf="despachoprstore.newList.length >=2">s</span> {{ environment.despachoLabel }} novo <span *ngIf="despachoprstore.newList.length >=2">s</span></span></p>
<p class="text-center exp-card-content"> {{ despachoprstore.count }}
<span class="title1">Documentos</span> </p>
</div>
</div>
</div>
@@ -171,9 +177,13 @@
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'DiplomasAssinados'" src="assets/images/theme/gov/icons-diplomas-assinados-presidente.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'DiplomasAssinados'" src="assets/images/theme/gov/icons-diplomas-assinados-presidente-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title " *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])">Diplomas assinados PR</p>
<p class="text-center exp-card-title " *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" >Diplomas</p>
<p class="text-center exp-card-content"> {{ deplomasStore.countDiplomasAssinadoListCount }} <span class="title1">Documentos</span></p>
<p class="text-center exp-card-title " *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])">
Diplomas assinados PR <br>
<span class="new-task-count">{{ deplomasStore.diplomasAssinadoListNewCount.length}} Diploma <span *ngIf="deplomasStore.diplomasAssinadoListNewCount.length >=2">s</span> por Assinar PR novo<span *ngIf="deplomasStore.diplomasAssinadoListNewCount.length >=2">s</span></span></p>
<p class="text-center exp-card-title " *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" >Diplomas <br>
<span class="new-task-count">{{ deplomasStore.diplomasAssinadoListNewCount.length}} Diplomas novo</span></p>
<p class="text-center exp-card-content"> {{ deplomasStore.countDiplomasAssinadoListCount }}
<span class="title1">Documentos</span></p>
</div>
@@ -187,7 +197,8 @@
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'DiplomasParaAssinar' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title">Diplomas por Assinar {{ environment.PR}} </p>
<p class="text-center exp-card-title">Diplomas por Assinar {{ environment.PR}} <br>
<span class="new-task-count">{{ deplomasStore.diplomasParaAssinarNewCount.length}} Diploma<span *ngIf="deplomasStore.diplomasParaAssinarNewCount.length >=2">s</span> por Assinar {{ environment.PR}} novo<span *ngIf="deplomasStore.diplomasParaAssinarNewCount.length >=2">s</span></span></p>
<p class="text-center exp-card-content"> {{ deplomasStore.diplomasParaAssinartCount }} <span class="title1">Documentos</span></p>
</div>
@@ -198,7 +209,9 @@
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'DiplomasPorValidar' " src="assets/images/theme/gov/icons-expediente-diploma.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'DiplomasPorValidar' " src="assets/images/theme/gov/icons-expediente-diploma-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title " >Diplomas por Validar</p>
<p class="text-center exp-card-title " >
Diplomas por Validar<br>
<span class="new-task-count">{{ deplomasStore.diplomasReviewListNewCount.length}} Diploma<span *ngIf="deplomasStore.diplomasReviewListNewCount.length >=2">s</span> por validar novo<span *ngIf="deplomasStore.diplomasReviewListNewCount.length >=2">s</span></span></p>
<!-- <p class="text-center exp-card-title " *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])">Diplomas por Assinar PR</p> -->
<p class="text-center exp-card-content"> {{ deplomasStore.deplomasReviewCount }} <span class="title1">Documentos</span> </p>
</div>
@@ -213,7 +226,8 @@
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'DiplomasParaAssinar' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title">Diplomas para Assinar</p>
<p class="text-center exp-card-title">Diplomas para Assinar<br>
<span class="new-task-count">{{ deplomasStore.diplomasParaAssinarNewCount.length}} Diploma<span *ngIf="deplomasStore.diplomasReviewListNewCount.length >=2">s</span> para assinar novo<span *ngIf="deplomasStore.diplomasReviewListNewCount.length >=2">s</span></span></p>
<p class="text-center exp-card-content"> {{ deplomasStore.diplomasParaAssinartCount }} <span class="title1">Documentos</span></p>
</div>
@@ -228,7 +242,9 @@
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'gerarDiplomas'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-diplomas-assinados-presidente-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title" >Diplomas por elaborar</p>
<p class="text-center exp-card-title" >
Diplomas por elaborar <br>
<span class="new-task-count">{{ deplomasStore.diplomasGerarListNewCount.length}} Diploma<span *ngIf="deplomasStore.diplomasReviewListNewCount.length >=2">s</span> por elaborar novo<span *ngIf="deplomasStore.diplomasReviewListNewCount.length >=2">s</span></span></p>
<p class="text-center exp-card-content"> {{ deplomasStore.DiplomaGerarList.length }} <span class="title1">Documentos</span></p>
</div>
@@ -251,8 +267,15 @@
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-correspondencia.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'Correspondence'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-correspondencia-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title ">Expediente</p>
<p class="text-center exp-card-title ">Expediente <br>
<span *ngIf="despachoStore.newList.length == 1" class="new-task-count">{{ expedientegbstore.newList.length}} Expediente novo</span>
<span *ngIf="despachoStore.newList.length >= 2" class="new-task-count">{{ expedientegbstore.newList.length}} Expedientes novos</span>
<span class="new-task-count">{{ expedientegbstore.newList.length}} Expediente novo</span>
</p>
<p class="text-center exp-card-content"> {{expedientegbstore.count}} <span class="title1">Documentos</span></p>
</div>
<!-- List -->
@@ -264,7 +287,9 @@
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-despachos-presidente.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'Dispatches'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-despachos-presidente-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title ">Despachos</p>
<p class="text-center exp-card-title ">Despachos<br>
<span class="new-task-count">{{ despachoStore.newList.length}}
Despacho<span *ngIf="deplomasStore.diplomasReviewListNewCount.length >=2">s</span> novo<span *ngIf="despachoStore.newList.length >=2">s</span></span></p>
<p class="text-center exp-card-content"> {{despachoStore.count}} <span class="title1">Documentos</span> </p>
</div>
@@ -280,8 +305,12 @@
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-parecer.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'RequestsForOpinion'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-parecer-hover.svg"></ion-icon>
</div>
<p *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Pedidos de Parecer</p>
<p *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Pedidos de Parecer solicitados por mim</p>
<p *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">
Pedidos de Parecer<br>
<span class="new-task-count">{{ pedidosstore.listParecerCount.length}} Pedido<span *ngIf="pedidosstore.listParecerCount.length >=2">s</span> de Parecer</span></p>
<p *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">
Pedidos de Parecer solicitados por mim <br>
<span class="new-task-count">{{ pedidosstore.listParecerCount.length}} Despacho<span *ngIf="pedidosstore.listParecerCount.length >=2">s</span> de Parecer</span></p>
<p class="text-center exp-card-content"> {{pedidosstore.countparecer}} <span class="title1">Documentos</span></p>
</div>
@@ -295,7 +324,9 @@
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-deferimento.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'RequestForApproval'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-deferimento-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title ">Pedidos de Deferimento</p>
<p class="text-center exp-card-title ">
Pedidos de Deferimento<br>
<span class="new-task-count">{{ pedidosstore.listDeferimentoCount.length}} Pedido<span *ngIf="pedidosstore.listDeferimentoCount.length >=2">s</span> de Deferimento</span></p>
<p class="text-center exp-card-content"> {{pedidosstore.countdeferimento}} <span class="title1">Documentos</span></p>
</div>
@@ -308,8 +339,11 @@
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-pendente.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'Pending'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-pendente-hover.svg"></ion-icon>
</div>
<p *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Pendentes</p>
<p *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Meus Pendentes</p>
<p *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">
Pendentes<br>
<span class="new-task-count">{{ pendentesstore.newList.length}} Pendente<span *ngIf="pendentesstore.newList.length >=2">s</span> novo<span *ngIf="pendentesstore.newList.length >=2">s</span></span></p>
<p *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Meus Pendentes<br>
<span class="new-task-count">{{ pendentesstore.newList.length}} Meus Pendente<span *ngIf="pendentesstore.newList.length >=2">s</span> novo<span *ngIf="pendentesstore.newList.length >=2">s</span></span></p>
<p class="text-center exp-card-content"> <span class="number">{{pendentesstore.count}} </span> <span class="title1">Documentos</span></p>
</div>
@@ -567,6 +567,10 @@ ion-content{
background: var(--gabinete-active-hove-background) !important;
box-sizing: border-box;
.new-task-count {
color: white;
}
.exp-card-content, .icon-selected{
color: white !important;
}
@@ -684,4 +688,9 @@ ion-content{
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
.new-task-count{
color: red;
font-size: 13px;
}
@@ -578,37 +578,13 @@ export class GabineteDigitalPage implements OnInit {
this.pedidosstore.countparecer = Object.keys(allParecer.filter(data => data.workflowInstanceDataFields.Status == "Active")).length;
this.pedidosstore.resetparecer(allParecer.filter(data => data.workflowInstanceDataFields.Status == "Active").map((element) => {
return {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.workflowInstanceDataFields.Sender,
"CreateDate": new Date(element.taskStartDate),
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": element.totalDocuments,
"DocId": element.workflowInstanceDataFields.DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"deadline": element.deadline
}
return this.customTaskPipe.transform(element)
}));
let deferimentos = await this.processesbackend.GetTasksList("Pedido de Deferimento", false).toPromise();
this.pedidosstore.countdeferimento = Object.keys(deferimentos.filter(data => data.workflowInstanceDataFields.Status == "Active")).length
this.pedidosstore.resetdeferimento(deferimentos.filter(data => data.workflowInstanceDataFields.Status == "Active").map((element) => {
return {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.workflowInstanceDataFields.Sender,
"CreateDate": new Date(element.taskStartDate),
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": element.totalDocuments,
"DocId": element.workflowInstanceDataFields.DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"deadline": element.deadline
}
return this.customTaskPipe.transform(element)
}));
@@ -650,20 +626,7 @@ export class GabineteDigitalPage implements OnInit {
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,
"deadline": element.deadline
}
return this.customTaskPipe.transform(element)
}))
@@ -9,11 +9,36 @@ import { PedidosPageRoutingModule } from './pedidos-routing.module';
import { PedidosPage } from './pedidos.page';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.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,
FormsModule,
IonicModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
PedidosPageRoutingModule,
BtnModalDismissPageModule,
@@ -7,6 +7,31 @@
<div class="title">
<div class="thetitle"><ion-label >Pedidos</ion-label></div>
<div class="theicon btn-refresh">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<button class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
@@ -43,13 +68,13 @@
<!-- *ngFor = "let task of pedidosstorage.listparecer; let i = index"
(click)="viewExpedientDetail(task.SerialNumber)" -->
<div
class="expediente ion-no-padding ion-no-margin cursor-pointer"
class="ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of pedidosstorage.listparecer"
(click)="goToPedido(task.SerialNumber)"
>
<!-- (click)="viewExpedientDetail(task.SerialNumber)" -->
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
<div class="exp-top-detail">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
@@ -13,7 +13,7 @@ import { BackgroundService } from 'src/app/services/background.service';
import { SortService } from 'src/app/services/functions/sort.service';
import { ThemeService } from 'src/app/services/theme.service'
import { TaskService } from 'src/app/services/task.service'
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
@Component({
selector: 'app-pedidos',
templateUrl: './pedidos.page.html',
@@ -37,10 +37,12 @@ export class PedidosPage implements OnInit {
serialNumber: string;
skeletonLoader = true
pedidosstorage = PedidosStore;
customTaskPipe = new CustomTaskPipe()
segment: string;
@Output() openExpedientDetail: EventEmitter<any> = new EventEmitter<any>();
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private router: Router,
private processes: ProcessesService,
@@ -150,21 +152,7 @@ export class PedidosPage implements OnInit {
let month = date.getMonth() + 1;
let taskDate = date.getFullYear() + "-" + month + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
let task = {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.workflowInstanceDataFields.Sender,
"CreateDate": new Date(element.taskStartDate),
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": element.totalDocuments,
"DocId": element.workflowInstanceDataFields.DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"TaskStartDate": element.taskStartDate,
"Deadline": element.deadline,
"TaskStatus": element.taskStatus
}
let task = this.customTaskPipe.transform(element);
this.parecerList.push(task);
});
this.addPedidoToDb(this.parecerList);
@@ -192,21 +180,7 @@ export class PedidosPage implements OnInit {
let month = date.getMonth() + 1;
let taskDate = date.getFullYear() + "-" + month + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
let task = {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.workflowInstanceDataFields.Sender,
"CreateDate": new Date(element.taskStartDate),
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": element.totalDocuments,
"DocId": element.workflowInstanceDataFields.DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"TaskStartDate": element.taskStartDate,
"Deadline": element.deadline,
"TaskStatus": element.taskStatus
}
let task = this.customTaskPipe.transform(element);
if (element.workflowInstanceDataFields.Status == "Active") {
this.deferimentoList.push(task);
@@ -11,6 +11,21 @@ import { SharedModule } from 'src/app/shared/shared.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
import { TaskListPageModule } from 'src/app/shared/gabinete-digital/generic/task-list/task-list.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,
@@ -19,7 +34,17 @@ import { TaskListPageModule } from 'src/app/shared/gabinete-digital/generic/task
PendentesPageRoutingModule,
BtnModalDismissPageModule,
// entryComponents
TaskListPageModule
TaskListPageModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
declarations: [PendentesPage]
})
@@ -8,6 +8,31 @@
<div class="title">
<div class="thetitle"><ion-label >Pendentes</ion-label></div>
<div class="theicon btn-refresh">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<button class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
@@ -39,7 +39,8 @@ export class PendentesPage implements OnInit {
pendentesstore = PendentesStore;
customTaskPipe = new CustomTaskPipe()
listToPresent = [];
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private processes: ProcessesService,
private alertService: AlertService,
+10
View File
@@ -10,10 +10,20 @@ export class TaskService {
constructor() { }
deadlineIsToday(isoDateString:string) {
if(!isoDateString) {
return false
}
return momentG(new Date(), 'dd MMMM yyyy') == momentG(new Date(isoDateString), 'dd MMMM yyyy')
}
lessThen24Hours(isoDateString:string) {
if(!isoDateString) {
console.log('no created date')
return true
}
const creationDate = new Date(isoDateString)
const creationDatePlus24h = new Date(creationDate)
creationDatePlus24h.setHours((creationDate.getHours() + 24))
@@ -9,6 +9,23 @@ import { DespachosPrPageRoutingModule } from './despachos-pr-routing.module';
import { DespachosPrPage } from './despachos-pr.page';
import { TaskListPageModule } from '../generic/task-list/task-list.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,
@@ -16,7 +33,16 @@ import { TaskListPageModule } from '../generic/task-list/task-list.module';
IonicModule,
DespachosPrPageRoutingModule,
// entryComponents
TaskListPageModule
TaskListPageModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
exports: [DespachosPrPage],
declarations: [DespachosPrPage]
@@ -2,14 +2,38 @@
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
<div class="main-header">
<div class="thetitle">
<ion-label *ngIf="loggeduser.Profile =='MDGPR'" >{{ environment.dispatchPR}}</ion-label>
<ion-label *ngIf="loggeduser.Profile =='PR'" >Despachos</ion-label>
<ion-label >{{ environment.dispatchPR}}</ion-label>
</div>
<!-- <div class="theicon">
<button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<div class="theicon">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<!-- <button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
</div> -->
</button> -->
</div>
</div>
</ion-header>
@@ -27,6 +51,7 @@
[taskList] = despachosprstore.list
[skeletonLoader] = skeletonLoader
(viewTaskDetail)="goToDespacho($event)"
[filterName]="filterName"
> </app-task-list>
</ion-content>
@@ -23,7 +23,8 @@ export class DespachosPrPage implements OnInit {
loggeduser: LoginUserRespose;
despachosprstore = DespachosprStore;
environment = environment
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor (
private processes:ProcessesService,
private authService: AuthService,
@@ -9,6 +9,21 @@ import { DespachosPageRoutingModule } from './despachos-routing.module';
import { DespachosPage } from './despachos.page';
import { TaskListPageModule } from 'src/app/shared/gabinete-digital/generic/task-list/task-list.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,
@@ -16,7 +31,16 @@ import { TaskListPageModule } from 'src/app/shared/gabinete-digital/generic/task
IonicModule,
DespachosPageRoutingModule,
// entryComponents
TaskListPageModule
TaskListPageModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
exports: [DespachosPage],
@@ -6,6 +6,31 @@
<!-- <button title="Atualizar" class="btn-no-color" (click)="refreshing()">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button> -->
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
</div>
</div>
</ion-header>
@@ -24,6 +49,7 @@
[taskList] = despachoStore.list
[skeletonLoader] = skeletonLoader
(viewTaskDetail)="goToDespacho($event)"
[filterName]="filterName"
>
</app-task-list>
@@ -13,6 +13,8 @@ export class DespachosPage implements OnInit {
despachoStore = DespachoStore;
skeletonLoader = true;
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor (
private router: Router,
@@ -8,12 +8,37 @@ import { DiplomasAssinarPageRoutingModule } from './diplomas-assinar-routing.mod
import { DiplomasAssinarPage } from './diplomas-assinar.page';
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,
FormsModule,
IonicModule,
DiplomasAssinarPageRoutingModule
DiplomasAssinarPageRoutingModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
exports: [DiplomasAssinarPage],
declarations: [DiplomasAssinarPage]
@@ -3,9 +3,34 @@
<div class="title">
<div class="thetitle"><ion-label >Diplomas para assinar</ion-label></div>
<div class="theicon">
<button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<!-- <button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
</button> -->
</div>
</div>
</ion-header>
@@ -29,13 +54,13 @@
<!-- *ngFor = "let task of parecerList; let i = index"
(click)="viewExpedientDetail(task.SerialNumber)" -->
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
class=" item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of deplomasStore.diplomasParaAssinarList"
(click)="goToDiploma(task.SerialNumber)"
>
<!-- (click)="viewExpedientDetail(task.SerialNumber)" -->
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
<div class="exp-top-detail">
<div class="subject">
<ion-label>{{ task.Folio || task.workflowInstanceDataFields.Subject }}</ion-label>
@@ -6,7 +6,7 @@ import { DeplomasStore } from 'src/app/store/deplomas.service';
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
import { SortService } from 'src/app/services/functions/sort.service';
import { ThemeService } from 'src/app/services/theme.service'
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-diplomas-assinar',
@@ -21,12 +21,15 @@ export class DiplomasAssinarPage implements OnInit {
deplomasStore = DeplomasStore
customTaskPipe = new CustomTaskPipe()
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private processes:ProcessesService,
private router: Router,
private sortService: SortService,
public ThemeService: ThemeService
public ThemeService: ThemeService,
public TaskService: TaskService
) {}
ngOnInit() {
@@ -8,12 +8,38 @@ import { DiplomasGerarPageRoutingModule } from './diplomas-gerar-routing.module'
import { DiplomasGerarPage } from './diplomas-gerar.page';
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,
FormsModule,
IonicModule,
DiplomasGerarPageRoutingModule
DiplomasGerarPageRoutingModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
ReactiveFormsModule
],
declarations: [DiplomasGerarPage],
exports: [DiplomasGerarPage]
@@ -2,11 +2,36 @@
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
<div class="title">
<div class="thetitle"><ion-label >Diplomas por gerar</ion-label></div>
<!-- <div class="theicon">
<button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<div class="theicon">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<!-- <button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
</div> -->
</button> -->
</div>
</div>
</ion-header>
<ion-content>
@@ -27,11 +52,11 @@
<ion-list >
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
class=" item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of deplomasStore.DiplomaGerarList"
(click)="goToDiploma(task.SerialNumber)"
>
<div class="item width-100">
<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>
@@ -6,6 +6,7 @@ import { DeplomasStore } from 'src/app/store/deplomas.service';
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
import { SortService } from 'src/app/services/functions/sort.service';
import { ThemeService } from 'src/app/services/theme.service'
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-diplomas-gerars',
@@ -20,12 +21,15 @@ export class DiplomasGerarPage implements OnInit {
deplomasStore = DeplomasStore
customTaskPipe = new CustomTaskPipe()
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private processes:ProcessesService,
private router: Router,
private sortService: SortService,
public ThemeService: ThemeService
public ThemeService: ThemeService,
public TaskService: TaskService
) {}
ngOnInit() {
@@ -8,12 +8,38 @@ import { DiplomasPageRoutingModule } from './diplomas-routing.module';
import { DiplomasPage } from './diplomas.page';
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,
FormsModule,
IonicModule,
DiplomasPageRoutingModule
DiplomasPageRoutingModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
exports: [DiplomasPage],
declarations: [DiplomasPage]
@@ -2,11 +2,36 @@
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
<div class="title">
<div class="thetitle"><ion-label >Diplomas</ion-label></div>
<!-- <div class="theicon">
<button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<div class="theicon">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<!-- <button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
</div> -->
</button> -->
</div>
</div>
<ion-toolbar>
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
@@ -26,11 +51,11 @@
<div *ngIf="deplomasStore.diplomasReviewList.length >= 1 && p.userPermission([p.permissionList.Gabinete.md_tasks])">
<ion-list *ngSwitchCase="'validar'">
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
class=" item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of deplomasStore.diplomasReviewList"
(click)="goToDiploma(task.SerialNumber)"
>
<div class="item width-100">
<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>
@@ -62,12 +87,12 @@
<div *ngIf="deplomasStore.diplomasAssinadoList.length >= 1">
<ion-list *ngSwitchCase="'assinados'">
<div
class="expediente ion-no-padding ion-no-margin cursor-pointer"
class=" ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of deplomasStore.diplomasAssinadoList"
(click)="goToDiploma(task.SerialNumber)"
>
<div class="item width-100">
<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>
@@ -7,6 +7,7 @@ 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';
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-diplomas',
@@ -24,6 +25,7 @@ export class DiplomasPage implements OnInit {
@Input() segment:string;
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
deplomasStore = DeplomasStore
customTaskPipe = new CustomTaskPipe()
@@ -33,6 +35,7 @@ export class DiplomasPage implements OnInit {
public ThemeService: ThemeService,
private sortService: SortService,
public p: PermissionService,
public TaskService: TaskService
) {}
ngOnInit() {
@@ -36,12 +36,12 @@
<ion-list class="width-100" >
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
class="item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor="let event of eventoaprovacaostore.get(segment)"
(click)="goToEventDetail(event)"
>
<!-- (click)="openApproveModal(event)" -->
<div class="event-{{color}}-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="event-{{color}}-{{event.workflowInstanceDataFields.Agenda}} width-100 expediente">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'HH:mm'}}</p>
@@ -8,12 +8,37 @@ import { ExpedientesPrPageRoutingModule } from './expedientes-pr-routing.module'
import { ExpedientesPrPage } from './expedientes-pr.page';
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,
FormsModule,
IonicModule,
ExpedientesPrPageRoutingModule
ExpedientesPrPageRoutingModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
exports: [ ExpedientesPrPage],
declarations: [ ExpedientesPrPage]
@@ -2,11 +2,36 @@
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
<div class="title">
<div class="thetitle"><ion-label >Expediente</ion-label></div>
<!-- <div class="theicon" (click)="refreshing()">
<button title="Atualizar" class="btn-no-color" (click)="refreshing()">
<div class="theicon" (click)="refreshing()">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<!-- <button title="Atualizar" class="btn-no-color" (click)="refreshing()">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
</div> -->
</button> -->
</div>
</div>
</ion-header>
<ion-content>
@@ -15,11 +40,11 @@
<ion-list *ngIf="expedienteGdStore.list.length >= 1">
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
class=" item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of expedienteGdStore.list"
(click)="goToExpediente(task.SerialNumber)"
>
<div class="item width-100">
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
<div class="exp-top-detail">
<div class="subject">
<ion-label>{{ task.Subject }}</ion-label>
@@ -8,6 +8,7 @@ import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe';
import { ThemeService } from 'src/app/services/theme.service'
import { SortService } from 'src/app/services/functions/sort.service';
import { SessionStore } from 'src/app/store/session.service';
import { TaskService } from 'src/app/services/task.service'
@Component({
@@ -25,6 +26,8 @@ export class ExpedientesPrPage implements OnInit {
expedienteTaskPipe = new ExpedienteTaskPipe()
loggeduser: LoginUserRespose;
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
constructor(
@@ -32,6 +35,7 @@ export class ExpedientesPrPage implements OnInit {
private router: Router,
public ThemeService: ThemeService,
private sortService: SortService,
public TaskService: TaskService
) {
this.loggeduser = SessionStore.user;
}
@@ -8,12 +8,37 @@ import { ExpedientsPageRoutingModule } from './expedients-routing.module';
import { ExpedientsPage } from './expedients.page';
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,
FormsModule,
IonicModule,
ExpedientsPageRoutingModule
ExpedientsPageRoutingModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
exports: [ExpedientsPage],
declarations: [ExpedientsPage]
@@ -2,11 +2,36 @@
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
<div class="title">
<div class="thetitle"><ion-label >Expediente</ion-label></div>
<!-- <div class="theicon">
<button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<div class="theicon">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<!-- <button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
</div> -->
</button> -->
</div>
</div>
</ion-header>
<ion-content>
@@ -24,14 +49,16 @@
<ion-list *ngIf="expedientegbstore.list.length >=0">
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
class=" item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of expedientegbstore.list"
(click)="goToExpediente(task.SerialNumber)"
>
<div class="item width-100">
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
<div class="exp-top-detail">
<div class="subject">
<ion-label>{{ task.Subject }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -7,6 +7,7 @@ import { ThemeService } from 'src/app/services/theme.service'
import { SortService } from 'src/app/services/functions/sort.service';
import { Storage } from '@ionic/storage';
import { EventTrigger } from 'src/app/services/eventTrigger.service';
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-expedients',
@@ -24,14 +25,16 @@ export class ExpedientsPage implements OnInit {
expedientegbstore = ExpedienteGdStore
expedienteTaskPipe = new ExpedienteTaskPipe()
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private processes: ProcessesService,
private router: Router,
public ThemeService: ThemeService,
private sortService: SortService,
private storage: Storage,
private eventTriger: EventTrigger
private eventTriger: EventTrigger,
public TaskService: TaskService
) {
this.profile = 'mdgpr';
this.eventTriger.getObservable().subscribe((event) => {
@@ -4,13 +4,13 @@
<div *ngIf="taskList.length >= 0">
<ion-list part="divo">
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
class=" item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of taskList; let i = index"
(click)="viewTaskDetail.emit(task)"
>
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
<div class="exp-top-detail">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
@@ -12,6 +12,7 @@ export class TaskListPage implements OnInit {
@Input() taskList: customTask[] = [];
@Input() skeletonLoader: boolean = false
@Input() filterName: string
@Output() viewTaskDetail = new EventEmitter<customTask>();
constructor(
@@ -8,12 +8,37 @@ import { PedidosPageRoutingModule } from './pedidos-routing.module';
import { PedidosPage } from './pedidos.page';
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,
FormsModule,
IonicModule,
PedidosPageRoutingModule
PedidosPageRoutingModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
exports: [PedidosPage],
declarations: [PedidosPage]
@@ -2,11 +2,36 @@
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
<div class="title">
<div class="thetitle"><ion-label >Pedidos</ion-label></div>
<!-- <div class="theicon">
<button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<div class="theicon btn-refresh">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<!-- <button class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
</div> -->
</button> -->
</div>s
</div>
<ion-toolbar>
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
@@ -36,16 +61,18 @@
<!-- *ngFor = "let task of pedidosstore.listparecer; let i = index"
(click)="viewExpedientDetail(task.SerialNumber)" -->
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
class=" item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of pedidosstore.listparecer"
(click)="goToPedido(task.SerialNumber)"
>
<!-- (click)="viewExpedientDetail(task.SerialNumber)" -->
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
<div class="exp-top-detail">
<div class="subject">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -60,7 +87,6 @@
</div>
<div class="exp-middle-detail">
<div class="exp-workflow">
<span class="label-deadline label">Deadline</span>
<span class="label mr-10">{{task.activityInstanceName}}</span>
</div>
<div class="exp-date">
@@ -75,16 +101,18 @@
<div *ngIf="pedidosstore.listdeferimento.length >= 1">
<ion-list *ngSwitchCase="'deferimento'">
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
class=" item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of pedidosstore.listdeferimento"
(click)="goToPedido(task.SerialNumber)"
>
<!-- (click)="viewExpedientDetail(task.SerialNumber)" -->
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
<div class="exp-top-detail">
<div class="subject">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -99,7 +127,6 @@
</div>
<div class="exp-middle-detail">
<div class="exp-workflow">
<span class="label-deadline label">Deadline</span>
<span class="label mr-10">{{task.activityInstanceName}}</span>
</div>
<div class="exp-date">
@@ -9,7 +9,7 @@ import { PedidosStore } from 'src/app/store/pedidos-store.service';
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
import { SortService } from 'src/app/services/functions/sort.service';
import { ThemeService } from 'src/app/services/theme.service'
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-pedidos',
@@ -39,13 +39,15 @@ export class PedidosPage implements OnInit {
skeletonLoader = true
pedidosstore = PedidosStore;
customTaskPipe = new CustomTaskPipe()
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private router: Router,
private processes:ProcessesService,
private modalController: ModalController,
private sortService: SortService,
public ThemeService: ThemeService
public ThemeService: ThemeService,
public TaskService: TaskService,
) {
this.profile = 'mdgpr';
}
@@ -9,6 +9,23 @@ import { PendentesPageRoutingModule } from './pendentes-routing.module';
import { PendentesPage } from './pendentes.page';
import { TaskListPageModule } from '../generic/task-list/task-list.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,
@@ -16,7 +33,17 @@ import { TaskListPageModule } from '../generic/task-list/task-list.module';
IonicModule,
PendentesPageRoutingModule,
// entryComponents
TaskListPageModule
TaskListPageModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
],
exports: [PendentesPage],
declarations: [PendentesPage]
@@ -2,11 +2,36 @@
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
<div class="title">
<div class="thetitle"><ion-label >Pendentes</ion-label></div>
<!-- <div class="theicon">
<button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<div class="theicon">
<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="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<!-- <button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
</div> -->
</button> -->
</div>
</div>
</ion-header>
<ion-content>
@@ -23,6 +48,7 @@
[taskList] = pendentesstore.list
[skeletonLoader] = skeletonLoader
(viewTaskDetail)="viewTaskDetails($event)"
[filterName]="filterName"
> </app-task-list>
</ion-content>
@@ -26,6 +26,8 @@ export class PendentesPage implements OnInit {
@Input() profile:string;
segment:string;
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private processes:ProcessesService,
+41 -1
View File
@@ -22,6 +22,13 @@ export class DeplomasService {
private _diplomasGerarListCount = 0;
private _diplomasListCount = 0;
diplomasAssinadoListNewCount = []
diplomasReviewListNewCount = []
diplomasGerarListNewCount = []
diplomasParaAssinarNewCount = []
constructor() {
this.keyNameDiplomasAssinado = (SHA1("DeplomasService"+"diplomasAssinado")).toString()
this.keyNameDiplomasReview = (SHA1("DeplomasService"+"diplomasReview")).toString()
@@ -150,6 +157,7 @@ export class DeplomasService {
count: this._diplomasReviewCount,
})
}, 10)
this.updateNewCount()
}
private saveDiplomasAssinadoList() {
@@ -159,7 +167,8 @@ export class DeplomasService {
list: this._diplomasAssinadoList,
count: this._diplomasAssinadoListCount,
})
}, 10)
}, 10)
this.updateNewCount()
}
private saveDiplomasParaAssinar () {
@@ -169,6 +178,7 @@ export class DeplomasService {
count: this._diplomasListCount,
})
}, 10)
this.updateNewCount()
}
private savetDiplomaGerar() {
@@ -178,8 +188,38 @@ export class DeplomasService {
count: this._diplomasGerarListCount,
})
}, 10)
this.updateNewCount()
}
updateNewCount() {
this.diplomasAssinadoListNewCount = this._diplomasAssinadoList.filter((e) =>{
return this.lessthen24Hours(e.TaskStartDate)
})
this.diplomasReviewListNewCount = this._diplomasReviewList.filter((e) =>{
return this.lessthen24Hours(e.TaskStartDate)
})
this.diplomasGerarListNewCount = this._diplomasGerarList.filter((e) =>{
return this.lessthen24Hours(e.TaskStartDate)
})
this.diplomasParaAssinarNewCount = this._diplomasParaAssinar.filter((e) =>{
return this.lessthen24Hours(e.TaskStartDate)
})
}
lessthen24Hours(isoDateString:string) {
const creationDate = new Date(isoDateString)
const creationDatePlus24h = new Date(creationDate)
creationDatePlus24h.setHours((creationDate.getHours() + 24))
const currentDate = new Date()
return creationDatePlus24h.getTime() > currentDate.getTime()
}
}
export let DeplomasStore = new DeplomasService()
+22
View File
@@ -17,6 +17,8 @@ export class DespachoStoreService {
ObjectQueryService = new ObjectQueryService()
newList = []
constructor() {
this.keyName = (SHA1("DespachoStoreService"+ 'home/eventSource')).toString()
@@ -128,8 +130,28 @@ export class DespachoStoreService {
})
}, 10)
this.updateNewCount()
}
updateNewCount() {
this.newList = this._list.filter((e) =>{
return this.lessthen24Hours(e.TaskStartDate)
})
}
lessthen24Hours(isoDateString:string) {
const creationDate = new Date(isoDateString)
const creationDatePlus24h = new Date(creationDate)
creationDatePlus24h.setHours((creationDate.getHours() + 24))
const currentDate = new Date()
return creationDatePlus24h.getTime() > currentDate.getTime()
}
}
export const DespachoStore = new DespachoStoreService()
+20 -1
View File
@@ -8,9 +8,10 @@ import { AES, enc, SHA1 } from 'crypto-js'
export class DespachosprStoreService {
// main data
private _list: [] = []
private _list = []
// local storage keyName
private keyName: string;
newList = [];
constructor() {
@@ -50,6 +51,24 @@ private save() {
list: this._list
})
}, 10)
this.updateNewCount()
}
updateNewCount() {
this.newList = this._list.filter((e) =>{
return this.lessthen24Hours(e.TaskStartDate)
})
}
lessthen24Hours(isoDateString:string) {
const creationDate = new Date(isoDateString)
const creationDatePlus24h = new Date(creationDate)
creationDatePlus24h.setHours((creationDate.getHours() + 24))
const currentDate = new Date()
return creationDatePlus24h.getTime() > currentDate.getTime()
}
}
@@ -14,6 +14,8 @@ export class ExpedientegdStoreService {
private keyName: string;
private _count = 0
newList = []
constructor() {
this.keyName = (SHA1("EventoaprovacaoStoreService")).toString()
@@ -49,9 +51,27 @@ export class ExpedientegdStoreService {
count: this._count
})
}, 10)
this.updateNewList()
}
updateNewList() {
this.newList = this._list.filter((e) =>{
return this.lessthen24Hours(e.TaskStartDate)
})
}
lessthen24Hours(isoDateString:string) {
const creationDate = new Date(isoDateString)
const creationDatePlus24h = new Date(creationDate)
creationDatePlus24h.setHours((creationDate.getHours() + 24))
const currentDate = new Date()
return creationDatePlus24h.getTime() > currentDate.getTime()
}
}
export const ExpedienteGdStore = new ExpedientegdStoreService()
+32 -2
View File
@@ -7,13 +7,17 @@ import { AES, enc, SHA1 } from 'crypto-js'
})
export class PedidosStoreService {
private _listParecer: Event[] = []
private _listDeferimento: Event[] = []
private _listParecer = []
private _listDeferimento = []
// local storage keyName
private keyNameparecer: string;
private keyNamedeferiemnto: string;
private _countparecer = 0
private _countDeferiemnto = 0
listParecerCount: Event[] = []
listDeferimentoCount: Event[] = []
constructor() {
@@ -84,6 +88,8 @@ export class PedidosStoreService {
count: this._countparecer,
})
}, 10)
this.updateNewCount()
}
@@ -94,9 +100,33 @@ export class PedidosStoreService {
count: this._countDeferiemnto,
})
}, 10)
this.updateNewCount()
}
updateNewCount() {
this.listParecerCount = this._listParecer.filter((e) =>{
return this.lessthen24Hours(e.TaskStartDate)
})
this.listDeferimentoCount = this._listDeferimento.filter((e) =>{
return this.lessthen24Hours(e.TaskStartDate)
})
}
lessthen24Hours(isoDateString:string) {
const creationDate = new Date(isoDateString)
const creationDatePlus24h = new Date(creationDate)
creationDatePlus24h.setHours((creationDate.getHours() + 24))
const currentDate = new Date()
return creationDatePlus24h.getTime() > currentDate.getTime()
}
}
export const PedidosStore = new PedidosStoreService()
+21
View File
@@ -13,6 +13,8 @@ export class PendestesStoreService {
private keyName: string;
private _count = 0
newList = []
constructor() {
this.keyName = (SHA1("PendestesStoreService")).toString()
@@ -55,6 +57,25 @@ export class PendestesStoreService {
})
}, 10)
this.updateNewCount()
}
updateNewCount() {
this.newList = this._list.filter((e) => {
return this.lessthen24Hours(e.TaskStartDate)
})
}
lessthen24Hours(isoDateString:string) {
const creationDate = new Date(isoDateString)
const creationDatePlus24h = new Date(creationDate)
creationDatePlus24h.setHours((creationDate.getHours() + 24))
const currentDate = new Date()
return creationDatePlus24h.getTime() > currentDate.getTime()
}
}
+1
View File
@@ -1476,6 +1476,7 @@ ion-textarea.heigh-200 textarea {
padding-left: 10px;
padding-right: 5px;
border-radius: 1px;
font-size: 14px;
.mat-form-field-infix {
+6 -6
View File
@@ -1,12 +1,12 @@
export let versionData = {
"shortSHA": "8cc4181c4",
"SHA": "8cc4181c4145739df8826c5d46e418737c99dedd",
"shortSHA": "0660b4454",
"SHA": "0660b44542d43dc8b7686276f45c5ce11c23a402",
"branch": "feature/gabineteLabels",
"lastCommitAuthor": "'Peter Maquiran'",
"lastCommitTime": "'Wed Apr 12 09:01:03 2023 +0100'",
"lastCommitMessage": "add deadline to list",
"lastCommitNumber": "4896",
"lastCommitTime": "'Wed Apr 12 14:39:26 2023 +0100'",
"lastCommitMessage": "add label to gabinete",
"lastCommitNumber": "4897",
"change": "",
"changeStatus": "On branch feature/gabineteLabels\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: src/app/Rules/deferimentos-service.service.ts\n\tmodified: src/app/Rules/deplomas-service.service.ts\n\tmodified: src/app/Rules/parecer.service.ts\n\tmodified: src/app/modals/view-event/view-event.page.ts\n\tmodified: src/app/models/Expediente.ts\n\tmodified: src/app/models/dailyworktask.model.ts\n\tmodified: src/app/pages/agenda/view-event/view-event.page.ts\n\tmodified: src/app/pages/events/events.page.html\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.html\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts\n\tmodified: src/app/pages/gabinete-digital/despachos/despachos.page.html\n\tmodified: src/app/pages/gabinete-digital/despachos/despachos.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar/diplomas-gerar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas/diplomas.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas/diplomas.page.ts\n\tmodified: src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente.module.ts\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente.page.html\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente.page.ts\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.html\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.ts\n\tmodified: src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts\n\tmodified: src/app/pages/gabinete-digital/pedidos/pedidos.page.html\n\tmodified: src/app/pages/gabinete-digital/pedidos/pedidos.page.ts\n\tmodified: src/app/pages/gabinete-digital/pendentes/pendentes.page.ts\n\tmodified: src/app/pipes/custom-task.pipe.ts\n\tmodified: src/app/pipes/expediente-task.pipe.ts\n\tmodified: src/app/services/events/events.page.html\n\tmodified: src/app/services/task.service.ts\n\tmodified: src/app/shared/gabinete-digital/all-processes/all-processes.page.ts\n\tmodified: src/app/shared/gabinete-digital/diplomas/diplomas.page.ts\n\tmodified: src/app/shared/gabinete-digital/generic/task-list/task-list.page.html\n\tmodified: src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts\n\tmodified: src/environments/suport/doneIt.ts\n\tmodified: src/global.scss",
"changeStatus": "On branch feature/gabineteLabels\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: src/app/app.module.ts\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.html\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/despachos/despachos.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.module.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar.module.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas/diplomas.module.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas/diplomas.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas/diplomas.page.ts\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.module.ts\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.html\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.html\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.scss\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.ts\n\tmodified: src/app/pages/gabinete-digital/pedidos/pedidos.module.ts\n\tmodified: src/app/pages/gabinete-digital/pedidos/pedidos.page.html\n\tmodified: src/app/pages/gabinete-digital/pedidos/pedidos.page.ts\n\tmodified: src/app/pages/gabinete-digital/pendentes/pendentes.module.ts\n\tmodified: src/app/pages/gabinete-digital/pendentes/pendentes.page.html\n\tmodified: src/app/pages/gabinete-digital/pendentes/pendentes.page.ts\n\tmodified: src/app/services/task.service.ts\n\tmodified: src/app/shared/gabinete-digital/despachos-pr/despachos-pr.module.ts\n\tmodified: src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.html\n\tmodified: src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts\n\tmodified: src/app/shared/gabinete-digital/despachos/despachos.module.ts\n\tmodified: src/app/shared/gabinete-digital/despachos/despachos.page.html\n\tmodified: src/app/shared/gabinete-digital/despachos/despachos.page.ts\n\tmodified: src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.module.ts\n\tmodified: src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html\n\tmodified: src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts\n\tmodified: src/app/shared/gabinete-digital/diplomas-gerar/diplomas-gerar.module.ts\n\tmodified: src/app/shared/gabinete-digital/diplomas-gerar/diplomas-gerar.page.html\n\tmodified: src/app/shared/gabinete-digital/diplomas-gerar/diplomas-gerar.page.ts\n\tmodified: src/app/shared/gabinete-digital/diplomas/diplomas.module.ts\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.module.ts\n\tmodified: src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.html\n\tmodified: src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.ts\n\tmodified: src/app/shared/gabinete-digital/expedients/expedients.module.ts\n\tmodified: src/app/shared/gabinete-digital/expedients/expedients.page.html\n\tmodified: src/app/shared/gabinete-digital/expedients/expedients.page.ts\n\tmodified: src/app/shared/gabinete-digital/generic/task-list/task-list.page.html\n\tmodified: src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts\n\tmodified: src/app/shared/gabinete-digital/pedidos/pedidos.module.ts\n\tmodified: src/app/shared/gabinete-digital/pedidos/pedidos.page.html\n\tmodified: src/app/shared/gabinete-digital/pedidos/pedidos.page.ts\n\tmodified: src/app/shared/gabinete-digital/pendentes/pendentes.module.ts\n\tmodified: src/app/shared/gabinete-digital/pendentes/pendentes.page.html\n\tmodified: src/app/shared/gabinete-digital/pendentes/pendentes.page.ts\n\tmodified: src/app/store/deplomas.service.ts\n\tmodified: src/app/store/despacho-store.service.ts\n\tmodified: src/app/store/despachospr-store.service.ts\n\tmodified: src/app/store/expedientegd-store.service.ts\n\tmodified: src/app/store/pedidos-store.service.ts\n\tmodified: src/app/store/pendestes-store.service.ts\n\tmodified: src/global.scss",
"changeAuthor": "peter.maquiran"
}