Files
doneit-web/src/app/shared/agenda/new-event/new-event.page.html
T

341 lines
13 KiB
HTML
Raw Normal View History

2021-06-03 11:52:33 +01:00
<ion-header class="ion-no-border">
<ion-toolbar class="header-toolbar">
<div class="main-header">
<div class="title-content">
<div class="middle">
<ion-label class="title">Novo Evento</ion-label>
</div>
</div>
2021-06-23 15:39:45 +01:00
<ion-progress-bar class="calendar-progress-bar" type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
2021-06-03 11:52:33 +01:00
</div>
2021-06-03 11:44:32 +01:00
</ion-toolbar>
</ion-header>
<ion-content>
2021-06-03 11:52:33 +01:00
<div class="main-content">
2021-06-16 15:58:44 +01:00
2021-07-01 14:54:54 +01:00
<div class="ion-item-container" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom ">
2021-06-25 10:52:02 +01:00
<ion-input type="text" placeholder="Assunto*" [(ngModel)]="postEvent.Subject"></ion-input>
2021-06-03 11:52:33 +01:00
</div>
2021-06-28 11:16:21 +01:00
<div *ngIf="Form && validateFrom" >
<div *ngIf="Form.get('Subject').invalid " class="input-errror-message">
<div *ngIf="Form.get('Subject').errors?.required">
Campo obrigatório.
</div>
<div *ngIf="Form.get('Subject').errors?.minlength">
O campo deve ter pelo menos 4 caracteres.
</div>
</div>
</div>
2021-07-12 14:32:43 +01:00
2021-06-03 11:52:33 +01:00
<div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-location.svg"></ion-icon>
</div>
2021-06-28 11:16:21 +01:00
2021-07-01 14:54:54 +01:00
<div class="ion-input-class flex-grow-1 width-100" [class.input-error]="Form?.get('Location')?.invalid && validateFrom " >
2021-06-25 10:52:02 +01:00
<ion-input type="text" placeholder="Localização*" [(ngModel)]="postEvent.Location"></ion-input>
2021-06-03 11:52:33 +01:00
</div>
</div>
2021-07-12 14:32:43 +01:00
2021-06-03 11:52:33 +01:00
</div>
2021-07-12 14:32:43 +01:00
2021-06-03 11:52:33 +01:00
<div class="container-div">
<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>
2021-07-14 09:46:03 +01:00
<div class="ion-input-class flex-grow-1 justify-center align-center material-inputs " [class.input-error]="Form?.get('CalendarName')?.invalid && validateFrom ">
2021-06-21 14:29:49 +01:00
2021-06-28 11:16:21 +01:00
<mat-form-field appearance="none" class="width-100" color="ion-color-secondary" placeholder="Selecione agenda">
2021-06-23 15:39:45 +01:00
<mat-select [(value)]="postEvent.CalendarName" >
2021-06-21 14:29:49 +01:00
<mat-option value="Oficial">
Oficial
</mat-option>
<mat-option value="Pessoal">
Pessoal
</mat-option>
</mat-select>
</mat-form-field>
2021-06-03 11:52:33 +01:00
</div>
</div>
</div>
2021-06-03 11:44:32 +01:00
2021-06-03 11:52:33 +01:00
<div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
2021-06-21 13:59:45 +01:00
<ion-icon slot="start" src="assets/images/icons-description.svg"></ion-icon>
2021-06-03 11:52:33 +01:00
</div>
2021-07-12 14:32:43 +01:00
<div class="ion-input-class flex-grow-1 justify-center align-center material-inputs">
2021-06-21 14:29:49 +01:00
2021-06-28 11:16:21 +01:00
<mat-form-field appearance="none" class="width-100" placeholder="Sample Type" required>
2021-06-23 15:39:45 +01:00
<!-- <input matInput type="text" > -->
<mat-select [(value)]="postEvent.Category" >
2021-06-21 14:29:49 +01:00
<mat-option value="Reunião">
Reunião
</mat-option>
<mat-option value="Viagem">
Viagem
</mat-option>
<mat-option value="Conferência">
Conferência
</mat-option>
<mat-option value="Encontro">
Encontro
</mat-option>
</mat-select>
</mat-form-field>
2021-06-03 11:52:33 +01:00
</div>
</div>
</div>
<div class="container-div">
<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>
2021-06-28 11:16:21 +01:00
2021-07-12 14:32:43 +01:00
<!--
2021-06-28 11:16:21 +01:00
[className]="Form?.get('Subject')?.invalid ? 'input-error ion-input-class flex-grow-1' : 'ion-input-class ion-input-class flex-grow-1' "
-->
2021-07-12 14:32:43 +01:00
<div class="ion-input-class flex-grow-1 justify-center align-center material-inputs materia-top">
2021-06-23 15:39:45 +01:00
<mat-form-field class="date-hour-picker">
2021-07-12 14:32:43 +01:00
<input matInput [ngxMatDatetimePicker]="picker1"
placeholder="Choose a date"
2021-07-14 09:46:03 +01:00
[(ngModel)]="postEvent.StartDate"
2021-07-02 10:45:27 +01:00
[min]="minDate"
2021-06-23 15:39:45 +01:00
[disabled]="disabled"
>
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1"></mat-datepicker-toggle>
2021-07-12 14:32:43 +01:00
<ngx-mat-datetime-picker #picker1
[showSpinners]="showSpinners"
2021-06-23 15:39:45 +01:00
[showSeconds]="showSeconds"
2021-07-12 14:32:43 +01:00
[stepHour]="stepHour" [stepMinute]="stepMinute"
2021-06-23 15:39:45 +01:00
[stepSecond]="stepSecond"
[touchUi]="touchUi"
2021-06-24 15:42:59 +01:00
>
2021-06-21 14:29:49 +01:00
</ngx-mat-datetime-picker>
</mat-form-field>
2021-06-17 13:58:56 +01:00
2021-06-03 11:52:33 +01:00
</div>
</div>
</div>
2021-07-12 14:32:43 +01:00
2021-06-03 11:52:33 +01:00
<div class="container-div">
<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>
2021-07-12 14:32:43 +01:00
<!--
2021-06-28 11:16:21 +01:00
[className]="Form?.get('Subject')?.invalid ? 'input-error ion-input-class flex-grow-1' : 'ion-input-class ion-input-class flex-grow-1' "
-->
2021-07-14 09:46:03 +01:00
<div (click)="openFim()" class="ion-input-class flex-grow-1 justify-center align-center materia-top" [class.input-error]="Form?.get('dateEnd')?.invalid && validateFrom ">
2021-06-23 15:39:45 +01:00
<mat-form-field class="date-hour-picker">
2021-07-12 14:32:43 +01:00
<input matInput [ngxMatDatetimePicker]="fim"
placeholder="Choose a date"
2021-07-14 09:46:03 +01:00
[(ngModel)]="postEvent.EndDate"
2021-07-01 16:23:47 +01:00
[min]="endMinDate"
2021-06-23 15:39:45 +01:00
[disabled]="disabled"
>
<mat-datepicker-toggle id="new-fim" matSuffix [for]="fim"></mat-datepicker-toggle>
2021-07-12 14:32:43 +01:00
<ngx-mat-datetime-picker #fim
[showSpinners]="showSpinners"
2021-06-23 15:39:45 +01:00
[showSeconds]="showSeconds"
2021-07-12 14:32:43 +01:00
[stepHour]="stepHour" [stepMinute]="stepMinute"
2021-06-23 15:39:45 +01:00
[stepSecond]="stepSecond"
2021-06-24 15:42:59 +01:00
>
2021-06-21 14:29:49 +01:00
</ngx-mat-datetime-picker>
</mat-form-field>
2021-06-03 11:52:33 +01:00
</div>
</div>
</div>
2021-07-12 14:32:43 +01:00
<!-- <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" [class.input-error]="Form?.get('Categories')?.invalid && validateFrom ">
<ion-select placeholder="Selecione a repetição*"
[(ngModel)]="selectedRecurringType"
(ngModelChange)="onSelectedRecurringChanged($event)"
interface="action-sheet"
Cancel-text="Cancelar" required>
<ion-select-option *ngFor="let recurring of recurringTypes" value="{{recurring.Code}}">{{recurring.Description}}</ion-select-option>
</ion-select>
</div>
</div>
</div> -->
<div class="container-div width-100">
2021-06-03 11:52:33 +01:00
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
</div>
2021-07-14 09:46:03 +01:00
<div class="ion-input-class flex-grow-1" [class.input-error]="Form?.get('dateOccurrence')?.invalid && validateFrom ">
2021-06-21 14:29:49 +01:00
2021-06-28 11:16:21 +01:00
<mat-form-field appearance="none" floatLabel="never" class="width-100" value="false" interface="action-sheet" required>
2021-07-12 14:32:43 +01:00
<mat-select placeholder="Selecione repetição*"
[(ngModel)]="postEvent.EventRecurrence.Type"
(ngModelChange)="onSelectedRecurringChanged($event)">
2021-08-18 16:40:58 +01:00
<!-- <mat-option
2021-07-12 14:32:43 +01:00
*ngFor="let recurring of recurringTypes" value="{{recurring.Code}}"
>
{{recurring.Description}}
2021-08-18 16:40:58 +01:00
</mat-option> -->
2021-06-21 14:29:49 +01:00
</mat-select>
</mat-form-field>
2021-06-03 11:52:33 +01:00
</div>
</div>
</div>
2021-07-12 14:32:43 +01:00
2021-07-12 15:48:25 +01:00
<div *ngIf="postEvent.EventRecurrence.Type != '-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 (click)="openLastOccurrence()" class="ion-input-class flex-grow-1">
<mat-form-field class="date-hour-picker">
<input matInput [ngxMatDatetimePicker]="occurrrence"
placeholder="Choose a date"
[formControl]="dateControlOccurrence"
[min]="endMinDate"
[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>
2021-07-14 09:46:03 +01:00
<!-- <div *ngIf="Form && validateFrom" class="container-div width-100">
2021-07-01 14:54:54 +01:00
<div *ngIf="Form.get('participantes').invalid " class="input-errror-message">
<div *ngIf="Form.get('participantes').errors?.required">
2021-07-02 10:45:27 +01:00
Adicionar participante.
2021-07-01 14:54:54 +01:00
</div>
</div>
2021-07-14 09:46:03 +01:00
</div> -->
2021-07-01 14:54:54 +01:00
2021-07-12 15:48:25 +01:00
<div class="container-div width-100">
2021-06-03 11:52:33 +01:00
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-person.svg"></ion-icon>
</div>
2021-07-01 14:54:54 +01:00
<div class="ion-input-class-no-height flex-grow-1" [class.input-error]="Form?.get('participantes')?.invalid && validateFrom">
2021-07-12 14:32:43 +01:00
2021-06-03 11:52:33 +01:00
<div class="list-people">
<ion-item lines="none">
<ion-list>
2021-06-25 10:52:02 +01:00
<ion-label *ngIf="taskParticipants.length ==0" class="list-people-title">Adicionar intervenientes*</ion-label>
2021-06-03 11:52:33 +01:00
<ion-label *ngFor="let participant of taskParticipants">{{participant.Name}}</ion-label>
</ion-list>
</ion-item>
</div>
<div class="add-people cursor-pointer" (click)="addParticipants()">
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
</div>
</div>
</div>
</div>
2021-07-12 14:32:43 +01:00
2021-06-03 11:52:33 +01:00
<div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-people-cc.svg"></ion-icon>
</div>
2021-07-01 14:54:54 +01:00
<div class="ion-input-class-no-height flex-grow-1" [class.input-error]="Form?.get('participantes')?.invalid && validateFrom">
2021-06-03 11:52:33 +01:00
<div class="list-people">
2021-07-12 14:32:43 +01:00
2021-06-03 11:52:33 +01:00
<ion-item lines="none">
<ion-list>
<ion-label *ngIf="taskParticipantsCc.length ==0" class="list-people-title">Com conhecimento</ion-label>
<ion-label *ngFor="let participant of taskParticipantsCc">{{participant.Name}}</ion-label>
</ion-list>
</ion-item>
</div>
<div class="add-people cursor-pointer" (click)="addParticipantsCc()">
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
</div>
</div>
</div>
</div>
2021-07-12 14:32:43 +01:00
2021-06-03 11:52:33 +01:00
<div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-description.svg"></ion-icon>
</div>
<div class="ion-input-class-no-height flex-grow-1">
2021-07-12 14:32:43 +01:00
2021-06-03 11:52:33 +01:00
<ion-textarea [(ngModel)]="postEvent.Body.Text" placeholder="Detalhes" ></ion-textarea>
2021-07-12 14:32:43 +01:00
2021-06-03 11:52:33 +01:00
</div>
</div>
</div>
2021-07-12 14:32:43 +01:00
2021-06-03 11:52:33 +01:00
<div class="ion-item-container-no-border cursor-pointer" (click)="getDoc()">
<ion-label>
<div class="attach-icon">
<ion-icon src="assets/images/icons-attach-doc.svg"></ion-icon>
</div>
<div class="attach-document">
<ion-label>Adicionar documentos</ion-label>
2021-07-12 14:32:43 +01:00
</div>
2021-06-03 11:52:33 +01:00
</ion-label>
</div>
2021-07-12 14:32:43 +01:00
<div class="list " *ngFor="let document of documents; let i = index" >
2021-06-03 11:52:33 +01:00
<ion-list>
<ion-item>
<ion-label>
2021-07-12 14:32:43 +01:00
<p class="d-flex ion-justify-content-between">
<span class="attach-title-item">{{document.Assunto}}</span>
<span class="app-name">{{document.appName}}</span>
2021-06-03 11:52:33 +01:00
<span class="close-button text-black cursor-pointer" (click)="removeAttachment(i)" >
<ion-icon class="font-20" src="assets/images/icons-delete-25.svg"></ion-icon>
</span>
2021-07-12 14:32:43 +01:00
</p>
2021-08-16 10:28:27 +01:00
<p><span class="span-left">{{document.EntidadeOrganicaNome}}</span><span class="span-right"> {{document.Data | date: 'dd-MM-yyyy HH:mm'}} </span></p>
2021-06-03 11:52:33 +01:00
</ion-label>
</ion-item>
</ion-list>
2021-07-12 14:32:43 +01:00
</div>
</div>
2021-06-03 11:44:32 +01:00
</ion-content>
2021-06-03 11:52:33 +01:00
<ion-footer class="ion-no-border px-20">
<ion-toolbar class="d-flex justify-space-between">
<ion-buttons slot="start">
2021-08-24 14:37:09 +01:00
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
2021-06-03 11:52:33 +01:00
<ion-label>Cancelar</ion-label>
2021-08-24 14:37:09 +01:00
</button>
2021-06-03 11:52:33 +01:00
</ion-buttons>
<ion-title></ion-title>
<ion-buttons slot="end">
2021-08-24 14:37:09 +01:00
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
2021-06-03 11:52:33 +01:00
<ion-label>Gravar</ion-label>
2021-08-24 14:37:09 +01:00
</button>
2021-06-03 11:52:33 +01:00
</ion-buttons>
</ion-toolbar>
2021-07-12 14:32:43 +01:00
</ion-footer>