mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
Merge branch 'developer' of bitbucket.org:equilibriumito/gabinete-digital into developer
This commit is contained in:
@@ -215,7 +215,7 @@ export class CreateProcessPage implements OnInit {
|
|||||||
"action": "Conhecimento",
|
"action": "Conhecimento",
|
||||||
"ActionTypeId": 104,
|
"ActionTypeId": 104,
|
||||||
"dataFields": {
|
"dataFields": {
|
||||||
"ReviewUserComent": '',
|
"ReviewUserComment": '',
|
||||||
},
|
},
|
||||||
"AttachmentList" :null,
|
"AttachmentList" :null,
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ export class DarParecerPage implements OnInit {
|
|||||||
"action": "Registar",
|
"action": "Registar",
|
||||||
"ActionTypeId": 104,
|
"ActionTypeId": 104,
|
||||||
"dataFields": {
|
"dataFields": {
|
||||||
"ReviewUserComent": this.note,
|
"ReviewUserComment": this.note,
|
||||||
},
|
},
|
||||||
"AttachmentList": docs,
|
"AttachmentList": docs,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ export class tasksList{
|
|||||||
InstanceID: string,
|
InstanceID: string,
|
||||||
InstanceIDNew: string,
|
InstanceIDNew: string,
|
||||||
NewSerialNumber: string,
|
NewSerialNumber: string,
|
||||||
ReviewUserComent: string,
|
ReviewUserComment: string,
|
||||||
ReviewUserEmail: string,
|
ReviewUserEmail: string,
|
||||||
ReviewUserName: string,
|
ReviewUserName: string,
|
||||||
SourceID: number,
|
SourceID: number,
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ export class DespachoPrPage implements OnInit {
|
|||||||
"action": "Conhecimento",
|
"action": "Conhecimento",
|
||||||
"ActionTypeId": 104,
|
"ActionTypeId": 104,
|
||||||
"dataFields": {
|
"dataFields": {
|
||||||
"ReviewUserComent": note,
|
"ReviewUserComment": note,
|
||||||
},
|
},
|
||||||
"AttachmentList" :documents,
|
"AttachmentList" :documents,
|
||||||
}
|
}
|
||||||
@@ -173,7 +173,7 @@ export class DespachoPrPage implements OnInit {
|
|||||||
"action": "Arquivo",
|
"action": "Arquivo",
|
||||||
"ActionTypeId": 95,
|
"ActionTypeId": 95,
|
||||||
"dataFields": {
|
"dataFields": {
|
||||||
"ReviewUserComent": note,
|
"ReviewUserComment": note,
|
||||||
},
|
},
|
||||||
"AttachmentList" :documents,
|
"AttachmentList" :documents,
|
||||||
}
|
}
|
||||||
@@ -186,7 +186,7 @@ export class DespachoPrPage implements OnInit {
|
|||||||
"action": "Reencaminhar",
|
"action": "Reencaminhar",
|
||||||
"ActionTypeId": 98,
|
"ActionTypeId": 98,
|
||||||
"dataFields": {
|
"dataFields": {
|
||||||
"ReviewUserComent": note,
|
"ReviewUserComment": note,
|
||||||
},
|
},
|
||||||
"AttachmentList" :documents,
|
"AttachmentList" :documents,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ export class DespachoPage implements OnInit {
|
|||||||
"action": "Conhecimento",
|
"action": "Conhecimento",
|
||||||
"ActionTypeId": 104,
|
"ActionTypeId": 104,
|
||||||
"dataFields": {
|
"dataFields": {
|
||||||
"ReviewUserComent": note,
|
"ReviewUserComment": note,
|
||||||
},
|
},
|
||||||
"AttachmentList" :documents,
|
"AttachmentList" :documents,
|
||||||
}
|
}
|
||||||
@@ -173,7 +173,7 @@ export class DespachoPage implements OnInit {
|
|||||||
"action": "Arquivo",
|
"action": "Arquivo",
|
||||||
"ActionTypeId": 95,
|
"ActionTypeId": 95,
|
||||||
"dataFields": {
|
"dataFields": {
|
||||||
"ReviewUserComent": note,
|
"ReviewUserComment": note,
|
||||||
},
|
},
|
||||||
"AttachmentList" :documents,
|
"AttachmentList" :documents,
|
||||||
}
|
}
|
||||||
@@ -186,7 +186,7 @@ export class DespachoPage implements OnInit {
|
|||||||
"action": "Reencaminhar",
|
"action": "Reencaminhar",
|
||||||
"ActionTypeId": 98,
|
"ActionTypeId": 98,
|
||||||
"dataFields": {
|
"dataFields": {
|
||||||
"ReviewUserComent": note,
|
"ReviewUserComment": note,
|
||||||
},
|
},
|
||||||
"AttachmentList" :documents,
|
"AttachmentList" :documents,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,14 +67,9 @@
|
|||||||
|
|
||||||
<div *ngIf="task" class="aside-right flex-column height-100">
|
<div *ngIf="task" class="aside-right flex-column height-100">
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
<button (click)="openAddNoteModal('Executado')" class="btn-cancel" shape="round" >Executado</button>
|
<button (click)="openAddNoteModal('Solicitar assinatura')" class="btn-cancel" shape="round" >Solicitar assinatura</button>
|
||||||
<button (click)="openDelegarModal(task)" class="btn-cancel" shape="round" >Delegar</button>
|
<button (click)="openAddNoteModal('Solicitar alteração')" class="btn-cancel" shape="round" >Solicitar alteração</button>
|
||||||
<div class="solid"></div>
|
<div class="solid"></div>
|
||||||
<button (click)="openExpedientActionsModal('0',fulltask)" class="btn-ok" shape="round" >Efectuar Despacho</button>
|
|
||||||
<button (click)="openExpedientActionsModal('1',fulltask)" class="btn-cancel" shape="round" >Solicitar Parecer</button>
|
|
||||||
<button (click)="openBookMeetingModal(task)" class="btn-cancel" shape="round" >Marcar Reunião</button>
|
|
||||||
<div class="solid"></div>
|
|
||||||
<button (click)="sendExpedienteToPending()" class="btn-cancel" shape="round" >Enviar para Pendentes</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
import { ModalController, NavParams, PopoverController } from '@ionic/angular';
|
import { ModalController, NavParams, PopoverController } from '@ionic/angular';
|
||||||
import { AddNotePage } from 'src/app/modals/add-note/add-note.page';
|
import { AddNotePage } from 'src/app/modals/add-note/add-note.page';
|
||||||
import { CreateProcessPage } from 'src/app/modals/create-process/create-process.page';
|
|
||||||
import { DelegarPage } from 'src/app/modals/delegar/delegar.page';
|
|
||||||
import { ProcessesService } from 'src/app/services/processes.service';
|
import { ProcessesService } from 'src/app/services/processes.service';
|
||||||
import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page';
|
import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page';
|
||||||
import { momentG } from 'src/plugin/momentG';
|
import { momentG } from 'src/plugin/momentG';
|
||||||
import { BookMeetingModalPage } from '../../expediente/book-meeting-modal/book-meeting-modal.page';
|
|
||||||
|
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-diploma',
|
selector: 'app-diploma',
|
||||||
@@ -32,6 +31,7 @@ export class DiplomaPage implements OnInit {
|
|||||||
private processes: ProcessesService,
|
private processes: ProcessesService,
|
||||||
public popoverController: PopoverController,
|
public popoverController: PopoverController,
|
||||||
private modalController: ModalController,
|
private modalController: ModalController,
|
||||||
|
private iab: InAppBrowser,
|
||||||
) {
|
) {
|
||||||
this.serialnumber = this.navParams.get('serialNumber');
|
this.serialnumber = this.navParams.get('serialNumber');
|
||||||
this.profile = this.navParams.get('profile');
|
this.profile = this.navParams.get('profile');
|
||||||
@@ -99,6 +99,15 @@ export class DiplomaPage implements OnInit {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
viewDocument(docId:string){
|
||||||
|
this.processes.GetDocumentUrl(docId, '361').subscribe(res=>{
|
||||||
|
console.log(res);
|
||||||
|
const url: string = res.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1");
|
||||||
|
const browser = this.iab.create(url,"_blank");
|
||||||
|
browser.show();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
getDocumentDetails(forlderId:string, applicationId:string) {
|
getDocumentDetails(forlderId:string, applicationId:string) {
|
||||||
this.processes.GetDocumentDetails(forlderId,applicationId).subscribe(res=>{
|
this.processes.GetDocumentDetails(forlderId,applicationId).subscribe(res=>{
|
||||||
this.attachments = res.Documents;
|
this.attachments = res.Documents;
|
||||||
@@ -107,6 +116,33 @@ export class DiplomaPage implements OnInit {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
askSignature(note:string, documents:any){
|
||||||
|
let body = {
|
||||||
|
"serialNumber": this.serialnumber,
|
||||||
|
"action": "Aprovar",
|
||||||
|
"ActionTypeId": 0,
|
||||||
|
"dataFields": {
|
||||||
|
"ReviewUserComment": note,
|
||||||
|
},
|
||||||
|
"AttachmentList" :documents,
|
||||||
|
}
|
||||||
|
this.processes.CompleteTask(body);
|
||||||
|
this.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
askToChange(note:string, documents:any){
|
||||||
|
let body = {
|
||||||
|
"serialNumber": this.serialnumber,
|
||||||
|
"action": "Rectificar",
|
||||||
|
"ActionTypeId": 0,
|
||||||
|
"dataFields": {
|
||||||
|
"ReviewUserComment": note,
|
||||||
|
},
|
||||||
|
"AttachmentList" :documents,
|
||||||
|
}
|
||||||
|
this.processes.CompleteTask(body);
|
||||||
|
this.close();
|
||||||
|
}
|
||||||
|
|
||||||
async openAddNoteModal(actionName:string) {
|
async openAddNoteModal(actionName:string) {
|
||||||
let classs;
|
let classs;
|
||||||
@@ -127,93 +163,16 @@ export class DiplomaPage implements OnInit {
|
|||||||
|
|
||||||
modal.onDidDismiss().then(res => {
|
modal.onDidDismiss().then(res => {
|
||||||
if(res.data){
|
if(res.data){
|
||||||
if(actionName == 'Executado'){
|
if(actionName == 'Solicitar assinatura'){
|
||||||
//this.executado(res.data.note,res.data.documents);
|
this.askSignature(res.data.note,res.data.documents);
|
||||||
}
|
}
|
||||||
else if(actionName == 'Arquivar'){
|
else if(actionName == 'Solicitar alteração'){
|
||||||
//this.arquivar(res.data.note,res.data.documents);
|
this.askToChange(res.data.note,res.data.documents);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async openDelegarModal(task: any) {
|
|
||||||
let classs;
|
|
||||||
if( window.innerWidth <= 800){
|
|
||||||
classs = 'book-meeting-modal modal modal-desktop'
|
|
||||||
} else {
|
|
||||||
classs = 'modal modal-desktop showAsideOptions'
|
|
||||||
}
|
|
||||||
const modal = await this.modalController.create({
|
|
||||||
component: DelegarPage,
|
|
||||||
componentProps: {
|
|
||||||
task: this.task,
|
|
||||||
},
|
|
||||||
cssClass: classs,
|
|
||||||
backdropDismiss: false
|
|
||||||
});
|
|
||||||
await modal.present();
|
|
||||||
modal.onDidDismiss();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
async openExpedientActionsModal(taskAction: any, task: any) {
|
|
||||||
//this.modalController.dismiss();
|
|
||||||
let classs;
|
|
||||||
if( window.innerWidth <= 800){
|
|
||||||
classs = 'modal modal-desktop'
|
|
||||||
} else {
|
|
||||||
classs = 'modal modal-desktop showAsideOptions'
|
|
||||||
}
|
|
||||||
const modal = await this.modalController.create({
|
|
||||||
component: CreateProcessPage,
|
|
||||||
componentProps: {
|
|
||||||
taskAction: taskAction,
|
|
||||||
task: task,
|
|
||||||
profile: this.profile,
|
|
||||||
},
|
|
||||||
cssClass: classs,
|
|
||||||
});
|
|
||||||
await modal.present();
|
|
||||||
modal.onDidDismiss().then(res=>{
|
|
||||||
console.log(res['data']);
|
|
||||||
if(res['data']=='openDiscart'){
|
|
||||||
console.log('open discart');
|
|
||||||
|
|
||||||
// this.distartExpedientModal();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
async openBookMeetingModal(task: any) {
|
|
||||||
let classs;
|
|
||||||
if( window.innerWidth <= 800){
|
|
||||||
classs = 'book-meeting-modal modal modal-desktop'
|
|
||||||
} else {
|
|
||||||
classs = 'modal modal-desktop showAsideOptions'
|
|
||||||
}
|
|
||||||
const modal = await this.modalController.create({
|
|
||||||
component: BookMeetingModalPage,
|
|
||||||
componentProps: {
|
|
||||||
task: this.task,
|
|
||||||
},
|
|
||||||
cssClass: classs,
|
|
||||||
backdropDismiss: false
|
|
||||||
});
|
|
||||||
await modal.present();
|
|
||||||
modal.onDidDismiss();
|
|
||||||
}
|
|
||||||
|
|
||||||
sendExpedienteToPending(){
|
|
||||||
this.processes.SetTaskToPending(this.serialnumber).subscribe(res=>{
|
|
||||||
console.log(res);
|
|
||||||
this.close();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
close(){
|
close(){
|
||||||
this.modalController.dismiss();
|
this.modalController.dismiss();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,12 +7,14 @@ import { IonicModule } from '@ionic/angular';
|
|||||||
import { ApproveEventPageRoutingModule } from './approve-event-routing.module';
|
import { ApproveEventPageRoutingModule } from './approve-event-routing.module';
|
||||||
|
|
||||||
import { ApproveEventPage } from './approve-event.page';
|
import { ApproveEventPage } from './approve-event.page';
|
||||||
|
import { SharedModule } from 'src/app/shared/shared.module';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule,
|
CommonModule,
|
||||||
FormsModule,
|
FormsModule,
|
||||||
IonicModule,
|
IonicModule,
|
||||||
|
SharedModule,
|
||||||
ApproveEventPageRoutingModule
|
ApproveEventPageRoutingModule
|
||||||
],
|
],
|
||||||
declarations: [ApproveEventPage]
|
declarations: [ApproveEventPage]
|
||||||
|
|||||||
@@ -1,24 +1,14 @@
|
|||||||
<ion-header class="ion-no-border">
|
<ion-header class="ion-no-border">
|
||||||
<div *ngIf="loadedEvent" class="header-content d-flex justify-between">
|
<app-header></app-header>
|
||||||
<div class="header-icon-left cursor-pointer">
|
|
||||||
<ion-icon (click)="close()" src="assets/images/icons-arrow-arrow-left.svg"></ion-icon>
|
|
||||||
</div>
|
|
||||||
<div class="header-title flex-grow-1">
|
|
||||||
<label>{{loadedEvent.workflowInstanceDataFields.Subject}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="header-icon-right cursor-pointer">
|
|
||||||
<ion-icon (click)="notImplemented()" src="assets/images/icons-edit.svg"></ion-icon>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</ion-header>
|
</ion-header>
|
||||||
<ion-menu autoHide="false" side="end" content-id="main-content">
|
<ion-menu autoHide="false" side="end" content-id="main-content">
|
||||||
<ion-header>
|
<ion-header>
|
||||||
<ion-toolbar translucent>
|
<ion-toolbar translucent>
|
||||||
<ion-title>Acções</ion-title>
|
<ion-title>Ações</ion-title>
|
||||||
</ion-toolbar>
|
</ion-toolbar>
|
||||||
</ion-header>
|
</ion-header>
|
||||||
<ion-content>
|
<ion-content>
|
||||||
<ion-list class="cursor-pointer">
|
<ion-list>
|
||||||
<ion-item (click)="approveTask(loadedEvent.serialNumber)">
|
<ion-item (click)="approveTask(loadedEvent.serialNumber)">
|
||||||
<ion-icon name="checkmark-sharp"></ion-icon>
|
<ion-icon name="checkmark-sharp"></ion-icon>
|
||||||
<ion-label>Aprovar</ion-label>
|
<ion-label>Aprovar</ion-label>
|
||||||
@@ -31,21 +21,36 @@
|
|||||||
<ion-icon name="close-sharp"></ion-icon>
|
<ion-icon name="close-sharp"></ion-icon>
|
||||||
<ion-label>Rejeitar</ion-label>
|
<ion-label>Rejeitar</ion-label>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
<ion-item (click)="editar(loadedEvent.serialNumber)">
|
||||||
|
<ion-icon name="close-sharp"></ion-icon>
|
||||||
|
<ion-label>Editar</ion-label>
|
||||||
|
</ion-item>
|
||||||
</ion-list>
|
</ion-list>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
</ion-menu>
|
</ion-menu>
|
||||||
|
|
||||||
<ion-content id="main-content">
|
<ion-content id="main-content">
|
||||||
<div class="upper-content">
|
<div class="main-content d-flex height-100">
|
||||||
<div class="content-location" *ngIf="loadedEvent">
|
<div *ngIf="loadedEvent" class="content d-flex flex-column width-100">
|
||||||
<div class="location-detail">
|
<div class="header-content width-100 d-flex justify-space-between">
|
||||||
<ion-label >{{loadedEvent.workflowInstanceDataFields.Location}}</ion-label>
|
<div (click)="goBack()" class="header-icon-left cursor-pointer">
|
||||||
|
<ion-icon src="assets/images/icons-arrow-arrow-left.svg"></ion-icon>
|
||||||
</div>
|
</div>
|
||||||
<div class="button-calendar-type">
|
<div class="header-title flex-grow-1 cursor-pointer">
|
||||||
<ion-button class="button-calendar-type" slot="end">{{loadedEvent.workflowInstanceDataFields.Agenda}}</ion-button>
|
<label>{{loadedEvent.workflowInstanceDataFields.Subject}}</label>
|
||||||
|
</div>
|
||||||
|
<div (click)="editar(loadedEvent.serialNumber)" class="header-icon-right display-none-true">
|
||||||
|
<ion-icon src="assets/images/icons-edit.svg"></ion-icon>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content-details" *ngIf="loadedEvent">
|
<div class="upper-content d-flex flex-column">
|
||||||
|
<div class="content-location">
|
||||||
|
<p>
|
||||||
|
<span class="location">{{loadedEvent.workflowInstanceDataFields.Location}}</span>
|
||||||
|
<span class="event-type-{{loadedEvent.workflowInstanceDataFields.Agenda}}">{{loadedEvent.workflowInstanceDataFields.Agenda}}</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="content-details">
|
||||||
<ion-label>
|
<ion-label>
|
||||||
<p>{{customDate}}</p>
|
<p>{{customDate}}</p>
|
||||||
<p>das {{loadedEvent.workflowInstanceDataFields.StartDate | date: 'hh:mm'}} às {{loadedEvent.workflowInstanceDataFields.EndDate | date: 'hh:mm'}}</p>
|
<p>das {{loadedEvent.workflowInstanceDataFields.StartDate | date: 'hh:mm'}} às {{loadedEvent.workflowInstanceDataFields.EndDate | date: 'hh:mm'}}</p>
|
||||||
@@ -55,52 +60,64 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
<div class="middle-content overflow-y-auto" *ngIf="loadedEvent">
|
|
||||||
|
<div class="overflow-y-auto">
|
||||||
|
<div class="middle-content">
|
||||||
|
<div *ngIf="loadedEvent.workflowInstanceDataFields.ParticipantsList">
|
||||||
<h5>Intervenientes</h5>
|
<h5>Intervenientes</h5>
|
||||||
<ion-item>
|
<div *ngFor="let att of loadedEvent.workflowInstanceDataFields.ParticipantsList">
|
||||||
<ion-label>
|
<ion-label>{{att.Name}}</ion-label>
|
||||||
<p>{{loadedEvent.workflowInstanceDataFields.Participants}}</p>
|
</div>
|
||||||
</ion-label>
|
<div class="line"></div>
|
||||||
</ion-item>
|
</div>
|
||||||
|
<div *ngIf="loadedEvent.workflowInstanceDataFields.Body">
|
||||||
<h5>Detalhes</h5>
|
<h5>Detalhes</h5>
|
||||||
<ion-item>
|
<ion-item lines="none" class="ion-no-margin ion-no-padding">
|
||||||
<p>{{loadedEvent.workflowInstanceDataFields.Body}}</p>
|
<p [innerHTML]="loadedEvent.workflowInstanceDataFields.Body"></p>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
<div class="line"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <div *ngIf="loadedAttachments" class="bottom-content">
|
<div *ngIf="loadedAttachments" class="bottom-content width-100">
|
||||||
<ion-list>
|
<ion-list>
|
||||||
<h3>Documentos Anexados</h3>
|
<h5>Documentos Anexados</h5>
|
||||||
<ion-item>
|
<ion-item class="ion-no-margin ion-no-padding"
|
||||||
|
*ngFor="let attach of loadedAttachments"
|
||||||
|
(click)="viewDocument(attach.SourceId)">
|
||||||
<ion-label>
|
<ion-label>
|
||||||
<p class="attach-title-item">Receita por Natureza</p>
|
<p class="attach-title-item d-block">{{attach.SourceName}}</p>
|
||||||
<p><span class="span-left">{{loadedAttachments.Remetente}}</span><span class="span-right">{{loadedAttachments.CreateDate}}</span></p>
|
<p><span class="span-left">{{attach.Stakeholders}}</span><span class="span-right">{{ attach.CreateDate | date: 'dd-MM-yy' }}</span></p>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
</ion-list>
|
</ion-list>
|
||||||
</div> -->
|
|
||||||
</ion-content>
|
|
||||||
<ion-footer>
|
|
||||||
<ion-toolbar class="cursor-pointer">
|
|
||||||
<div class="buttons">
|
|
||||||
<ion-item lines="none">
|
|
||||||
<p>
|
|
||||||
<ion-button class="button-edit-event" shape="round" (click)="emendTask(loadedEvent.serialNumber)">Emendar</ion-button>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<ion-menu-button autoHide="false">
|
|
||||||
<ion-icon (click)="openMenu()" name="ellipsis-vertical-outline"></ion-icon>
|
|
||||||
</ion-menu-button>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<ion-button class="button-approve" shape="round" (click)="approveTask(loadedEvent.serialNumber)">Aprovar1</ion-button>
|
|
||||||
</p>
|
|
||||||
</ion-item>
|
|
||||||
<ion-item hidden>
|
|
||||||
<p>
|
|
||||||
<ion-button class="button-reject" shape="round" (click)="rejectTask(loadedEvent.serialNumber)">Rejeitar</ion-button>
|
|
||||||
</p>
|
|
||||||
</ion-item>
|
|
||||||
</div>
|
</div>
|
||||||
</ion-toolbar>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div *ngIf="loadedEvent" class="aside-right flex-column height-100">
|
||||||
|
<div class="aside-buttons">
|
||||||
|
<button hidden full class="btn-ok" shape="round" >Editar evento</button>
|
||||||
|
<button (click)="approveTask(loadedEvent.serialNumber)" full class="btn-ok" shape="round" >Aprovar</button>
|
||||||
|
<button (click)="emendTask(loadedEvent.serialNumber)" class="btn-cancel" shape="round" >Adicionar Nota</button>
|
||||||
|
<div class="solid"></div>
|
||||||
|
<button full class="btn-cancel" shape="round" (click)="editar(loadedEvent.serialNumber)" >Editar</button>
|
||||||
|
<button (click)="rejectTask(loadedEvent.serialNumber)" full class="btn-delete" shape="round" >Rejeitar</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</ion-content>
|
||||||
|
|
||||||
|
<ion-footer class="display-none-true">
|
||||||
|
<div class="buttons">
|
||||||
|
<button class="btn-cancel" shape="round" (click)="emendTask(loadedEvent.serialNumber)">Adicionar Nota</button>
|
||||||
|
<ion-menu-button (click)="openMenu()" autoHide="false">
|
||||||
|
<ion-icon name="ellipsis-vertical-outline"></ion-icon>
|
||||||
|
</ion-menu-button>
|
||||||
|
<button class="btn-ok" shape="round" (click)="approveTask(loadedEvent.serialNumber)">Aprovar</button>
|
||||||
|
<button hidden class="btn-delete" shape="round" (click)="rejectTask(loadedEvent.serialNumber)">Rejeitar</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
</ion-footer>
|
</ion-footer>
|
||||||
|
|||||||
@@ -1,16 +1,18 @@
|
|||||||
ion-content{
|
@import '~src/function.scss';
|
||||||
--padding-top:0px;
|
.main-content{
|
||||||
--padding-start: 20px;
|
background-color: #fff !important;
|
||||||
--padding-end: 20px;
|
border-top-left-radius: 25px;
|
||||||
font-size: 18px;
|
border-top-right-radius: 25px;
|
||||||
}
|
}
|
||||||
ion-menu{
|
ion-menu{
|
||||||
--height: 225px;
|
--height: 225px;
|
||||||
}
|
}
|
||||||
|
.display-none-true{
|
||||||
|
display: none;
|
||||||
|
border: 1px solid red;
|
||||||
|
}
|
||||||
.header-content{
|
.header-content{
|
||||||
width: 360px;
|
//margin: 25px auto;
|
||||||
overflow: auto;
|
|
||||||
margin: 25px auto;
|
|
||||||
}
|
}
|
||||||
.header-icon-left{
|
.header-icon-left{
|
||||||
width: 36px;
|
width: 36px;
|
||||||
@@ -19,7 +21,6 @@ ion-menu{
|
|||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
.header-title{
|
.header-title{
|
||||||
width: 264px;
|
|
||||||
font-family: Roboto;
|
font-family: Roboto;
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
margin: 0 5px 0 5px;
|
margin: 0 5px 0 5px;
|
||||||
@@ -32,34 +33,43 @@ ion-menu{
|
|||||||
font-size: 45px;
|
font-size: 45px;
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.content{
|
||||||
|
padding: 30px 20px 0 20px !important;
|
||||||
|
margin: 0;
|
||||||
|
float: left;
|
||||||
|
/* overflow: auto;
|
||||||
|
width: 100%; */
|
||||||
|
border-right: 1px solid #d8d8d8;
|
||||||
|
|
||||||
.upper-content{
|
.upper-content{
|
||||||
margin-left: 50px;
|
margin-left: 40px;
|
||||||
overflow: auto;
|
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
|
||||||
.content-location{
|
.content-location{
|
||||||
width: 360px;
|
margin-top: 0px !important;
|
||||||
margin: 0 auto;
|
width: 100%;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
overflow: auto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.location-detail{
|
.location{
|
||||||
width: 210px;
|
|
||||||
font-weight: 700;
|
|
||||||
font-size: 18px;
|
|
||||||
float: left;
|
|
||||||
margin: 5px 5px 5px 0px;
|
|
||||||
}
|
|
||||||
.button-calendar-type{
|
|
||||||
width: 91px;
|
|
||||||
--border-radius: 12.5px;
|
|
||||||
--background: #ffb703;
|
|
||||||
margin-left: 5px;
|
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
.button-calendar-type ion-button{
|
.event-type-Oficial{
|
||||||
height: 25px;
|
font-family: Roboto;
|
||||||
|
border-radius: 20px;
|
||||||
|
background: #ffb703;
|
||||||
|
float: right !important;
|
||||||
|
padding: 5px 13.5px 5px 13.5px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.event-type-Pessoal{
|
||||||
|
font-family: Roboto;
|
||||||
|
border-radius: 20px;
|
||||||
|
background: #f05d5e;
|
||||||
|
float: right !important;
|
||||||
|
padding: 5px 13.5px 5px 13.5px;
|
||||||
|
color: #fff;
|
||||||
}
|
}
|
||||||
.button-edit-event {
|
.button-edit-event {
|
||||||
width: 140px;
|
width: 140px;
|
||||||
@@ -79,7 +89,6 @@ ion-menu{
|
|||||||
}
|
}
|
||||||
|
|
||||||
.bottom-content{
|
.bottom-content{
|
||||||
width: 360px;
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
|
||||||
.bottom-content h3{
|
.bottom-content h3{
|
||||||
@@ -114,11 +123,53 @@ ion-menu{
|
|||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
.aside-right{
|
||||||
|
overflow: auto;
|
||||||
|
padding: 30px 20px 0 20px !important;
|
||||||
|
|
||||||
|
.arrow-right{
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
|
||||||
|
/* .arrow-right-icon{
|
||||||
|
width: 37px;
|
||||||
|
float: right;
|
||||||
|
font-size: 35px;
|
||||||
|
overflow: hidden;
|
||||||
|
} */
|
||||||
|
}
|
||||||
|
.aside-buttons{
|
||||||
|
width: 100% !important;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.btn-ok, .btn-cancel, .btn-delete{
|
||||||
|
height: auto !important;
|
||||||
|
font-size: 16px !important;
|
||||||
|
font-weight: 600 !important;
|
||||||
|
width: 100% !important;
|
||||||
|
margin-bottom: 10px !important;
|
||||||
|
padding: 15px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.solid {
|
||||||
|
display: block;
|
||||||
|
width: 90%;
|
||||||
|
border-top: 1px solid #ebebeb;
|
||||||
|
margin: 0 auto !important;
|
||||||
|
margin-bottom: 10px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.buttons{
|
.buttons{
|
||||||
width: 360px;
|
display: flex;
|
||||||
margin: 0 auto;
|
justify-content: space-between;
|
||||||
}
|
overflow: auto;
|
||||||
|
|
||||||
|
|
||||||
.button-options {
|
.button-options {
|
||||||
height: 44px;
|
height: 44px;
|
||||||
@@ -138,3 +189,29 @@ ion-menu{
|
|||||||
border-radius: 22.5px;
|
border-radius: 22.5px;
|
||||||
--background: #ffe0e0;
|
--background: #ffe0e0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* @media only screen and (max-width: 1140px) {
|
||||||
|
.content{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.aside-right{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
} */
|
||||||
|
/* @media only screen and (min-width: 1140px) {
|
||||||
|
.div-icon{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.content{
|
||||||
|
//width: 75%;
|
||||||
|
border-right: 1px solid #d8d8d8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.aside-right{
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
} */
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, NavigationExtras, Router } from '@angular/router';
|
||||||
import { MenuController, ModalController, PopoverController } from '@ionic/angular';
|
import { MenuController, ModalController, NavParams, PopoverController } from '@ionic/angular';
|
||||||
import { EmendMessageModalPage } from 'src/app/pages/agenda/emend-message-modal/emend-message-modal.page';
|
import { Event } from 'src/app/models/event.model';
|
||||||
import { EventActionsPopoverPage } from 'src/app/pages/agenda/event-actions-popover/event-actions-popover.page';
|
|
||||||
import { AlertService } from 'src/app/services/alert.service';
|
import { AlertService } from 'src/app/services/alert.service';
|
||||||
import { AttachmentsService } from 'src/app/services/attachments.service';
|
import { AttachmentsService } from 'src/app/services/attachments.service';
|
||||||
import { ProcessesService } from 'src/app/services/processes.service';
|
import { ProcessesService } from 'src/app/services/processes.service';
|
||||||
|
import { EmendMessageModalPage } from 'src/app/pages/agenda/emend-message-modal/emend-message-modal.page';
|
||||||
|
import { EventActionsPopoverPage } from 'src/app/pages/agenda/event-actions-popover/event-actions-popover.page';
|
||||||
|
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
|
||||||
|
import { EditEventToApproveComponent } from 'src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-approve-event',
|
selector: 'app-approve-event',
|
||||||
@@ -15,44 +18,43 @@ import { ProcessesService } from 'src/app/services/processes.service';
|
|||||||
export class ApproveEventPage implements OnInit {
|
export class ApproveEventPage implements OnInit {
|
||||||
event: Event;
|
event: Event;
|
||||||
loadedEvent:any;
|
loadedEvent:any;
|
||||||
|
loadedEvent1:any;
|
||||||
loadedAttachments:any;
|
loadedAttachments:any;
|
||||||
serialNumber: string;
|
|
||||||
customDate:any;
|
customDate:any;
|
||||||
today:any;
|
today:any;
|
||||||
|
show: boolean = false;
|
||||||
|
|
||||||
months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];
|
months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];
|
||||||
days = ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"];
|
days = ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"];
|
||||||
|
|
||||||
|
serialNumber:string;
|
||||||
|
@Input() InstanceId:string;
|
||||||
|
|
||||||
|
@Output() approveEventDismiss = new EventEmitter<any>();
|
||||||
|
@Output() closeEventToApprove = new EventEmitter<any>();
|
||||||
|
@Output() AproveEventEditEvent = new EventEmitter<any>();
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private router:Router,
|
private router:Router,
|
||||||
|
private activatedRoute: ActivatedRoute,
|
||||||
private modalController: ModalController,
|
private modalController: ModalController,
|
||||||
private processes:ProcessesService,
|
private processes:ProcessesService,
|
||||||
private attachmentsService: AttachmentsService,
|
private attachmentsService: AttachmentsService,
|
||||||
private popoverController: PopoverController,
|
private popoverController: PopoverController,
|
||||||
private menu: MenuController,
|
private menu: MenuController,
|
||||||
private alertService: AlertService,
|
private alertService: AlertService,
|
||||||
private activatedRoute: ActivatedRoute,
|
private iab: InAppBrowser
|
||||||
) {
|
) {
|
||||||
this.activatedRoute.paramMap.subscribe(paramMap =>
|
this.activatedRoute.queryParams.subscribe(params => {
|
||||||
{
|
if(params["serialNumber"]) {
|
||||||
if (!paramMap.has("serialNumber")){
|
this.serialNumber = params["serialNumber"];
|
||||||
return;
|
console.log(params["serialNumber"]);
|
||||||
}
|
|
||||||
else{
|
|
||||||
this.serialNumber = paramMap.get('serialNumber');
|
|
||||||
console.log(this.serialNumber);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.loadedEvent = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
console.log(this.serialNumber);
|
|
||||||
|
|
||||||
this.getTask();
|
this.getTask();
|
||||||
this.getAttachments();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
notImplemented(){
|
notImplemented(){
|
||||||
@@ -60,31 +62,51 @@ export class ApproveEventPage implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
close(){
|
close(){
|
||||||
this.router.navigate(['/home/gabinete-digital/event-list']);
|
/* this.router.navigate(['/home/gabinete-digital/event-list']); */
|
||||||
|
this.closeEventToApprove.emit();
|
||||||
|
this.modalController.dismiss();
|
||||||
}
|
}
|
||||||
|
|
||||||
getTask() {
|
goBack(){
|
||||||
this.processes.GetTask(this.serialNumber).subscribe(res => {
|
let navigationExtras: NavigationExtras = {
|
||||||
console.log(res);
|
queryParams: {
|
||||||
this.loadedEvent = res;
|
"eventos": true,
|
||||||
this.today = new Date(res.workflowInstanceDataFields.StartDate);
|
}
|
||||||
|
};
|
||||||
|
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
||||||
|
}
|
||||||
|
|
||||||
|
async getTask(){
|
||||||
|
this.loadedEvent = await this.processes.GetTask(this.serialNumber).toPromise();
|
||||||
|
console.log(this.loadedEvent);
|
||||||
|
this.today = new Date(this.loadedEvent.workflowInstanceDataFields.StartDate);
|
||||||
console.log(new Date(this.today));
|
console.log(new Date(this.today));
|
||||||
this.customDate = this.days[this.today.getDay()]+ ", " + this.today.getDate() +" de " + ( this.months[this.today.getMonth()]);
|
this.customDate = this.days[this.today.getDay()]+ ", " + this.today.getDate() +" de " + ( this.months[this.today.getMonth()]);
|
||||||
|
let instanceId = this.loadedEvent.workflowInstanceDataFields.InstanceId;
|
||||||
})
|
this.getAttachments(instanceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
approveTask(serialNumber:string){
|
approveTask(serialNumber:string){
|
||||||
let body = { "serialNumber": serialNumber, "action": "Aprovar" }
|
let body = { "serialNumber": serialNumber, "action": "Aprovar" }
|
||||||
console.log(body);
|
console.log(body);
|
||||||
this.processes.PostTaskAction(body);
|
this.processes.PostTaskAction(body);
|
||||||
this.router.navigate(['/home/gabinete-digital/event-list']);
|
this.modalController.dismiss(serialNumber);
|
||||||
|
/* this.approveEventDismiss.emit({
|
||||||
|
"serialNumber": serialNumber,
|
||||||
|
"action": "Aprovar",
|
||||||
|
"saveData": {
|
||||||
|
loadedEvent: this.loadedEvent,
|
||||||
|
today: this.today,
|
||||||
|
customDate: this.customDate
|
||||||
|
}
|
||||||
|
}); */
|
||||||
}
|
}
|
||||||
|
|
||||||
emendTask(serialNumber:string){
|
emendTask(serialNumber:string){
|
||||||
/* console.log('Emendar'); */
|
/* console.log('Emendar'); */
|
||||||
this.menu.close();
|
this.menu.close();
|
||||||
this.openEmendMessageModal(serialNumber);
|
this.openEmendMessageModal(serialNumber);
|
||||||
this.close();
|
this.modalController.dismiss(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
rejectTask(serialNumber:string){
|
rejectTask(serialNumber:string){
|
||||||
@@ -92,13 +114,21 @@ export class ApproveEventPage implements OnInit {
|
|||||||
let body = { "serialNumber": serialNumber, "action": "Rejeitar" }
|
let body = { "serialNumber": serialNumber, "action": "Rejeitar" }
|
||||||
console.log(body);
|
console.log(body);
|
||||||
this.processes.PostTaskAction(body);
|
this.processes.PostTaskAction(body);
|
||||||
this.router.navigate(['/home/gabinete-digital/event-list'])
|
this.router.navigate(['/home/gabinete-digital/event-list']);
|
||||||
this.close();
|
this.modalController.dismiss(null);
|
||||||
}
|
}
|
||||||
getAttachments() {
|
|
||||||
this.attachmentsService.getAttachmentsBySerial(this.serialNumber).subscribe(res => {
|
async getAttachments(instanceId:string){
|
||||||
this.loadedAttachments = res;
|
this.loadedAttachments = await this.attachmentsService.getAttachmentsById(instanceId).toPromise();
|
||||||
console.log(res);
|
}
|
||||||
|
|
||||||
|
viewDocument(sourceId){
|
||||||
|
this.processes.GetDocumentUrl(sourceId, '8').subscribe(res=>{
|
||||||
|
/* console.log(res); */
|
||||||
|
const url: string = res.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1");
|
||||||
|
const browser = this.iab.create(url,"_blank");
|
||||||
|
browser.show();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,6 +141,7 @@ export class ApproveEventPage implements OnInit {
|
|||||||
});
|
});
|
||||||
return await popover.present();
|
return await popover.present();
|
||||||
}
|
}
|
||||||
|
|
||||||
openMenu() {
|
openMenu() {
|
||||||
this.menu.open();
|
this.menu.open();
|
||||||
}
|
}
|
||||||
@@ -118,7 +149,6 @@ export class ApproveEventPage implements OnInit {
|
|||||||
const modal = await this.modalController.create({
|
const modal = await this.modalController.create({
|
||||||
component: EmendMessageModalPage,
|
component: EmendMessageModalPage,
|
||||||
componentProps:{
|
componentProps:{
|
||||||
|
|
||||||
},
|
},
|
||||||
cssClass: 'emend-message-modal',
|
cssClass: 'emend-message-modal',
|
||||||
backdropDismiss: false
|
backdropDismiss: false
|
||||||
@@ -127,9 +157,10 @@ export class ApproveEventPage implements OnInit {
|
|||||||
await modal.present();
|
await modal.present();
|
||||||
|
|
||||||
modal.onDidDismiss().then(res => {
|
modal.onDidDismiss().then(res => {
|
||||||
|
console.log(res.data);
|
||||||
|
|
||||||
if(res.data !== ''){
|
if(res.data !== ''){
|
||||||
let body = {
|
let body = { "serialNumber": serialNumber,
|
||||||
"serialNumber": serialNumber,
|
|
||||||
"action": "Emendar",
|
"action": "Emendar",
|
||||||
"dataFields": {
|
"dataFields": {
|
||||||
"ReviewerUseComment": res.data,
|
"ReviewerUseComment": res.data,
|
||||||
@@ -137,7 +168,8 @@ export class ApproveEventPage implements OnInit {
|
|||||||
}
|
}
|
||||||
console.log(body);
|
console.log(body);
|
||||||
this.processes.PostTaskAction(body);
|
this.processes.PostTaskAction(body);
|
||||||
this.router.navigate(['/home/gabinete-digital/event-list'])
|
//this.router.navigate(['/home/gabinete-digital/event-list']);
|
||||||
|
this.goToEventsToApprove();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
//this.alertService.presentAlert('Operação cancelada!');
|
//this.alertService.presentAlert('Operação cancelada!');
|
||||||
@@ -145,4 +177,35 @@ export class ApproveEventPage implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
goToEventsToApprove(){
|
||||||
|
let navigationExtras: NavigationExtras = {
|
||||||
|
queryParams: {
|
||||||
|
"events": true,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async editar(serialNumber: string) {
|
||||||
|
|
||||||
|
|
||||||
|
const modal = await this.modalController.create({
|
||||||
|
component: EditEventToApproveComponent,
|
||||||
|
componentProps: {
|
||||||
|
serialNumber: serialNumber,
|
||||||
|
InstanceId:this.InstanceId
|
||||||
|
},
|
||||||
|
cssClass: 'modal modal-desktop',
|
||||||
|
// backdropDismiss: false
|
||||||
|
});
|
||||||
|
|
||||||
|
await modal.present();
|
||||||
|
|
||||||
|
modal.onDidDismiss().then(res => {
|
||||||
|
this.getTask();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ export class GabineteDigitalPage implements OnInit {
|
|||||||
|
|
||||||
case params["expedientes"]:
|
case params["expedientes"]:
|
||||||
this.openExpedientListPage();
|
this.openExpedientListPage();
|
||||||
this.selectedElement='Correspondence'
|
this.selectedElement='Correspondence';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case params["pendentes"]:
|
case params["pendentes"]:
|
||||||
@@ -136,7 +136,6 @@ export class GabineteDigitalPage implements OnInit {
|
|||||||
this.selectedElement='approval'
|
this.selectedElement='approval'
|
||||||
} */
|
} */
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
closeAllDesktopComponent(){
|
closeAllDesktopComponent(){
|
||||||
|
|||||||
@@ -171,20 +171,21 @@ export class PedidoPage implements OnInit {
|
|||||||
"action": "Reapreciação",
|
"action": "Reapreciação",
|
||||||
"ActionTypeId": 100000009,
|
"ActionTypeId": 100000009,
|
||||||
"dataFields": {
|
"dataFields": {
|
||||||
"ReviewUserComent": note,
|
"ReviewUserComment": note,
|
||||||
},
|
},
|
||||||
"AttachmentList" :documents,
|
"AttachmentList" :documents,
|
||||||
}
|
}
|
||||||
this.processes.CompleteTask(body);
|
this.processes.CompleteTask(body);
|
||||||
this.close();
|
this.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
arquivar(note:string, documents:any){
|
arquivar(note:string, documents:any){
|
||||||
let body = {
|
let body = {
|
||||||
"serialNumber": this.serialnumber,
|
"serialNumber": this.serialnumber,
|
||||||
"action": "Arquivo",
|
"action": "Arquivo",
|
||||||
"ActionTypeId": 95,
|
"ActionTypeId": 95,
|
||||||
"dataFields": {
|
"dataFields": {
|
||||||
"ReviewUserComent": note,
|
"ReviewUserComment": note,
|
||||||
},
|
},
|
||||||
"AttachmentList" :documents,
|
"AttachmentList" :documents,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
.event-type-Oficial{
|
.event-type-Oficial{
|
||||||
font-family: Roboto;
|
font-family: Roboto;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
background: #fec077;
|
background: #ffb703;
|
||||||
float: right !important;
|
float: right !important;
|
||||||
padding: 5px 13.5px 5px 13.5px;
|
padding: 5px 13.5px 5px 13.5px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|||||||
@@ -171,7 +171,7 @@ export class ApproveEventComponent implements OnInit {
|
|||||||
goToEventsToApprove(){
|
goToEventsToApprove(){
|
||||||
let navigationExtras: NavigationExtras = {
|
let navigationExtras: NavigationExtras = {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
"events": true,
|
"eventos": true,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
<div class="exp-remetente">
|
<div class="exp-remetente">
|
||||||
<ion-label>{{task.Senders}}</ion-label>
|
<ion-label>{{task.Senders}}</ion-label>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="exp-workflow">
|
||||||
|
<span class="label">{{task.activityInstanceName}}</span>
|
||||||
|
</div>
|
||||||
<div class="exp-icon d-flex align-center">
|
<div class="exp-icon d-flex align-center">
|
||||||
<ion-icon src="assets/images/icons-expediente-attachment.svg"></ion-icon>
|
<ion-icon src="assets/images/icons-expediente-attachment.svg"></ion-icon>
|
||||||
<label>{{task.DocumentsQty}}</label>
|
<label>{{task.DocumentsQty}}</label>
|
||||||
|
|||||||
@@ -87,9 +87,8 @@ segmentChanged(ev: any) {
|
|||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
|
||||||
let result = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise();
|
let result = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise();
|
||||||
console.log('result', result)
|
let despachosPr = result.reverse().filter(data => data.activityInstanceName == "Tarefa de Despacho");
|
||||||
let despachosPr = result.reverse().filter(data => data.workflowInstanceDataFields.Status == "Active");
|
console.log(despachosPr);
|
||||||
console.log('despachosPr', despachosPr);
|
|
||||||
|
|
||||||
despachosPr.forEach( (element, index) => {
|
despachosPr.forEach( (element, index) => {
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <ion-toolbar>
|
<ion-toolbar>
|
||||||
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
|
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
|
||||||
<ion-segment-button value="validar">
|
<ion-segment-button value="validar">
|
||||||
Diplomas por validar
|
Diplomas por validar
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
Diplomas assinados PR
|
Diplomas assinados PR
|
||||||
</ion-segment-button>
|
</ion-segment-button>
|
||||||
</ion-segment>
|
</ion-segment>
|
||||||
</ion-toolbar> -->
|
</ion-toolbar>
|
||||||
</ion-header>
|
</ion-header>
|
||||||
<ion-content>
|
<ion-content>
|
||||||
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
|
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ async LoadList(){
|
|||||||
console.log(diplomas);
|
console.log(diplomas);
|
||||||
switch (this.segment) {
|
switch (this.segment) {
|
||||||
case 'validar':
|
case 'validar':
|
||||||
let diplomasValidar = diplomas.reverse().filter(data => data.workflowInstanceDataFields.Status == "Revising");
|
let diplomasValidar = diplomas.reverse().filter(data => data.activityInstanceName == "Revisar Diploma");
|
||||||
console.log(diplomasValidar);
|
console.log(diplomasValidar);
|
||||||
diplomasValidar.forEach(element => {
|
diplomasValidar.forEach(element => {
|
||||||
let DocId = element.workflowInstanceDataFields.FolderID;
|
let DocId = element.workflowInstanceDataFields.FolderID;
|
||||||
|
|||||||
@@ -30,7 +30,9 @@
|
|||||||
<ion-item
|
<ion-item
|
||||||
class="item ion-no-padding width-100 cursor-pointer"
|
class="item ion-no-padding width-100 cursor-pointer"
|
||||||
*ngFor="let event of eventsMDGPRList"
|
*ngFor="let event of eventsMDGPRList"
|
||||||
(click)="openApproveModal(event)">
|
(click)="goToEventDetail(event)"
|
||||||
|
>
|
||||||
|
<!-- (click)="openApproveModal(event)" -->
|
||||||
<div class="event-mdgpr-{{event.workflowInstanceDataFields.Agenda}} width-100">
|
<div class="event-mdgpr-{{event.workflowInstanceDataFields.Agenda}} width-100">
|
||||||
<div class="approve-event-time">
|
<div class="approve-event-time">
|
||||||
<p>{{event.workflowInstanceDataFields.StartDate | date: 'hh:mm'}}</p>
|
<p>{{event.workflowInstanceDataFields.StartDate | date: 'hh:mm'}}</p>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { EventPerson } from 'src/app/models/eventperson.model';
|
|||||||
import { Event } from 'src/app/models/event.model';
|
import { Event } from 'src/app/models/event.model';
|
||||||
import { ProcessesService } from 'src/app/services/processes.service';
|
import { ProcessesService } from 'src/app/services/processes.service';
|
||||||
import { ModalController, NavParams } from '@ionic/angular';
|
import { ModalController, NavParams } from '@ionic/angular';
|
||||||
import { NavigationEnd, Router } from '@angular/router';
|
import { NavigationEnd, NavigationExtras, Router } from '@angular/router';
|
||||||
import { ApproveEventComponent } from '../../agenda/approve-event/approve-event.component';
|
import { ApproveEventComponent } from '../../agenda/approve-event/approve-event.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@@ -70,6 +70,23 @@ export class EventsToApprovePage implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
goToEventDetail(eventToAprove){
|
||||||
|
let InstanceId;
|
||||||
|
|
||||||
|
if(!eventToAprove.workflowInstanceDataFields.hasOwnProperty('InstanceId')){
|
||||||
|
InstanceId = ''
|
||||||
|
} else {
|
||||||
|
InstanceId =eventToAprove.workflowInstanceDataFields.InstanceId
|
||||||
|
}
|
||||||
|
|
||||||
|
let navigationExtras: NavigationExtras = {
|
||||||
|
queryParams: {
|
||||||
|
"serialNumber": eventToAprove.serialNumber,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.router.navigate(['/home/gabinete-digital/event-list/approve-event'], navigationExtras)
|
||||||
|
}
|
||||||
|
|
||||||
async openApproveModal(eventToAprove) {
|
async openApproveModal(eventToAprove) {
|
||||||
let classs;
|
let classs;
|
||||||
if( window.innerWidth <= 800){
|
if( window.innerWidth <= 800){
|
||||||
|
|||||||
@@ -464,5 +464,18 @@
|
|||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
--color: #ffffff;
|
--color: #ffffff;
|
||||||
}
|
}
|
||||||
|
.exp-workflow{
|
||||||
|
float: left;
|
||||||
|
margin-left: 15px;
|
||||||
|
|
||||||
|
.label{
|
||||||
|
border-radius: 20px;
|
||||||
|
background: #ffb703;
|
||||||
|
font-size: 12px;
|
||||||
|
float: right;
|
||||||
|
padding: 2.5px 13.5px 2.5px 13.5px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user