Merge branch 'developer-c' of bitbucket.org:equilibriumito/gabinete-digital into feature/calendar

This commit is contained in:
Peter Maquiran
2021-03-30 10:44:53 +01:00
40 changed files with 1272 additions and 989 deletions
+28 -11
View File
@@ -67,6 +67,10 @@ const routes: Routes = [
{
path:':eventId/:caller',
loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),
},
{
path: 'eventId/:caller',
loadChildren: () => import('../pages/agenda/view-event/view-event.module').then( m => m.ViewEventPageModule)
}
]
},
@@ -158,21 +162,34 @@ const routes: Routes = [
children: [
{
path:'',
/* outlet:'message', */
component: MessagesPage
//loadChildren: ()=> import('../pages/chat/messages/messages.module').then(m => m.MessagesPageModule)
loadChildren: ()=> import('../pages/chat/messages/messages.module').then(m => m.MessagesPageModule)
},
{
path:'contacts',
loadChildren: ()=> import('../shared/chat/messages/contacts/contacts.module').then(m => m.ContactsPageModule)
},
{
path:'contacts',
loadChildren: ()=> import('../pages/chat/messages/contacts/contacts.module').then(m => m.ContactsPageModule)
},
]
},
{
path:'messages',
outlet:'message',
component: MessagesPage
},
{
path:'groups',
outlet:'group',
component: GroupMessagesPage
path:'group-messages',
children:[
{
path:'',
loadChildren: ()=> import('../pages/chat/group-messages/group-messages.module').then(m => m.GroupMessagesPageModule)
},
{
path:'group-contacts',
loadChildren: ()=> import('../shared/chat/group-messages/group-contacts/group-contacts.module').then(m => m.GroupContactsPageModule)
},
{
path:'group-contacts',
loadChildren: ()=> import('../pages/chat/group-messages/group-contacts/group-contacts.module').then(m => m.GroupContactsPageModule)
},
]
},
]
+1 -1
View File
@@ -49,7 +49,7 @@ import { adapterFactory } from 'angular-calendar/date-adapters/date-fns';
EventListComponent,
ApproveEventComponent,
AttendeesPage,
AttendeeModalPage
AttendeeModalPage,
],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
providers: [
+3 -3
View File
@@ -254,11 +254,11 @@
<div class="pb-5 d-none d-md-flex">
<div class="flex-grow-1 text-grey d-flex justify-center align-center">
<div>Prória</div>
<div>Própria</div>
</div>
<div class="flex-grow-1 text-black">
<div class="flex-grow-1 text-grey d-flex justify-center align-center">
<div>Presidente da Republica</div>
<div>Presidente da República</div>
</div>
</div>
</div>
@@ -364,7 +364,7 @@
<app-event-list [class.transparent]="mobileComponent.transparentEventList" *ngIf="mobileComponent.showEventList"
[segment]="segment"
[profile]="profile"
(approveEventDismiss) = "approveEventDismiss($event)"
(cloneAllmobileComponent)="viewEventDetailDismiss($event)"
>
+1 -1
View File
@@ -153,7 +153,7 @@ export class AgendaPage implements OnInit {
}
ngOnInit() {
this.profile = "mdgpr";
this.profile = "MDGPR";
//Inicializar segment
/* localStorage.setItem('test', this.eventSelectedDate.toString()); */
@@ -1,4 +1,4 @@
<ion-header class="ion-no-border">
<!-- <ion-header class="ion-no-border">
<ion-toolbar class="header-toolbar">
<div class="main-header">
<div class="title-content">
@@ -15,56 +15,74 @@
</div>
</div>
</ion-toolbar>
</ion-header>
</ion-header> -->
<ion-content>
<div class="main-content">
<div class="upper-content">
<div class="content-location">
<div class="location-detail">
<ion-label >{{loadedEvent.Location}}</ion-label>
</div>
<div class="button-{{profile}}-{{loadedEvent.CalendarName}}">
<ion-button class="button-{{profile}}-{{loadedEvent.CalendarName}}" slot="end">{{loadedEvent.CalendarName}}</ion-button>
</div>
</div>
<div class="content-details">
<ion-label>
<p>{{customDate}}</p>
<p>das {{loadedEvent.StartDate | date: 'HH:mm'}} às {{loadedEvent.EndDate | date: 'HH:mm'}}</p>
<p *ngIf="!loadedEvent.IsRecurring">(Não se repete)</p>
<p *ngIf="loadedEvent.IsRecurring">Repete</p>
</ion-label>
</div>
</div>
<div class="middle-content">
<ion-item class="ion-no-margin ion-no-padding">
<ion-label>
<h3>Intervenientes</h3>
<div *ngFor="let attendee of loadedEvent.Attendees">
<p>{{attendee.Name}}</p>
<ion-content class="height-100">
<div class="main-content d-flex height-100">
<div class="content d-flex flex-column width-100">
<div class="main-header">
<div class="title-content">
<div class="left">
<ion-icon (click)="close()" slot="end" src='assets/images/icons-arrow-arrow-left.svg'></ion-icon>
</div>
</ion-label>
</ion-item>
<ion-item class="ion-no-margin ion-no-padding">
<ion-label>
<h3>Detalhes</h3>
<p>{{loadedEvent.Body.Text}}</p>
</ion-label>
</ion-item>
</div>
<div *ngIf="loadedAttachments" class="bottom-content">
<ion-list>
<h3>Documentos Anexados</h3>
<div class="middle">
<ion-label class="title">{{loadedEvent.Subject}}</ion-label>
</div>
<div class="div-icon">
<ion-icon class="edit" (click)="editEvent()" slot="end" src="assets/images/icons-edit.svg" ></ion-icon>
<ion-icon class="delete" (click)="deleteEvent()" name="trash-sharp"></ion-icon>
</div>
</div>
</div>
<div class="upper-content">
<div class="content-location">
<p><span class="date">{{loadedEvent.Location}}</span><span class="label">{{loadedEvent.CalendarName}}</span></p>
</div>
<div class="content-details">
<ion-label>
<p>{{customDate}}</p>
<p>das {{loadedEvent.StartDate | date: 'HH:mm'}} às {{loadedEvent.EndDate | date: 'HH:mm'}}</p>
<p *ngIf="!loadedEvent.IsRecurring">(Não se repete)</p>
<p *ngIf="loadedEvent.IsRecurring">Repete</p>
</ion-label>
</div>
</div>
<div class="middle-content">
<h5>Intervenientes</h5>
<ion-item class="ion-no-margin ion-no-padding">
<ion-label *ngFor="let attach of loadedAttachments"
(click)="viewDocument()">
<p class="attach-title-item">{{attach.SourceName}}</p>
<p><span class="span-left">{{attach.Stakeholders}}</span><span class="span-right">{{ attach.CreateDate | date: 'dd-MM-yy' }}</span></p>
</ion-label>
</ion-item>
</ion-list>
<ion-label>
<div *ngFor="let attendee of loadedEvent.Attendees">
<p>{{attendee.Name}}</p>
</div>
</ion-label>
</ion-item>
<h5>Detalhes</h5>
<ion-item class="ion-no-margin ion-no-padding">
<ion-label>
<p [innerHTML]="loadedEvent.Body.Text"></p>
</ion-label>
</ion-item>
</div>
<div *ngIf="loadedAttachments" class="bottom-content">
<ion-list>
<h3>Documentos Anexados</h3>
<ion-item class="ion-no-margin ion-no-padding">
<ion-label *ngFor="let attach of loadedAttachments"
(click)="viewDocument()">
<p class="attach-title-item">{{attach.SourceName}}</p>
<p><span class="span-left">{{attach.Stakeholders}}</span><span class="span-right">{{ attach.CreateDate | date: 'dd-MM-yy' }}</span></p>
</ion-label>
</ion-item>
</ion-list>
</div>
</div>
<div class="aside-right flex-column height-100">
<div class="buttons">
<button full class="btn-ok" shape="round" >Editar</button>
<div class="solid"></div>
<button full class="btn-delete" shape="round" >Eliminar</button>
</div>
</div>
</div>
</ion-content>
@@ -1,9 +1,9 @@
ion-content{
--background:transparent;
--padding-top:0px;
/* --padding-top:0px;
--padding-start: 20px;
--padding-end: 20px;
font-size: 18px;
font-size: 18px; */
}
ion-menu{
--height: 225px;
@@ -13,19 +13,13 @@ ion-menu{
--opacity: 1;
}
.main-header{
width: 100%; /* 400px */
height: 100%;
font-family: Roboto;
border-top-left-radius: 25px;
border-top-right-radius: 25px;
background-color: #fff;
overflow:hidden;
padding: 30px 0px 0px 0px;
color:#000;
transform: translate3d(0, 1px, 0);
.title-content{
padding: 0px 20px;
margin: 0px auto;
overflow: auto;
background: #fff;
@@ -37,10 +31,10 @@ ion-menu{
overflow: hidden;
}
.middle{
width: 230px;
//width: 230px;
padding: 0!important;
float: left;
margin: 2.5px 0 0 0;
//margin: 2.5px 0 0 0;
}
.header-icon-right{
width: 45px;
@@ -74,13 +68,16 @@ ion-menu{
}
.main-content{
width: 100%; /* 400px */
height: 100%;
font-family: Roboto;
margin: 0 auto;
background-color: #fff;
overflow:auto;
padding: 15px 0px 0 0px;
.content{
padding: 30px 20px 0 20px !important;
margin: 0;
float: left;
}
.upper-content{
margin-left: 50px;
@@ -92,6 +89,14 @@ ion-menu{
margin: 0 auto;
padding: 0;
overflow: auto;
.label{
border-radius: 20px;
background: #ffb703;
float: right;
padding: 5px 13.5px 5px 13.5px;
color: #fff;
}
}
.location-detail{
@@ -188,4 +193,41 @@ ion-menu{
font-size: 13px;
}
}
}
.aside-right{
padding: 30px 20px 0 20px !important;
.arrow-right{
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
.arrow-right-icon{
width: 37px;
float: right;
font-size: 35px;
overflow: hidden;
}
}
.buttons{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.btn-ok, .btn-cancel, .btn-delete{
height: auto !important;
font-size: 16px !important;
font-weight: 600 !important;
width: 100% !important;
margin-bottom: 10px !important;
padding: 15px !important;
}
}
.solid {
display: block;
width: 90%;
border-top: 1px solid #ebebeb;
margin: 0 auto !important;
margin-bottom: 10px !important;
}
}
+2
View File
@@ -15,6 +15,7 @@ import { EmptyChatPage } from 'src/app/shared/chat/empty-chat/empty-chat.page';
import { ContactsPage } from 'src/app/shared/chat/messages/contacts/contacts.page';
import { NewGroupPage } from 'src/app/shared/chat/new-group/new-group.page';
import { GroupContactsPage } from 'src/app/shared/chat/group-messages/group-contacts/group-contacts.page';
import { PipesModule } from 'src/app/pipes/pipes.module';
@NgModule({
imports: [
@@ -22,6 +23,7 @@ import { GroupContactsPage } from 'src/app/shared/chat/group-messages/group-cont
FormsModule,
IonicModule,
SharedModule,
PipesModule,
ChatPageRoutingModule,
RouterModule,
],
+4 -6
View File
@@ -33,18 +33,17 @@ ion-content{
.main-content{
width: 100%;
height: 100%;
font-family: Roboto;
margin: 0 auto;
background-color: #fff;
border-top-left-radius: 25px;
border-top-right-radius: 25px;
overflow: auto;
.aside-wrapper{
padding: 0 !important;
margin: 0 !important;
padding: 30px 20px 0 20px !important;
}
.iconschatnew-group{
@@ -109,8 +108,7 @@ ion-content{
.aside-wrapper{
width: 40%;
padding: 30px 20px 0 20px !important;
width: 35%;
border-right: 1px solid #d8d8d8;
.aside-title{
font-size: 25px;
@@ -120,7 +118,7 @@ ion-content{
width: 340px;
} */
.aside-content{
width: 60%;
width: 65%;
display: flex !important;
background-color: white;
}
+1 -1
View File
@@ -136,7 +136,7 @@ export class ChatPage implements OnInit {
this.closeAllDesktopComponents();
if( window.innerWidth <= 1024){
//this.selectContact();
this.selectContact();
}
else{
console.log('here');
@@ -36,7 +36,7 @@
<div class="members-checkbox">
<ion-checkbox checked color="primary"></ion-checkbox>
<p>{{user.name}}</p>
<ion-icon name="ellipse"></ion-icon>
<ion-icon class="{{user.status}}" name="ellipse"></ion-icon>
</div>
</ion-list>
</div>
@@ -50,7 +50,7 @@
<div *virtualItem="let user" class="item-checkbox">
<ion-checkbox (ionChange)="selectedContact(user)" color="primary"></ion-checkbox>
<p>{{user.name}}</p>
<ion-icon name="ellipse"></ion-icon>
<ion-icon class="{{user.status}}" name="ellipse"></ion-icon>
</div>
</ion-virtual-scroll>
@@ -136,6 +136,21 @@
color:#99e47b;
margin-left: 10px;
}
.online{
color:#99e47b !important;
}
.offline{
color:#cbced1 !important;
}
.away{
color:#ffd21f !important;
}
.invisible{
color:#cbced1 !important;
}
.busy{
color:#f5455c !important;
}
}
@@ -50,7 +50,7 @@
</div>
</div>
</ion-content>
<!-- </ion-content>
<ion-footer>
<ion-toolbar>
<ion-row align-items-center class="row">
@@ -66,11 +66,27 @@
</ion-item>
</ion-col>
<ion-col size="2">
<!-- [disabled]="message === ''" -->
<ion-label>
<ion-icon (click)="sendMessage()" class="chat-icon-send" src="assets/icon/icons-chat-send.svg"></ion-icon>
</ion-label>
</ion-col>
</ion-row>
</ion-toolbar>
</ion-footer> -->
<ion-footer>
<div class="container width-100 d-flex">
<div>
<ion-icon (click)="openChatOptions()" class="chat-icon-options" src="assets/icon/icons-chat-options.svg"></ion-icon>
</div>
<div class="width-80">
<ion-item class="ion-no-padding type-message" lines="none">
<ion-textarea clearOnEdit="true" placeholder="Escrever uma mensagem" auto-grow class="message-input" rows="1" [(ngModel)]="message"></ion-textarea>
<ion-icon slot="end" src="assets/icon/icons-chat-mic.svg"></ion-icon>
</ion-item>
</div>
<div>
<ion-icon (click)="sendMessage()" class="chat-icon-send" src="assets/icon/icons-chat-send.svg"></ion-icon>
</div>
</div>
</ion-footer>
@@ -137,38 +137,57 @@
float: right;
}
}
.online{
color:#99e47b !important;
}
.offline{
color:#cbced1 !important;
}
.away{
color:#ffd21f !important;
}
.invisible{
color:#cbced1 !important;
}
.busy{
color:#f5455c !important;
}
}
ion-footer{
.row{
width: 380px;
margin: 0 auto;
}
padding-top: 7.5px;
padding-bottom: 7.5px;
.container{
justify-content: center;
justify-content: space-evenly;
}
.chat-icon-options{
display:block !important;
font-size: 25px;
float: right !important;
margin-top: 10px;
}
.chat-icon-options{
display:block !important;
font-size: 25px;
float: right !important;
margin-top: 10px;
}
.chat-icon-send{
font-size: 45px;
margin: 0 auto;
margin-top: 4px;
}
.chat-icon-send{
font-size: 45px;
margin: 0 auto;
margin-top: 4px;
}
.type-message{
display: flex;
border: 1px solid #ebebeb;
border-radius: 25px;
padding-left: 15px;
align-items: center;
overflow: auto;
display: flex;
border: 1px solid #ebebeb;
border-radius: 25px;
padding-left: 15px;
align-items: center;
overflow: auto;
ion-textarea{
margin: 0 !important;
align-self: center;
}
}
}
ion-textarea{
margin: 0 !important;
align-self: center;
}
}
}
+19 -2
View File
@@ -44,7 +44,8 @@
</div>
</ion-content>
<ion-footer>
<!-- <ion-footer>
<ion-toolbar>
<ion-row align-items-center class="row">
<ion-col size="1">
@@ -59,11 +60,27 @@
</ion-item>
</ion-col>
<ion-col size="2">
<!-- [disabled]="message === ''" -->
<ion-label>
<ion-icon (click)="sendMessage()" class="chat-icon-send" src="assets/icon/icons-chat-send.svg"></ion-icon>
</ion-label>
</ion-col>
</ion-row>
</ion-toolbar>
</ion-footer> -->
<ion-footer>
<div class="container width-100 d-flex">
<div>
<ion-icon (click)="openChatOptions()" class="chat-icon-options" src="assets/icon/icons-chat-options.svg"></ion-icon>
</div>
<div class="width-70">
<ion-item class="ion-no-padding ion-no-margin type-message" lines="none">
<ion-textarea clearOnEdit="true" placeholder="Escrever uma mensagem" auto-grow class="message-input" rows="1" [(ngModel)]="message"></ion-textarea>
<ion-icon slot="end" src="assets/icon/icons-chat-mic.svg"></ion-icon>
</ion-item>
</div>
<div>
<ion-icon (click)="sendMessage()" class="chat-icon-send" src="assets/icon/icons-chat-send.svg"></ion-icon>
</div>
</div>
</ion-footer>
+36 -32
View File
@@ -150,39 +150,43 @@
}
ion-footer{
.row{
width: 380px;
margin: 0 auto;
}
.chat-icon-options{
display:block !important;
font-size: 25px;
float: right !important;
margin-top: 10px;
}
.chat-icon-send{
font-size: 45px;
margin: 0 auto;
margin-top: 4px;
}
.type-message{
display: flex;
border: 1px solid #ebebeb;
border-radius: 25px;
padding-left: 15px;
align-items: center;
overflow: auto;
ion-textarea{
margin: 0 !important;
align-self: center;
}
}
padding-top: 7.5px;
padding-bottom: 7.5px;
.container{
justify-content: center;
justify-content: space-evenly;
}
.chat-icon-options{
display:block !important;
font-size: 25px;
float: right !important;
margin-top: 10px;
}
.chat-icon-send{
font-size: 45px;
margin: 0 auto;
margin-top: 4px;
}
.type-message{
display: flex;
border: 1px solid #ebebeb;
border-radius: 25px;
padding-left: 15px;
align-items: center;
overflow: auto;
ion-textarea{
margin: 0 !important;
align-self: center;
overflow: auto;
}
}
}
.text-color-blue{
font-size: 15px;
+14 -4
View File
@@ -261,6 +261,12 @@ export class EventsPage implements OnInit {
}
async viewEventDetail(eventId:any) {
let classs;
if( window.innerWidth <= 800){
classs = 'modal'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
console.log(this.profile);
const modal = await this.modalController.create({
@@ -269,8 +275,7 @@ export class EventsPage implements OnInit {
eventId: eventId,
profile: this.profile,
},
cssClass: 'modal',
backdropDismiss: false
cssClass: classs,
});
await modal.present();
modal.onDidDismiss().then((res)=>{
@@ -282,6 +287,12 @@ export class EventsPage implements OnInit {
}
async viewExpedientDetail(serialNumber:any) {
let classs;
if( window.innerWidth <= 800){
classs = 'modal'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
/* console.log(this.profile);
console.log(serialNumber); */
@@ -291,8 +302,7 @@ export class EventsPage implements OnInit {
serialNumber: serialNumber,
profile: this.profile,
},
cssClass: 'modal',
backdropDismiss: false
cssClass: classs,
});
await modal.present();
modal.onDidDismiss().then((res)=>{
@@ -1,194 +1,198 @@
<ion-header class="ion-no-border">
<!-- <ion-header class="ion-no-border">
<div class="header-content">
<div class="header-title">
<label>Convocar Reunião</label>
</div>
</div>
</ion-header>
</ion-header> -->
<ion-content>
<div class="ion-item-container">
<ion-input placeholder="Assunto" [(ngModel)]="postData.Subject"></ion-input>
</div>
<div class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-location.svg"></ion-icon>
<ion-content class="height-100">
<div class="main-content d-flex height-100">
<div class="content d-flex flex-column width-100">
<div class="header-content">
<div class="header-title">
<label>Convocar Reunião</label>
</div>
</div>
<div class="ion-input-class">
<ion-input placeholder="Localização" [(ngModel)]="postData.Location"></ion-input>
<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>
<div class="ion-input-class">
<ion-input placeholder="Localização" [(ngModel)]="postData.Location"></ion-input>
</div>
</div>
<!-- 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>
<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>
<!-- 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 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 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-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">
<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-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>
</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-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-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>
</div>
</div>
</div>
<div class="ion-input-class">
<ion-input [(ngModel)]="postData.Body.Text" placeholder="Detalhes"></ion-input>
<div class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-description.svg"></ion-icon>
</div>
<div class="ion-input-class">
<ion-input [(ngModel)]="postData.Body.Text" placeholder="Detalhes"></ion-input>
</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>
</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>
</ion-content>
<ion-footer>
<ion-toolbar>
<ion-item lines="none">
<p>
<ion-button class="button-cancel" shape="round" (click)="cancelTask()">Cancelar</ion-button>
</p>
<p>
<ion-button class="button-save" shape="round" (click)="saveTask()">Gravar</ion-button>
</p>
</ion-item>
</ion-toolbar>
<div class="buttons">
<button class="btn-cancel" shape="round" (click)="cancelTask()">Cancelar</button>
<button class="btn-ok" shape="round" (click)="saveTask()">Gravar</button>
</div>
</ion-footer>
@@ -1,111 +1,106 @@
.header-content{
width: 360px;
overflow: auto;
margin: 25px auto;
}
.header-title{
width: 264px;
font-family: Roboto;
font-size: 25px;
margin: 0 5px 0 5px;
padding: 0;
color:#000;
float: left;
}
ion-content{
--padding-top: 0px;
--padding-start: 15px;
--padding-end: 20px;
}
.ion-item-container{
width: 360px;
margin: 15px auto;
border: 1px solid #ebebeb;
border-radius: 5px;
padding-left: 10px;
}
.ion-item-container-no-border{
width: 100%;
margin: 0px auto;
padding: 0 !important;
overflow: auto;
}
.container-div{
margin-bottom: 15px;
overflow: auto;
}
.ion-item-class-2{
width: 360px;
margin: 0px auto;
}
.ion-icon-class{
width: 45px;
height: 45px;
float: left;
padding: 10px;
font-size: 25px;
}
ion-select{
padding-left: 5px;
margin-left: 0;
}
.ion-input-class{
width: 315px;
height: 45px;
border: 1px solid #ebebeb;
border-radius: 5px;
padding-left: 5px;
padding-right: 10px;
float: left;
}
.ion-input-class-no-height{
border: 1px solid #ebebeb;
border-radius: 5px;
overflow: auto;
}
.list-people{
width: 256px;
.content{
padding: 30px 20px 0 20px !important;
margin: 0;
float: left;
}
.add-people{
width: 45px;
.header-content{
overflow: auto;
}
.header-title{
font-family: Roboto;
font-size: 25px;
padding: 0;
color:#000;
float: left;
}
.ion-item-container{
margin: 15px auto;
border: 1px solid #ebebeb;
border-radius: 5px;
padding-left: 10px;
}
.ion-item-container-no-border{
margin: 0px auto;
padding: 0 !important;
overflow: auto;
}
.container-div{
margin-bottom: 15px;
overflow: hidden;
}
.ion-item-class-2{
margin: 0px auto;
}
.ion-icon-class{
width: 45px;
height: 45px;
float: left;
padding: 10px;
font-size: 25px;
}
ion-select{
padding-left: 5px;
margin-left: 0;
}
.ion-input-class{
width: calc(100% - 45px);
height: 45px;
border: 1px solid #ebebeb;
border-radius: 5px;
padding-left: 5px;
padding-right: 10px;
float: left;
}
.ion-input-class-no-height{
border: 1px solid #ebebeb;
border-radius: 5px;
overflow: auto;
}
.list-people{
width: 256px;
float: left;
}
.add-people{
width: 45px;
float: right;
overflow: auto;
font-size: 25px;
padding: 10px;
}
.list-people-title{
/* font-size: 13px; */
color: #797979;
}
.attach-document{
font-size: 15px;
color: #0d89d1;
margin: 5px 5px 5px 10px;
padding: 5px;
float: left;
}
.attach-icon{
width: 37px;
font-size: 35px;
float: left;
}
.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;
overflow: auto;
font-size: 25px;
padding: 10px;
}
.list-people-title{
/* font-size: 13px; */
color: #797979;
}
.attach-document{
font-size: 15px;
color: #0d89d1;
margin: 5px 5px 5px 10px;
padding: 5px;
float: left;
}
.attach-icon{
width: 37px;
font-size: 35px;
float: left;
}
.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;
font-size: 13px;
}
}
.container-footer{
margin:0 auto;
@@ -145,4 +140,10 @@ font-size: 13px;
}
.span-color{
color:red;
}
.buttons{
display: flex;
justify-content: space-between;
padding: 20px;
overflow: auto;
}
@@ -1,127 +1,126 @@
<ion-content>
<ion-item lines="none">
<ion-label class="title">{{modalTitle[taskType]}}</ion-label>
</ion-item>
<div class="ion-item-container">
<ion-input placeholder="Assunto" [(ngModel)]="postData.DispatchFolder.Subject"></ion-input>
</div>
<ion-content class="height-100">
<div class="main-content d-flex height-100">
<div class="content d-flex flex-column width-100">
<ion-item lines="none">
<ion-label class="title">{{modalTitle[taskType]}}</ion-label>
</ion-item>
<div class="ion-item-container width-100">
<ion-input placeholder="Assunto" [(ngModel)]="postData.DispatchFolder.Subject"></ion-input>
</div>
<div class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-description.svg"></ion-icon>
</div>
<div class="ion-input-class">
<ion-input class="add-border" placeholder="Descrição" [(ngModel)]="postData.DispatchFolder.Message"></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-select placeholder="Prazo" [(ngModel)]="postData.Priority" interface="action-sheet" Cancel-text="Cancelar" required>
<ion-select-option value="99999861">Normal</ion-select-option>
<ion-select-option value="99999862">Urgente</ion-select-option>
<ion-select-option value="99999863">Muito Urgente</ion-select-option>
<ion-select-option value="99999864">Urgentíssimo</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-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class">
<ion-select placeholder="Tipo" [(ngModel)]="postData.SubjectTypeId" interface="action-sheet" Cancel-text="Cancelar" required>
<ion-select-option *ngFor="let type of subjectTypes" value="{{type.Code}}">{{type.Description}}</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 width-100">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-description.svg"></ion-icon>
</div>
<div class="ion-input-class">
<ion-input class="add-border" placeholder="Descrição" [(ngModel)]="postData.DispatchFolder.Message"></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 width-100">
<div class="ion-item-class-2 width-100">
<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 placeholder="Prazo" [(ngModel)]="postData.Priority" interface="action-sheet" Cancel-text="Cancelar" required>
<ion-select-option value="99999861">Normal</ion-select-option>
<ion-select-option value="99999862">Urgente</ion-select-option>
<ion-select-option value="99999863">Muito Urgente</ion-select-option>
<ion-select-option value="99999864">Urgentíssimo</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-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class">
<ion-select placeholder="Tipo" [(ngModel)]="postData.SubjectTypeId" interface="action-sheet" Cancel-text="Cancelar" required>
<ion-select-option *ngFor="let type of subjectTypes" value="{{type.Code}}">{{type.Description}}</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>
</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>
</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>
</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>
</ion-content>
<ion-footer>
<ion-toolbar>
<ion-item lines="none">
<p>
<ion-button class="button-cancel" shape="round" (click)="cancelTask()">Cancelar</ion-button>
</p>
<p>
<ion-button class="button-save" shape="round" (click)="saveTask()">Gravar</ion-button>
</p>
</ion-item>
</ion-toolbar>
<div class="buttons">
<button class="btn-cancel" shape="round" (click)="cancelTask()">Cancelar</button>
<button class="btn-ok" shape="round" (click)="saveTask()">Gravar</button>
</div>
</ion-footer>
@@ -1,111 +1,112 @@
ion-content{
--padding-top: 20px;
--padding-start: 15px;
--padding-end: 20px;
}
.title{
font-family: Roboto;
font-size: 25px;
font-weight: normal;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: #000000;
margin: 8px 0 8px 0px;
}
.container-div{
margin-bottom: 15px;
overflow: auto;
}
.ion-item-container{
width: 360px;
margin: 15px auto;
border: 1px solid #ebebeb;
border-radius: 5px;
padding-left: 5px;
}
.ion-item-container-no-border{
width: 360px;
margin: 15px auto;
}
.ion-item-class-2{
width: 360px;
margin: 0px auto;
}
.ion-icon-class{
width: 45px;
height: 45px;
float: left;
padding: 10px;
font-size: 25px;
}
ion-select{
padding-left: 5px;
margin-left: 0;
}
.ion-input-class{
width: 315px;
height: 45px;
border: 1px solid #ebebeb;
border-radius: 5px;
padding-left: 5px;
padding-right: 10px;
float: left;
}
.ion-input-class-no-height{
border: 1px solid #ebebeb;
border-radius: 5px;
overflow: auto;
}
.list-people{
width: 256px;
.content{
padding: 30px 20px 0 20px !important;
margin: 0;
float: left;
}
.add-people{
width: 45px;
.title{
font-family: Roboto;
font-size: 25px;
font-weight: normal;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: #000000;
//margin: 8px 0 8px 0px;
}
.container-div{
margin-bottom: 15px;
overflow: auto;
}
.ion-item-container{
//width: 360px;
margin: 15px auto;
border: 1px solid #ebebeb;
border-radius: 5px;
padding-left: 5px;
}
.ion-item-container-no-border{
//width: 360px;
//margin: 15px auto;
}
.ion-item-class-2{
//width: 360px;
margin: 0px auto;
overflow: auto;
}
.ion-icon-class{
width: 45px;
height: 45px;
float: left;
padding: 10px;
font-size: 25px;
}
ion-select{
padding-left: 5px;
margin-left: 0;
}
.ion-input-class{
width: calc(100% - 45px);
height: 45px;
border: 1px solid #ebebeb;
border-radius: 5px;
padding-left: 5px;
padding-right: 10px;
float: left;
}
.ion-input-class-no-height{
border: 1px solid #ebebeb;
border-radius: 5px;
overflow: auto;
}
.list-people{
width: 256px;
float: left;
}
.add-people{
width: 45px;
float: right;
overflow: auto;
font-size: 25px;
padding: 10px;
}
.list-people-title{
/* font-size: 13px; */
color: #797979;
}
.attach-document{
font-size: 15px;
color: #0d89d1;
}
.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;
overflow: auto;
font-size: 25px;
padding: 10px;
}
.list-people-title{
/* font-size: 13px; */
color: #797979;
}
.attach-document{
font-size: 15px;
color: #0d89d1;
}
.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;
font-size: 13px;
}
}
.container-footer{
margin:0 auto;
overflow: auto;
}
.button-cancel {
width: 170px;
height: 44px;
border-radius: 22.5px;
--background: #e0e9ee;
--color: #061b52;
margin:10px;
}
margin:0 auto;
overflow: auto;
.button-cancel {
width: 170px;
height: 44px;
border-radius: 22.5px;
--background: #e0e9ee;
--color: #061b52;
margin:10px;
}
.button-save {
width: 170px;
height: 44px;
@@ -113,4 +114,11 @@ font-size: 13px;
--background: #42b9fe;
--color:#ffffff;
margin:10px;
}
}
}
.buttons{
display: flex;
justify-content: space-between;
padding: 20px;
overflow: auto;
}
@@ -58,7 +58,6 @@
<ion-content class="height-100">
<div class="main-content d-flex height-100">
<div class="content d-flex flex-column" *ngIf="task">
<div class="main-header">
<div class="title-content">
<app-btn-modal-dismiss></app-btn-modal-dismiss>
@@ -148,17 +147,17 @@
</div>
<div class="aside-right flex-column height-100">
<div class="buttons">
<button full class="btn-ok" shape="round" >Efectuar dispacho</button>
<button class="btn-cancel" shape="round" >Descartar</button>
<button (click)="openExpedientActionsModal('0',fulltask)" class="btn-ok" shape="round" >Efectuar Despacho</button>
<button (click)="discartExpedient()" class="btn-cancel" shape="round" >Descartar</button>
<div class="solid"></div>
<button full class="btn-cancel" shape="round" >Solicitar</button>
<button class="btn-cancel" shape="round" >Pedido de Deferimento</button>
<button full class="btn-cancel" shape="round" >Marcar Reunião</button>
<button (click)="openExpedientActionsModal('1',fulltask)" class="btn-cancel" shape="round" >Solicitar Parecer</button>
<button (click)="openExpedientActionsModal('2',fulltask)" class="btn-cancel" shape="round" >Pedido de Deferimento</button>
<button (click)="openBookMeetingModal(task)" class="btn-cancel" shape="round" >Marcar Reunião</button>
<button class="btn-cancel" shape="round" >Enviar para Pendentes</button>
<div class="solid"></div>
<button class="btn-cancel" shape="round" >Executar</button>
<button full class="btn-cancel" shape="round" >Delegar</button>
<button class="btn-cancel" shape="round" >Enviar para Pendentes</button>
<button class="btn-cancel" shape="round" >Delegar</button>
<button class="btn-cancel" shape="round" >Arquivar</button>
</div>
</div>
@@ -19,54 +19,52 @@
overflow:auto;
color:#000;
transform: translate3d(0, 1px, 0);
.header-top{
width: 360px;
margin: 0px auto;
overflow: auto;
padding: 0 !important;
background: #fff;
.middle{
padding: 0!important;
float: left;
width: 280px;
margin: 2.5px 0 0 5px;
display: flex;
align-items: center;
.header-top{
width: 360px;
margin: 0px auto;
overflow: auto;
padding: 0 !important;
background: #fff;
.middle{
padding: 0!important;
float: left;
width: 280px;
margin: 2.5px 0 0 5px;
display: flex;
align-items: center;
}
.right{
padding: 0!important;
float: right;
font-size: 25px;
color: #0782c9;
margin: 5px 0 0 0;
}
}
.header-bottom{
width: 310px;
overflow: auto;
margin: 0 auto;
.right{
padding: 0!important;
float: right;
font-size: 25px;
color: #0782c9;
margin: 5px 0 0 0;
}
}
.header-bottom{
width: 310px;
overflow: auto;
margin: 0 auto;
.header-bottom-icon{
width: 30px;
font-size: 25px;
float: left;
padding: 2px;
}
.header-bottom-contacts{
width: 275px;
font-size: 15px;
color: #797979;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
float: left;
.header-bottom-icon{
width: 30px;
font-size: 25px;
float: left;
padding: 2px;
}
.header-bottom-contacts{
width: 275px;
font-size: 15px;
color: #797979;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
float: left;
padding: 5px;
margin: 1px;
}
margin: 1px;
}
}
.title{
font-size: 25px;
@@ -197,24 +195,42 @@ ion-button{
}
}
@media only screen and (max-width: 1023px) {
@media only screen and (max-width: 800px) {
.content{
width: 100%;
width: 100% !important;
}
.aside-right{
display: none;
}
}
@media only screen and (min-width: 1024px) {
@media only screen and (min-width: 801px) {
.div-icon{
display: none;
}
.content{
width: 75%;
width: 65%;
border-right: 1px solid #d8d8d8;
}
.aside-right{
width: 35%;
}
}
@media only screen and (min-width: 1024px){
.content{
width: 70%;
}
.aside-right{
width: 30%;
}
}
@media only screen and (min-width: 1140px){
.content{
width: 75%;
}
.aside-right{
width: 25%;
}
}
}
@@ -116,14 +116,19 @@ export class ExpedienteDetailPage implements OnInit {
}
async openExpedientActionsModal(taskAction: any, task: any) {
let classs;
if( window.innerWidth <= 800){
classs = 'modal'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
const modal = await this.modalController.create({
component: ExpedientTaskModalPage,
componentProps: {
taskAction: taskAction,
task: task,
},
cssClass: 'expedient-task-modal modal-desktop',
backdropDismiss: false
cssClass: classs,
});
await modal.present();
modal.onDidDismiss();
@@ -137,12 +142,18 @@ export class ExpedienteDetailPage implements OnInit {
}
async openBookMeetingModal(task: any) {
let classs;
if( window.innerWidth <= 800){
classs = 'book-meeting-modal'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
const modal = await this.modalController.create({
component: BookMeetingModalPage,
componentProps: {
task: task,
},
cssClass: 'book-meeting-modal modal-desktop',
cssClass: classs,
backdropDismiss: false
});
await modal.present();
@@ -136,7 +136,7 @@
}
.post-img{
width: 100%;
height: 400px;
//height: 400px;
margin: 0 auto;
border-radius: 0px!important;
overflow: hidden;
@@ -1,4 +1,4 @@
<ion-header hidden class="ion-no-border px-20">
<!-- <ion-header hidden class="ion-no-border px-20">
<div class="header-content d-flex justify-space-between">
<div class="header-icon-left">
<ion-icon (click)="close()" src="assets/images/icons-arrow-arrow-left.svg"></ion-icon>
@@ -10,7 +10,7 @@
<ion-icon (click)="notImplemented()" src="assets/images/icons-edit.svg"></ion-icon>
</div>
</div>
</ion-header>
</ion-header> -->
<ion-menu autoHide="false" side="end" content-id="main-content">
<ion-header>
<ion-toolbar translucent>
@@ -75,7 +75,7 @@
<h5>Detalhes</h5>
<ion-item class="ion-no-margin ion-no-padding">
<ion-label>
<p>{{loadedEvent.workflowInstanceDataFields.Body}}</p>
<p [innerHTML]="loadedEvent.workflowInstanceDataFields.Body"></p>
</ion-label>
</ion-item>
</div>
@@ -95,10 +95,10 @@
<div *ngIf="showAside" class="aside-right flex-column height-100">
<div class="aside-buttons">
<button full class="btn-ok" shape="round" >Editar evento</button>
<button full class="btn-ok" shape="round" >Aprovar</button>
<button class="btn-cancel" shape="round" >Emendar</button>
<button (click)="approveTask(loadedEvent.serialNumber)" full class="btn-ok" shape="round" >Aprovar</button>
<button (click)="emendTask(loadedEvent.serialNumber)" class="btn-cancel" shape="round" >Emendar</button>
<div class="solid"></div>
<button full class="btn-delete" shape="round" >Rejeitar</button>
<button (click)="rejectTask(loadedEvent.serialNumber)" full class="btn-delete" shape="round" >Rejeitar</button>
</div>
</div>
</div>
@@ -32,6 +32,7 @@
padding: 30px 20px 0 20px !important;
overflow: auto;
width: 100%;
border-right: 1px solid #d8d8d8;
.upper-content{
margin-left: 40px;
@@ -1,21 +1,10 @@
<ion-header class="ion-no-border px-20">
<ion-header class="ion-no-border">
<div class="header-content">
<div class="header-icon-left">
<ion-icon (click)="close()" src="assets/images/icons-arrow-arrow-left.svg"></ion-icon>
</div>
<div class="header-title">
<label>Eventos para Aprovação</label>
</div>
<!-- <ion-toolbar>
<ion-buttons slot="start">
<ion-back-button (click) ="close()"></ion-back-button>
</ion-buttons>
<ion-icon (click)="close()" src="assets/images/icons-arrow-arrow-left.svg"></ion-icon>
<ion-title>Eventos para Aprovação</ion-title>
</ion-toolbar> -->
<ion-toolbar>
<ion-segment [(ngModel)]="segment">
<ion-segment [(ngModel)]="profile">
<ion-segment-button value="MDGPR">
Seu calendário
</ion-segment-button>
@@ -33,48 +22,47 @@
<ion-refresher-content>
</ion-refresher-content>
</ion-refresher>
<div [ngSwitch]="segment">
<ion-list *ngSwitchCase="'MDGPR'">
<div *ngIf="eventsMDGPRList">
<ion-list>
<ion-item-sliding>
<ion-item class="Rectangle" lines="none"
*ngFor="let event of eventsMDGPRList" (click)="openApproveModal(event.serialNumber, event)">
<div class="content-mdgpr-{{event.workflowInstanceDataFields.Agenda}}">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'hh:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'hh:mm'}}</p>
</div>
<div class="approve-event-detail">
<p *ngIf="event.workflowInstanceDataFields.StartDate != event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} - {{ event.workflowInstanceDataFields.EndDate | date: 'dd/M/yy'}} | {{event.workflowInstanceDataFields.Location}}</p>
<p *ngIf="event.workflowInstanceDataFields.StartDate == event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} | {{event.workflowInstanceDataFields.Location}}</p>
<h3>{{event.workflowInstanceDataFields.Subject}}</h3>
</div>
</div>
</ion-item>
</ion-item-sliding>
</ion-list>
</div>
</ion-list>
<ion-list *ngSwitchCase="'PR'">
<div *ngIf="eventsPRList">
<ion-item-sliding>
<ion-item class="Rectangle width-100" lines="none"
*ngFor="let event of eventsPRList" (click)="openApproveModal(event.serialNumber)">
<div class="content-pr-{{event.workflowInstanceDataFields.Agenda}}">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'hh:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'hh:mm'}}</p>
</div>
<div class="approve-event-detail">
<p *ngIf="event.workflowInstanceDataFields.StartDate != event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} - {{ event.workflowInstanceDataFields.EndDate | date: 'dd/M/yy'}} | {{event.workflowInstanceDataFields.Location}}</p>
<p *ngIf="event.workflowInstanceDataFields.StartDate == event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} | {{event.workflowInstanceDataFields.Location}}</p>
<h3>{{event.workflowInstanceDataFields.Subject}}</h3>
</div>
</div>
</ion-item>
</ion-item-sliding>
</div>
</ion-list>
</div>
<div class="main-content" [ngSwitch]="profile" *ngIf="eventsMDGPRList">
<!-- <div class="header-content width-100"> -->
<!-- </div> -->
<ion-list class="width-100" *ngSwitchCase="'MDGPR'" >
<ion-item
class="item ion-no-padding width-100"
*ngFor="let event of eventsMDGPRList"
(click)="openApproveModal(event.serialNumber)">
<div class="event-mdgpr-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'hh:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'hh:mm'}}</p>
</div>
<div class="approve-event-detail">
<p *ngIf="event.workflowInstanceDataFields.StartDate != event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} - {{ event.workflowInstanceDataFields.EndDate | date: 'dd/M/yy'}} | {{event.workflowInstanceDataFields.Location}}</p>
<p *ngIf="event.workflowInstanceDataFields.StartDate == event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} | {{event.workflowInstanceDataFields.Location}}</p>
<h3>{{event.workflowInstanceDataFields.Subject}}</h3>
</div>
</div>
</ion-item>
</ion-list>
<ion-list class="width-100" *ngSwitchCase="'PR'">
<div class="width-100" *ngIf="eventsPRList">
<ion-item
class=" ion-no-padding width-100"
*ngFor="let event of eventsPRList"
(click)="openApproveModal(event.serialNumber)">
<div class="item event-pr-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'hh:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'hh:mm'}}</p>
</div>
<div class="approve-event-detail">
<p *ngIf="event.workflowInstanceDataFields.StartDate != event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} - {{ event.workflowInstanceDataFields.EndDate | date: 'dd/M/yy'}} | {{event.workflowInstanceDataFields.Location}}</p>
<p *ngIf="event.workflowInstanceDataFields.StartDate == event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} | {{event.workflowInstanceDataFields.Location}}</p>
<h3>{{event.workflowInstanceDataFields.Subject}}</h3>
</div>
</div>
</ion-item>
</div>
</ion-list>
</div>
</ion-content>
@@ -1,7 +1,10 @@
:host{
padding: 30px 20px 0 20px !important;
margin: 0;
}
.header-content{
overflow: auto;
margin: 0 auto;
padding-top: 25px;
}
.header-icon-left{
font-size: 33px;
@@ -9,89 +12,85 @@
float: left;
}
.header-title{
font-family: Roboto;
font-size: 25px;
margin: 0 5px 0 5px;
padding: 0;
color:#000;
float: left;
}
ion-item-sliding{
margin-top: 5px;
}
.Rectangle {
border-radius: 15px;
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.07);
border: solid 1px #e9e9e9;
background-color: var(--white);
padding: 10px;
margin-bottom: 10px;
overflow: auto;
}
.content-mdgpr-Oficial{
border-radius: 5px;
border-right: 5px solid #99e47b;
overflow: auto;
}
.content-mdgpr-Pessoal{
border-radius: 5px;
border-right: 5px solid #958bfc;
overflow: auto;
}
.content-pr-Oficial{
border-radius: 5px;
border-right: 5px solid #ffb703;
overflow: auto;
}
.content-pr-Pessoal{
border-radius: 5px;
border-right: 5px solid #f05d5e;
overflow: auto;
}
.approve-event-time{
float: left;
}
.approve-event-time p{
width: 33px;
font-family: Roboto;
font-size: 13px;
font-weight: normal;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: var(--Antartic-grey);
margin: 0;
padding: 0;
}
.approve-event-detail{
float: left;
margin-left: 10px;
}
.approve-event-detail p{
font-family: Roboto;
font-size: 13px;
font-weight: normal;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: var(--black);
margin: 0;
padding: 0;
}
.approve-event-detail h3{
font-family: Roboto;
font-size: 15px;
font-weight: bold;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: #0d89d1;
margin: 0;
padding: 0;
}
.main-content{
margin-top: 20px;
.item{
--inner-padding-end: 0 !important;
--inner-padding-top: 10px;
--inner-padding-bottom:10px;
}
.event-pr-Oficial{
background-color: var(--white);
border-radius: 5px;
border-right: 5px solid #99e47b;
overflow: auto;
}
.event-pr-Pessoal{
background-color: var(--white);
border-radius: 5px;
border-right: 5px solid #958bfc;
overflow: auto;
}
.event-mdgpr-Oficial{
border-radius: 5px;
border-right: 5px solid #ffb703;
overflow: auto;
}
.event-mdgpr-Pessoal{
border-radius: 5px;
border-right: 5px solid #f05d5e;
overflow: auto;
}
.approve-event-time{
float: left;
}
.approve-event-time p{
width: 33px;
font-family: Roboto;
font-size: 13px;
font-weight: normal;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: var(--Antartic-grey);
margin: 0;
padding-bottom: 10px;
}
.approve-event-detail{
float: left;
margin-left: 10px;
}
.approve-event-detail p{
//width: 250px;
font-family: Roboto;
font-size: 13px;
font-weight: normal;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: var(--black);
margin: 0;
padding-bottom: 10px;
}
.approve-event-detail h3{
width: 250px;
font-family: Roboto;
font-size: 15px;
font-weight: bold;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: #0d89d1;
margin: 0;
padding: 0;
}
}
@@ -22,7 +22,7 @@ export class EventListComponent implements OnInit {
categories: string[];
serialnumber:string;
@Input() segment:string;
@Input() profile:string;
@Output() cloneAllmobileComponent = new EventEmitter<any>();
@Output() approveEventDismiss = new EventEmitter<any>();
@@ -36,7 +36,7 @@ export class EventListComponent implements OnInit {
ngOnInit() {
console.log(this.segment);
console.log(this.profile);
this.LoadToApproveEvents();
this.router.events.forEach((event) => {
@@ -19,26 +19,26 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content class="width-100">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
<ion-refresher-content>
</ion-refresher-content>
</ion-refresher>
<div class="main-content">
<div *ngIf="members">
<div class="main-content width-100">
<div class="members" *ngIf="members">
<ion-label class="members-label">Contactos selecção:</ion-label>
<ion-list class="members-list" *ngFor="let user of members">
<div class="members-checkbox">
<ion-checkbox checked color="primary"></ion-checkbox>
<p>{{user.name}}</p>
<ion-icon name="ellipse"></ion-icon>
<ion-icon class="{{user.status}}" name="ellipse"></ion-icon>
</div>
</ion-list>
</div>
<ion-virtual-scroll [items]="users" approxItemHeight="70px" [headerFn]="separateLetter">
<ion-virtual-scroll [items]="users | filter:textSearch: 'name'" approxItemHeight="70px" [headerFn]="separateLetter">
<div class="item-divider" *virtualHeader="let header">
<ion-label>{{header}}</ion-label>
@@ -47,7 +47,7 @@
<div *virtualItem="let user" class="item-checkbox">
<ion-checkbox (ionChange)="selectedContact(user)" color="primary"></ion-checkbox>
<ion-label>{{user.name}}</ion-label>
<div class="icon"><ion-icon name="ellipse"></ion-icon></div>
<div class="icon"><ion-icon class="{{user.status}}" name="ellipse"></ion-icon></div>
</div>
</ion-virtual-scroll>
@@ -73,7 +73,7 @@
}
.main-content{
width: 100%;
//width: 100%;
height: 100%;
font-family: Roboto;
margin: 0 auto;
@@ -81,15 +81,24 @@
padding: 0 0 0 0;
overflow:auto;
.members{
padding: 15px 20px 0 20px !important;
.members-list{
margin: 0 !important;
padding: 0 !important;
}
}
.members-label{
margin: 10px 20px 10px 20px !important;
//margin: 10px 20px 10px 20px !important;
/* font-size: 15px; */
font-weight: bold;
}
.members-checkbox{
display: flex;
margin: .5px 20px .5px 20px !important;
//margin: 0px 20px 0px 20px !important;
overflow: auto;
align-items: center;
@@ -124,8 +133,22 @@
}
.icon, .members-checkbox ion-icon{
font-size: 10px;
color:#99e47b;
}
.online{
color:#99e47b !important;
}
.offline{
color:#cbced1 !important;
}
.away{
color:#ffd21f !important;
}
.invisible{
color:#cbced1 !important;
}
.busy{
color:#f5455c !important;
}
}
@@ -56,18 +56,46 @@ export class GroupContactsPage implements OnInit {
ngOnInit() {
//this.getRoomInfo();
this.loadUsers();
//this.loadUsers();
console.log(this.roomId);
this.getChatInfo();
//console.log(this.isGroupCreated);
}
getChatInfo(){
console.log('HERE');
this.chatService.getRoomInfo(this.roomId).subscribe(room=>{
console.log('HERE 2');
console.log(room['room']);
this.getGroupContacts(room['room']);
});
}
getGroupContacts(room:any){
this.showLoader = true;
if(room.t === 'p'){
this.chatService.getGroupMembers(this.roomId).subscribe(res=>{
this.members = res['members'];
this.loadUsers1(this.members);
this.showLoader = false;
});
}
else{
this.chatService.getChannelMembers(this.roomId).subscribe(res=>{
this.members = res['members'];
this.loadUsers1(this.members);
this.showLoader = false;
});
}
}
updateGroup(){
this.showLoader = true;
this.chatService.getRoomInfo(this.roomId).subscribe(room=>{
this.room = room['room'];
this.addContacts(this.room);
this.showLoader = false;
this.openGroupMessage.emit(this.room._id)
this.openGroupMessage.emit(this.room._id);
});
}
openGroupMessagesPage(){
@@ -76,11 +104,44 @@ export class GroupContactsPage implements OnInit {
this.showLoader = false;
}
loadUsers1(members:any){
this.options = {
headers: this.headers,
};
this.chatService.getAllUsers().subscribe((res:any)=>{
if(members){
this.contacts = res.users.filter(f => !this.members.some(item => item._id === f._id));
}
else{
this.contacts = res.users.filter(data => data.username != this.loggedUser.me.username);
}
this.users = this.contacts.sort((a,b) => {
if(a.name < b.name){
return -1;
}
if(a.name > b.name){
return 1;
}
return 0;
});
console.log(this.users);
this.showLoader = false;
});
}
loadUsers(){
this.options = {
headers: this.headers,
};
this.chatService.getAllUsers().subscribe((res:any)=>{
if(this.members){
this.contacts = res.users.filter(f => !this.members.some(item => item._id === f._id));
}
@@ -146,16 +207,16 @@ export class GroupContactsPage implements OnInit {
onChange(event){
this.textSearch = event.detail.value;
}
clicked(){
console.log('clicked');
}
selectedContact(user:any){
/* this.groupName = this.room.name; */
user.isChecked = !user.isChecked;
}
addContacts(room:any){
console.log(room);
this.selectedUserList = this.users.filter(function(contact) {
@@ -28,7 +28,7 @@
<div class="main-content">
<ion-virtual-scroll [items]="users" approxItemHeight="70px" [headerFn]="separateLetter">
<ion-virtual-scroll [items]="users| filter:textSearch: 'name'" approxItemHeight="70px" [headerFn]="separateLetter">
<div class="item-divider" *virtualHeader="let header">
<ion-label>{{header}}</ion-label>
@@ -42,8 +42,8 @@ export class ContactsPage implements OnInit {
ngOnInit() {
this.loadUsers();
}
onChange(event){
this.textSearch = event.detail.value;
}
@@ -70,6 +70,7 @@ export class ContactsPage implements OnInit {
};
this.chatService.getAllUsers().subscribe((res:any)=>{
console.log(res.users);
//this.contacts = res.users.filter(data => data.username != this.loggedUser.me.username);
this.contacts = res.users.filter(data => data.username != this.loggedUser.me.username);
this.users = this.contacts.sort((a,b) => {
if(a.name < b.name){
@@ -1,6 +1,6 @@
<ion-content>
<div class="title width-100">
<label>Sim Eventos para Aprovação</label>
<label>Eventos para Aprovação</label>
<ion-toolbar>
<ion-segment [(ngModel)]="segment">
<ion-segment-button value="MDGPR">
@@ -17,39 +17,35 @@
<ion-refresher-content>
</ion-refresher-content>
</ion-refresher>
<div [ngSwitch]="segment">
<div class="main-content" [ngSwitch]="segment" *ngIf="eventsMDGPRList">
<!-- <div class="header-content width-100"> -->
<!-- </div> -->
<ion-list class="width-100" *ngSwitchCase="'MDGPR'">
<div class="width-100" *ngIf="eventsMDGPRList">
<ion-list>
<ion-item-sliding>
<ion-item class="Rectangle width-100" lines="none"
*ngFor="let event of eventsMDGPRList" (click)="openApproveModal(event.serialNumber)">
<div class="content-mdgpr-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'hh:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'hh:mm'}}</p>
</div>
<div class="approve-event-detail">
<p *ngIf="event.workflowInstanceDataFields.StartDate != event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} - {{ event.workflowInstanceDataFields.EndDate | date: 'dd/M/yy'}} | {{event.workflowInstanceDataFields.Location}}</p>
<p *ngIf="event.workflowInstanceDataFields.StartDate == event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} | {{event.workflowInstanceDataFields.Location}}</p>
<h3>{{event.workflowInstanceDataFields.Subject}}</h3>
</div>
<ion-list class="width-100" *ngSwitchCase="'MDGPR'" >
<ion-item
class="item ion-no-padding width-100"
*ngFor="let event of eventsMDGPRList"
(click)="openApproveModal(event.serialNumber)">
<div class="event-mdgpr-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'hh:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'hh:mm'}}</p>
</div>
</ion-item>
</ion-item-sliding>
</ion-list>
</div>
<div class="approve-event-detail">
<p *ngIf="event.workflowInstanceDataFields.StartDate != event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} - {{ event.workflowInstanceDataFields.EndDate | date: 'dd/M/yy'}} | {{event.workflowInstanceDataFields.Location}}</p>
<p *ngIf="event.workflowInstanceDataFields.StartDate == event.workflowInstanceDataFields.EndDate">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} | {{event.workflowInstanceDataFields.Location}}</p>
<h3>{{event.workflowInstanceDataFields.Subject}}</h3>
</div>
</div>
</ion-item>
</ion-list>
<ion-list *ngSwitchCase="'PR'">
<div *ngIf="eventsPRList">
<ion-item-sliding>
<ion-item class="Rectangle" lines="none"
*ngFor="let event of eventsPRList" (click)="openApproveModal(event.serialNumber)">
<div class="content-pr-{{event.workflowInstanceDataFields.Agenda}}">
<ion-list class="width-100" *ngSwitchCase="'PR'">
<div class="width-100" *ngIf="eventsPRList">
<ion-item
class=" ion-no-padding width-100"
*ngFor="let event of eventsPRList"
(click)="openApproveModal(event.serialNumber)">
<div class="item event-pr-{{event.workflowInstanceDataFields.Agenda}} width-100">
<div class="approve-event-time">
<p>{{event.workflowInstanceDataFields.StartDate | date: 'hh:mm'}}</p>
<p>{{event.workflowInstanceDataFields.EndDate | date: 'hh:mm'}}</p>
@@ -61,7 +57,6 @@
</div>
</div>
</ion-item>
</ion-item-sliding>
</div>
</ion-list>
</div>
@@ -11,82 +11,80 @@
ion-item-sliding{
margin-top: 5px;
}
.Rectangle {
//width: 360px;
border-radius: 15px;
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.07);
border: solid 1px #e9e9e9;
background-color: var(--white);
margin: 0 auto;
padding: 10px;
margin-bottom: 10px;
overflow: auto;
}
.content-mdgpr-Oficial{
border-radius: 5px;
border-right: 5px solid #99e47b;
overflow: auto;
}
.content-mdgpr-Pessoal{
border-radius: 5px;
border-right: 5px solid #958bfc;
overflow: auto;
}
.content-pr-Oficial{
border-radius: 5px;
border-right: 5px solid #ffb703;
overflow: auto;
}
.content-pr-Pessoal{
border-radius: 5px;
border-right: 5px solid #f05d5e;
overflow: auto;
}
.approve-event-time{
float: left;
}
.approve-event-time p{
width: 33px;
font-family: Roboto;
font-size: 13px;
font-weight: normal;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: var(--Antartic-grey);
margin: 0;
padding-bottom: 10px;
}
.approve-event-detail{
float: left;
margin-left: 10px;
}
.approve-event-detail p{
//width: 250px;
font-family: Roboto;
font-size: 13px;
font-weight: normal;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: var(--black);
margin: 0;
padding-bottom: 10px;
}
.approve-event-detail h3{
width: 250px;
font-family: Roboto;
font-size: 15px;
font-weight: bold;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: #0d89d1;
margin: 0;
padding: 0;
}
.main-content{
margin-top: 20px;
.item{
--inner-padding-end: 0 !important;
--inner-padding-top: 10px;
--inner-padding-bottom:10px;
}
.event-pr-Oficial{
background-color: var(--white);
border-radius: 5px;
border-right: 5px solid #99e47b;
overflow: auto;
}
.event-pr-Pessoal{
background-color: var(--white);
border-radius: 5px;
border-right: 5px solid #958bfc;
overflow: auto;
}
.event-mdgpr-Oficial{
border-radius: 5px;
border-right: 5px solid #ffb703;
overflow: auto;
}
.event-mdgpr-Pessoal{
border-radius: 5px;
border-right: 5px solid #f05d5e;
overflow: auto;
}
.approve-event-time{
float: left;
}
.approve-event-time p{
width: 33px;
font-family: Roboto;
font-size: 13px;
font-weight: normal;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: var(--Antartic-grey);
margin: 0;
padding-bottom: 10px;
}
.approve-event-detail{
float: left;
margin-left: 10px;
}
.approve-event-detail p{
//width: 250px;
font-family: Roboto;
font-size: 13px;
font-weight: normal;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: var(--black);
margin: 0;
padding-bottom: 10px;
}
.approve-event-detail h3{
width: 250px;
font-family: Roboto;
font-size: 15px;
font-weight: bold;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: #0d89d1;
margin: 0;
padding: 0;
}
}
@@ -75,10 +75,10 @@ export class ExpedientsPage implements OnInit {
console.log(this.profile);
let classs;
if( window.innerWidth <= 1024){
if( window.innerWidth <= 800){
classs = 'modal'
} else {
classs = 'gabinete-digital-mobile-modal-to-Desktop'
classs = 'modal modal-desktop'
}
const modal = await this.modalController.create({
@@ -88,7 +88,7 @@ export class ExpedientsPage implements OnInit {
serialNumber: serialNumber,
profile: this.profile,
},
cssClass: 'modal modal-desktop',
cssClass: classs,
});
await modal.present();
modal.onDidDismiss().then((res)=>{
@@ -31,7 +31,7 @@
<div class="post-item d-md-block mb-10"
*ngFor="let publication of publicationList"
(click)="viewPublicationDetail(publication.DocumentId)">
<div *ngIf="publication.FileBase64.length > 30" class="mb-10 post-img width-md-100 height-lg-unset">
<div *ngIf="publication.FileBase64.length > 30" class="mb-10 post-img width-md-100">
<img src="{{publication.FileBase64}}" alt="image">
</div>
<div *ngIf="publication.FileBase64.length < 30" class="mb-10 post-img">
@@ -131,11 +131,10 @@
padding: 0!important;
}
.post-img{
width: 100%;
height: 400px;
border-radius: 0px!important;
overflow: hidden;
width: 100%;
height: 56.25vh !important;
border-radius: 0px!important;
overflow: hidden;
}
.post-img img{
width: 100%;