This commit is contained in:
Peter Maquiran
2022-06-03 16:53:50 +01:00
parent 7430bf7fe1
commit ee370f7e2e
29 changed files with 175 additions and 404 deletions
+1
View File
@@ -447,6 +447,7 @@
(clearContact)="clearContact()"
(openAttendeesComponent)="openAttendeesComponent($event)"
(closeComponent)="approveEventDismissGoBack()"
(approveEventDismiss) = "approveEventDismiss($event)"
(setIntervenient)="setIntervenient($event)"
(setIntervenientCC)="setIntervenientCC($event)"
@@ -5,11 +5,12 @@
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " slot="end" class="arrow-right-icon" src='assets/images/theme/gov/icons-calendar-arrow-right.svg'></ion-icon>
</button>
</div>
<div class="buttons">
<button class="btn-cancel" shape="round" (click)="emendarTask()">Rever</button>
<button class="btn-cancel" shape="round" (click)="approveTask()">Aprovar</button>
<button *ngIf="activityInstanceName == 'Aprovar Evento'" class="btn-cancel" shape="round" (click)="emendarTask()">Rever</button>
<button *ngIf="activityInstanceName == 'Aprovar Evento'" class="btn-cancel" shape="round" (click)="approveTask()">Aprovar</button>
<div class="solid"></div>
<button class="btn-cancel" shape="round" (click)="editTask()">Editar</button>
<button class="btn-delete" shape="round" (click)="rejeitar()">Rejeitar</button>
<button *ngIf="activityInstanceName != 'Aprovar Evento'" class="btn-cancel" shape="round" (click)="editTask()">Editar</button>
<button *ngIf="activityInstanceName != 'Aprovar Evento'" class="btn-delete" shape="round" (click)="rejeitar()">Rejeitar</button>
</div>
</ion-content>
@@ -16,6 +16,7 @@ import { RouteService } from 'src/app/services/route.service';
export class EventActionsPopoverPage implements OnInit {
serialNumber:string;
instanceId: string;
activityInstanceName: string
constructor(
private navParams: NavParams,
@@ -27,7 +28,8 @@ export class EventActionsPopoverPage implements OnInit {
public ThemeService: ThemeService) {
this.serialNumber = this.navParams.get('serialNumber');
this.instanceId = this.navParams.get('InstanceId');
}
this.activityInstanceName = this.navParams.get('InstanceId');
}
ngOnInit() {
window.onresize = (event) => {
@@ -67,6 +69,26 @@ export class EventActionsPopoverPage implements OnInit {
}
async ReenviarTask() {
let body = { "serialNumber": this.serialNumber, "action": "Reenviar" }
const loader = this.toastService.loading()
try {
await this.processes.PostTaskAction(body).toPromise()
this.toastService.successMessage();
this.goBack();
} catch (error) {
this.toastService.badRequest()
}
finally {
loader.remove()
}
}
async emendarTask() {
this.closePopover();
@@ -107,25 +129,24 @@ export class EventActionsPopoverPage implements OnInit {
}
}
else{
//this.alertService.presentAlert('Operação cancelada!');
}
});
}
async rejeitar(){
async rejeitar() {
let body = { "serialNumber": this.serialNumber, "action": "Rejeitar" }
const loader = this.toastService.loading()
const loader = this.toastService.loading();
try {
await this.processes.PostTaskAction(body).toPromise();
await this.toastService.successMessage('Processo rejeitado');
this.goBack();
} catch (error) {
this.toastService.badRequest()
this.toastService.badRequest();
}
finally {
loader.remove()
loader.remove();
}
@@ -148,6 +169,6 @@ export class EventActionsPopoverPage implements OnInit {
modal.onDidDismiss().then(res => {
});
}
}
}
@@ -98,7 +98,6 @@ export class NewEventPage implements OnInit {
this.postEvent.EventRecurrence = {Type:'-1'};
this.eventBody = { BodyType : "1", Text : ""};
this.postEvent.Body = this.eventBody;
/* this.profile = this.navParams.get('profile'); */
this.selectedSegment = this.navParams.get('segment');
this.selectedDate = this.navParams.get('eventSelectedDate');
@@ -270,9 +270,6 @@ export class DespachoPage implements OnInit {
async viewDocument(docId: string, Document) {
const modal = await this.modalController.create({
component: ViewDocumentPage,
componentProps: {
@@ -152,6 +152,9 @@ export class ApproveEventModalPage implements OnInit {
async openOptions(ev:any) {
const popover = await this.popoverController.create({
component: EventActionsPopoverPage,
componentProps: {
activityInstanceName: this.loadedEvent.activityInstanceName
},
cssClass: 'event-actions-popover',
event: ev,
translucent: true
@@ -101,13 +101,14 @@
</div>
<div *ngIf="loadedEvent" class="aside-right flex-column height-100">
{{ loadedEvent.activityInstanceName }}
<div class="aside-buttons">
<button hidden full class="btn-cancel" shape="round" >Editar evento</button>
<button (click)="approveTask(loadedEvent.serialNumber)" full class="btn-cancel" shape="round" >Aprovar</button>
<button full class="btn-cancel" shape="round" *ngIf="loadedEvent.activityInstanceName == 'Aprovar Evento'">Editar evento</button>
<button (click)="approveTask(loadedEvent.serialNumber)" full class="btn-cancel" shape="round" *ngIf="loadedEvent.activityInstanceName == 'Aprovar Evento'">Aprovar</button>
<button (click)="emendTask(loadedEvent.serialNumber)" class="btn-cancel" shape="round" >Rever</button>
<div class="solid"></div>
<button full class="btn-cancel" shape="round" (click)="editar(loadedEvent.serialNumber)" >Editar</button>
<button (click)="rejeitar(loadedEvent.serialNumber)" full class="btn-delete" shape="round" >Rejeitar</button>
<button full class="btn-cancel" shape="round" (click)="editar(loadedEvent.serialNumber)" *ngIf="loadedEvent.activityInstanceName != 'Aprovar Evento'">Editar</button>
<button (click)="rejeitar(loadedEvent.serialNumber)" full class="btn-delete" shape="round" *ngIf="loadedEvent.activityInstanceName != 'Aprovar Evento'">Rejeitar</button>
</div>
</div>
</div>
@@ -187,11 +187,9 @@ export class ApproveEventPage implements OnInit {
this.today = new Date(this.loadedEvent.workflowInstanceDataFields.StartDate);
this.customDate = this.days[this.today.getDay()] + ", " + this.today.getDate() + " de " + (this.months[this.today.getMonth()]);
let instanceId = this.loadedEvent.workflowInstanceDataFields.InstanceId;
this.loadedAttachments = this.loadedEvent.Documents;
})
})
}
@@ -205,7 +203,6 @@ export class ApproveEventPage implements OnInit {
this.loadedEvent = await this.processes.GetTask(this.serialNumber).toPromise();
this.addProcessToDB(this.loadedEvent)
this.today = new Date(this.loadedEvent.workflowInstanceDataFields.StartDate);
this.customDate = this.days[this.today.getDay()] + ", " + this.today.getDate() + " de " + (this.months[this.today.getMonth()]);
@@ -346,6 +343,7 @@ export class ApproveEventPage implements OnInit {
componentProps: {
serialNumber: ev.serialNumber,
InstanceId: ev.workflowInstanceDataFields.InstanceId,
activityInstanceName: this.loadedEvent.activityInstanceName
},
});
return await popover.present();
@@ -52,6 +52,9 @@
<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 *ngIf="event.activityInstanceName">
<div class="label-event-type"> {{ event.activityInstanceName }} </div>
</div>
</div>
</div>
</ion-item>
@@ -74,6 +77,9 @@
<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 *ngIf="event.activityInstanceName">
<div class="label-event-type"> {{ event.activityInstanceName }} </div>
</div>
</div>
</div>
</ion-item>
@@ -123,3 +123,13 @@ ion-item-sliding{
color: #000 !important;
border: 1px solid red !important;
}
.label-event-type {
padding: 1px 7px;
display: inline-block;
background: #f05d5e;
border-radius: 17px;
color: white;
font-size: 10pt;
}
@@ -158,14 +158,14 @@ export class EventListPage implements OnInit {
this.eventsMDGPRList = mdEventsOficial.concat(mdEventsPessoal);
this.eventsMDGPRList = this.sortService.sortDate(this.eventsMDGPRList, 'taskStartDate')
this.eventsMDGPRList = this.sortService.sortArrayByDate(this.eventsMDGPRList)
this.eventsMDGPRList = ( this.eventsMDGPRList || []).filter(function(item) {
return item.activityInstanceName != 'Editar Evento'
})
// this.eventsMDGPRList = ( this.eventsMDGPRList || []).filter(function(item) {
// return item.activityInstanceName != 'Editar Evento'
// })
this.storage.set('event-to-aproveMD',this.eventsMDGPRList).then(() => {
})
//this.eventaprovacaostore.resetmd(this.sortService.sortArrayByDate(this.eventsMDGPRList).reverse());
}
else if (this.segment == 'PR') {
let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR', false).toPromise();
@@ -173,14 +173,14 @@ export class EventListPage implements OnInit {
this.eventsPRList = prEventsOficial.concat(prEventsPessoal);
this.eventsPRList = this.sortService.sortDate(this.eventsPRList, 'taskStartDate')
this.eventsPRList = this.sortService.sortArrayByDate(this.eventsPRList)
this.eventsPRList = (this.eventsPRList || []).filter(function(item) {
return item.activityInstanceName != 'Editar Evento'
})
// this.eventsPRList = (this.eventsPRList || []).filter(function(item) {
// return item.activityInstanceName != 'Editar Evento'
// })
this.storage.set('event-to-aprovePR',this.eventsPRList).then(() => {
})
//this.eventaprovacaostore.resetpr(this.sortService.sortArrayByDate(this.eventsPRList).reverse());
}
this.showLoader = false;
this.skeletonLoader = false
@@ -8,7 +8,7 @@
<div class="ion-item-container width-100" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom ">
<ion-input autocomplete="on" autocorrect="on" spellcheck="true" placeholder="Assunto*" [(ngModel)]="postData.DispatchFolder.Subject"></ion-input>
</div>
<div *ngIf="Form && validateFrom" >
<div *ngIf="Form.get('Subject').invalid " class="input-errror-message">
<div *ngIf="Form.get('Subject').errors?.required">
@@ -209,15 +209,6 @@ export class ExpedientTaskModalPage implements OnInit {
Priority: new FormControl(this.postData.Priority, [
Validators.required,
]),
// CalendarName: new FormControl(this.postEvent.CalendarName, [
// Validators.required
// ]),
// Categories: new FormControl(this.postEvent.Categories, [
// Validators.required
// ]),
// IsRecurring: new FormControl(this.postEvent.IsRecurring, [
// Validators.required
// ]),
participantes: new FormControl(this.taskParticipants, [
Validators.required
]),
@@ -298,195 +289,6 @@ export class ExpedientTaskModalPage implements OnInit {
this.dispatchFolder.SubjectTypes = this.selectedTypes;
const loader = this.toastService.loading()
// switch (this.loggeduser.Profile) {
// case 'MDGPR':
// if(this.taskParticipants.length > 0) {
// switch (this.taskType) {
// case '0': // Despacho
// this.postData = {
// DistributionType: "Paralelo",
// CountryCode: 'AO',
// Priority: this.postData.Priority,
// UserEmail: this.loggeduser.Email,
// UsersSelected: attendees,
// DispatchFolder: this.dispatchFolder,
// AttachmentList: docs,
// }
// let action_despacho = {
// "serialNumber": this.task.serialNumber,
// "action": "Tratado",
// "ActionTypeId": 94,
// "dataFields": {
// "Note": "",
// }
// }
// try {
// this.taskResult = await this.processes.postDespatcho(this.postData).toPromise();
// await this.toastService._successMessage('Processo efetuado');
// this.modalController.dismiss(action_despacho);
// } catch (error) {
// await this.toastService._badRequest('Processo não efetuado')
// } finally {
// loader.remove()
// }
// break;
// case '1': // Parecer
// this.postData = {
// DistributionType: "Paralelo",
// CountryCode: 'AO',
// Priority: this.postData.Priority,
// UserEmail: this.loggeduser.Email,
// UsersSelected: attendees,
// DispatchFolder: this.dispatchFolder,
// AttachmentList: docs
// }
// let action_parecer = {
// "serialNumber": this.task.serialNumber,
// "action": "Tratado",
// "ActionTypeId": 92,
// "dataFields": {
// "Note": "",
// }
// }
// try {
// this.taskResult = await this.processes.postParecer(this.postData).toPromise();
// await this.toastService._successMessage('Pedido enviado');
// this.modalController.dismiss(action_parecer);
// } catch (error) {
// await this.toastService._badRequest('Processo não efetuado')
// } finally {
// loader.remove()
// }
// break;
// case '2': // Deferimento
// this.postData = {
// DistributionType: "Paralelo",
// CountryCode: 'AO',
// Priority: this.postData.Priority,
// UserEmail: this.loggeduser.Email,
// UsersSelected: attendees,
// DispatchFolder: this.dispatchFolder,
// AttachmentList: docs
// }
// //
// let action_deferimento = {
// "serialNumber": this.task.serialNumber,
// "action": "Tratado",
// "ActionTypeId": 93,
// "dataFields": {
// "Note": "",
// }
// }
// try {
// this.taskResult = await this.processes.postDeferimento(this.postData).toPromise();
// this.toastService._successMessage('Processo efetuado');
// this.modalController.dismiss(action_deferimento);
// } catch (error) {
// await this.toastService._badRequest('Processo não efetuado')
// } finally {
// loader.remove()
// }
// break;
// }
// }
// else {
// this.alertController.presentAlert("Lista de i-ntervenientes vazia. Por favor, adicione 1 ou mais intervenientes.");
// }
// break;
// case 'PR':
// switch (this.taskType) {
// case '0': // despacho
// this.postData = {
// DistributionType: "Paralelo",
// CountryCode: 'AO',
// Priority: this.postData.Priority,
// UserEmail: this.loggeduser.Email,
// UsersSelected: attendees,
// DispatchFolder: this.dispatchFolder,
// AttachmentList: docs,
// }
// let action_despacho_pr = {
// "serialNumber": this.task.serialNumber,
// "action": "Tratado",
// "ActionTypeId": 99999881 ,
// "dataFields": {
// "Note": "",
// }
// }
// if(this.postData.DispatchFolder.Message){
// try {
// this.taskResult = await this.despachoService.createDespacho(this.postData).toPromise();
// await this.toastService._successMessage('Processo efetuado');
// this.modalController.dismiss(action_despacho_pr);
// } catch (error) {
// await this.toastService._badRequest('Processo não efetuado')
// } finally {
// //loader.remove()
// }
// }
// else{
// this.validateField = true;
// this.toastService._badRequest('Por favor adicione uma descrição');
// }
// loader.remove();
// break;
// case '1': // parecer
// this.postData = {
// DistributionType: "Paralelo",
// CountryCode: 'AO',
// Priority: this.postData.Priority,
// UserEmail: this.loggeduser.Email,
// UsersSelected: attendees,
// DispatchFolder: this.dispatchFolder,
// AttachmentList: docs
// }
// let action_parecer_pr = {
// "serialNumber": this.task.serialNumber,
// "action": "Tratado",
// "ActionTypeId": 99999881,
// "dataFields": {
// "Note": "",
// }
// }
// try {
// this.taskResult = await this.processes.postParecerPr(this.postData).toPromise();
// await this.toastService._successMessage('Pedido enviado');
// this.modalController.dismiss(action_parecer_pr);
// } catch (error) {
// await this.toastService._badRequest('Processo não efetuado')
// } finally {
// loader.remove()
// }
// break;
// }
// break;
// }
if(this.loggeduser.Profile != 'PR') {
if(this.taskParticipants.length > 0) {
switch (this.taskType) {
@@ -506,12 +308,10 @@ export class ExpedientTaskModalPage implements OnInit {
"action": "Tratado",
"ActionTypeId": 94,
"dataFields": {
"Note": "",
"Note": this.postData.DispatchFolder.Subject,
}
}
try {
this.taskResult = await this.processes.postDespatcho(this.postData).toPromise();
@@ -543,7 +343,7 @@ export class ExpedientTaskModalPage implements OnInit {
"action": "Tratado",
"ActionTypeId": 92,
"dataFields": {
"Note": "",
"Note": this.postData.DispatchFolder.Subject,
}
}
@@ -570,11 +370,11 @@ export class ExpedientTaskModalPage implements OnInit {
}
//
let action_deferimento = {
"serialNumber": this.task.serialNumber,
"action": "Tratado",
"ActionTypeId": 93,
"dataFields": {
"Note": "",
"serialNumber": this.task.serialNumber,
"action": "Tratado",
"ActionTypeId": 93,
"dataFields": {
"Note": this.postData.DispatchFolder.Subject,
}
}
@@ -612,7 +412,7 @@ export class ExpedientTaskModalPage implements OnInit {
"action": "Tratado",
"ActionTypeId": 99999881 ,
"dataFields": {
"Note": "",
"Note": this.postData.DispatchFolder.Subject,
}
}
@@ -651,7 +451,7 @@ export class ExpedientTaskModalPage implements OnInit {
"action": "Tratado",
"ActionTypeId": 99999881,
"dataFields": {
"Note": "",
"Note": this.postData.DispatchFolder.Subject,
}
}
@@ -32,6 +32,7 @@ import { BackgroundService } from 'src/app/services/background.service';
import { SortService } from 'src/app/services/functions/sort.service';
import { DataService } from 'src/app/services/data.service';
import { Storage } from '@ionic/storage';
import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe';
@Component({
selector: 'app-gabinete-digital',
@@ -113,7 +114,8 @@ export class GabineteDigitalPage implements OnInit, DoCheck {
//
// pipe
expedienteTaskPipe = new ExpedienteTaskPipe();
loadCount = false
customTaskPipe = new CustomTaskPipe()
@@ -161,12 +163,7 @@ export class GabineteDigitalPage implements OnInit, DoCheck {
}
ngDoCheck(): void {
/* if( window.innerWidth < 701) {
this.segmentVista = "listview";
}
else{
this.segmentVista = "boxview";
} */
}
closeAllDesktopComponent() {
@@ -344,13 +341,6 @@ export class GabineteDigitalPage implements OnInit, DoCheck {
const totalHours = Math.floor(totalMinutes / 60);
const totalDays = Math.floor(totalHours / 24);
//const hours = totalHours - (totalDays * 24);
//const minutes = totalMinutes - (totalDays * 24 * 60) - (hours * 60);
// const seconds = totalSeconds - (totalDays * 24 * 60 * 60) - (hours * 60 * 60) - (minutes * 60);
// let diffDays = totalDays;
// let diffMinutes = minutes;
if (totalDays == 0) {
if (allday) {
customDate = this.getCustomDate(start) + ", " + this.getCustomHours(start) + " (todo dia)";
@@ -358,7 +348,6 @@ export class GabineteDigitalPage implements OnInit, DoCheck {
return customDate;
}
else {
//customDate = this.getCustomDate(start)+","+this.getCustomHours(start)+" ("+minutes+" mins)";
customDate = this.getCustomDate(start) + ", " + this.getCustomHours(start) + " | " + this.getCustomHours(end);
return customDate;
}
@@ -562,7 +551,6 @@ export class GabineteDigitalPage implements OnInit, DoCheck {
let allProcessesList = allPreocesses_;
console.log(allProcessesList)
allProcessesList = allProcessesList.filter(element => element.activityInstanceName != 'Conhecimento')
allProcessesList = allProcessesList.filter(element => element.activityInstanceName != 'Revisar Diploma')
allProcessesList = allProcessesList.filter(element => element.activityInstanceName != 'Gerar Diploma')
@@ -615,10 +603,16 @@ export class GabineteDigitalPage implements OnInit, DoCheck {
this.allProcessesList = removeDuplicate(this.allProcessesList);
this.allProcessesList = this.sortService.sortDate(this.allProcessesList, 'CreateDate')
let expedientes = await this.processesbackend.GetTaskListExpediente(false).toPromise();
let expedientes: any = await this.processesbackend.GetTaskListExpediente(false).toPromise();
expedientes = expedientes.filter(data => data.workflowInstanceDataFields.Status == "Active")
expedientes = expedientes.filter((item) => {
return item.activityInstanceName != 'Retificar Expediente'
});
expedientes = expedientes.map((element) => this.expedienteTaskPipe.transform(element));
this.expedientegbstore.count = expedientes.length
this.expedientegbstore.count = expedientes.length;
this.expedientegbstore.reset(expedientes);