mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 13:02:56 +00:00
Merge branch 'developer' of https://bitbucket.org/equilibriumito/gabinete-digital into developer
This commit is contained in:
@@ -6,7 +6,7 @@ import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { ModalController, NavParams } from '@ionic/angular';
|
||||
import { NavigationEnd, Router } from '@angular/router';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
|
||||
@Component({
|
||||
selector: 'app-event-list',
|
||||
@@ -23,7 +23,7 @@ export class EventListPage implements OnInit {
|
||||
eventBody: EventBody;
|
||||
categories: string[];
|
||||
serialnumber:string;
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
segment:string;
|
||||
|
||||
@Input() profile:string;
|
||||
|
||||
@@ -108,7 +108,6 @@
|
||||
<input matInput [ngxMatDatetimePicker]="picker1"
|
||||
placeholder="Choose a date"
|
||||
[(ngModel)]="postEvent.StartDate"
|
||||
[min]="minDate"
|
||||
[disabled]="disabled"
|
||||
>
|
||||
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1"></mat-datepicker-toggle>
|
||||
@@ -140,7 +139,6 @@
|
||||
<input matInput [ngxMatDatetimePicker]="fim"
|
||||
placeholder="Choose a date"
|
||||
[(ngModel)]="postEvent.EndDate"
|
||||
[min]="endMinDate"
|
||||
[disabled]="disabled"
|
||||
>
|
||||
<mat-datepicker-toggle id="new-fim" matSuffix [for]="fim"></mat-datepicker-toggle>
|
||||
@@ -186,11 +184,11 @@
|
||||
<mat-select placeholder="Selecione repetição*"
|
||||
[(ngModel)]="postEvent.EventRecurrence.Type"
|
||||
(ngModelChange)="onSelectedRecurringChanged($event)">
|
||||
<!-- <mat-option
|
||||
<mat-option
|
||||
*ngFor="let recurring of recurringTypes" value="{{recurring.Code}}"
|
||||
>
|
||||
{{recurring.Description}}
|
||||
</mat-option> -->
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -207,8 +205,7 @@
|
||||
<mat-form-field class="date-hour-picker">
|
||||
<input matInput [ngxMatDatetimePicker]="occurrrence"
|
||||
placeholder="Choose a date"
|
||||
[formControl]="dateControlOccurrence"
|
||||
[min]="endMinDate"
|
||||
[(ngModel)]="postEvent.EventRecurrence.LastOccurrence"
|
||||
[disabled]="disabled"
|
||||
>
|
||||
<mat-datepicker-toggle id="last-occurrence" matSuffix [for]="occurrrence"></mat-datepicker-toggle>
|
||||
|
||||
@@ -11,7 +11,7 @@ import { SearchList } from "src/app/models/search-document";
|
||||
import { EventAttachment } from 'src/app/models/attachment.model';
|
||||
|
||||
import { ToastService } from 'src/app/services/toast.service';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
|
||||
import {DateAdapter} from '@angular/material/core';
|
||||
@@ -21,10 +21,9 @@ import { FormControl } from '@angular/forms';
|
||||
import { NgxMatDateFormats } from '@angular-material-components/datetime-picker';
|
||||
import { ThemePalette } from '@angular/material/core';
|
||||
|
||||
import { NgZone, ViewChild } from '@angular/core';
|
||||
import { ViewChild } from '@angular/core';
|
||||
import { FormGroup, Validators } from '@angular/forms';
|
||||
import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker';
|
||||
import { EliminateEventPage } from 'src/app/modals/eliminate-event/eliminate-event.page';
|
||||
|
||||
const moment = _rollupMoment || _moment;
|
||||
|
||||
@@ -61,13 +60,11 @@ export class NewEventPage implements OnInit {
|
||||
public showSeconds = false;
|
||||
public touchUi = false;
|
||||
public enableMeridian = false;
|
||||
public minDate = new Date().toISOString().slice(0,10)
|
||||
public endMinDate = new Date(new Date().getTime() + 15 * 60000);
|
||||
public stepHour = 1;
|
||||
public stepMinute = 5;
|
||||
public stepSecond = 5;
|
||||
public color: ThemePalette = 'primary';
|
||||
recurringTypes: any;
|
||||
recurringTypes = []
|
||||
selectedRecurringType: any;
|
||||
|
||||
@Input() profile:string;
|
||||
@@ -90,7 +87,7 @@ export class NewEventPage implements OnInit {
|
||||
|
||||
// minDate: string;
|
||||
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
@ViewChild('picker') picker: any;
|
||||
@ViewChild('fim') fim: any;
|
||||
@ViewChild('inicio') inicio: any;
|
||||
@@ -110,13 +107,9 @@ export class NewEventPage implements OnInit {
|
||||
public stepMinutes = [1, 5, 10, 15, 20, 25];
|
||||
public stepSeconds = [1, 5, 10, 15, 20, 25];
|
||||
|
||||
public dateControlOccurrence = new FormControl(moment("DD MM YYYY hh"));
|
||||
|
||||
showLoader = false
|
||||
|
||||
get dateOccurrence () {
|
||||
return this.dateControlOccurrence.value
|
||||
}
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
@@ -131,7 +124,7 @@ export class NewEventPage implements OnInit {
|
||||
this.loggeduser = userService.ValidatedUser;
|
||||
this.postEvent = new Event();
|
||||
|
||||
this.postEvent.StartDate = new Date();
|
||||
this.postEvent.StartDate = new Date()
|
||||
this.postEvent.EndDate = new Date(new Date().getTime() + 15 * 60000);
|
||||
}
|
||||
|
||||
@@ -216,7 +209,6 @@ export class NewEventPage implements OnInit {
|
||||
|
||||
|
||||
this.date = new Date(2021,9,4,5,6,7);
|
||||
this.getDatepickerData()
|
||||
|
||||
this.injectValidation();
|
||||
|
||||
@@ -251,7 +243,7 @@ export class NewEventPage implements OnInit {
|
||||
dateEnd: new FormControl(this.postEvent.EndDate, [
|
||||
Validators.required
|
||||
]),
|
||||
dateOccurrence: new FormControl(this.postEvent.EventRecurrence.Type.toString() == '-1' ? ['ok']: this.dateOccurrence, [
|
||||
dateOccurrence: new FormControl(this.postEvent.EventRecurrence.Type.toString() == '-1' ? ['ok']: this.postEvent.EventRecurrence.LastOccurrence, [
|
||||
Validators.required
|
||||
]),
|
||||
participantes: new FormControl(this.taskParticipants, [
|
||||
@@ -334,17 +326,6 @@ export class NewEventPage implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
getDatepickerData() {
|
||||
if (this.postEvent) {
|
||||
this.postEvent.EventRecurrence.LastOccurrence = this.dateOccurrence
|
||||
}
|
||||
}
|
||||
|
||||
restoreDatepickerData() {
|
||||
if (this.postEvent) {
|
||||
this.dateControlOccurrence = new FormControl(moment(this.postEvent.EventRecurrence.LastOccurrence, "DD MM YYYY HH:mm"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -358,7 +339,6 @@ export class NewEventPage implements OnInit {
|
||||
return false
|
||||
}
|
||||
|
||||
this.getDatepickerData()
|
||||
|
||||
this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc);
|
||||
|
||||
@@ -483,7 +463,6 @@ export class NewEventPage implements OnInit {
|
||||
}
|
||||
|
||||
afterSave() {
|
||||
this.getDatepickerData()
|
||||
this.deleteTemporaryData();
|
||||
|
||||
this.onAddEvent.emit(this.postEvent);
|
||||
@@ -521,7 +500,6 @@ export class NewEventPage implements OnInit {
|
||||
}
|
||||
|
||||
saveTemporaryData() {
|
||||
this.getDatepickerData()
|
||||
window['temp.path:/home/agenda/new-event.component.ts'] = {
|
||||
postEvent: this.postEvent,
|
||||
eventBody: this.eventBody,
|
||||
@@ -545,7 +523,7 @@ export class NewEventPage implements OnInit {
|
||||
this.segment = restoredData.segment
|
||||
|
||||
// restore dater for date and hours picker
|
||||
this.restoreDatepickerData()
|
||||
|
||||
return true;
|
||||
} else {
|
||||
|
||||
|
||||
@@ -33,14 +33,16 @@
|
||||
<span class="date">{{loadedEvent.Location}}</span>
|
||||
|
||||
|
||||
<div *ngIf="loadedEvent.Organizer.Name == 'Agenda do Presidente da República' ">
|
||||
<span class="label" *ngIf="loadedEvent.CalendarName == 'Oficial' " style="background-color: #99e47b;">{{loadedEvent.CalendarName}}</span>
|
||||
<span class="label" *ngIf="loadedEvent.CalendarName == 'Pessoal' " style="background-color: #958bfc;">{{loadedEvent.CalendarName}}</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="loadedEvent.Organizer.Name == 'Agenda do Ministro e Director do Gabinete do PR' ">
|
||||
<span class="label" *ngIf="loadedEvent.CalendarName == 'Oficial' " style="background-color: #ffb703;">{{loadedEvent.CalendarName}}</span>
|
||||
<span class="label" *ngIf="loadedEvent.CalendarName == 'Pessoal' " style="background-color: #f05d5e;">{{loadedEvent.CalendarName}}</span>
|
||||
<div *ngIf="loadedEvent.Organizer">
|
||||
<div *ngIf="loadedEvent.Organizer.Name == 'Agenda do Presidente da República' ">
|
||||
<span class="label" *ngIf="loadedEvent.CalendarName == 'Oficial' " style="background-color: #99e47b;">{{loadedEvent.CalendarName}}</span>
|
||||
<span class="label" *ngIf="loadedEvent.CalendarName == 'Pessoal' " style="background-color: #958bfc;">{{loadedEvent.CalendarName}}</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="loadedEvent.Organizer.Name == 'Agenda do Ministro e Director do Gabinete do PR' ">
|
||||
<span class="label" *ngIf="loadedEvent.CalendarName == 'Oficial' " style="background-color: #ffb703;">{{loadedEvent.CalendarName}}</span>
|
||||
<span class="label" *ngIf="loadedEvent.CalendarName == 'Pessoal' " style="background-color: #f05d5e;">{{loadedEvent.CalendarName}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -75,10 +77,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="loadedAttachments" class="bottom-content width-100">
|
||||
<div *ngIf="loadedEvent.Attachments" class="bottom-content width-100">
|
||||
<h5>Documentos Anexados</h5>
|
||||
<ion-list class="width-100">
|
||||
<li *ngFor="let attach of loadedAttachments; let i = index" class="width-100" lines="none" class="ion-no-margin ion-no-padding pa-0">
|
||||
<li *ngFor="let attach of loadedEvent.Attachments; let i = index" class="width-100" lines="none" class="ion-no-margin ion-no-padding pa-0">
|
||||
<ion-label class="width-100 d-flex align-center" >
|
||||
<p class="flex-grow-1" (click)="viewDocument(attach.SourceId)">
|
||||
<span class="attach-title-item d-block">{{attach.SourceName}}</span>
|
||||
|
||||
@@ -116,7 +116,7 @@ ion-content{
|
||||
float: right !important;
|
||||
padding: 5px 13.5px 5px 13.5px;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.location-detail{
|
||||
|
||||
@@ -2,7 +2,6 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
|
||||
import { AlertController, ModalController, PopoverController } from '@ionic/angular';
|
||||
import { Attachment } from 'src/app/models/attachment.model';
|
||||
import { EventBody } from 'src/app/models/eventbody.model';
|
||||
import { AttachmentsService } from 'src/app/services/attachments.service';
|
||||
import { EventsService } from 'src/app/services/events.service';
|
||||
import { Event } from 'src/app/models/event.model';
|
||||
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
|
||||
@@ -22,7 +21,6 @@ export class ViewEventPage implements OnInit {
|
||||
isEventEdited: boolean;
|
||||
eventBody: EventBody;
|
||||
loadedAttachments:any;
|
||||
loadedEventAttachments: Attachment[];
|
||||
pageId: string;
|
||||
showLoader: boolean;
|
||||
|
||||
@@ -44,7 +42,6 @@ export class ViewEventPage implements OnInit {
|
||||
|
||||
constructor(
|
||||
private eventsService: EventsService,
|
||||
private attachmentsService: AttachmentsService,
|
||||
public alertController: AlertController,
|
||||
private iab: InAppBrowser,
|
||||
private processes: ProcessesService,
|
||||
@@ -96,7 +93,6 @@ export class ViewEventPage implements OnInit {
|
||||
this.loadedEvent = res;
|
||||
this.today = new Date(res.StartDate);
|
||||
this.customDate = this.days[this.today.getDay()]+ ", " + this.today.getDate() +" de " + ( this.months[this.today.getMonth()]);
|
||||
this.getAttachments(this.loadedEvent.EventId);
|
||||
}, (error)=> {
|
||||
|
||||
console.log('errer', )
|
||||
@@ -142,12 +138,6 @@ export class ViewEventPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
getAttachments(eventId){
|
||||
this.attachmentsService.getAttachmentsById(eventId).subscribe(res=>{
|
||||
this.loadedAttachments = res;
|
||||
console.log(res);
|
||||
});
|
||||
}
|
||||
|
||||
async editEvent() {
|
||||
this.viewEventDetailDismiss.emit({
|
||||
@@ -156,7 +146,7 @@ export class ViewEventPage implements OnInit {
|
||||
})
|
||||
}
|
||||
|
||||
viewDocument(sourceId){
|
||||
viewDocument(sourceId) {
|
||||
this.processes.GetDocumentUrl(sourceId, '8').subscribe(res=>{
|
||||
console.log(res);
|
||||
const url: string = res.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { removeDuplicate } from 'src/plugin/removeDuplicate.js';
|
||||
@@ -14,7 +14,7 @@ export class AllProcessesPage implements OnInit {
|
||||
|
||||
skeletonLoader = true;
|
||||
allProcessesList:any[] = [];
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
|
||||
constructor(
|
||||
private processesService: ProcessesService,
|
||||
|
||||
@@ -4,7 +4,7 @@ import { customTask} from '../../../models/dailyworktask.model';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { NavigationStart, Router } from '@angular/router';
|
||||
import { DespachosprStore } from 'src/app/store/despachospr-store.service';
|
||||
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
|
||||
@@ -19,7 +19,7 @@ export class DespachosPrPage implements OnInit {
|
||||
customTaskPipe = new CustomTaskPipe()
|
||||
skeletonLoader = true
|
||||
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
despachosprstore = DespachosprStore;
|
||||
|
||||
constructor (
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import { customTask, DailyWorkTask, fullTask } from '../../../models/dailyworktask.model';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { customTask } from '../../../models/dailyworktask.model';
|
||||
import { NavigationStart, Router } from '@angular/router';
|
||||
import { DespachoStore } from 'src/app/store/despacho-store.service';
|
||||
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
|
||||
import { DespachoService } from 'src/app/Rules/despacho.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-despachos',
|
||||
@@ -12,16 +11,11 @@ import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
|
||||
})
|
||||
export class DespachosPage implements OnInit {
|
||||
|
||||
segment:string;
|
||||
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
|
||||
|
||||
skeletonLoader = true
|
||||
despachoStore = DespachoStore;
|
||||
customTaskPipe = new CustomTaskPipe()
|
||||
|
||||
constructor (
|
||||
private processes:ProcessesService,
|
||||
private router: Router,
|
||||
private despachoRule: DespachoService
|
||||
) {}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -45,30 +39,11 @@ export class DespachosPage implements OnInit {
|
||||
|
||||
async LoadList() {
|
||||
|
||||
this.skeletonLoader = true
|
||||
|
||||
let result: fullTask[] = await this.processes.GetTasksList("Despacho", false).toPromise();
|
||||
result = result.filter(data => data.workflowInstanceDataFields.Status == "Active")
|
||||
|
||||
let despachoList = new Array();
|
||||
|
||||
result.forEach((element, index) => {
|
||||
|
||||
let task = this.customTaskPipe.transform(element);
|
||||
despachoList.push(task);
|
||||
|
||||
});
|
||||
|
||||
despachoList = this.sortArrayISODate(despachoList).reverse();
|
||||
this.despachoStore.reset(despachoList);
|
||||
this.skeletonLoader = false
|
||||
|
||||
await this.despachoRule.getList({updateStore: true})
|
||||
}
|
||||
|
||||
sortArrayISODate(myArray: any) {
|
||||
return myArray.sort(function(a, b) {
|
||||
return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0);
|
||||
});
|
||||
get skeletonLoader(): boolean {
|
||||
return this.despachoRule.LoaderService.loading
|
||||
}
|
||||
|
||||
doRefresh() {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { EventPerson } from 'src/app/models/eventperson.model';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { ModalController } from '@ionic/angular';
|
||||
import { NavigationStart, Router } from '@angular/router';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { EventoAprovacaoStore } from 'src/app/store/eventoaprovacao-store.service';
|
||||
|
||||
@@ -22,7 +22,7 @@ export class EventsToApprovePage implements OnInit {
|
||||
eventBody: EventBody;
|
||||
categories: string[];
|
||||
serialnumber:string;
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
segment:string;
|
||||
eventaprovacaostore = EventoAprovacaoStore;
|
||||
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
<div class="width-100 overflow-y-auto height-100" >
|
||||
|
||||
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
|
||||
<ion-list *ngIf="expedienteprstore.list.length >= 1">
|
||||
<ion-list *ngIf="expedienteGdStore.list.length >= 1">
|
||||
<div
|
||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of expedienteprstore.list"
|
||||
*ngFor = "let task of expedienteGdStore.list"
|
||||
(click)="goToExpediente(task.SerialNumber)"
|
||||
>
|
||||
<div class="item width-100">
|
||||
@@ -48,13 +48,13 @@
|
||||
|
||||
|
||||
<div
|
||||
*ngIf="!skeletonLoader && expedienteprstore.list.length == 0 && expedienteprstore.list.length == 0"
|
||||
*ngIf="!skeletonLoader && expedienteGdStore.list.length == 0 && expedienteGdStore.list.length == 0"
|
||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||
>
|
||||
<span>Lista vazia</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="skeletonLoader && expedienteprstore.list.length == 0">
|
||||
<div *ngIf="skeletonLoader && expedienteGdStore.list.length == 0">
|
||||
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
|
||||
@@ -4,10 +4,11 @@ import { customTask, DailyWorkTask } from '../../../models/dailyworktask.model';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { ModalController } from '@ionic/angular';
|
||||
import { AlertService } from 'src/app/services/alert.service';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { ExpedienteprStore } from 'src/app/store/expedientepr-store.service';
|
||||
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
|
||||
import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service';
|
||||
import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe';
|
||||
|
||||
@Component({
|
||||
selector: 'app-expedientes-pr',
|
||||
@@ -16,13 +17,14 @@ import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
|
||||
})
|
||||
export class ExpedientesPrPage implements OnInit {
|
||||
|
||||
taskslist:DailyWorkTask[] = [];
|
||||
taskslist = [];
|
||||
serialNumber:string;
|
||||
skeletonLoader = true;
|
||||
expedienteprstore = ExpedienteprStore;
|
||||
expedienteGdStore = ExpedienteGdStore;
|
||||
customTaskPipe = new CustomTaskPipe()
|
||||
expedienteTaskPipe = new ExpedienteTaskPipe()
|
||||
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
|
||||
|
||||
constructor(
|
||||
@@ -62,15 +64,15 @@ export class ExpedientesPrPage implements OnInit {
|
||||
|
||||
LoadList() {
|
||||
this.skeletonLoader = true;
|
||||
this.processes.GetTasksList("Expediente", false).subscribe(result => {
|
||||
this.processes.GetTaskListExpediente(false).subscribe(result => {
|
||||
|
||||
this.taskslist = [];
|
||||
let res = result.reverse().filter(data => data.workflowInstanceDataFields.Status == "Active");
|
||||
res.forEach(element => {
|
||||
let task: customTask = this.customTaskPipe.transform(element);
|
||||
let task = this.expedienteTaskPipe.transform(element);
|
||||
this.taskslist.push(task);
|
||||
});
|
||||
this.expedienteprstore.reset(this.taskslist);
|
||||
this.expedienteGdStore.reset(this.taskslist);
|
||||
this.skeletonLoader = false;
|
||||
|
||||
});
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<div class="item width-100">
|
||||
<div class="exp-top-detail">
|
||||
<div class="subject">
|
||||
<ion-label>{{ task.Folio }}</ion-label>
|
||||
<ion-label>{{ task.Subject }}</ion-label>
|
||||
</div>
|
||||
<div class="exp-icon">
|
||||
<ion-icon src="assets/images/icons-expediente-attachment.svg"></ion-icon>
|
||||
|
||||
@@ -1,15 +1,9 @@
|
||||
import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
|
||||
import { ActivatedRoute, NavigationEnd, NavigationExtras, NavigationStart, Router } from '@angular/router';
|
||||
import { CalendarComponent } from 'ionic2-calendar';
|
||||
|
||||
import { DailyWorkTask } from '../../../models/dailyworktask.model';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { NavigationStart, Router } from '@angular/router';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { formatDate } from '@angular/common';
|
||||
import { LoadingService } from 'src/app/services/loading.service';
|
||||
import { ModalController, NavParams } from '@ionic/angular';
|
||||
import { ExpedienteDetailPage } from 'src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page';
|
||||
import { AlertService } from 'src/app/services/alert.service';
|
||||
import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service';
|
||||
import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe';
|
||||
|
||||
@Component({
|
||||
selector: 'app-expedients',
|
||||
@@ -18,23 +12,20 @@ import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service';
|
||||
})
|
||||
export class ExpedientsPage implements OnInit {
|
||||
segment:string;
|
||||
//profile:string;
|
||||
|
||||
@ViewChild(CalendarComponent) myCal: CalendarComponent;
|
||||
|
||||
taskslist:DailyWorkTask[] = [];
|
||||
taskslist = [];
|
||||
serialNumber:string;
|
||||
|
||||
@Input() profile:string;
|
||||
skeletonLoader = true
|
||||
expedientegbstore = ExpedienteGdStore
|
||||
|
||||
expedienteTaskPipe = new ExpedienteTaskPipe()
|
||||
|
||||
constructor(
|
||||
private processes:ProcessesService,
|
||||
private modalController: ModalController,
|
||||
private alertService: AlertService,
|
||||
private router: Router,
|
||||
private activatedRoute: ActivatedRoute,
|
||||
) {
|
||||
this.profile = 'mdgpr';
|
||||
|
||||
@@ -58,11 +49,11 @@ export class ExpedientsPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
segmentChanged(){
|
||||
segmentChanged() {
|
||||
this.LoadList();
|
||||
}
|
||||
|
||||
notImplemented(){
|
||||
notImplemented() {
|
||||
this.alertService.presentAlert('Funcionalidade em desenvolvimento');
|
||||
}
|
||||
|
||||
@@ -70,31 +61,17 @@ export class ExpedientsPage implements OnInit {
|
||||
|
||||
this.skeletonLoader = true
|
||||
|
||||
this.processes.GetTasksList("Expediente", false).subscribe(result => {
|
||||
this.processes.GetTaskListExpediente(false).subscribe(result => {
|
||||
this.taskslist = [];
|
||||
this.skeletonLoader = false
|
||||
|
||||
let res = result.reverse().filter(data => data.workflowInstanceDataFields.Status == "Active");
|
||||
res.forEach(element => {
|
||||
let date = new Date(element.taskStartDate);
|
||||
date.setMonth(date.getMonth() + 1);
|
||||
let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds();
|
||||
let task: DailyWorkTask = {
|
||||
"SerialNumber": element.serialNumber,
|
||||
"Folio": element.workflowInstanceDataFields.Subject,
|
||||
"Senders": element.workflowInstanceDataFields.Sender,
|
||||
"CreateDate": taskDate,
|
||||
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
|
||||
"Remetente": element.workflowInstanceDataFields.Remetente,
|
||||
"DocumentsQty": element.totalDocuments,
|
||||
"WorkflowName": element.workflowDisplayName,
|
||||
"activityInstanceName": element.activityInstanceName,
|
||||
"Status": element.workflowInstanceDataFields.Status,
|
||||
}
|
||||
let task = this.expedienteTaskPipe.transform(element)
|
||||
this.taskslist.push(task);
|
||||
|
||||
});
|
||||
console.log("Buffer store", this.taskslist)
|
||||
|
||||
this.expedientegbstore.reset(this.taskslist);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ export class PedidosPage implements OnInit {
|
||||
|
||||
@ViewChild(CalendarComponent) myCal: CalendarComponent;
|
||||
|
||||
taskslist:DailyWorkTask[] = [];
|
||||
parecerList:any[] = [];
|
||||
fulltask:any;
|
||||
|
||||
@@ -100,7 +99,6 @@ export class PedidosPage implements OnInit {
|
||||
this.taskType = "Pedido de Deferimento";
|
||||
this.processes.GetTasksList("Pedido de Deferimento", false).subscribe(result => {
|
||||
|
||||
this.taskslist = result.filter(data => data.workflowInstanceDataFields.Status == "Active")
|
||||
this.skeletonLoader = false
|
||||
|
||||
this.deferimentoList = new Array();
|
||||
|
||||
@@ -5,7 +5,7 @@ import { customTask} from '../../../models/dailyworktask.model';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { PendentesStore } from 'src/app/store/pendestes-store.service';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
|
||||
|
||||
@Component({
|
||||
@@ -18,7 +18,7 @@ export class PendentesPage implements OnInit {
|
||||
skeletonLoader: boolean = false;
|
||||
pendentesstore = PendentesStore;
|
||||
customTaskPipe = new CustomTaskPipe()
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
|
||||
@Input() profile:string;
|
||||
segment:string;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
|
||||
@Component({
|
||||
@@ -9,7 +9,7 @@ import { AuthService } from 'src/app/services/auth.service';
|
||||
})
|
||||
export class HeaderPrPage implements OnInit {
|
||||
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
|
||||
constructor(authService: AuthService) {
|
||||
|
||||
|
||||
@@ -2,12 +2,10 @@ import { Component, OnInit } from '@angular/core';
|
||||
import { AnimationController, ModalController,Platform } from '@ionic/angular';
|
||||
import { SearchPage } from 'src/app/pages/search/search.page';
|
||||
import { Router } from '@angular/router';
|
||||
import { ProfileComponent } from '../headers/header-no-search/profile/profile.page';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { ProfilePage } from 'src/app/modals/profile/profile.page';
|
||||
import { StorageService } from '../../services/storage.service';
|
||||
import { NotificationsService } from '../../services/notifications.service'
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-header',
|
||||
@@ -18,23 +16,21 @@ export class HeaderPage implements OnInit {
|
||||
|
||||
searchSubject: string = '';
|
||||
showSearch = false;
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
hideSearchBtn: boolean = false;
|
||||
notificationdata: any[] = [];
|
||||
DataArray: Array<object> = [];
|
||||
notificationLength: 0;
|
||||
|
||||
SessionStore = SessionStore
|
||||
|
||||
constructor(
|
||||
private router: Router,
|
||||
private modalController: ModalController,
|
||||
private animationController: AnimationController,
|
||||
private storageservice: StorageService,
|
||||
private notificatioservice: NotificationsService,
|
||||
private platform: Platform,
|
||||
authService: AuthService
|
||||
) {
|
||||
this.loggeduser = authService.ValidatedUser;
|
||||
this.loggeduser = SessionStore.user;
|
||||
router.events.subscribe((val) => {
|
||||
this.showSearch = false;
|
||||
//this.modalController.dismiss();
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { AnimationController, ModalController } from '@ionic/angular';
|
||||
import { SearchPage } from 'src/app/pages/search/search.page';
|
||||
import { MenuController } from '@ionic/angular';
|
||||
import { ProfileComponent } from './profile/profile.page';
|
||||
import { Router } from '@angular/router';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { ProfilePage } from 'src/app/modals/profile/profile.page';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
|
||||
|
||||
@Component({
|
||||
selector: 'app-header-no-search',
|
||||
templateUrl: './header-no-search.page.html',
|
||||
@@ -14,15 +13,14 @@ import { ProfilePage } from 'src/app/modals/profile/profile.page';
|
||||
})
|
||||
export class HeaderNoSearchPage implements OnInit {
|
||||
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
SessionStore = SessionStore
|
||||
|
||||
constructor(private modalController: ModalController,
|
||||
private menu: MenuController,
|
||||
private animationController: AnimationController,
|
||||
private router: Router,
|
||||
authService: AuthService) {
|
||||
private router: Router) {
|
||||
|
||||
this.loggeduser = authService.ValidatedUser;
|
||||
this.loggeduser = SessionStore.user;
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { AnimationController, ModalController } from '@ionic/angular';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { FingerprintPage } from 'src/app/shared/fingerprint/fingerprint.page';
|
||||
import { PinPage } from 'src/app/shared/pin/pin.page';
|
||||
@@ -14,7 +14,7 @@ import { LocalstoreService } from 'src/app/store/localstore.service';
|
||||
})
|
||||
export class ProfileComponent implements OnInit {
|
||||
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
userLoginPreference = ''
|
||||
|
||||
constructor(private modalController:ModalController,
|
||||
@@ -120,7 +120,6 @@ export class ProfileComponent implements OnInit {
|
||||
this.router.navigateByUrl('/', { replaceUrl: true });
|
||||
},100)
|
||||
|
||||
|
||||
}
|
||||
|
||||
LoginPreferenceMethod(type: string) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<ion-content class="container">
|
||||
<ion-content class="options-container">
|
||||
<div class="arrow-right">
|
||||
<button class="btn-no-color" (click)="close()">
|
||||
<ion-icon slot="end" class="arrow-right-icon" src='assets/images/icons-arrow-arrow-right.svg'></ion-icon>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.container{
|
||||
.options-container{
|
||||
--padding-top:20px !important;
|
||||
--padding-bottom:20px !important;
|
||||
--padding-start:20px !important;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<ion-content class="container">
|
||||
<ion-content class="options-container">
|
||||
|
||||
<!-- <div class="buttons">
|
||||
<button (click)="openAddNoteModal('Solicitar assinatura')" class="btn-cancel" shape="round" >Solicitar assinatura</button>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.container{
|
||||
.options-container{
|
||||
--padding-top:20px !important;
|
||||
--padding-bottom:20px !important;
|
||||
--padding-start:20px !important;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<ion-content class="container">
|
||||
<ion-content class="options-container">
|
||||
<div class="arrow-right" (click)="close()">
|
||||
<button class="btn-no-color">
|
||||
<ion-icon slot="end" class="arrow-right-icon" src='assets/images/icons-arrow-arrow-right.svg'></ion-icon>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.container{
|
||||
.options-container{
|
||||
--padding-top:20px !important;
|
||||
--padding-bottom:20px !important;
|
||||
--padding-start:20px !important;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<ion-content class="container">
|
||||
<ion-content class="options-container">
|
||||
<div class="arrow-right" (click)="close()">
|
||||
<button class="btn-no-color">
|
||||
<ion-icon slot="end" class="arrow-right-icon" src='assets/images/icons-arrow-arrow-right.svg'></ion-icon>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.container{
|
||||
.options-container{
|
||||
--padding-top:20px !important;
|
||||
--padding-bottom:20px !important;
|
||||
--padding-start:20px !important;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<ion-content class="container">
|
||||
<ion-content class="options-container">
|
||||
|
||||
<div class="arrow-right" (click)="close()">
|
||||
<button class="btn-no-color">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.container{
|
||||
.options-container{
|
||||
--padding-top:20px !important;
|
||||
--padding-bottom:20px !important;
|
||||
--padding-start:20px !important;
|
||||
|
||||
@@ -3,7 +3,7 @@ import { ActivatedRoute, NavigationExtras, Router } from '@angular/router';
|
||||
import { AnimationController, MenuController, ModalController, NavParams, PopoverController } from '@ionic/angular';
|
||||
import { AddNotePage } from 'src/app/modals/add-note/add-note.page';
|
||||
import { SearchList } from 'src/app/models/search-document';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page';
|
||||
import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page';
|
||||
import { ExpedientTaskModalPage } from 'src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page';
|
||||
@@ -37,7 +37,7 @@ export class OptsExpedientePrPage implements OnInit {
|
||||
|
||||
showEnviarPendentes = false;
|
||||
|
||||
loggeduser: User;
|
||||
loggeduser: LoginUserRespose;
|
||||
|
||||
constructor(
|
||||
private popoverController: PopoverController,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<ion-content class="container width-100 ">
|
||||
<ion-content class="options-container width-100 ">
|
||||
<div class="arrow-right" (click)="close()">
|
||||
<button class="btn-no-color">
|
||||
<ion-icon slot="end" class="arrow-right-icon" src='assets/images/icons-arrow-arrow-right.svg'></ion-icon>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.container{
|
||||
.options-container{
|
||||
--padding-top:20px !important;
|
||||
--padding-bottom:20px !important;
|
||||
--padding-start:20px !important;
|
||||
|
||||
@@ -13,7 +13,9 @@ import { SearchDocumentPipe } from 'src/app/pipes/search-document.pipe';
|
||||
import { AttachmentsService } from 'src/app/services/attachments.service';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { ToastService } from 'src/app/services/toast.service';
|
||||
|
||||
import { Location } from '@angular/common';
|
||||
import { TaskService } from 'src/app/Rules/task.service'
|
||||
import { ExpedienteService } from 'src/app/Rules/expediente.service';
|
||||
@Component({
|
||||
selector: 'app-opts-expediente',
|
||||
templateUrl: './opts-expediente.page.html',
|
||||
@@ -40,6 +42,9 @@ export class OptsExpedientePage implements OnInit {
|
||||
private activatedRoute: ActivatedRoute,
|
||||
public p: PermissionService,
|
||||
private attachmentsService: AttachmentsService,
|
||||
private location: Location,
|
||||
private TaskService: TaskService,
|
||||
private expedienteService: ExpedienteService
|
||||
) {
|
||||
this.task = this.navParams.get('task');
|
||||
this.fulltask = this.navParams.get('fulltask');
|
||||
@@ -81,7 +86,8 @@ export class OptsExpedientePage implements OnInit {
|
||||
}
|
||||
}
|
||||
else {
|
||||
window.history.back();
|
||||
this.location.back()
|
||||
|
||||
|
||||
/* this.activatedRoute.paramMap.subscribe(params => {
|
||||
console.log('YES');
|
||||
@@ -354,24 +360,16 @@ export class OptsExpedientePage implements OnInit {
|
||||
|
||||
if(body == 'descartar') {
|
||||
if(res['data']== 'Yes') {
|
||||
let otherbody = {
|
||||
"serialNumber": this.task.SerialNumber,
|
||||
"action": "Passivo",
|
||||
"ActionTypeId": 99999877,
|
||||
"dataFields": {
|
||||
"Note": "",
|
||||
}
|
||||
}
|
||||
|
||||
const loader = this.toastService.loading()
|
||||
|
||||
try {
|
||||
await this.processes.CompleteTask(otherbody).toPromise()
|
||||
await this.expedienteService.discard({SerialNumber: this.task.SerialNumber}).toPromise()
|
||||
this.toastService.successMessage('Processo descartado');
|
||||
this.goBack();
|
||||
} catch (error) {
|
||||
this.toastService.badRequest('Processo não descartado')
|
||||
} finally {
|
||||
} finally {
|
||||
loader.remove()
|
||||
}
|
||||
|
||||
@@ -382,7 +380,7 @@ export class OptsExpedientePage implements OnInit {
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(res['data']== 'Yes'){
|
||||
if(res['data']== 'Yes') {
|
||||
const loader = this.toastService.loading()
|
||||
|
||||
try {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
|
||||
import { AnimationController, ModalController } from '@ionic/angular';
|
||||
import { SafeResourceUrl } from '@angular/platform-browser';
|
||||
import { PublicationsService } from 'src/app/services/publications.service';
|
||||
import { Publication } from 'src/app/models/publication';
|
||||
|
||||
@@ -54,6 +54,8 @@ export class ViewPublicationsPage implements OnInit {
|
||||
|
||||
this.getPublications();
|
||||
this.getPublicationDetail();
|
||||
|
||||
window['app-view-publications-page-doRefresh'] = this.doRefresh
|
||||
}
|
||||
|
||||
ngOnChanges(changes: any): void {
|
||||
@@ -71,7 +73,7 @@ export class ViewPublicationsPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
doRefresh(event) {
|
||||
doRefresh =(event) => {
|
||||
this.getPublications();
|
||||
|
||||
setTimeout(() => {
|
||||
|
||||
Reference in New Issue
Block a user