mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
Merge branch 'developer' of bitbucket.org:equilibriumito/gabinete-digital into developer
This commit is contained in:
@@ -1,13 +1,8 @@
|
||||
import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
|
||||
import { NavigationEnd, NavigationExtras, Router } from '@angular/router';
|
||||
import { CalendarComponent } from 'ionic2-calendar';
|
||||
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { NavigationEnd, Router } from '@angular/router';
|
||||
import { DailyWorkTask } from '../../../models/dailyworktask.model';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { formatDate } from '@angular/common';
|
||||
import { LoadingService } from 'src/app/services/loading.service';
|
||||
import { ModalController } from '@ionic/angular';
|
||||
import { ExpedienteDetailPage } from 'src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page';
|
||||
import { AlertService } from 'src/app/services/alert.service';
|
||||
|
||||
@Component({
|
||||
@@ -21,21 +16,15 @@ export class ExpedientePage implements OnInit {
|
||||
showLoader: boolean;
|
||||
//profile:string;
|
||||
|
||||
@ViewChild(CalendarComponent) myCal: CalendarComponent;
|
||||
|
||||
taskslist:DailyWorkTask[];
|
||||
serialNumber:string;
|
||||
|
||||
@Input() profile:string;
|
||||
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
|
||||
|
||||
constructor(
|
||||
private processes:ProcessesService,
|
||||
private modalController: ModalController,
|
||||
private alertService: AlertService,
|
||||
private router: Router,
|
||||
) {
|
||||
this.profile = 'mdgpr';
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -47,11 +36,6 @@ export class ExpedientePage implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
openExpedientDetailPage(data){
|
||||
console.log(data);
|
||||
this.openExpedientDetail.emit(data);
|
||||
}
|
||||
|
||||
LoadList(){
|
||||
this.showLoader = true;
|
||||
this.processes.GetTasksList("Expediente", false).subscribe(result => {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<ion-refresher-content>
|
||||
</ion-refresher-content>
|
||||
</ion-refresher>
|
||||
|
||||
|
||||
<div class="main-content d-flex height-100">
|
||||
|
||||
<!-- Aside left -->
|
||||
@@ -19,7 +19,7 @@
|
||||
<ion-icon class="title-icon" name="reload-circle"></ion-icon>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="aside overflow-y-auto d-flex flex-wrap width-100">
|
||||
<div (click)="openEventsToApprovePage();selectedElement='approval'" [class.active]="selectedElement == 'approval'" class="exp-card d-flex flex-column" *ngIf="loggeduser.Profile == 'MDGPR'" >
|
||||
<div class="d-flex justify-center">
|
||||
@@ -85,8 +85,8 @@
|
||||
<div class="d-flex justify-center">
|
||||
<ion-icon src="assets/images/icons-despachos-presidente.svg"></ion-icon>
|
||||
</div>
|
||||
<p class="text-center exp-card-title " *ngIf="loggeduser.Profile == 'MDGPR'">Despacho do Presidente da República</p>
|
||||
<p class="text-center exp-card-title " *ngIf="loggeduser.Profile == 'PR'">Despachos criados por mim</p>
|
||||
<p class="text-center exp-card-title " *ngIf="loggeduser.Profile == 'MDGPR'">Despacho do Presidente da República</p>
|
||||
<p class="text-center exp-card-title " *ngIf="loggeduser.Profile == 'PR'">Despachos criados por mim</p>
|
||||
<p class="text-center exp-card-content">{{ count_de_pr }} <span class="title1">Documentos</span> </p>
|
||||
</div>
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
<ion-icon src="assets/images/icons-despachos-presidente.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="exp-card-text">
|
||||
<p class="text-center exp-card-title">Despacho do Presidente da República</p>
|
||||
<p class="exp-card-title">Despacho do Presidente da República</p>
|
||||
<p class="text-center exp-card-content">{{ count_de_pr }} <span class="title1">Documentos</span> </p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -146,10 +146,10 @@
|
||||
|
||||
<!-- Aside right -->
|
||||
<div class="aside-content d-none flex-column height-100">
|
||||
|
||||
|
||||
<app-empty-container [texto]="emptyTextDescription" *ngIf="showEmptyContainer" class="d-flex height-100 flex-column"></app-empty-container>
|
||||
<app-events-to-approve [profile]="'MDGPR'" *ngIf="showEventsToApprove" class="d-flex height-100 flex-column"></app-events-to-approve>
|
||||
|
||||
|
||||
<app-expedients [profile]="profile" class="d-flex height-100 flex-column" *ngIf="showExpedients"></app-expedients>
|
||||
<app-pedidos [profile]="profile" [segment]="segment" [serialNumber]="serialNumber" class="d-flex height-100 flex-column" *ngIf="showPedidos"></app-pedidos>
|
||||
<app-despachos [profile]="profile" class="d-flex height-100 flex-column" *ngIf="showDespachos"></app-despachos>
|
||||
|
||||
@@ -20,17 +20,17 @@ import { EventsToApprovePage } from 'src/app/shared/gabinete-digital/events-to-a
|
||||
})
|
||||
|
||||
export class GabineteDigitalPage implements OnInit {
|
||||
|
||||
|
||||
segment:string;
|
||||
showLoader: boolean;
|
||||
public profile:string;
|
||||
|
||||
count_exp_dailywork=0;
|
||||
count_exp_dailywork=0;
|
||||
count_exp_pr =0
|
||||
count_desp_dailywork=0;
|
||||
count_desp_pending=0;
|
||||
count_desp_pending=0;
|
||||
count_par_dailywork=0;
|
||||
count_par_pending=0;
|
||||
count_par_pending=0;
|
||||
count_def_dailywork=0;
|
||||
count_def_pending=0;
|
||||
count_exp_pp : string;
|
||||
@@ -49,7 +49,7 @@ export class GabineteDigitalPage implements OnInit {
|
||||
|
||||
desktopComponent: any = {
|
||||
showEventList: false,
|
||||
showExpediente : false
|
||||
showExpediente : false,
|
||||
}
|
||||
|
||||
showEventsToApprove = false;
|
||||
@@ -63,7 +63,7 @@ export class GabineteDigitalPage implements OnInit {
|
||||
showDiplomas = false;
|
||||
showDiplomasAssinar = false;
|
||||
showExpedientDetail = false;
|
||||
showSignedDiploma = false
|
||||
showSignedDiploma = false;
|
||||
emptyTextDescription = 'Sem opção selecionada';
|
||||
|
||||
serialNumber:string;
|
||||
@@ -96,7 +96,7 @@ export class GabineteDigitalPage implements OnInit {
|
||||
}
|
||||
};
|
||||
this.checkRoutes();
|
||||
|
||||
|
||||
}
|
||||
|
||||
closeAllDesktopComponent(){
|
||||
@@ -111,7 +111,7 @@ export class GabineteDigitalPage implements OnInit {
|
||||
ngOnInit() {
|
||||
const pathname = window.location.pathname
|
||||
|
||||
this.router.events.forEach((event) => {
|
||||
this.router.events.forEach((event) => {
|
||||
if(event instanceof NavigationEnd && event.url == pathname) {
|
||||
this.checkRoutes();
|
||||
this.LoadCounts();
|
||||
@@ -120,11 +120,12 @@ export class GabineteDigitalPage implements OnInit {
|
||||
// console.log('not')
|
||||
}
|
||||
});
|
||||
|
||||
this.hideRefreshButton();
|
||||
|
||||
this.hideRefreshButton();
|
||||
}
|
||||
|
||||
checkUser(){
|
||||
this.selectedElement='Correspondence';
|
||||
switch(this.loggeduser.Profile){
|
||||
case 'MDGPR':
|
||||
this.showExpedients = true;
|
||||
@@ -150,6 +151,7 @@ export class GabineteDigitalPage implements OnInit {
|
||||
}
|
||||
|
||||
checkRoutes(){
|
||||
this.closeAllDesktopComponents();
|
||||
if(this.router.url == '/home/gabinete-digital?eventos=true'){
|
||||
this.openEventsToApprovePage();
|
||||
this.selectedElement='approval';
|
||||
@@ -196,12 +198,6 @@ export class GabineteDigitalPage implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
refreshExpedientes(){
|
||||
this.expedientesPage.doRefresh();
|
||||
//this.pendentesListPage.doRefresh();
|
||||
//this.eventsToApprove.doRefresh();
|
||||
}
|
||||
|
||||
closeAllDesktopComponents() {
|
||||
this.showEmptyContainer = false;
|
||||
this.showEventsToApprove = false;
|
||||
@@ -252,7 +248,7 @@ export class GabineteDigitalPage implements OnInit {
|
||||
this.count_de_pr = Object.keys(despachosPr).length;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
let diplomasValidar = despachospr.filter(data => data.activityInstanceName == "Revisar Diploma");
|
||||
this.count_dip_pv = Object.keys(diplomasValidar).length;
|
||||
|
||||
@@ -263,14 +259,14 @@ export class GabineteDigitalPage implements OnInit {
|
||||
this.count_dip_as_pr = Object.keys(diplomasAssinados).length;
|
||||
|
||||
this.processesbackend.GetToApprovedEvents('PR','true').subscribe(res=>{
|
||||
this.count_ev_pr = res;
|
||||
this.count_ev_pr = res;
|
||||
});
|
||||
this.processesbackend.GetToApprovedEvents('MDGPR','true').subscribe(res=>{
|
||||
this.count_ev_md = res;
|
||||
});
|
||||
|
||||
this.showLoader = false;
|
||||
|
||||
|
||||
this.count_exp_pp = "-";
|
||||
this.count_exp_pd = "-";
|
||||
this.count_dip_apr = "-";
|
||||
@@ -279,7 +275,7 @@ export class GabineteDigitalPage implements OnInit {
|
||||
|
||||
doRefresh(event) {
|
||||
console.log(event);
|
||||
|
||||
|
||||
this.closeAllDesktopComponents();
|
||||
/* switch(this.loggeduser.Profile){
|
||||
case 'MDGPR':
|
||||
@@ -302,12 +298,8 @@ export class GabineteDigitalPage implements OnInit {
|
||||
}
|
||||
else{
|
||||
console.log('null');
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
notImplemented(){
|
||||
this.alertService.presentAlert('Funcionalidade em desenvolvimento');
|
||||
}
|
||||
}
|
||||
|
||||
selectedElementF(element:string) {
|
||||
@@ -358,7 +350,7 @@ export class GabineteDigitalPage implements OnInit {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
openPedidosPage(segment:string) {
|
||||
@@ -394,7 +386,7 @@ export class GabineteDigitalPage implements OnInit {
|
||||
this.showDespachos = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
openDespachosPrPage(segment?:string) {
|
||||
this.closeAllDesktopComponents();
|
||||
if( window.innerWidth <= 801){
|
||||
|
||||
@@ -24,7 +24,6 @@ export class PendentesPage implements OnInit {
|
||||
|
||||
@Input() profile:string;
|
||||
segment:string;
|
||||
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
|
||||
|
||||
constructor(
|
||||
private processes:ProcessesService,
|
||||
@@ -60,10 +59,6 @@ export class PendentesPage implements OnInit {
|
||||
this.alertService.presentAlert('Funcionalidade em desenvolvimento');
|
||||
}
|
||||
|
||||
openExpedientDetailPage(data){
|
||||
this.openExpedientDetail.emit(data);
|
||||
}
|
||||
|
||||
async LoadList(){
|
||||
this.showLoader = true;
|
||||
this.pendentesList = new Array();
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<div class="main-content height-100 d-flex">
|
||||
|
||||
<div class="content d-flex flex-column width-md-100 height-100">
|
||||
|
||||
|
||||
<div class="main-header pt-30 px-20 background-white pb-15">
|
||||
<ion-header>
|
||||
<div class="title-content">
|
||||
<div class="middle">
|
||||
<ion-label class="title">Editar evento por aprovar</ion-label>
|
||||
<ion-label class="title">Editar evento por aprovar MOB</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</ion-header>
|
||||
@@ -31,21 +31,21 @@
|
||||
<!-- <span class="error ion-padding" >
|
||||
Campo obrigatório
|
||||
</span> -->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="container-div width-100">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
|
||||
|
||||
<ion-select disabled placeholder="Selecione agenda*"
|
||||
class="d-block d-md-none"
|
||||
selectedText="{{eventProcess.workflowInstanceDataFields.Agenda}}"
|
||||
[(ngModel)]="eventProcess.workflowInstanceDataFields.Agenda"
|
||||
interface="action-sheet" Cancel-text="Cancelar"
|
||||
selectedText="{{eventProcess.workflowInstanceDataFields.Agenda}}"
|
||||
[(ngModel)]="eventProcess.workflowInstanceDataFields.Agenda"
|
||||
interface="action-sheet" Cancel-text="Cancelar"
|
||||
required
|
||||
>
|
||||
<ion-select-option value="Oficial">Oficial</ion-select-option>
|
||||
@@ -67,37 +67,37 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="container-div width-100">
|
||||
<div class="ion-item-class-2 width-100">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class width-100">
|
||||
<ion-datetime
|
||||
<ion-datetime
|
||||
class="d-block d-md-none"
|
||||
placeholder="Início"
|
||||
[(ngModel)]="dateControlEnd"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
min="{{minDate}}"
|
||||
max="2022"
|
||||
min="{{minDate}}"
|
||||
max="2022"
|
||||
>
|
||||
</ion-datetime>
|
||||
|
||||
<mat-form-field appearance="none" class="width-100 date-hour-picker d-none d-md-block">
|
||||
<input matInput [ngxMatDatetimePicker]="picker1"
|
||||
placeholder="Choose a date"
|
||||
<input matInput [ngxMatDatetimePicker]="picker1"
|
||||
placeholder="Choose a date"
|
||||
[formControl]="dateControlStart"
|
||||
[min]="minDate" [max]="maxDate"
|
||||
[min]="minDate" [max]="maxDate"
|
||||
[disabled]="disabled"
|
||||
>
|
||||
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1"></mat-datepicker-toggle>
|
||||
<ngx-mat-datetime-picker #picker1
|
||||
[showSpinners]="showSpinners"
|
||||
<ngx-mat-datetime-picker #picker1
|
||||
[showSpinners]="showSpinners"
|
||||
[showSeconds]="showSeconds"
|
||||
[stepHour]="stepHour" [stepMinute]="stepMinute"
|
||||
[stepHour]="stepHour" [stepMinute]="stepMinute"
|
||||
[stepSecond]="stepSecond"
|
||||
[touchUi]="touchUi">
|
||||
</ngx-mat-datetime-picker>
|
||||
@@ -105,37 +105,37 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="container-div width-100">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-datetime
|
||||
<ion-datetime
|
||||
class="d-none d-md-none"
|
||||
placeholder="Fim"
|
||||
[(ngModel)]="eventProcess.workflowInstanceDataFields.EndDate"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
min="{{minDate}}"
|
||||
min="{{minDate}}"
|
||||
max="2025"
|
||||
>
|
||||
</ion-datetime>
|
||||
|
||||
<mat-form-field class="width-100 date-hour-picker d-none d-md-block">
|
||||
<input matInput [ngxMatDatetimePicker]="fim"
|
||||
placeholder="Choose a date"
|
||||
<input matInput [ngxMatDatetimePicker]="fim"
|
||||
placeholder="Choose a date"
|
||||
[formControl]="dateControlEnd"
|
||||
[min]="minDate" [max]="maxDate"
|
||||
[min]="minDate" [max]="maxDate"
|
||||
[disabled]="disabled"
|
||||
>
|
||||
<mat-datepicker-toggle id="new-fim" matSuffix [for]="fim"></mat-datepicker-toggle>
|
||||
<ngx-mat-datetime-picker #fim
|
||||
[showSpinners]="showSpinners"
|
||||
<ngx-mat-datetime-picker #fim
|
||||
[showSpinners]="showSpinners"
|
||||
[showSeconds]="showSeconds"
|
||||
[stepHour]="stepHour" [stepMinute]="stepMinute"
|
||||
[stepHour]="stepHour" [stepMinute]="stepMinute"
|
||||
[stepSecond]="stepSecond"
|
||||
[touchUi]="touchUi">
|
||||
</ngx-mat-datetime-picker>
|
||||
@@ -144,29 +144,29 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="container-div width-100">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-select
|
||||
<ion-select
|
||||
placeholder="Selecione repetição"
|
||||
class="d-block d-md-none"
|
||||
class="d-block d-md-none"
|
||||
[(ngModel)]="eventProcess.workflowInstanceDataFields.IsRecurring"
|
||||
selectedText="{{isRecurring}}"
|
||||
interface="action-sheet"
|
||||
selectedText="{{isRecurring}}"
|
||||
interface="action-sheet"
|
||||
Cancel-text="Cancelar" required>
|
||||
<ion-select-option value="false">Não se repete</ion-select-option>
|
||||
<ion-select-option value="true">Repete</ion-select-option>
|
||||
</ion-select>
|
||||
|
||||
<mat-form-field
|
||||
class="width-100 d-none d-md-block"
|
||||
placeholder="Selecione repetição"
|
||||
value="false"
|
||||
interface="action-sheet"
|
||||
<mat-form-field
|
||||
class="width-100 d-none d-md-block"
|
||||
placeholder="Selecione repetição"
|
||||
value="false"
|
||||
interface="action-sheet"
|
||||
required
|
||||
appearance="none"
|
||||
>
|
||||
@@ -183,9 +183,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="container-div width-100">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
@@ -235,23 +235,23 @@
|
||||
</div>
|
||||
<div class="attach-document">
|
||||
<ion-label>Adicionar documentos</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</ion-label>
|
||||
</div>
|
||||
|
||||
<div class="d-flex container-div width-100" >
|
||||
<ion-list class="width-100 ">
|
||||
|
||||
<div class="d-flex container-div width-100" >
|
||||
<ion-list class="width-100 ">
|
||||
<ion-item class="width-100" *ngFor="let document of loadedAttachments; let i = index">
|
||||
<ion-label class="width-100 d-block list" *ngIf="document.action != 'delete' ">
|
||||
<p class="d-flex ion-justify-content-between">
|
||||
<span class="attach-title-item">{{document.SourceName}}</span>
|
||||
<p class="d-flex ion-justify-content-between">
|
||||
<span class="attach-title-item">{{document.SourceName}}</span>
|
||||
<span class="app-name" *ngIf="document.ApplicationId == 8"> Correspondencia </span>
|
||||
<span class="app-name" *ngIf="document.ApplicationId == 386"> AccoesPresidenciais </span>
|
||||
<span class="app-name" *ngIf="document.ApplicationId == 361 "> ArquivoDespachoElect </span>
|
||||
<span class="close-button text-black cursor-pointer" (click)="deleteAttachment(document, i)" >
|
||||
<ion-icon class="font-20" src="assets/images/icons-delete-25.svg"></ion-icon>
|
||||
</span>
|
||||
</p>
|
||||
</p>
|
||||
<p><span class="span-left">{{document.Stakeholders}}</span><span class="span-right"> {{document.CreateDate | date: 'dd-MM-yy'}} </span></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
@@ -283,7 +283,7 @@
|
||||
(dynamicSetIntervenient)="dynamicSetIntervenient($event)"
|
||||
></app-attendee-modal>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
||||
<ion-footer class="background-whit">
|
||||
@@ -291,4 +291,4 @@
|
||||
<button class="btn-cancel cursor-pointer" shape="round" (click)="close()">Cancelar</button>
|
||||
<button class="btn-ok cursor-pointer" shape="round" (click)="save()">Gravar</button>
|
||||
</div>
|
||||
</ion-footer>
|
||||
</ion-footer>
|
||||
|
||||
@@ -25,7 +25,6 @@ export class ExpedientsPage implements OnInit {
|
||||
serialNumber:string;
|
||||
|
||||
@Input() profile:string;
|
||||
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
|
||||
|
||||
constructor(
|
||||
private processes:ProcessesService,
|
||||
@@ -59,11 +58,6 @@ export class ExpedientsPage implements OnInit {
|
||||
this.alertService.presentAlert('Funcionalidade em desenvolvimento');
|
||||
}
|
||||
|
||||
openExpedientDetailPage(data){
|
||||
console.log(data);
|
||||
this.openExpedientDetail.emit(data);
|
||||
}
|
||||
|
||||
LoadList(){
|
||||
this.processes.GetTasksList("Expediente", false).subscribe(result => {
|
||||
this.taskslist = new Array();
|
||||
|
||||
Reference in New Issue
Block a user