edit event to aprove done

This commit is contained in:
Eudes Inácio
2024-05-31 12:50:25 +01:00
19 changed files with 652 additions and 144 deletions
@@ -11,7 +11,9 @@ import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.pag
import { ThemeService } from 'src/app/services/theme.service';
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
import { TaskService } from 'src/app/services/task.service'
import { AgendaDataRepositoryService } from 'src/app/services/Repositorys/Agenda/agenda-data-repository.service';
import { EventToApproveDetails } from 'src/app/models/entiry/agenda/eventToApproveDetails';
import { HttpResponseBase } from '@angular/common/http';
@Component({
selector: 'app-approve-event',
@@ -21,7 +23,7 @@ import { TaskService } from 'src/app/services/task.service'
export class ApproveEventPage implements OnInit {
event: Event;
@Input() loadedEvent:any;
@Input() loadedEvent: EventToApproveDetails;
loadedAttachments:any;
customDate:any;
today:any;
@@ -51,7 +53,8 @@ export class ApproveEventPage implements OnInit {
private toastService: ToastService,
public ThemeService: ThemeService,
private httpErroHandle: HttpErrorHandle,
public TaskService: TaskService
public TaskService: TaskService,
public AgendaDataRepositoryService: AgendaDataRepositoryService
) {
// Event to approve list
@@ -76,15 +79,19 @@ export class ApproveEventPage implements OnInit {
this.modalController.dismiss();
}
getTask() {
this.processes.GetTask(this.serialNumber).subscribe(res => {
this.loadedEvent = res;
this.today = new Date(res.workflowInstanceDataFields.StartDate);
//
this.customDate = this.days[this.today.getDay()]+ ", " + this.today.getDate() +" de " + ( this.months[this.today.getMonth()]);
async getTask() {
const res = await this.AgendaDataRepositoryService.getEventToApproveById(this.serialNumber)
if(res.isOk()) {
this.loadedEvent = res.value;
this.today = new Date(res.value.workflowInstanceDataFields.StartDate);
//
this.customDate = this.days[this.today.getDay()]+ ", " + this.today.getDate() +" de " + ( this.months[this.today.getMonth()]);
} else {
console.log(res.error.status)
}
})
}
async approveTask(serialNumber:string) {
@@ -109,7 +116,7 @@ export class ApproveEventPage implements OnInit {
async rejectTask(serialNumber:string) {
let body = { "serialNumber": serialNumber, "action": "Rejeitar" }
const loader = this.toastService.loading()
@@ -119,7 +126,7 @@ export class ApproveEventPage implements OnInit {
this.TaskService.loadEventosParaAprovacao();
} catch (error) {
this.httpErroHandle.httpStatusHandle(error)
} finally {
loader.remove()
this.close()
@@ -133,7 +140,7 @@ export class ApproveEventPage implements OnInit {
} catch (error) {
console.error('getAttchaments',error)
}
}
@@ -151,7 +158,7 @@ export class ApproveEventPage implements OnInit {
Document,
applicationId: Document.ApplicationId,
docId: Document.DocId || Document.SourceId,
folderId: this.loadedEvent.FolderId,
// folderId: this.loadedEvent.FolderId,
task: this.loadedEvent
},
cssClass: 'modal modal-desktop'
@@ -179,7 +186,7 @@ export class ApproveEventPage implements OnInit {
}
async emendTask(serialNumber:string) {
const modal = await this.modalController.create({
component: EmendMessageModalPage,
componentProps:{
@@ -193,9 +200,9 @@ export class ApproveEventPage implements OnInit {
modal.onDidDismiss()
.then( async (res) => {
if(res.data.option == 'save') {
if(res.data.option == 'save') {
let body = { "serialNumber": serialNumber,
"action": "Emendar",
@@ -203,7 +210,7 @@ export class ApproveEventPage implements OnInit {
"ReviewUserComment": res.data,
}
}
const loader = this.toastService.loading();
try {
@@ -216,11 +223,11 @@ export class ApproveEventPage implements OnInit {
} finally {
loader.remove()
}
} else {
}
}
}, (error) => {
console.log(error)
});
@@ -16,6 +16,7 @@ import { EventToApproveEdit } from 'src/app/models/event.model';
import { ThemeService } from 'src/app/services/theme.service'
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
import { DomSanitizerService } from 'src/app/services/DomSanitizer.service';
import { AgendaDataRepositoryService } from 'src/app/services/Repositorys/Agenda/agenda-data-repository.service';
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
@@ -133,7 +134,8 @@ export class EditEventToApprovePage implements OnInit {
private toastService: ToastService,
public ThemeService: ThemeService,
public httpErrorHandler: HttpErrorHandle,
private domSanitizeService: DomSanitizerService
private domSanitizeService: DomSanitizerService,
private agendaDataRepository: AgendaDataRepositoryService
) {
this.isEventEdited = false;
}
@@ -152,8 +154,8 @@ export class EditEventToApprovePage implements OnInit {
async getTask() {
this.processes.GetTask(this.serialNumber).subscribe( (result) => {
this.eventProcess = result
const res: any = await this.agendaDataRepository.getEventToApproveById(this.serialNumber)
this.eventProcess = res.value;
this.eventProcess.workflowInstanceDataFields.LastOccurrence = new Date(this.eventProcess.workflowInstanceDataFields.LastOccurrence)
@@ -170,7 +172,6 @@ export class EditEventToApprovePage implements OnInit {
this.setOtherData()
this.saveTemporaryData()
})
}
getRecurrenceTypes() {
@@ -365,7 +366,13 @@ export class EditEventToApprovePage implements OnInit {
}
try {
await this.eventsService.postEventToApproveEdit(event).toPromise()
/* await this.eventsService.postEventToApproveEdit(event).toPromise() */
this.agendaDataRepository.updateEvent(this.eventProcess.serialNumber, event).subscribe((value) => {
console.log(value)
}, ((error) => {
console.log('edit event error: ', error)
}));
this.close()
@@ -400,7 +400,7 @@ export class EditEventPage implements OnInit {
try {
this.agendaDataRepository.updateEvent(this._postEvent.EventId, this._postEvent, this._postEvent.CalendarName, this.loadedEventAttachments).subscribe((value) => {
this.agendaDataRepository.updateEvent(this._postEvent.EventId, this._postEvent).subscribe((value) => {
console.log(value)
}, ((error) => {
console.log('edit event error: ', error)
@@ -12,7 +12,7 @@
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
<ion-segment-button *ngFor="let calendars of eventService.calendarNamesAryPR; let i index" [value]="i === 'Meu calendario' ? 'Meu calendario' : i.OwnerUserId ">
<div *ngIf="calendars == 'Meu calendario'">
<div *ngIf="calendars == 'Meu calendario'">
<!-- <span *ngIf="SessionStore.user.Profile == 'PR' ">PR</span>
<span *ngIf="SessionStore.user.Profile == 'MDGPR' ">MDGPR</span>
<span *ngIf="SessionStore.user.Profile != 'MDGPR' && SessionStore.user.Profile != 'PR' ">Minha agenda</span> -->
@@ -66,17 +66,17 @@
<h3>{{event.workflowInstanceDataFields.Subject}}</h3>
<p *ngIf="toDateString(event.workflowInstanceDataFields.StartDate) != toDateString(event.workflowInstanceDataFields.EndDate)">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} - {{ event.workflowInstanceDataFields.EndDate | date: 'dd/M/yy'}} | {{event.workflowInstanceDataFields.Location}}</p>
<p *ngIf="toDateString(event.workflowInstanceDataFields.StartDate) == toDateString(event.workflowInstanceDataFields.EndDate)">{{event.workflowInstanceDataFields.StartDate | date: 'd/M/yy' }} | {{event.workflowInstanceDataFields.Location}}</p>
<div *ngIf="event.activityInstanceName">
<div class="label-event-type font-13-rem"> {{ event.activityInstanceName }} </div>
</div>
</div>
</div>
</div>
</div>
</div>
</ion-list>
</div>
</ion-content>
@@ -10,6 +10,7 @@ import { EventsService } from 'src/app/services/events.service';
import { EventoAprovacaoStore } from 'src/app/store/eventoaprovacao-store.service';
import { environment } from 'src/environments/environment';
import { AgendaDataRepositoryService } from 'src/app/services/Repositorys/Agenda/agenda-data-repository.service';
import { EventToApproveList } from 'src/app/models/entiry/agenda/eventToApproveList';
@Component({
selector: 'app-event-list',
templateUrl: './event-list.page.html',
@@ -19,7 +20,7 @@ export class EventListPage implements OnInit {
// [desktop] event list to approve
showLoader: boolean;
eventsList: any = []
eventsList: EventToApproveList = []
eventPerson: EventPerson;
eventBody: EventBody;
@@ -92,61 +93,34 @@ export class EventListPage implements OnInit {
return new Date(e).toDateString()
}
async LoadToApproveEvents() {
/* if(SessionStore.user.Profile == 'PR') {
return false
} */
this.showLoader = true;
const segment: any = this.segment
let userId;
if(this.segment == 'Meu calendario') {
// color
if(SessionStore.user.Profile == 'PR') {
this.color = 'pr'
} else {
this.color = 'mdgpr'
}
let genericEvents = await this.processes.eventsToApprove(SessionStore.user.UserId,'mobile agenda').toPromise()
try {
this.eventsList = this.sortService.sortArrayByDate(genericEvents).reverse();
} catch (error) {
this.eventsList = [];
this.showLoader = false;
}
alert('my agenda')
this.eventoaprovacaostore.save(segment, this.eventsList)
let a = await this.AgendaDataRepositoryService.eventToApprove({userId: this.SessionStore.user.UserId}).toPromise()
userId = SessionStore.user.UserId
} else if(segment) {
// console.log('segment', segment)
this.color = 'pr'
let allEvents = await this.processes.eventsToApprove(segment,'agenda desktop').toPromise()
try {
this.eventsList = this.sortService.sortArrayByDate(allEvents).reverse();
} catch(error) {
this.eventsList = []
this.showLoader = false;
}
this.eventsList = this.eventsList
this.eventsList = this.eventsList
this.eventoaprovacaostore.save(segment, this.eventsList)
userId = segment
}
this.showLoader = false;
try {
let allEvents = await this.AgendaDataRepositoryService.eventToApproveList({userId}).toPromise()
this.eventsList = this.sortService.sortArrayByDate(allEvents).reverse();
this.eventoaprovacaostore.save(segment, this.eventsList)
} catch (e) {
this.eventsList = [];
this.showLoader = false;
}
}
async LoadToApproveEventsNoLoader() {
@@ -1,5 +1,5 @@
<ion-header class="ion-no-border">
<ion-toolbar class="header-toolbar">
<ion-toolbar class="header-toolbar" >
<div class="main-header px-20" style="overflow: unset !important;">
<div class="title-content d-flex">
<div class="left">
@@ -127,22 +127,17 @@ export class ViewEventPage implements OnInit {
}
async loadEvent() {
try {
let res = await this.agendaDataRepository.getEventById(this.eventId)
let res = await this.agendaDataRepository.getEventById(this.eventId).toPromise()
console.log('Loaded Event', res)
res = this.dateService.fixDate(res as any)
this.loadedEvent = res as any;
this.setTimeZone()
// this.addEventToDb(res);
} catch (error) {
if(res.isOk()) {
console.log('Loaded Event', res.value)
let changeDate = this.dateService.fixDate(res.value as any) as any
this.loadedEvent = changeDate as any;
this.setTimeZone()
} else {
this.viewEventDetailDismiss.emit({
type: 'close'
})
// this.httpErrorHandle.httpStatusHandle(error)
}
}