This commit is contained in:
tiago.kayaya
2021-07-15 17:57:01 +01:00
parent cab594ff47
commit 9d7f7f3116
5 changed files with 116 additions and 69 deletions
@@ -261,9 +261,6 @@ export class GabineteDigitalPage implements OnInit {
this.processesbackend.GetToApprovedEvents('Agenda','true').subscribe(res=>{ this.processesbackend.GetToApprovedEvents('Agenda','true').subscribe(res=>{
this.count_ev_apr = res; this.count_ev_apr = res;
}); });
/* this.processesbackend.GetToApprovedEvents('MDGPR','true').subscribe(res=>{
this.count_ev_md = res;
}); */
this.showLoader = false; this.showLoader = false;
@@ -21,6 +21,7 @@ import { NgxMatMomentModule } from '@angular-material-components/moment-adapter'
import { MAT_DATE_LOCALE } from '@angular/material/core'; import { MAT_DATE_LOCALE } from '@angular/material/core';
import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatDatepickerModule } from '@angular/material/datepicker';
import { MatInputModule } from '@angular/material/input'; import { MatInputModule } from '@angular/material/input';
import { MatDialogModule } from '@angular/material/dialog';
@NgModule({ @NgModule({
imports: [ imports: [
@@ -28,6 +29,7 @@ import { MatInputModule } from '@angular/material/input';
FormsModule, FormsModule,
IonicModule, IonicModule,
EditEventToApprovePageRoutingModule, EditEventToApprovePageRoutingModule,
// Angular material
MatDatepickerModule, MatDatepickerModule,
MatInputModule, MatInputModule,
MatNativeDateModule, MatNativeDateModule,
@@ -37,7 +39,8 @@ import { MatInputModule } from '@angular/material/input';
NgxMatMomentModule, NgxMatMomentModule,
MatSelectModule, MatSelectModule,
MatButtonModule, MatButtonModule,
ReactiveFormsModule ReactiveFormsModule,
MatDialogModule,
], ],
declarations: [EditEventToApprovePage], declarations: [EditEventToApprovePage],
exports: [EditEventToApprovePage] exports: [EditEventToApprovePage]
@@ -3,19 +3,19 @@
<div class="main-content height-100 d-flex"> <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">
<div class="main-header pt-30 px-20 background-white pb-15"> <div class="main-header pt-30 px-20 background-white pb-15">
<ion-header> <ion-header>
<div class="title-content"> <div class="title-content">
<div class="middle"> <div class="middle">
<ion-label class="title">Editar evento por aprovar</ion-label> <ion-label class="title">Editar evento por aprovar TK</ion-label>
</div> </div>
</div> </div>
</ion-header> </ion-header>
</div> </div>
<ion-item-sliding class="overflow-y-auto" > <ion-item-sliding class="overflow-y-auto" >
<div class="px-20"> <div class="px-20">
<div class="ion-item-container width-100" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom "> <div class="ion-item-container width-100" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom ">
<ion-input placeholder="Assunto*" [(ngModel)]="eventProcess.workflowInstanceDataFields.Subject"></ion-input> <ion-input placeholder="Assunto*" [(ngModel)]="eventProcess.workflowInstanceDataFields.Subject"></ion-input>
</div> </div>
@@ -40,7 +40,7 @@
<ion-input placeholder="Localização*" [(ngModel)]="eventProcess.workflowInstanceDataFields.Location"></ion-input> <ion-input placeholder="Localização*" [(ngModel)]="eventProcess.workflowInstanceDataFields.Location"></ion-input>
</div> </div>
</div> </div>
</div> </div>
<div *ngIf="Form && validateFrom" > <div *ngIf="Form && validateFrom" >
@@ -50,19 +50,19 @@
</div> </div>
</div> </div>
</div> </div>
<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">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon> <ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div> </div>
<div class="ion-input-class"> <div class="ion-input-class">
<ion-select disabled placeholder="Selecione agenda*" <ion-select disabled placeholder="Selecione agenda*"
class="d-block d-md-none" class="d-block d-md-none"
selectedText="{{eventProcess.workflowInstanceDataFields.Agenda}}" selectedText="{{eventProcess.workflowInstanceDataFields.Agenda}}"
[(ngModel)]="eventProcess.workflowInstanceDataFields.Agenda" [(ngModel)]="eventProcess.workflowInstanceDataFields.Agenda"
interface="action-sheet" Cancel-text="Cancelar" interface="action-sheet" Cancel-text="Cancelar"
required required
> >
<ion-select-option value="Oficial">Oficial</ion-select-option> <ion-select-option value="Oficial">Oficial</ion-select-option>
@@ -70,8 +70,10 @@
</ion-select> </ion-select>
<mat-form-field appearance="none" class="d-none d-md-block width-100" > <mat-form-field appearance="none"
<mat-select placeholder="Selecione agenda" [(ngModel)]="eventProcess.workflowInstanceDataFields.Agenda" > class="d-none d-md-block width-100" >
<mat-select placeholder="Selecione agenda"
[(ngModel)]="eventProcess.workflowInstanceDataFields.Agenda" >
<mat-option value="Oficial"> <mat-option value="Oficial">
Oficial Oficial
</mat-option> </mat-option>
@@ -92,37 +94,37 @@
</div> </div>
</div> </div>
</div> </div>
<div class="container-div width-100"> <div class="container-div width-100">
<div class="ion-item-class-2 width-100"> <div class="ion-item-class-2 width-100">
<div class="ion-icon-class"> <div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon> <ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div> </div>
<div class="ion-input-class width-100"> <div class="ion-input-class width-100">
<ion-datetime <ion-datetime
class="d-block d-md-none" class="d-block d-md-none"
placeholder="Início" placeholder="Início"
[(ngModel)]="eventProcess.workflowInstanceDataFields.StartDate" [(ngModel)]="eventProcess.workflowInstanceDataFields.StartDate"
displayFormat="D MMM YYYY H:mm" displayFormat="D MMM YYYY H:mm"
minuteValues="0,15,30,45" minuteValues="0,15,30,45"
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez" monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
min="{{minDate}}" min="{{minDate}}"
max="2025" max="2025"
> >
</ion-datetime> </ion-datetime>
<mat-form-field appearance="none" class="width-100 date-hour-picker d-none d-md-block"> <mat-form-field appearance="none" class="width-100 date-hour-picker d-none d-md-block">
<input matInput [ngxMatDatetimePicker]="picker1" <input matInput [ngxMatDatetimePicker]="picker1"
placeholder="Choose a date" placeholder="Choose a date"
[formControl]="dateControlStart" [formControl]="dateControlStart"
[min]="minDate" [max]="maxDate" [min]="minDate" [max]="maxDate"
[disabled]="disabled" [disabled]="disabled"
> >
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1"></mat-datepicker-toggle> <mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1"></mat-datepicker-toggle>
<ngx-mat-datetime-picker #picker1 <ngx-mat-datetime-picker #picker1
[showSpinners]="showSpinners" [showSpinners]="showSpinners"
[showSeconds]="showSeconds" [showSeconds]="showSeconds"
[stepHour]="stepHour" [stepMinute]="stepMinute" [stepHour]="stepHour" [stepMinute]="stepMinute"
[stepSecond]="stepSecond" [stepSecond]="stepSecond"
[touchUi]="touchUi"> [touchUi]="touchUi">
</ngx-mat-datetime-picker> </ngx-mat-datetime-picker>
@@ -130,37 +132,37 @@
</div> </div>
</div> </div>
</div> </div>
<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">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon> <ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div> </div>
<div class="ion-input-class"> <div class="ion-input-class">
<ion-datetime <ion-datetime
class="d-none d-md-none" class="d-none d-md-none"
placeholder="Fim" placeholder="Fim"
[(ngModel)]="eventProcess.workflowInstanceDataFields.EndDate" [(ngModel)]="eventProcess.workflowInstanceDataFields.EndDate"
displayFormat="D MMM YYYY H:mm" displayFormat="D MMM YYYY H:mm"
minuteValues="0,15,30,45" minuteValues="0,15,30,45"
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez" monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
min="{{minDate}}" min="{{minDate}}"
max="2025" max="2025"
> >
</ion-datetime> </ion-datetime>
<mat-form-field appearance="none" class="width-100 date-hour-picker d-none d-md-block"> <mat-form-field appearance="none" class="width-100 date-hour-picker d-none d-md-block">
<input matInput [ngxMatDatetimePicker]="fim" <input matInput [ngxMatDatetimePicker]="fim"
placeholder="Choose a date" placeholder="Choose a date"
[formControl]="dateControlEnd" [formControl]="dateControlEnd"
[min]="minDate" [max]="maxDate" [min]="minDate" [max]="maxDate"
[disabled]="disabled" [disabled]="disabled"
> >
<mat-datepicker-toggle id="new-fim" matSuffix [for]="fim"></mat-datepicker-toggle> <mat-datepicker-toggle id="new-fim" matSuffix [for]="fim"></mat-datepicker-toggle>
<ngx-mat-datetime-picker #fim <ngx-mat-datetime-picker #fim
[showSpinners]="showSpinners" [showSpinners]="showSpinners"
[showSeconds]="showSeconds" [showSeconds]="showSeconds"
[stepHour]="stepHour" [stepMinute]="stepMinute" [stepHour]="stepHour" [stepMinute]="stepMinute"
[stepSecond]="stepSecond" [stepSecond]="stepSecond"
[touchUi]="touchUi"> [touchUi]="touchUi">
</ngx-mat-datetime-picker> </ngx-mat-datetime-picker>
@@ -169,38 +171,30 @@
</div> </div>
</div> </div>
</div> </div>
<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">
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon> <ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
</div> </div>
<div class="ion-input-class"> <div class="ion-input-class">
<ion-select
placeholder="Selecione repetição"
class="d-block d-md-none"
[(ngModel)]="eventProcess.workflowInstanceDataFields.IsRecurring"
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 <mat-form-field
class="width-100 d-none d-md-block" class="width-100 d-block "
placeholder="Selecione repetição" placeholder="Selecione repetição"
value="false" value="false"
interface="action-sheet" interface="action-sheet"
required required
appearance="none" appearance="none"
> >
<mat-select [(value)]="eventProcess.workflowInstanceDataFields.IsRecurring"> <mat-select
<mat-option value="false"> [(ngModel)]="eventProcess.workflowInstanceDataFields.OccurrenceType"
Não se repete (ngModelChange)="onSelectedRecurringChanged($event)"
</mat-option> >
<mat-option value="true"> <mat-option
Repete *ngFor="let recurring of recurringTypes" value="{{recurring.Code}}"
>
{{recurring.Description}}
</mat-option> </mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
@@ -208,9 +202,37 @@
</div> </div>
</div> </div>
</div> </div>
<div *ngIf="eventProcess.workflowInstanceDataFields.OccurrenceType != '-1'"
class="container-div width-100">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class flex-grow-1">
<mat-form-field class="date-hour-picker d-none d-md-block">
<input matInput [ngxMatDatetimePicker]="occurrrence"
placeholder="Choose a date"
[(ngModel)]="eventProcess.workflowInstanceDataFields.LastOccurrence"
[disabled]="disabled"
>
<mat-datepicker-toggle id="last-occurrence" matSuffix [for]="occurrrence"></mat-datepicker-toggle>
<ngx-mat-datetime-picker #occurrrence
[showSpinners]="showSpinners"
[showSeconds]="showSeconds"
[stepHour]="stepHour" [stepMinute]="stepMinute"
[stepSecond]="stepSecond"
[touchUi]="touchUi"
>
</ngx-mat-datetime-picker>
</mat-form-field>
</div>
</div>
</div>
<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">
@@ -260,23 +282,23 @@
</div> </div>
<div class="attach-document"> <div class="attach-document">
<ion-label>Adicionar documentos</ion-label> <ion-label>Adicionar documentos</ion-label>
</div> </div>
</ion-label> </ion-label>
</div> </div>
<div class="d-flex container-div width-100" > <div class="d-flex container-div width-100" >
<ion-list class="width-100 "> <ion-list class="width-100 ">
<ion-item class="width-100" *ngFor="let document of loadedAttachments; let i = index"> <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' "> <ion-label class="width-100 d-block list" *ngIf="document.action != 'delete' ">
<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>
<span class="app-name" *ngIf="document.ApplicationId == 386"> AccoesPresidenciais </span> <span class="app-name" *ngIf="document.ApplicationId == 386"> AccoesPresidenciais </span>
<span class="app-name" *ngIf="document.ApplicationId == 361 "> ArquivoDespachoElect </span> <span class="app-name" *ngIf="document.ApplicationId == 361 "> ArquivoDespachoElect </span>
<span class="close-button text-black cursor-pointer" (click)="deleteAttachment(document, i)" > <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> <ion-icon class="font-20" src="assets/images/icons-delete-25.svg"></ion-icon>
</span> </span>
</p> </p>
<p><span class="span-left">{{document.Stakeholders}}</span><span class="span-right"> {{document.CreateDate | date: 'dd-MM-yy'}} </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>
@@ -297,7 +319,7 @@
</div> </div>
</ion-item-sliding> </ion-item-sliding>
</div> </div>
</div> </div>
</ion-content> </ion-content>
<ion-footer class="background-whit"> <ion-footer class="background-whit">
@@ -305,4 +327,4 @@
<button class="btn-cancel cursor-pointer" shape="round" (click)="close()">Cancelar</button> <button class="btn-cancel cursor-pointer" shape="round" (click)="close()">Cancelar</button>
<button class="btn-ok cursor-pointer" shape="round" (click)="save()">Gravar</button> <button class="btn-ok cursor-pointer" shape="round" (click)="save()">Gravar</button>
</div> </div>
</ion-footer> </ion-footer>
@@ -45,6 +45,8 @@ export class EditEventToApprovePage implements OnInit {
public stepSecond = 5; public stepSecond = 5;
public dateControlStart = new FormControl(moment("DD MM YYYY hh")); public dateControlStart = new FormControl(moment("DD MM YYYY hh"));
public dateControlEnd = new FormControl(moment("DD MM YYYY hh")); public dateControlEnd = new FormControl(moment("DD MM YYYY hh"));
recurringTypes: any;
selectedRecurringType: any;
showLoader = false showLoader = false
@@ -127,12 +129,16 @@ export class EditEventToApprovePage implements OnInit {
ngOnInit() { ngOnInit() {
console.log('EDITAR');
if(this.restoreTemporaryData()){ if(this.restoreTemporaryData()){
this.setOtherData() this.setOtherData()
} else { } else {
this.getTask(); this.getTask();
} }
this.getRecurrenceTypes();
} }
@@ -156,6 +162,24 @@ export class EditEventToApprovePage implements OnInit {
}) })
} }
getRecurrenceTypes() {
this.eventsService.getRecurrenceTypes().subscribe(res=>{
console.log(res);
this.recurringTypes = res;
});
}
onSelectedRecurringChanged(ev:any){
console.log(ev);
if(ev.length > 1){
console.log(ev.filter(data => data != '-1'));
this.eventProcess.workflowInstanceDataFields.OccurrenceType = ev.filter(data => data != '-1');
}
if(ev.length == 0){
this.eventProcess.workflowInstanceDataFields.OccurrenceType = "-1";
}
}
setOtherData() { setOtherData() {
if(this.eventProcess.workflowInstanceDataFields.ParticipantsList) { if(this.eventProcess.workflowInstanceDataFields.ParticipantsList) {
this.eventProcess.workflowInstanceDataFields.ParticipantsList.forEach(e => { this.eventProcess.workflowInstanceDataFields.ParticipantsList.forEach(e => {
@@ -274,6 +298,7 @@ export class EditEventToApprovePage implements OnInit {
ParticipantsList: this.eventProcess.workflowInstanceDataFields.ParticipantsList, ParticipantsList: this.eventProcess.workflowInstanceDataFields.ParticipantsList,
} }
console.log(event);
this.eventsService.postEventToApproveEdit(event).subscribe(()=>{ this.eventsService.postEventToApproveEdit(event).subscribe(()=>{
this.toastService.successMessage('Evento editado'); this.toastService.successMessage('Evento editado');
@@ -171,7 +171,7 @@
required required
appearance="none" appearance="none"
> >
<mat-select [(ngModel)]="eventProcess.workflowInstanceDataFields.OccurrenceType" <mat-select [(ngModel)]="eventProcess.workflowInstanceDataFields.OccurrenceType"
(ngModelChange)="onSelectedRecurringChanged($event)" (ngModelChange)="onSelectedRecurringChanged($event)"
> >
<mat-option <mat-option