mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-20 05:16:07 +00:00
Merge branch 'developer' of https://bitbucket.org/equilibriumito/gabinete-digital into developer
This commit is contained in:
@@ -198,7 +198,7 @@ export class AgendaPage implements OnInit {
|
||||
}
|
||||
|
||||
//Go to the next view of the calendar month/week/day
|
||||
next(){
|
||||
next() {
|
||||
this.myCal.slideNext();
|
||||
this.centralizeTimeline(500);
|
||||
}
|
||||
@@ -352,11 +352,10 @@ export class AgendaPage implements OnInit {
|
||||
setTimeout(() => {
|
||||
const timelineMarker = document.querySelector('.cal-current-time-marker');
|
||||
const scrollContainer = document.querySelector('.timeline-wrapper');
|
||||
|
||||
|
||||
try {
|
||||
scrollContainer.scroll({
|
||||
top: timelineMarker['offsetTop'] - ((scrollContainer['offsetHeight']/2) - 60),
|
||||
top: parseInt(timelineMarker['style']['top'].replace('px','')) - ((scrollContainer['offsetHeight']/2) - 60),
|
||||
left: 0,
|
||||
behavior: 'smooth'
|
||||
})
|
||||
@@ -368,8 +367,6 @@ export class AgendaPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}, timeout);
|
||||
}
|
||||
|
||||
@@ -402,7 +399,7 @@ export class AgendaPage implements OnInit {
|
||||
const profile_ = profile == 'md'? 'mdgpr': 'pr';
|
||||
|
||||
return `
|
||||
<div class="overflow-hidden timeline-box timeline-box-event-${eventIndex} timeline-${profile_}-box-${calendarName} calendar-top${top}">
|
||||
<div class="overflow-hidden timeline-box timeline-box-event-${eventIndex} timeline-${profile_}-box-${calendarName} calendar-top${top}">
|
||||
<div>
|
||||
<span class="timeline-start-time">${startHours.toString().padStart(2, '0')}:${startMinutos.toString().padStart(2, '0')}</span><span class="timeline-location">${eventlocation}</span>
|
||||
</div>
|
||||
@@ -888,32 +885,34 @@ export class AgendaPage implements OnInit {
|
||||
|
||||
setTimeout(()=>{
|
||||
|
||||
if(this.eventSelectedDate.toLocaleDateString('en-US') != (new Date()).toLocaleDateString('en-US')) {
|
||||
let sortedDate = this.eventSource.sort((a,b) =>{
|
||||
return (b.startTime) -(a.startTime);
|
||||
});
|
||||
|
||||
|
||||
let filterDate = sortedDate.filter((e) => {
|
||||
return e.startTime.toLocaleDateString('en-US') == this.eventSelectedDate.toLocaleDateString('en-US');
|
||||
});
|
||||
|
||||
console.log('Event -- ',filterDate[filterDate.length - 1]);
|
||||
|
||||
const firstEventStartHours = new Date(filterDate[filterDate.length - 1].startTime).getHours();
|
||||
let sortedDate = this.eventSource.sort((a,b) =>{
|
||||
return (b.startTime) -(a.startTime);
|
||||
});
|
||||
|
||||
console.log('firstEventStartHours-- ', firstEventStartHours)
|
||||
|
||||
|
||||
let filterDate = sortedDate.filter((e) => {
|
||||
console.log( e.startTime.toLocaleDateString('en-US'),' == ',this.eventSelectedDate.toLocaleDateString('en-US'));
|
||||
return e.startTime.toLocaleDateString('en-US') == this.eventSelectedDate.toLocaleDateString('en-US');
|
||||
});
|
||||
|
||||
console.log('Event -- ',filterDate[filterDate.length - 1], filterDate['startTime']);
|
||||
|
||||
const firstEventStartHours = new Date(filterDate[filterDate.length - 1].startTime).getHours();
|
||||
|
||||
console.log('firstEventStartHours-- ', firstEventStartHours)
|
||||
|
||||
if(firstEventStartHours) {
|
||||
const scrollContainer = document.querySelector('.timeline-wrapper');
|
||||
|
||||
|
||||
scrollContainer.scroll({
|
||||
top: firstEventStartHours*60,
|
||||
left: 0,
|
||||
behavior: 'smooth'
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}, 500);
|
||||
|
||||
}
|
||||
@@ -926,6 +925,7 @@ export class AgendaPage implements OnInit {
|
||||
ev.target.complete();
|
||||
}, 250)
|
||||
}
|
||||
|
||||
showAlert(){
|
||||
this.alertController.presentAlert("Funcionalidade em desenvolvimento.");
|
||||
}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-options',
|
||||
templateUrl: './options.component.html',
|
||||
styleUrls: ['./options.component.scss'],
|
||||
})
|
||||
export class OptionsComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {}
|
||||
|
||||
}
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
<ion-content class="container">
|
||||
<div class="arrow-right">
|
||||
<div class="arrow-right" >
|
||||
<button class="btn-no-color">
|
||||
<ion-icon slot="end" class="arrow-right-icon" src='assets/images/icons-arrow-arrow-right.svg'></ion-icon>
|
||||
</button>
|
||||
@@ -10,8 +10,8 @@
|
||||
<button full class="btn-ok" shape="round" >Pedido de Deferimento</button>
|
||||
<button full class="btn-ok" shape="round" >Marcar reunião</button>
|
||||
<button full class="btn-ok" shape="round" >Descartar</button>
|
||||
<button full class="btn-ok" shape="round" *ngIf="showEnviarPendentes" >Enviar para pendentes</button>
|
||||
<button full class="btn-ok" shape="round" *ngIf="showEnviarPendentes" >Enviar para pendentes</button>
|
||||
<div class="solid"></div>
|
||||
<button full class="btn-cancel" shape="round" >Cancelar</button>
|
||||
<button full class="btn-cancel" shape="round" >Cancelar</button>
|
||||
</div>
|
||||
</ion-content>
|
||||
+6
-6
@@ -1,19 +1,19 @@
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { OptionsComponent } from './options.component';
|
||||
import { TaskOptionsComponent } from './task-options.component';
|
||||
|
||||
describe('OptionsComponent', () => {
|
||||
let component: OptionsComponent;
|
||||
let fixture: ComponentFixture<OptionsComponent>;
|
||||
describe('TaskOptionsComponent', () => {
|
||||
let component: TaskOptionsComponent;
|
||||
let fixture: ComponentFixture<TaskOptionsComponent>;
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ OptionsComponent ],
|
||||
declarations: [ TaskOptionsComponent ],
|
||||
imports: [IonicModule.forRoot()]
|
||||
}).compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(OptionsComponent);
|
||||
fixture = TestBed.createComponent(TaskOptionsComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
@@ -0,0 +1,14 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-task-options',
|
||||
templateUrl: './task-options.component.html',
|
||||
styleUrls: ['./task-options.component.scss'],
|
||||
})
|
||||
export class TaskOptionsComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
<ion-menu autoHide="false" side="end" content-id="main-content" >
|
||||
<!-- <ion-menu autoHide="false" side="end" content-id="main-content" >
|
||||
<ion-header>
|
||||
<ion-toolbar translucent>
|
||||
<ion-title>Menu</ion-title>
|
||||
@@ -22,16 +22,12 @@
|
||||
<ion-icon name="calendar" slot="start"></ion-icon>
|
||||
<ion-label>Marcar reunião</ion-label>
|
||||
</ion-item>
|
||||
<!-- <ion-item (click)="deleteEvent()">
|
||||
<ion-icon name="trash" slot="start"></ion-icon>
|
||||
<ion-label>Descartar</ion-label>
|
||||
</ion-item> -->
|
||||
</ion-list>
|
||||
</ion-content>
|
||||
</ion-menu>
|
||||
<div class="ion-page d-none" id="main-content">
|
||||
<ion-menu-button></ion-menu-button>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<ion-content class="height-100">
|
||||
<div class="main-content d-flex height-100">
|
||||
@@ -106,9 +102,9 @@
|
||||
<span class="span-right">{{ attach.CreateDate | date: 'dd-MM-yy' }}</span>
|
||||
</div>
|
||||
|
||||
<ion-menu-button (click)="docIndex(i)" style="width: 35px; height: 41px;" autoHide="false">
|
||||
<ion-icon name="ellipsis-vertical-outline"></ion-icon>
|
||||
</ion-menu-button>
|
||||
<div (click)="docIndex(i);openTaskOptions()" style="width: 35px; height: 41px;" autoHide="false">
|
||||
<ion-icon src="assets/images/icons-menu.svg" ></ion-icon>
|
||||
</div>
|
||||
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { AlertController, ModalController, NavParams } from '@ionic/angular';
|
||||
import { AlertController, ModalController, NavParams, PopoverController } from '@ionic/angular';
|
||||
import { AuthConnstants } from 'src/app/config/auth-constants';
|
||||
import { Attachment } from 'src/app/models/attachment.model';
|
||||
import { EventBody } from 'src/app/models/eventbody.model';
|
||||
@@ -11,6 +11,8 @@ import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { ExpedientTaskModalPage } from '../../gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page';
|
||||
import { BookMeetingModalPage } from '../../gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page';
|
||||
import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page';
|
||||
import { TaskOptionsComponent } from './task-options/task-options.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-view-event',
|
||||
@@ -48,6 +50,7 @@ export class ViewEventPage implements OnInit {
|
||||
public alertController: AlertController,
|
||||
private iab: InAppBrowser,
|
||||
private processes: ProcessesService,
|
||||
public popoverController: PopoverController
|
||||
)
|
||||
{
|
||||
this.profile = this.navParams.get('profile');
|
||||
@@ -184,55 +187,89 @@ export class ViewEventPage implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
// async openBookMeetingModal() {
|
||||
|
||||
// const doc = this.loadedAttachments[ this.dicIndex];
|
||||
|
||||
|
||||
async openBookMeetingModal() {
|
||||
|
||||
const doc = this.loadedAttachments[ this.dicIndex];
|
||||
|
||||
let task = {
|
||||
serialNumber: doc.SourceId,
|
||||
taskStartDate: doc.CreateDate,
|
||||
isEvent: true,
|
||||
workflowInstanceDataFields: {
|
||||
FsId: doc.ApplicationId,
|
||||
FolderID: null,
|
||||
DocId: doc.SourceId,
|
||||
Subject: doc.SourceName
|
||||
},
|
||||
}
|
||||
// let task = {
|
||||
// serialNumber: doc.SourceId,
|
||||
// taskStartDate: doc.CreateDate,
|
||||
// isEvent: true,
|
||||
// workflowInstanceDataFields: {
|
||||
// FsId: doc.ApplicationId,
|
||||
// FolderID: null,
|
||||
// DocId: doc.SourceId,
|
||||
// Subject: doc.SourceName
|
||||
// },
|
||||
// }
|
||||
|
||||
let classs;
|
||||
if( window.innerWidth <= 800){
|
||||
classs = 'book-meeting-modal modal modal-desktop'
|
||||
} else {
|
||||
classs = 'modal modal-desktop showAsideOptions'
|
||||
}
|
||||
const modal = await this.modalController.create({
|
||||
component: BookMeetingModalPage,
|
||||
componentProps: {
|
||||
task: task,
|
||||
},
|
||||
cssClass: classs,
|
||||
backdropDismiss: false
|
||||
});
|
||||
await modal.present();
|
||||
modal.onDidDismiss();
|
||||
}
|
||||
// let classs;
|
||||
// if( window.innerWidth <= 800){
|
||||
// classs = 'book-meeting-modal modal modal-desktop'
|
||||
// } else {
|
||||
// classs = 'modal modal-desktop showAsideOptions'
|
||||
// }
|
||||
// const modal = await this.modalController.create({
|
||||
// component: BookMeetingModalPage,
|
||||
// componentProps: {
|
||||
// task: task,
|
||||
// },
|
||||
// cssClass: classs,
|
||||
// backdropDismiss: false
|
||||
// });
|
||||
// await modal.present();
|
||||
// modal.onDidDismiss();
|
||||
// }
|
||||
|
||||
async openExpedientActionsModal(taskAction: any) {
|
||||
//this.modalController.dismiss();
|
||||
let classs;
|
||||
if( window.innerWidth <= 800){
|
||||
classs = 'modal modal-desktop'
|
||||
} else {
|
||||
classs = 'modal modal-desktop showAsideOptions'
|
||||
}
|
||||
// async openExpedientActionsModal(taskAction: any) {
|
||||
// //this.modalController.dismiss();
|
||||
// let classs;
|
||||
// if( window.innerWidth <= 800){
|
||||
// classs = 'modal modal-desktop'
|
||||
// } else {
|
||||
// classs = 'modal modal-desktop showAsideOptions'
|
||||
// }
|
||||
|
||||
// const doc = this.loadedAttachments[ this.dicIndex];
|
||||
|
||||
// let task = {
|
||||
// serialNumber: doc.SourceId,
|
||||
// taskStartDate: doc.CreateDate,
|
||||
// isEvent: true,
|
||||
// workflowInstanceDataFields: {
|
||||
// FsId: doc.ApplicationId,
|
||||
// FolderID: null,
|
||||
// DocId: doc.SourceId,
|
||||
// Subject: doc.SourceName
|
||||
// },
|
||||
// }
|
||||
|
||||
// const modal = await this.modalController.create({
|
||||
// component: ExpedientTaskModalPage,
|
||||
// componentProps: {
|
||||
// taskAction: taskAction,
|
||||
// task: task,
|
||||
// profile: this.profile,
|
||||
// },
|
||||
// cssClass: classs,
|
||||
// });
|
||||
// await modal.present();
|
||||
// modal.onDidDismiss().then(res=>{
|
||||
// console.log(res['data']);
|
||||
// if(res['data']=='openDiscart'){
|
||||
// console.log('open discart');
|
||||
// // this.distartExpedientModal();
|
||||
// }
|
||||
|
||||
// });
|
||||
// }
|
||||
|
||||
|
||||
async openTaskOptions() {
|
||||
|
||||
const doc = this.loadedAttachments[ this.dicIndex];
|
||||
|
||||
let task = {
|
||||
let customTask = {
|
||||
serialNumber: doc.SourceId,
|
||||
taskStartDate: doc.CreateDate,
|
||||
isEvent: true,
|
||||
@@ -244,30 +281,21 @@ export class ViewEventPage implements OnInit {
|
||||
},
|
||||
}
|
||||
|
||||
const modal = await this.modalController.create({
|
||||
component: ExpedientTaskModalPage,
|
||||
const popover = await this.popoverController.create({
|
||||
component: OptsExpedientePage,
|
||||
cssClass: 'exp-options',
|
||||
componentProps: {
|
||||
taskAction: taskAction,
|
||||
task: task,
|
||||
profile: this.profile,
|
||||
fulltask: customTask,
|
||||
task: customTask
|
||||
},
|
||||
cssClass: classs,
|
||||
});
|
||||
await modal.present();
|
||||
modal.onDidDismiss().then(res=>{
|
||||
console.log(res['data']);
|
||||
if(res['data']=='openDiscart'){
|
||||
console.log('open discart');
|
||||
|
||||
// this.distartExpedientModal();
|
||||
|
||||
}
|
||||
|
||||
translucent: true
|
||||
});
|
||||
return await popover.present();
|
||||
}
|
||||
|
||||
docIndex(index: number) {
|
||||
this.dicIndex = index;
|
||||
|
||||
docIndex(index: number){
|
||||
this.dicIndex = index
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<p class="text-center exp-card-content">{{count_ev_md+count_ev_pr}} <span class="title1">Documentos</span></p>
|
||||
</div>
|
||||
|
||||
<div [class.active]="selectedElement == 'Correspondence'" (click)="openExpedientListPage(); selectedElement='Correspondence'" class="exp-card d-flex flex-column justify-center" >
|
||||
<div [class.active]="selectedElement == 'Correspondence'" (click)="openExpedientListPage(); selectedElement='Correspondence'" class="exp-card d-flex flex-column justify-center" *ngIf="loggeduser.Profile == 'MDGPR'">
|
||||
<div class="d-flex justify-center">
|
||||
<ion-icon src="assets/images/icons-correspondencia.svg"></ion-icon>
|
||||
</div>
|
||||
@@ -37,7 +37,7 @@
|
||||
</div>
|
||||
|
||||
<!-- <div [class.active]="selectedElement == 'Pending'" (click)="openPendentesPage(); selectedElement='Pending'" class="exp-card d-flex flex-column justify-center" > -->
|
||||
<div [class.active]="selectedElementF('Pending')" (click)="openPendentesPage(); selectedElement='Pending'" class="exp-card d-flex flex-column justify-center" >
|
||||
<div [class.active]="selectedElementF('Pending')" (click)="openPendentesPage(); selectedElement='Pending'" class="exp-card d-flex flex-column justify-center" >
|
||||
<div class="d-flex justify-center">
|
||||
<ion-icon src="assets/images/icons-expediente-pendente.svg"></ion-icon>
|
||||
</div>
|
||||
@@ -78,7 +78,7 @@
|
||||
<p class="text-center exp-card-content"><span class="number">-</span> <span class="title1">Documentos</span></p>
|
||||
</div>
|
||||
|
||||
<div (click)="openDespachosPrPage(); selectedElement='DispatchesPr'" [class.active]="selectedElement == 'DispatchesPr'" class="exp-card d-md-flex d-none flex-column justify-center">
|
||||
<div (click)="openDespachosPrPage(); selectedElement='DispatchesPr'" [class.active]="selectedElement == 'DispatchesPr'" class="exp-card d-md-flex d-none flex-column justify-center" *ngIf="loggeduser.Profile == 'MDGPR'">
|
||||
<div class="d-flex justify-center">
|
||||
<ion-icon src="assets/images/icons-despachos-presidente.svg"></ion-icon>
|
||||
</div>
|
||||
@@ -98,7 +98,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div (click)="openDespachosPrPage(); selectedElement='DispatchesPr'" [class.active]="selectedElement == '£££££££'" class="exp-card-long width-100">
|
||||
<div (click)="openDespachosPrPage(); selectedElement='DispatchesPr'" [class.active]="selectedElement == '£££££££'" class="exp-card-long width-100" *ngIf="loggeduser.Profile == 'MDGPR'">
|
||||
<div class="center-div">
|
||||
<div class="exp-card-icon">
|
||||
<ion-icon src="assets/images/icons-despachos-presidente.svg"></ion-icon>
|
||||
@@ -118,7 +118,7 @@
|
||||
<p class="text-center exp-card-content"><span class="number">-</span> <span class="title1">Documentos</span> </p>
|
||||
</div>
|
||||
|
||||
<div (click)="openDiplomasPage(); selectedElement='DiplomasAssinados'" [class.active]="selectedElement == 'DiplomasAssinados'" class="exp-card d-flex flex-column justify-center">
|
||||
<div (click)="openDiplomasPage(); selectedElement='DiplomasAssinados'" [class.active]="selectedElement == 'DiplomasAssinados'" class="exp-card d-flex flex-column justify-center" *ngIf="loggeduser.Profile == 'MDGPR'">
|
||||
<div class="d-flex justify-center">
|
||||
<ion-icon src="assets/images/icons-diplomas-assinados-presidente.svg"></ion-icon>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user