mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
Merge branch 'developer-c' into feature/PushNotification_Cordova
This commit is contained in:
@@ -60,7 +60,6 @@ ion-slide{
|
||||
.title-content{
|
||||
width: 360px;
|
||||
margin: 0px auto;
|
||||
overflow: auto;
|
||||
padding: 0 !important;
|
||||
background: #ecf8ff;
|
||||
}
|
||||
@@ -258,21 +257,18 @@ td.monthview-primary-with-event {
|
||||
background-color: white !important;
|
||||
}
|
||||
.header-title{
|
||||
width: 300px;
|
||||
font-family: Roboto;
|
||||
font-size: 25px;
|
||||
margin: 0 5px 0 25px;
|
||||
padding: 0;
|
||||
/* color:#ffffff; */
|
||||
color:#000;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.div-top-header{
|
||||
width: 400px;
|
||||
margin: 0 auto;
|
||||
background-color: #0782c9;
|
||||
overflow: auto;
|
||||
padding-top: 15px;
|
||||
border: 0!important;
|
||||
|
||||
|
||||
@@ -38,7 +38,6 @@ export class EditEventPage implements OnInit {
|
||||
private modalController: ModalController,
|
||||
private navParams: NavParams,
|
||||
private eventsService: EventsService,
|
||||
private alertService: AlertService,
|
||||
public alertController: AlertController,
|
||||
) {
|
||||
this.isEventEdited = false;
|
||||
@@ -61,10 +60,10 @@ export class EditEventPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
if(this.postEvent.IsRecurring == false){
|
||||
if(this.postEvent.IsRecurring == false) {
|
||||
this.isRecurring = "Não se repete";
|
||||
}
|
||||
else{
|
||||
else {
|
||||
this.isRecurring = "Repete";
|
||||
}
|
||||
this.profile = this.navParams.get('profile');
|
||||
@@ -81,11 +80,11 @@ export class EditEventPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
close(){
|
||||
close() {
|
||||
this.modalController.dismiss();
|
||||
}
|
||||
|
||||
save(){
|
||||
save() {
|
||||
|
||||
this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc)
|
||||
|
||||
@@ -152,7 +151,6 @@ export class EditEventPage implements OnInit {
|
||||
this.openAttendees();
|
||||
}
|
||||
|
||||
|
||||
dynamicSetIntervenient({taskParticipants, taskParticipantsCc}){
|
||||
this.taskParticipants = taskParticipants;
|
||||
this.taskParticipantsCc = taskParticipantsCc;
|
||||
|
||||
+5
-1
@@ -7,6 +7,7 @@ import { IonicModule } from '@ionic/angular';
|
||||
import { BookMeetingModalPageRoutingModule } from './book-meeting-modal-routing.module';
|
||||
|
||||
import { BookMeetingModalPage } from './book-meeting-modal.page';
|
||||
import { AttendeeModalPage } from 'src/app/shared/event/attendee-modal/attendee-modal.page';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -15,6 +16,9 @@ import { BookMeetingModalPage } from './book-meeting-modal.page';
|
||||
IonicModule,
|
||||
BookMeetingModalPageRoutingModule
|
||||
],
|
||||
declarations: [BookMeetingModalPage]
|
||||
declarations: [
|
||||
BookMeetingModalPage,
|
||||
AttendeeModalPage
|
||||
]
|
||||
})
|
||||
export class BookMeetingModalPageModule {}
|
||||
|
||||
+164
-158
@@ -1,191 +1,197 @@
|
||||
<!-- <ion-header class="ion-no-border">
|
||||
<div class="header-content">
|
||||
<div class="header-title">
|
||||
<label>Convocar Reunião</label>
|
||||
</div>
|
||||
</div>
|
||||
</ion-header> -->
|
||||
|
||||
<ion-content>
|
||||
<div class="main-content d-flex">
|
||||
<div class="content d-flex flex-column width-100">
|
||||
<div class="main-content d-flex height-100">
|
||||
|
||||
<div class="content d-flex flex-column width-100 height-100 ">
|
||||
<div class="header-content">
|
||||
<div class="header-title">
|
||||
<label>Convocar Reunião</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ion-item-container width-100">
|
||||
<ion-input placeholder="Assunto" [(ngModel)]="postData.Subject"></ion-input>
|
||||
</div>
|
||||
<div class="overflow-y-auto">
|
||||
|
||||
<div class="ion-item-container width-100">
|
||||
<ion-input placeholder="Assunto" [(ngModel)]="postData.Subject"></ion-input>
|
||||
</div>
|
||||
|
||||
<div class="container-div width-100">
|
||||
<div class="ion-item-class-2 width-100">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-location.svg"></ion-icon>
|
||||
<div class="container-div width-100">
|
||||
<div class="ion-item-class-2 width-100">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-location.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-input placeholder="Localização" [(ngModel)]="postData.Location"></ion-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-input placeholder="Localização" [(ngModel)]="postData.Location"></ion-input>
|
||||
<!-- Error messages -->
|
||||
<span class="error ion-padding" *ngIf="formLocationSatus">
|
||||
Campo obrigatório
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-select [(ngModel)]="postData.CalendarName" placeholder="Selecione repetição" interface="action-sheet" Cancel-text="Cancelar" required>
|
||||
<ion-select-option value="Oficial">Oficial</ion-select-option>
|
||||
<ion-select-option value="Pessoal">Pessoal</ion-select-option>
|
||||
</ion-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Error messages -->
|
||||
<span class="error ion-padding" *ngIf="formLocationSatus">
|
||||
Campo obrigatório
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-select [(ngModel)]="postData.CalendarName" placeholder="Selecione repetição" interface="action-sheet" Cancel-text="Cancelar" required>
|
||||
<ion-select-option value="Oficial">Oficial</ion-select-option>
|
||||
<ion-select-option value="Pessoal">Pessoal</ion-select-option>
|
||||
</ion-select>
|
||||
<ion-datetime
|
||||
placeholder="Início"
|
||||
[(ngModel)]="postData.StartDate"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
min="2018"
|
||||
max="2022"
|
||||
value="2020-11-19T11:06Z">
|
||||
</ion-datetime>
|
||||
<!-- <ion-input placeholder="Data início" [(ngModel)]="postData.StartDate"></ion-input> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-datetime
|
||||
placeholder="Início"
|
||||
[(ngModel)]="postData.StartDate"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
min="2018"
|
||||
max="2022"
|
||||
value="2020-11-19T11:06Z">
|
||||
</ion-datetime>
|
||||
<!-- <ion-input placeholder="Data início" [(ngModel)]="postData.StartDate"></ion-input> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-datetime
|
||||
placeholder="Fim"
|
||||
[(ngModel)]="postData.EndDate"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
min="2018"
|
||||
max="2022"
|
||||
value="2020-11-19T11:06Z">
|
||||
</ion-datetime>
|
||||
<!-- <ion-input placeholder="Data fim" [(ngModel)]="postData.EndDate"></ion-input> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<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">
|
||||
<ion-select [(ngModel)]="postData.IsRecurring" placeholder="Selecione repetição" value="false" 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-option value="true">Semanal</ion-select-option>
|
||||
<ion-select-option value="true">Diário</ion-select-option>
|
||||
<ion-select-option value="true">Anual</ion-select-option> -->
|
||||
</ion-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<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">
|
||||
<div class="list-people">
|
||||
<ion-item lines="none">
|
||||
<ion-list>
|
||||
<ion-label *ngIf="!taskParticipants" 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">
|
||||
<ion-icon (click)="addParticipants()" slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-datetime
|
||||
placeholder="Fim"
|
||||
[(ngModel)]="postData.EndDate"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
min="2018"
|
||||
max="2022"
|
||||
value="2020-11-19T11:06Z">
|
||||
</ion-datetime>
|
||||
<!-- <ion-input placeholder="Data fim" [(ngModel)]="postData.EndDate"></ion-input> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<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">
|
||||
<div class="list-people">
|
||||
<ion-item lines="none">
|
||||
<ion-list>
|
||||
<ion-label *ngIf="!taskParticipantsCc" 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">
|
||||
<ion-icon (click)="addParticipantsCc()" slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
|
||||
<div class="container-div">
|
||||
<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">
|
||||
<ion-select [(ngModel)]="postData.IsRecurring" placeholder="Selecione repetição" value="false" 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-option value="true">Semanal</ion-select-option>
|
||||
<ion-select-option value="true">Diário</ion-select-option>
|
||||
<ion-select-option value="true">Anual</ion-select-option> -->
|
||||
</ion-select>
|
||||
</div>
|
||||
</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 class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<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">
|
||||
<div class="list-people">
|
||||
<ion-item lines="none">
|
||||
<ion-list>
|
||||
<ion-label *ngIf="taskParticipants.length == 0" 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" (click)="addParticipants()">
|
||||
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ion-input-class-no-height width-100">
|
||||
<ion-textarea [(ngModel)]="postData.Body.Text" placeholder="Detalhes" rows="6" cols="20"></ion-textarea>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<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">
|
||||
<div class="list-people">
|
||||
<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" (click)="addParticipantsCc()">
|
||||
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
|
||||
</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)]="postData.Body.Text" placeholder="Detalhes" rows="6" cols="20"></ion-textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div hidden class="ion-item-container-no-border">
|
||||
<ion-label>
|
||||
<div class="attach-icon">
|
||||
<ion-icon src="assets/images/icons-attach-doc.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="attach-document">
|
||||
<ion-label>Anexar Documentos</ion-label>
|
||||
</div>
|
||||
</ion-label>
|
||||
</div>
|
||||
|
||||
<div *ngIf="loadedAttachments">
|
||||
<ion-item>
|
||||
<ion-label>Documentos Anexados</ion-label>
|
||||
</ion-item>
|
||||
<ion-list>
|
||||
<ion-item *ngFor="let attachment of loadedAttachments">
|
||||
<ion-label>
|
||||
<h4 class="attach-title-item">{{attachment.Description}}</h4>
|
||||
<p><span class="span-left">{{attachment.Stakeholders}}</span><span class="span-right"> {{ attachment.CreateDate | date: 'dd/MM/yyyy' }}</span></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div hidden class="ion-item-container-no-border">
|
||||
<ion-label>
|
||||
<div class="attach-icon">
|
||||
<ion-icon src="assets/images/icons-attach-doc.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="attach-document">
|
||||
<ion-label>Anexar Documentos</ion-label>
|
||||
</div>
|
||||
</ion-label>
|
||||
</div>
|
||||
|
||||
<div *ngIf="loadedAttachments">
|
||||
<ion-item>
|
||||
<ion-label>Documentos Anexados</ion-label>
|
||||
</ion-item>
|
||||
<ion-list>
|
||||
<ion-item *ngFor="let attachment of loadedAttachments">
|
||||
<ion-label>
|
||||
<h4 class="attach-title-item">{{attachment.Description}}</h4>
|
||||
<p><span class="span-left">{{attachment.Stakeholders}}</span><span class="span-right"> {{ attachment.CreateDate | date: 'dd/MM/yyyy' }}</span></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div>
|
||||
</div>
|
||||
<div class="aside-right flex-column height-100">
|
||||
<div class="aside-righ">
|
||||
<app-attendee-modal class=" d-flex flex-column height-100"
|
||||
*ngIf="showAttendees"
|
||||
[taskParticipants]="taskParticipants"
|
||||
[taskParticipantsCc]="taskParticipantsCc"
|
||||
[adding]="adding"
|
||||
(dynamicSetIntervenient)="dynamicSetIntervenient($event)"
|
||||
>
|
||||
</app-attendee-modal>
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
||||
-1
@@ -4,7 +4,6 @@
|
||||
float: left;
|
||||
|
||||
.header-content{
|
||||
overflow: auto;
|
||||
}
|
||||
.header-title{
|
||||
font-family: Roboto;
|
||||
|
||||
+98
-69
@@ -16,18 +16,25 @@ import { AttachmentsService } from 'src/app/services/attachments.service';
|
||||
templateUrl: './book-meeting-modal.page.html',
|
||||
styleUrls: ['./book-meeting-modal.page.scss'],
|
||||
})
|
||||
|
||||
export class BookMeetingModalPage implements OnInit {
|
||||
|
||||
task: any;
|
||||
taskParticipants: any;
|
||||
taskParticipantsCc: any;
|
||||
|
||||
taskParticipants: EventPerson[] = [];
|
||||
taskParticipantsCc: EventPerson[] = [];
|
||||
|
||||
taskDocId:string;
|
||||
loadedAttachments:any;
|
||||
|
||||
adding: "intervenient" | "CC" = "intervenient";
|
||||
|
||||
postData: Event;
|
||||
eventBody: EventBody;
|
||||
eventAttendees: EventPerson[];
|
||||
|
||||
formLocationSatus: boolean = false;
|
||||
showAttendees= false;
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
@@ -50,18 +57,19 @@ export class BookMeetingModalPage implements OnInit {
|
||||
let selectedEndDate = new Date();
|
||||
/* this.postData.EndDate = new Date(selectedEndDate.setMinutes(new Date().getMinutes() + 30)); */
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
console.log(this.task)
|
||||
console.log(this.task.SerialNumber);
|
||||
this.adding = "intervenient";
|
||||
|
||||
this.getAttachments();
|
||||
}
|
||||
|
||||
getAttachments(){
|
||||
this.attachmentsService.getAttachmentsBySerial(this.task.SerialNumber).subscribe(res=>{
|
||||
this.loadedAttachments = res;
|
||||
console.log(res);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -108,74 +116,88 @@ export class BookMeetingModalPage implements OnInit {
|
||||
}
|
||||
|
||||
async addParticipants(){
|
||||
const modal = await this.modalController.create({
|
||||
component: AddParticipantsModalPage,
|
||||
componentProps: {
|
||||
eventPersons: this.eventAttendees
|
||||
},
|
||||
cssClass: 'book-meeting-modal',
|
||||
backdropDismiss: false
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
if(window.innerWidth <= 800){
|
||||
const modal = await this.modalController.create({
|
||||
component: AddParticipantsModalPage,
|
||||
componentProps: {
|
||||
eventPersons: this.eventAttendees
|
||||
},
|
||||
cssClass: 'book-meeting-modal',
|
||||
backdropDismiss: false
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
|
||||
modal.onDidDismiss().then((res) => {
|
||||
this.taskParticipants = res.data;
|
||||
let newattendees: EventPerson[] = res['data'];
|
||||
if (newattendees != null)
|
||||
{
|
||||
newattendees.forEach(newattendee => {
|
||||
let att = {
|
||||
"EmailAddress": newattendee.EmailAddress,
|
||||
"Name": newattendee.Name,
|
||||
"IsRequired": true
|
||||
};
|
||||
if (this.eventAttendees == null)
|
||||
{
|
||||
this.eventAttendees = new Array();
|
||||
}
|
||||
this.eventAttendees.push(att);
|
||||
});
|
||||
}
|
||||
this.postData.Attendees = this.eventAttendees;
|
||||
});
|
||||
} else {
|
||||
|
||||
this.showAttendees = true;
|
||||
}
|
||||
|
||||
modal.onDidDismiss().then((res) => {
|
||||
this.taskParticipants = res.data;
|
||||
let newattendees: EventPerson[] = res['data'];
|
||||
if (newattendees != null)
|
||||
{
|
||||
newattendees.forEach(newattendee => {
|
||||
let att = {
|
||||
"EmailAddress": newattendee.EmailAddress,
|
||||
"Name": newattendee.Name,
|
||||
"IsRequired": true
|
||||
};
|
||||
if (this.eventAttendees == null)
|
||||
{
|
||||
this.eventAttendees = new Array();
|
||||
}
|
||||
this.eventAttendees.push(att);
|
||||
});
|
||||
}
|
||||
this.postData.Attendees = this.eventAttendees;
|
||||
});
|
||||
}
|
||||
|
||||
async addParticipantsCc(){
|
||||
const modal = await this.modalController.create({
|
||||
component: AddParticipantsCcModalPage,
|
||||
componentProps: {
|
||||
eventPersons: this.eventAttendees
|
||||
},
|
||||
cssClass: 'add-participants-cc-modal',
|
||||
backdropDismiss: false
|
||||
});
|
||||
async addParticipantsCc() {
|
||||
|
||||
this.adding = "CC";
|
||||
|
||||
await modal.present();
|
||||
|
||||
modal.onDidDismiss().then((res) => {
|
||||
this.taskParticipantsCc = res.data;
|
||||
let newattendees: EventPerson[] = res['data'];
|
||||
|
||||
|
||||
if (newattendees != null)
|
||||
{
|
||||
newattendees.forEach(newattendee => {
|
||||
let att = {
|
||||
"EmailAddress": newattendee.EmailAddress,
|
||||
"Name": newattendee.Name,
|
||||
"IsRequired": false
|
||||
};
|
||||
if (this.eventAttendees == null)
|
||||
{
|
||||
this.eventAttendees = new Array();
|
||||
}
|
||||
this.eventAttendees.push(att);
|
||||
|
||||
});
|
||||
}
|
||||
this.postData.Attendees = this.eventAttendees;
|
||||
});
|
||||
if(window.innerWidth <= 800) {
|
||||
const modal = await this.modalController.create({
|
||||
component: AddParticipantsCcModalPage,
|
||||
componentProps: {
|
||||
eventPersons: this.eventAttendees
|
||||
},
|
||||
cssClass: 'add-participants-cc-modal',
|
||||
backdropDismiss: false
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
|
||||
modal.onDidDismiss().then((res) => {
|
||||
this.taskParticipantsCc = res.data;
|
||||
let newattendees: EventPerson[] = res['data'];
|
||||
|
||||
|
||||
if (newattendees != null)
|
||||
{
|
||||
newattendees.forEach(newattendee => {
|
||||
let att = {
|
||||
"EmailAddress": newattendee.EmailAddress,
|
||||
"Name": newattendee.Name,
|
||||
"IsRequired": false
|
||||
};
|
||||
if (this.eventAttendees == null)
|
||||
{
|
||||
this.eventAttendees = new Array();
|
||||
}
|
||||
this.eventAttendees.push(att);
|
||||
|
||||
});
|
||||
}
|
||||
this.postData.Attendees = this.eventAttendees;
|
||||
});
|
||||
} else {
|
||||
this.showAttendees = true;
|
||||
}
|
||||
}
|
||||
|
||||
async distartExpedientModal(){
|
||||
@@ -192,6 +214,7 @@ export class BookMeetingModalPage implements OnInit {
|
||||
|
||||
modal.onDidDismiss();
|
||||
}
|
||||
|
||||
validateFormInputs(){
|
||||
let formLocation = this.postData.Location.trim();
|
||||
if(!this.postData.Location && formLocation.length <= 0){
|
||||
@@ -199,4 +222,10 @@ export class BookMeetingModalPage implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
dynamicSetIntervenient({taskParticipants, taskParticipantsCc}){
|
||||
|
||||
this.taskParticipants = taskParticipants;
|
||||
this.taskParticipantsCc = taskParticipantsCc;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
<div class="aside-wrapper d-flex flex-column justify-center width-md-40 ">
|
||||
<div class="title-container">
|
||||
<ion-label class="title">Gabinete Digital</ion-label>
|
||||
<button class="btn-no-color" (click)="doRefresh($event)">
|
||||
<button class="btn-no-color btn-refresh" (click)="doRefresh($event)">
|
||||
<ion-icon class="title-icon" name="reload-circle"></ion-icon>
|
||||
</button>
|
||||
</div>
|
||||
@@ -66,6 +66,22 @@
|
||||
<p class="text-center exp-card-content"><span class="number">-</span> <span class="title1">Documentos</span> </p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="exp-card d-flex d-none flex-column justify-center" (click)="notImplemented()">
|
||||
<div class="d-flex justify-center">
|
||||
<ion-icon src="assets/images/icons-expediente-presidente.svg"></ion-icon>
|
||||
</div>
|
||||
<p class="text-center exp-card-title ">Expediente Presidente</p>
|
||||
<p class="text-center exp-card-content"><span class="number">-</span> <span class="title1">Documentos</span></p>
|
||||
</div>
|
||||
<div class="exp-card d-flex d-none flex-column justify-center" (click)="notImplemented()">
|
||||
<div class="d-flex justify-center">
|
||||
<ion-icon src="assets/images/icons-despachos-presidente.svg"></ion-icon>
|
||||
</div>
|
||||
<p class="text-center exp-card-title ">Despacho do Presidente da República</p>
|
||||
<p class="text-center exp-card-content"><span class="number">-</span> <span class="title1">Documentos</span> </p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="exp-card-long justify-center width-100" (click)="notImplemented()">
|
||||
|
||||
@@ -115,11 +115,12 @@ ion-content{
|
||||
//justify-content: center;
|
||||
}
|
||||
.exp-card-long{
|
||||
width: 100%;
|
||||
width: 360px;
|
||||
margin: 7px 20px;
|
||||
border-radius: 15px;
|
||||
background-color: #ffffff !important;
|
||||
padding: 7px;
|
||||
border: blue !important;
|
||||
|
||||
.center-div{
|
||||
width: fit-content;
|
||||
@@ -201,7 +202,16 @@ ion-content{
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media only screen and (min-width: 561px) {
|
||||
.exp-card-long{
|
||||
width: 547px !important;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 749px) {
|
||||
.exp-card-long{
|
||||
width: 734px !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (min-width: 801px) {
|
||||
@@ -215,6 +225,10 @@ ion-content{
|
||||
|
||||
.aside{
|
||||
background:transparent;
|
||||
|
||||
.d-none{
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.aside-title{
|
||||
font-family: Roboto;
|
||||
@@ -232,6 +246,7 @@ ion-content{
|
||||
|
||||
}
|
||||
.exp-card-long{
|
||||
display: none !important;
|
||||
width: 100% !important;
|
||||
|
||||
.center-div{
|
||||
@@ -299,7 +314,16 @@ ion-content{
|
||||
//display: none;
|
||||
margin-top: 0px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
.exp-card:visited{
|
||||
background: blue;
|
||||
}
|
||||
.exp-card:hover{
|
||||
background: blue;
|
||||
}
|
||||
}
|
||||
.btn-refresh:visited{
|
||||
background: blue !important;
|
||||
}
|
||||
@media only screen and (min-width: 1024px){
|
||||
.content{
|
||||
|
||||
@@ -53,7 +53,6 @@ export class EditEventComponent implements OnInit {
|
||||
}
|
||||
|
||||
// attendees list
|
||||
alert(JSON.stringify(this.postEvent.Attendees))
|
||||
if(this.postEvent.Attendees != null) {
|
||||
this.postEvent.Attendees.forEach(e =>{
|
||||
if(e.IsRequired) {
|
||||
@@ -96,12 +95,12 @@ export class EditEventComponent implements OnInit {
|
||||
this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc);
|
||||
|
||||
await this.eventsService.editEvent(this.postEvent, 2, 3).subscribe(async () => {
|
||||
/* const alert = await this.alertController.create({
|
||||
const alert = await this.alertController.create({
|
||||
cssClass: 'my-custom-class',
|
||||
header: 'Evento actualizado',
|
||||
buttons: ['OK']
|
||||
});
|
||||
await alert.present(); */
|
||||
await alert.present();
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -44,10 +44,12 @@ export class AttendeeModalPage implements OnInit {
|
||||
if(this.taskParticipantsCc == null || this.taskParticipantsCc == undefined) {
|
||||
this.taskParticipantsCc = [];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
ngOnChanges(event){}
|
||||
ngOnChanges(event){
|
||||
|
||||
}
|
||||
|
||||
save(){
|
||||
this.setIntervenient.emit(this.taskParticipants);
|
||||
@@ -61,6 +63,32 @@ export class AttendeeModalPage implements OnInit {
|
||||
this.setIntervenient.emit(this.taskParticipants);
|
||||
this.setIntervenientCC.emit(this.taskParticipantsCc);
|
||||
}
|
||||
|
||||
console.log('data', this.taskParticipants, this.taskParticipantsCc );
|
||||
this.dynamicSetIntervenient.emit({
|
||||
taskParticipants: this.taskParticipants,
|
||||
taskParticipantsCc: this.taskParticipantsCc
|
||||
})
|
||||
}
|
||||
|
||||
async selectContact(itm: EventPerson){
|
||||
|
||||
if(this.adding == "intervenient") {
|
||||
|
||||
itm.IsRequired = true;
|
||||
this.taskParticipants.push(itm);
|
||||
|
||||
} else if (this.adding == "CC") {
|
||||
|
||||
itm.IsRequired = false;
|
||||
this.taskParticipantsCc.push(itm);
|
||||
} else {
|
||||
// alert('bug')
|
||||
}
|
||||
|
||||
// run only in gabinete digital
|
||||
|
||||
this.setContactWithClose();
|
||||
}
|
||||
|
||||
close(){
|
||||
@@ -130,32 +158,11 @@ export class AttendeeModalPage implements OnInit {
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
this.dynamicSetIntervenient.emit({
|
||||
taskParticipants: this.taskParticipants,
|
||||
taskParticipantsCc: this.taskParticipantsCc
|
||||
})
|
||||
|
||||
this.setContactWithClose();
|
||||
|
||||
}
|
||||
|
||||
async selectContact(itm: EventPerson){
|
||||
|
||||
if(this.adding == "intervenient"){
|
||||
|
||||
itm.IsRequired = true;
|
||||
this.taskParticipants.push(itm);
|
||||
|
||||
} else if (this.adding == "CC") {
|
||||
|
||||
itm.IsRequired = false;
|
||||
this.taskParticipantsCc.push(itm);
|
||||
}
|
||||
|
||||
// run only in gabinete digital
|
||||
this.setContactWithClose();
|
||||
}
|
||||
|
||||
async fetchContacts(filter: string) {
|
||||
this.showLoader = true;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<ion-content class="container">
|
||||
<div class="arrow-right">
|
||||
<ion-icon (click)="close()" slot="end" class="arrow-right-icon" src='assets/images/icons-arrow-arrow-right.svg'></ion-icon>
|
||||
<button class="btn-no-color" (click)="close()">
|
||||
<ion-icon slot="end" class="arrow-right-icon" src='assets/images/icons-arrow-arrow-right.svg'></ion-icon>
|
||||
</button>
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<button full class="btn-ok" shape="round" >Tirar Fotografia</button>
|
||||
|
||||
Reference in New Issue
Block a user