mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
300 lines
12 KiB
HTML
300 lines
12 KiB
HTML
<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">Editar Evento</ion-label>
|
|
</div>
|
|
</div>
|
|
<ion-progress-bar class="calendar-progress-bar" type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
|
|
</div>
|
|
</ion-toolbar>
|
|
</ion-header>
|
|
|
|
<ion-content>
|
|
<div class="main-content">
|
|
|
|
<div class="ion-item-container" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom ">
|
|
<ion-input placeholder="Assunto*" [(ngModel)]="postEvent.Subject"></ion-input>
|
|
</div>
|
|
<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>
|
|
|
|
<div class="container-div">
|
|
<div class="ion-item-class-2 width-100 d-flex">
|
|
<div class="ion-icon-class">
|
|
<ion-icon slot="start" src="assets/images/icons-location.svg"></ion-icon>
|
|
</div>
|
|
<div class="ion-input-class flex-grow-1" [class.input-error]="Form?.get('Location')?.invalid && validateFrom ">
|
|
<ion-input placeholder="Localização*" [(ngModel)]="postEvent.Location"></ion-input>
|
|
</div>
|
|
</div>
|
|
<!-- Error messages -->
|
|
<!-- <span class="error ion-padding" >
|
|
Campo obrigatório
|
|
</span> -->
|
|
|
|
</div>
|
|
|
|
<div *ngIf="Form && validateFrom" >
|
|
<div *ngIf="Form.get('Location').invalid " class="input-errror-message">
|
|
<div *ngIf="Form.get('Location').errors?.required">
|
|
Campo obrigatório.
|
|
</div>
|
|
<div *ngIf="Form.get('Location').errors?.minlength">
|
|
O campo deve ter pelo menos 4 caracteres.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="container-div">
|
|
<div class="ion-item-class-2 width-100 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 appearance="none" floatLabel="never" class="width-100 " >
|
|
<mat-select placeholder="Selecione agenda*" [(ngModel)]="postEvent.CalendarName" >
|
|
<mat-option value="Oficial">
|
|
Oficial
|
|
</mat-option>
|
|
<mat-option value="Pessoal">
|
|
Pessoal
|
|
</mat-option>
|
|
</mat-select>
|
|
</mat-form-field>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="container-div">
|
|
<div class="ion-item-class-2 width-100 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" [class.input-error]="Form?.get('Categories')?.invalid && validateFrom ">
|
|
|
|
<mat-form-field appearance="none" floatLabel="never" class="width-100" required>
|
|
<!-- <input matInput type="text" > -->
|
|
<mat-select placeholder="Selecione o tipo de evento*" matInput [(ngModel)]="postEvent.Categories[0]" >
|
|
<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>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="container-div">
|
|
<div class="ion-item-class-2 width-100 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 appearance="none" floatLabel="never" floatLabel="never" class="date-hour-picker">
|
|
<input matInput [ngxMatDatetimePicker]="picker1"
|
|
placeholder="Choose a date"
|
|
[formControl]="dateControlStart"
|
|
[min]="minDate" [max]="maxDate"
|
|
[disabled]="disabled"
|
|
>
|
|
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1"></mat-datepicker-toggle>
|
|
<ngx-mat-datetime-picker #picker1
|
|
[showSpinners]="showSpinners"
|
|
[showSeconds]="showSeconds"
|
|
[stepHour]="stepHour" [stepMinute]="stepMinute"
|
|
[stepSecond]="stepSecond"
|
|
[touchUi]="touchUi">
|
|
</ngx-mat-datetime-picker>
|
|
</mat-form-field>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="container-div">
|
|
<div class="ion-item-class-2 width-100 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 appearance="none" floatLabel="never" floatLabel="never" class="date-hour-picker">
|
|
<input matInput [ngxMatDatetimePicker]="fim"
|
|
placeholder="Choose a date"
|
|
[formControl]="dateControlEnd"
|
|
[min]="minDate" [max]="maxDate"
|
|
[disabled]="disabled"
|
|
>
|
|
<mat-datepicker-toggle id="new-fim" matSuffix [for]="fim"></mat-datepicker-toggle>
|
|
<ngx-mat-datetime-picker #fim
|
|
[showSpinners]="showSpinners"
|
|
[showSeconds]="showSeconds"
|
|
[stepHour]="stepHour" [stepMinute]="stepMinute"
|
|
[stepSecond]="stepSecond"
|
|
[touchUi]="touchUi">
|
|
</ngx-mat-datetime-picker>
|
|
</mat-form-field>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="container-div d-flex">
|
|
<div class="ion-item-class-2 width-100 d-flex">
|
|
<div class="ion-icon-class">
|
|
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
|
|
</div>
|
|
<div class="ion-input-class flex-grow-1" [class.input-error]="Form?.get('IsRecurring')?.invalid && validateFrom " >
|
|
|
|
<mat-form-field appearance="none" floatLabel="never" class="width-100" value="false" interface="action-sheet" required>
|
|
<mat-select placeholder="Selecione repetição*" [(ngModel)]="postEvent.IsRecurring">
|
|
<mat-option value="false">
|
|
Não se repete
|
|
</mat-option>
|
|
<mat-option value="true">
|
|
Repete
|
|
</mat-option>
|
|
</mat-select>
|
|
</mat-form-field>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div *ngIf="Form && validateFrom" >
|
|
<div *ngIf="Form.get('participantes').invalid " class="input-errror-message">
|
|
<div *ngIf="Form.get('participantes').errors?.required">
|
|
Adicionar participant.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class=" d-flex width-100">
|
|
<div class="ion-item-class-2 width-100">
|
|
<div class="ion-icon-class">
|
|
<ion-icon slot="start" src="assets/images/icons-person.svg"></ion-icon>
|
|
</div>
|
|
<div class="ion-input-class-no-height" [class.input-error]="Form?.get('participantes')?.invalid && validateFrom">
|
|
<div class="list-people">
|
|
<ion-item lines="none">
|
|
<ion-list>
|
|
<ion-label *ngIf="taskParticipants?.length < 1" class="list-people-title">Adicionar intervenientes</ion-label>
|
|
<ion-label *ngFor="let participant of taskParticipants">{{participant.Name}}</ion-label>
|
|
</ion-list>
|
|
</ion-item>
|
|
</div>
|
|
<div class="add-people">
|
|
<button class="btn-no-color cursor-pointer" (click)="addParticipants()">
|
|
<ion-icon class="font-35" slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class=" d-flex width-100">
|
|
<div class="ion-item-class-2 width-100">
|
|
<div class="ion-icon-class">
|
|
<ion-icon slot="start" src="assets/images/icons-people-cc.svg"></ion-icon>
|
|
</div>
|
|
<div class="ion-input-class-no-height" [class.input-error]="Form?.get('participantes')?.invalid && validateFrom">
|
|
<div class="list-people">
|
|
<ion-item lines="none">
|
|
<ion-list>
|
|
<ion-label *ngIf="taskParticipantsCc?.length < 1" 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">
|
|
<button class="btn-no-color cursor-pointer" (click)="addParticipantsCc()">
|
|
<ion-icon class="font-35" slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
|
|
</button>
|
|
</div>
|
|
</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-description.svg"></ion-icon>
|
|
</div>
|
|
<div class="ion-input-class-no-height width-100">
|
|
<ion-textarea [(ngModel)]="postEvent.Body.Text" placeholder="Detalhes" rows="6" cols="20"></ion-textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div (click)="getDoc()" class="d-flex container-div width-100 ion-item-container-no-border cursor-pointer" >
|
|
<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>
|
|
</div>
|
|
</ion-label>
|
|
</div>
|
|
|
|
<div class="d-flex container-div width-100" *ngFor="let document of loadedEventAttachments; let i = index" >
|
|
<ion-list class="width-100 list" *ngIf="!document.remove">
|
|
<ion-item class="width-100">
|
|
<ion-label class="width-100">
|
|
<p class="d-flex ion-justify-content-between">
|
|
<span class="attach-title-item">{{document.SourceName}}</span>
|
|
<span class="app-name" *ngIf="document.ApplicationId == '8'"> Correspondencia </span>
|
|
<span class="app-name" *ngIf="document.ApplicationId == '386'"> AccoesPresidenciais </span>
|
|
<span class="app-name" *ngIf="document.ApplicationId == '361' "> ArquivoDespachoElect </span>
|
|
<span class="close-button text-black cursor-pointer" (click)="deleteAttachment(document.Id, i)" >
|
|
<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-item>
|
|
</ion-list>
|
|
</div>
|
|
|
|
</div>
|
|
</ion-content>
|
|
<ion-footer class="ion-no-border">
|
|
<ion-toolbar class="width-100 d-flex justify-space-between px-20">
|
|
<ion-buttons slot="start">
|
|
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
|
<ion-label>Cancelar</ion-label>
|
|
</button>
|
|
</ion-buttons>
|
|
<ion-title></ion-title>
|
|
<ion-buttons slot="end">
|
|
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
|
<ion-label>Gravar</ion-label>
|
|
</button>
|
|
</ion-buttons>
|
|
</ion-toolbar>
|
|
</ion-footer> |