Edit process to approve

This commit is contained in:
Peter Maquiran
2021-05-04 15:44:48 +01:00
parent ab1954255e
commit 6a3fda279e
16 changed files with 203 additions and 102 deletions
+9
View File
@@ -136,6 +136,15 @@ const routes: Routes = [
}, },
] ]
}, },
{
path: 'events-to-approve',
children: [
{
path: '',
loadChildren: ()=> import('../shared/gabinete-digital/edit-event-to-approve/edit-event.module')
}
]
}
] ]
}, },
{ {
+1
View File
@@ -469,6 +469,7 @@
<app-approve-event class="d-flex flex-column" *ngIf="mobileComponent.showEventToApprove" [class.transparent]="mobileComponent.transparentEventToApprove" <app-approve-event class="d-flex flex-column" *ngIf="mobileComponent.showEventToApprove" [class.transparent]="mobileComponent.transparentEventToApprove"
[serialNumber] = "eventToaprove.serialNumber" [serialNumber] = "eventToaprove.serialNumber"
[InstanceId] = "eventToaprove.InstanceId"
(cloneAllmobileComponent)="viewEventDetailDismiss($event)" (cloneAllmobileComponent)="viewEventDetailDismiss($event)"
(closeEventToApprove)="closeEventToApprove()" (closeEventToApprove)="closeEventToApprove()"
(AproveEventEditEvent)="AproveEventEditEvent($event)" (AproveEventEditEvent)="AproveEventEditEvent($event)"
+2 -1
View File
@@ -1042,7 +1042,8 @@ export class AgendaPage implements OnInit {
this.eventToaprove = { this.eventToaprove = {
back: true, back: true,
saveData: saveData, saveData: saveData,
serialNumber:serialNumber serialNumber:serialNumber,
InstanceId: saveData.workflowInstanceDataFields.InstanceId || ""
} }
// this.mobileComponent.showEventList = false; // this.mobileComponent.showEventList = false;
this.mobileComponent.transparentEventList = true; this.mobileComponent.transparentEventList = true;
@@ -115,7 +115,7 @@ export class EditEventPage implements OnInit {
async openAttendees() { async openAttendees() {
if(window.innerWidth <= 1024) {
const modal = await this.modalController.create({ const modal = await this.modalController.create({
component: AttendeesPage, component: AttendeesPage,
componentProps: { componentProps: {
@@ -141,7 +141,8 @@ export class EditEventPage implements OnInit {
this.setIntervenientCC(newAttendeesCC); this.setIntervenientCC(newAttendeesCC);
} }
}); });
}
} }
setIntervenient(data){ setIntervenient(data){
@@ -153,6 +153,7 @@ export class NewEventPage implements OnInit {
async openAttendees() { async openAttendees() {
const modal = await this.modalController.create({ const modal = await this.modalController.create({
component: AttendeesPage, component: AttendeesPage,
componentProps: { componentProps: {
@@ -8,8 +8,8 @@
<div class="header-title flex-grow-1"> <div class="header-title flex-grow-1">
<label>{{loadedEvent.workflowInstanceDataFields.Subject}}</label> <label>{{loadedEvent.workflowInstanceDataFields.Subject}}</label>
</div> </div>
<div class="header-icon-right cursor-pointer"> <div class="header-icon-right cursor-pointer" (click)="editar(loadedEvent.serialNumber)">
<ion-icon (click)="notImplemented()" src="assets/images/icons-edit.svg"></ion-icon> <ion-icon src="assets/images/icons-edit.svg"></ion-icon>
</div> </div>
</div> </div>
</ion-header> </ion-header>
@@ -72,17 +72,26 @@
</div> </div>
<div class="line"></div> <div class="line"></div>
<div *ngIf="loadedAttachments" class="bottom-content"> <div class="d-flex container-div width-100" >
<ion-list> <ion-list class="width-100 " >
<h3>Documentos Anexados</h3> <ion-item class="width-100" *ngFor="let document of loadedAttachments">
<ion-item class="ion-no-padding ion-no-margin"> <ion-label class="width-100 d-block list">
<ion-label> <p class="d-flex ion-justify-content-between">
<p class="attach-title-item">Receita por Natureza</p> <span class="attach-title-item">{{document.SourceName}}</span>
<p><span class="span-left">{{loadedAttachments.Remetente}}</span><span class="span-right">{{loadedAttachments.CreateDate}}<!-- {{ task.CreateDate | date: 'dd-MM-yy' }} --></span></p> <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" >
<ion-icon class="font-20" src="assets/images/icons-delete-25.svg"></ion-icon>
</span>
</p>
<p><span class="span-left">{{document.Stakeholders}}</span><span class="span-right"> {{document.CreateDate | date: 'dd-MM-yy'}} </span></p>
</ion-label> </ion-label>
</ion-item> </ion-item>
</ion-list> </ion-list>
</div> </div>
</ion-content> </ion-content>
<ion-footer> <ion-footer>
<!-- <ion-toolbar> <!-- <ion-toolbar>
@@ -140,3 +140,56 @@ ion-menu{
padding: 20px; padding: 20px;
overflow: auto; overflow: auto;
} }
.app-name{
background: #42b9f2;
border-radius: 18px;
text-align: center;
display: flex;
align-items: center;
padding: 0px 5px;
color: white;
font-size: 9pt;
font-weight: 500;
height: 19px;
-webkit-border-radius: 18px;
-moz-border-radius: 18px;
-ms-border-radius: 18px;
-o-border-radius: 18px;
}
.close-button {
display: none;
}
.list:hover {
.app-name {
display: none;
}
.close-button {
display: block !important;
}
}
.attach-title-item{
width: 100%;
font-size: 15px;
color:#0d89d1;
}
/* SPAN */
.span-left{
float: left;
font-size: 15x;
}
.span-right{
text-align: right;
float: right;
font-size: 13px;
}
@@ -5,6 +5,7 @@ import { Event } from 'src/app/models/event.model';
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 { EditEventToApproveComponent } from 'src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page';
import { EmendMessageModalPage } from '../../../agenda/emend-message-modal/emend-message-modal.page'; import { EmendMessageModalPage } from '../../../agenda/emend-message-modal/emend-message-modal.page';
import { EventActionsPopoverPage } from '../../../agenda/event-actions-popover/event-actions-popover.page'; import { EventActionsPopoverPage } from '../../../agenda/event-actions-popover/event-actions-popover.page';
@@ -24,7 +25,7 @@ export class ApproveEventModalPage implements OnInit {
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"];
InstanceId: string
constructor( constructor(
private router: Router, private router: Router,
@@ -37,6 +38,8 @@ export class ApproveEventModalPage implements OnInit {
private alertService: AlertService, private alertService: AlertService,
private activatedRoute: ActivatedRoute, private activatedRoute: ActivatedRoute,
) { ) {
this.activatedRoute.paramMap.subscribe(paramMap => this.activatedRoute.paramMap.subscribe(paramMap =>
{ {
if (!paramMap.has("serialNumber")){ if (!paramMap.has("serialNumber")){
@@ -73,8 +76,13 @@ export class ApproveEventModalPage implements OnInit {
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()]);
this.InstanceId = res.workflowInstanceDataFields.InstanceId
this.getAttachments()
}) })
} }
approveTask(serialNumber:string){ approveTask(serialNumber:string){
console.log('approveTask SERIALNUMBER: ', serialNumber) console.log('approveTask SERIALNUMBER: ', serialNumber)
let body = { "serialNumber": serialNumber, "action": "Aprovar" } let body = { "serialNumber": serialNumber, "action": "Aprovar" }
@@ -100,12 +108,10 @@ export class ApproveEventModalPage implements OnInit {
this.router.navigate(['/home/gabinete-digital/event-list']); this.router.navigate(['/home/gabinete-digital/event-list']);
this.modalController.dismiss(null); this.modalController.dismiss(null);
} }
getAttachments(){ async getAttachments(){
this.attachmentsService.getAttachmentsBySerial(this.serialNumber).subscribe(res=>{
console.log('getAttachments: ',this.serialNumber) this.loadedAttachments = await this.attachmentsService.getAttachmentsById(this.InstanceId).toPromise();
this.loadedAttachments = res;
console.log(res);
});
} }
async openOptions(ev:any) { async openOptions(ev:any) {
@@ -150,4 +156,26 @@ export class ApproveEventModalPage implements OnInit {
}); });
} }
async editar(serialNumber: string) {
const modal = await this.modalController.create({
component: EditEventToApproveComponent,
componentProps: {
serialNumber: serialNumber
},
cssClass: 'modal modal-desktop',
// backdropDismiss: false
});
await modal.present();
modal.onDidDismiss().then(res => {
this.getTask();
this.getAttachments();
});
}
} }
@@ -33,7 +33,7 @@
<ion-list> <ion-list>
<ion-item-sliding> <ion-item-sliding>
<ion-item class="Rectangle cursor-pointer" lines="none" <ion-item class="Rectangle cursor-pointer" lines="none"
*ngFor="let event of eventsMDGPRList" (click)="openApproveModal(event.serialNumber)"> *ngFor="let event of eventsMDGPRList" (click)="openApproveModal(event.serialNumber, event)">
<div class="content-mdgpr-{{event.workflowInstanceDataFields.Agenda}} width-100"> <div class="content-mdgpr-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time"> <div class="approve-event-time">
@@ -55,7 +55,7 @@
<div *ngIf="eventsPRList"> <div *ngIf="eventsPRList">
<ion-item-sliding> <ion-item-sliding>
<ion-item class="Rectangle cursor-pointer" lines="none" <ion-item class="Rectangle cursor-pointer" lines="none"
*ngFor="let event of eventsPRList" (click)="openApproveModal(event.serialNumber)"> *ngFor="let event of eventsPRList" (click)="openApproveModal(event.serialNumber, event)">
<div class="content-pr-{{event.workflowInstanceDataFields.Agenda}} width-100"> <div class="content-pr-{{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>
@@ -72,7 +72,7 @@ export class EventListPage implements OnInit {
}); });
} }
async openApproveModal(eventSerialNumber){ async openApproveModal(eventSerialNumber, event){
const modal = await this.modalController.create({ const modal = await this.modalController.create({
@@ -86,7 +86,7 @@ export class EventListPage implements OnInit {
await modal.present(); await modal.present();
modal.onDidDismiss();
} }
doRefresh(event) { doRefresh(event) {
@@ -49,7 +49,7 @@
<div class="header-title flex-grow-1"> <div class="header-title flex-grow-1">
<label>{{loadedEvent.workflowInstanceDataFields.Subject}}</label> <label>{{loadedEvent.workflowInstanceDataFields.Subject}}</label>
</div> </div>
<div (click)="notImplemented()" class="header-icon-right display-none-{{showAside}}"> <div (click)="editar(loadedEvent.serialNumber)" class="header-icon-right display-none-{{showAside}}">
<ion-icon src="assets/images/icons-edit.svg"></ion-icon> <ion-icon src="assets/images/icons-edit.svg"></ion-icon>
</div> </div>
</div> </div>
@@ -129,7 +129,6 @@
<ion-icon name="ellipsis-vertical-outline"></ion-icon> <ion-icon name="ellipsis-vertical-outline"></ion-icon>
</ion-menu-button> </ion-menu-button>
<button class="btn-ok" shape="round" (click)="approveTask(loadedEvent.serialNumber)">Aprovar</button> <button class="btn-ok" shape="round" (click)="approveTask(loadedEvent.serialNumber)">Aprovar</button>
<button full class="btn-cancel" shape="round" (click)="editar(loadedEvent.serialNumber)" >Editar</button>
<button hidden class="btn-delete" shape="round" (click)="rejectTask(loadedEvent.serialNumber)">Rejeitar</button> <button hidden class="btn-delete" shape="round" (click)="rejectTask(loadedEvent.serialNumber)">Rejeitar</button>
</div> </div>
@@ -180,6 +180,7 @@ export class ApproveEventComponent implements OnInit {
async editar(serialNumber: string) { async editar(serialNumber: string) {
const modal = await this.modalController.create({ const modal = await this.modalController.create({
component: EditEventToApproveComponent, component: EditEventToApproveComponent,
componentProps: { componentProps: {
@@ -193,7 +194,8 @@ export class ApproveEventComponent implements OnInit {
await modal.present(); await modal.present();
modal.onDidDismiss().then(res => { modal.onDidDismiss().then(res => {
this.getTask();
this.getAttachments();
}); });
} }
@@ -30,7 +30,7 @@
<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.serialNumber)"> (click)="openApproveModal(event.serialNumber, 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>
@@ -1,6 +1,6 @@
<ion-content> <ion-content>
<!-- Edit event for Inicio --> <!-- Edit event for Inicio -->
<div class="main-content height-100"> <div class="main-content height-100 d-flex">
<div class="content d-flex flex-column width-md-100 height-100"> <div class="content d-flex flex-column width-md-100 height-100">
@@ -19,7 +19,6 @@
<div class="ion-item-container width-100"> <div class="ion-item-container width-100">
<ion-input placeholder="Assunto" [(ngModel)]="eventProcess.workflowInstanceDataFields.Subject"></ion-input> <ion-input placeholder="Assunto" [(ngModel)]="eventProcess.workflowInstanceDataFields.Subject"></ion-input>
</div> </div>
{{eventProcess.workflowInstanceDataFields.Subject}}
<div class="container-div width-100"> <div class="container-div width-100">
<div class="ion-item-class-2"> <div class="ion-item-class-2">
<div class="ion-icon-class"> <div class="ion-icon-class">
@@ -150,7 +149,7 @@
</ion-list> </ion-list>
</ion-item> </ion-item>
</div> </div>
<div class="add-people cursor-pointer" (click)="addParticipants();showAttendees=true"> <div class="add-people cursor-pointer" (click)="addParticipants()">
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon> <ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
</div> </div>
</div> </div>
@@ -171,7 +170,7 @@
</ion-list> </ion-list>
</ion-item> </ion-item>
</div> </div>
<div class="add-people cursor-pointer" (click)="addParticipantsCC();showAttendees=true"> <div class="add-people cursor-pointer" (click)="addParticipantsCC()">
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon> <ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
</div> </div>
</div> </div>
@@ -189,10 +188,10 @@
</ion-label> </ion-label>
</div> </div>
<div class="d-flex container-div width-100" *ngFor="let document of loadedEventAttachments" > <div class="d-flex container-div width-100" >
<ion-list class="width-100 list" > <ion-list class="width-100 " >
<ion-item class="width-100"> <ion-item class="width-100" *ngFor="let document of loadedAttachments">
<ion-label class="width-100"> <ion-label class="width-100 d-block list">
<p class="d-flex ion-justify-content-between"> <p class="d-flex ion-justify-content-between">
<span class="attach-title-item">{{document.SourceName}}</span> <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 == 8"> Correspondencia </span>
@@ -217,13 +216,13 @@
</div> </div>
<!-- <app-attendee-modal class="aside-right flex-column height-100 d-none d-md-flex pt-10" <app-attendee-modal class="aside-right flex-column height-100 d-none d-md-flex pt-10"
*ngIf="showAttendees" *ngIf="showAttendees"
[taskParticipants]="taskParticipants" [taskParticipants]="taskParticipants"
[taskParticipantsCc]="taskParticipantsCc" [taskParticipantsCc]="taskParticipantsCc"
[adding]="adding" [adding]="adding"
(dynamicSetIntervenient)="dynamicSetIntervenient($event)" (dynamicSetIntervenient)="dynamicSetIntervenient($event)"
></app-attendee-modal> --> ></app-attendee-modal>
</div> </div>
</ion-content> </ion-content>
@@ -7,7 +7,7 @@
.content { .content {
margin: 0; margin: 0;
float: left; float: left;
border-left: 1px solid #d8d8d8 !important; border-right: 1px solid #d8d8d8 !important;
} }
.main-header{ .main-header{
font-family: Roboto; font-family: Roboto;
@@ -29,7 +29,8 @@ export class EditEventToApproveComponent implements OnInit {
Agenda: '', Agenda: '',
EndDate: '', EndDate: '',
Location: '', Location: '',
Subject: '' Subject: '',
InstanceId: ''
} }
} }
@@ -63,17 +64,12 @@ export class EditEventToApproveComponent implements OnInit {
) { ) {
this.serialNumber = this.navParams.get('serialNumber'); this.serialNumber = this.navParams.get('serialNumber');
this.postEvent = this.navParams.get('event'); // this.profile = this.navParams.get('profile');
this.profile = this.navParams.get('profile');
this.InstanceId = this.navParams.get('InstanceId')
this.isEventEdited = false; this.isEventEdited = false;
console.log(this.eventProcess.workflowInstanceDataFields.Subject)
this.getTask() this.getTask()
this.getAttachments()
} }
@@ -91,6 +87,10 @@ export class EditEventToApproveComponent implements OnInit {
this.eventProcess.workflowInstanceDataFields.Body = body this.eventProcess.workflowInstanceDataFields.Body = body
this.Location = this.eventProcess.workflowInstanceDataFields.Location this.Location = this.eventProcess.workflowInstanceDataFields.Location
this.InstanceId = this.eventProcess.workflowInstanceDataFields.InstanceId
this.getAttachments()
// attendees // attendees
//this.eventProcess.workflowInstanceDataFields.ParticipantsList //this.eventProcess.workflowInstanceDataFields.ParticipantsList
// subject // subject
@@ -121,10 +121,6 @@ export class EditEventToApproveComponent implements OnInit {
} }
}) })
}) })
} }
ngOnInit() { ngOnInit() {
@@ -147,7 +143,6 @@ export class EditEventToApproveComponent implements OnInit {
this.eventProcess.workflowInstanceDataFields.ParticipantsList = this.taskParticipants.concat(this.taskParticipantsCc) this.eventProcess.workflowInstanceDataFields.ParticipantsList = this.taskParticipants.concat(this.taskParticipantsCc)
} }
async openAttendees() { async openAttendees() {
@@ -178,6 +173,8 @@ export class EditEventToApproveComponent implements OnInit {
this.setIntervenientCC(newAttendeesCC); this.setIntervenientCC(newAttendeesCC);
} }
}); });
} else {
this.showAttendees = true
} }
} }
@@ -197,6 +194,7 @@ export class EditEventToApproveComponent implements OnInit {
} }
addParticipantsCC(){ addParticipantsCC(){
this.adding = 'CC' this.adding = 'CC'
this.openAttendees(); this.openAttendees();
} }
@@ -211,7 +209,6 @@ export class EditEventToApproveComponent implements OnInit {
this.loadedAttachments = await this.attachmentsService.getAttachmentsById(this.InstanceId).toPromise(); this.loadedAttachments = await this.attachmentsService.getAttachmentsById(this.InstanceId).toPromise();
console.log(this.loadedAttachments) console.log(this.loadedAttachments)
} }
deleteAttachment(attachmentID: string) { deleteAttachment(attachmentID: string) {
@@ -237,16 +234,17 @@ export class EditEventToApproveComponent implements OnInit {
if(res){ if(res){
const data = res.data; const data = res.data;
//data.selected //data.selected
const DocumentToSave = { const DocumentToSave = {
SourceTitle: data.selected.Assunto, SourceTitle: data.selected.Assunto,
ParentId: this.postEvent.EventId, ParentId: this.InstanceId,
Source: '1', Source: '1',
SourceId: data.selected.Id, SourceId: data.selected.Id,
ApplicationId: data.selected.ApplicationType.toString(), ApplicationId: data.selected.ApplicationType.toString(),
Id: '0', Id: '',
Link: '', Link: '',
SerialNumber: '', SerialNumber: ''
}; };
await this.attachmentsService.setEventAttachmentById(DocumentToSave).subscribe(()=>{ await this.attachmentsService.setEventAttachmentById(DocumentToSave).subscribe(()=>{