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

This commit is contained in:
Peter Maquiran
2021-05-25 16:13:46 +01:00
7 changed files with 112 additions and 115 deletions
@@ -115,16 +115,11 @@ export class ExpedientTaskModalPage implements OnInit {
}
ngOnInit() {
this.taskDate = new Date(this.task.taskStartDate);
if(!this.task.hasOwnProperty('isEvent')) {
// if not
this.getAttachments();
}
this.getSubjectType();
}
close(){
@@ -132,15 +127,15 @@ export class ExpedientTaskModalPage implements OnInit {
this.modalController.dismiss(null);
}
getSubjectType() {
getSubjectType(){
this.processes.GetSubjectType().subscribe(res=>{
console.log(res);
this.subjectTypes = res;
});
}
cancelTask() {
this.modalController.dismiss(null);
}
async saveTask(){
@@ -157,9 +152,7 @@ export class ExpedientTaskModalPage implements OnInit {
else if(this.postData.Priority=='99999864'){
this.dispatchFolder.DeadlineType = 'Urgentíssimo';
}
let attendees = this.taskParticipants.concat(this.taskParticipantsCc);
attendees = attendees.map(function(val) {
return {
UserEmail: val.EmailAddress,
@@ -205,7 +198,14 @@ export class ExpedientTaskModalPage implements OnInit {
// console.log('this.postData', this.postData, this.taskType);
try {
this.taskResult = await this.processes.postDespatcho(this.postData).toPromise()
switch(this.loggeduser.Profile){
case 'MDGPR':
this.taskResult = await this.processes.postDespatcho(this.postData).toPromise();
break;
case 'PR':
this.taskResult = await this.processes.postDespatchoPr(this.postData).toPromise();
break;
}
await this.successMessage('Processo efetuado')
} catch (error) {
await this.badRequest('Processo não efetuado')
@@ -239,7 +239,15 @@ export class ExpedientTaskModalPage implements OnInit {
//console.log(this.postData);
try {
this.taskResult = await this.processes.postParecer(this.postData).toPromise()
switch(this.loggeduser.Profile){
case 'MDGPR':
this.taskResult = await this.processes.postParecer(this.postData).toPromise();
break;
case 'PR':
this.taskResult = await this.processes.postParecerPr(this.postData).toPromise();
break;
}
await this.successMessage('Processo efetuado')
} catch (error) {
await this.badRequest('Processo não efetuado')
@@ -137,8 +137,16 @@
</div>
<div *ngIf="task" class="aside-right flex-column height-100">
<div class="buttons">
<button (click)="markToDispatch()" class="btn-ok" shape="round" >Marcar para Despacho</button>
<div *ngIf="loggeduser.Profile =='MDGPR' " class="buttons">
<button class="btn-cancel" shape="round" >Aprovar</button>
<button class="btn-cancel" shape="round" >Mandar para arevisão</button>
<div class="solid"></div>
<button (click)="distartExpedientModal(fulltask)" class="btn-cancel" shape="round" >Descartar</button>
<div hidden class="solid"></div>
<button hidden class="btn-cancel" shape="round" >Delegar</button>
</div>
<div *ngIf="loggeduser.Profile =='PR' " class="buttons">
<button (click)="openExpedientActionsModal('0', fulltask)" class="btn-ok" shape="round" >Marcar para Despacho</button>
<button (click)="distartExpedientModal(fulltask)" class="btn-cancel" shape="round" >Descartar</button>
<div class="solid"></div>
<button (click)="openExpedientActionsModal('1',fulltask)" class="btn-cancel" shape="round" >Solicitar Parecer</button>
@@ -15,6 +15,8 @@ import { DiscartExpedientModalPage } from '../../discart-expedient-modal/discart
import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page';
import { ExpedientTaskModalPage } from '../../expediente/expedient-task-modal/expedient-task-modal.page';
import { BookMeetingModalPage } from '../../expediente/book-meeting-modal/book-meeting-modal.page';
import { User } from 'src/app/models/user.model';
import { AuthService } from 'src/app/services/auth.service';
@Component({
selector: 'app-expediente-pr',
@@ -34,6 +36,8 @@ export class ExpedientePrPage implements OnInit {
profile: string;
intervenientes: any;
cc: any;
loggeduser: User;
constructor(private activateRoute: ActivatedRoute,
private processes: ProcessesService,
@@ -46,7 +50,9 @@ export class ExpedientePrPage implements OnInit {
private alertService: AlertService,
public popoverController: PopoverController,
private activatedRoute: ActivatedRoute,
) {
private userAuth: AuthService
) {
this.loggeduser = userAuth.ValidatedUser;
this.activatedRoute.queryParams.subscribe(params => {
if(params["serialNumber"]) {
this.serialnumber = params["serialNumber"];
@@ -97,11 +103,16 @@ export class ExpedientePrPage implements OnInit {
async LoadTaskDetail(serial: string) {
this.processes.GetTask(serial).subscribe(res => {
let date = new Date(res.taskStartDate);
date.setMonth(date.getMonth() + 1);
let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds();
this.task = {
"SerialNumber": res.serialNumber,
"Folio": res.workflowInstanceDataFields.Subject,
"Senders": res.originator.email,
"CreateDate": momentG(new Date(res.taskStartDate),'yyyy-MM-dd HH:mm:ss'),
"CreateDate":taskDate,
"DocumentURL": res.workflowInstanceDataFields.ViewerRequest,
"Remetente": res.workflowInstanceDataFields.Sender,
"Note": res.workflowInstanceDataFields.Note,
@@ -396,11 +396,13 @@ export class GabineteDigitalPage implements OnInit {
openExpedientesPrPage(segment:string){
this.closeAllDesktopComponents();
if( window.innerWidth <= 800){
this.openDespachoList();
if( window.innerWidth <= 800) {
//this.openExpedientList();
this.router.navigate(['/home/gabinete-digital/expedientes-pr']);
}
else{
let navigationExtras: NavigationExtras = {queryParams: {"expedientespr": true,}};
else {
this.selectedElement='ExpedientesPr'
let navigationExtras: NavigationExtras = { queryParams: {"expedientes": true,}};
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
this.showExpedientesPr = true;
}
+16
View File
@@ -183,6 +183,14 @@ export class ProcessesService {
return this.http.post<any>(`${geturl}`, body, options)
}
postDespatchoPr(body:any) {
const geturl = environment.apiURL + 'Processes/CreateExpedientePR';
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options)
}
postParecer(body:any){
const geturl = environment.apiURL + 'Processes/CreateParecer';
let options = {
@@ -191,6 +199,14 @@ export class ProcessesService {
return this.http.post<any>(`${geturl}`, body, options)
}
postParecerPr(body:any){
const geturl = environment.apiURL + 'Processes/CreateParecerPR';
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options)
}
postDeferimento(body:any){
const geturl = environment.apiURL + 'Processes/CreateDeferimento';
let options = {
@@ -7,61 +7,21 @@
</button>
</div>
</div>
<ion-toolbar *ngIf="loggeduser.Profile == 'MDGPR'">
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
<ion-segment-button value="expedientes">
Expediente
</ion-segment-button>
<ion-segment-button value="pendentes">
Pendente
</ion-segment-button>
</ion-segment>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-refresher-content
pullingIcon="chevron-down-circle-outline"
pullingText="deslize para actualizar"
refreshingSpinner="circles"
refreshingText="A actualizar...">
</ion-refresher-content>
</ion-refresher>
<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="width-100" [ngSwitch]="segment" *ngIf="taskslist">
<ion-list *ngSwitchCase="'expedientes'">
<div class="width-100" *ngIf="taskslist">
<ion-list>
<ion-item
class="expediente ion-no-padding cursor-pointer"
*ngFor = "let task of taskslist"
(click)="goToExpediente(task.SerialNumber)"
>
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="exp-top-detail">
<div class="exp-date">
<ion-label>{{ task.CreateDate | date: 'dd-MM-yy' }}</ion-label>
</div>
<div class="exp-remetente">
<ion-label>{{task.Remetente}}</ion-label>
</div>
<div class="exp-icon">
<ion-icon src="assets/images/icons-expediente-attachment.svg"></ion-icon>
<label></label>
</div>
</div>
<div class="exp-bottom-detail">
<ion-label>{{ task.Folio }}</ion-label>
</div>
</div>
</ion-item>
</ion-list>
<ion-list *ngSwitchCase="'pendentes'">
<ion-item
class="expediente ion-no-padding cursor-pointer"
*ngFor = "let task of taskslist"
(click)="viewExpedientDetail(task.SerialNumber)"
>
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="exp-top-detail">
<div class="exp-date">
@@ -18,17 +18,13 @@ import { AuthService } from 'src/app/services/auth.service';
styleUrls: ['./expedientes-pr.page.scss'],
})
export class ExpedientesPrPage implements OnInit {
segment:string;
//profile:string;
@ViewChild(CalendarComponent) myCal: CalendarComponent;
taskslist:DailyWorkTask[];
serialNumber:string;
showLoader:boolean;
loggeduser: User;
@Input() profile:string;
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
constructor(
@@ -38,19 +34,10 @@ export class ExpedientesPrPage implements OnInit {
private authService: AuthService,
private router: Router,
) {
this.profile = 'mdgpr';
this.loggeduser = authService.ValidatedUser;
}
ngOnInit() {
//Inicializar segment
this.segment = "expedientes";
this.LoadList();
}
segmentChanged(){
console.log(this.segment);
this.LoadList();
}
@@ -64,59 +51,68 @@ export class ExpedientesPrPage implements OnInit {
}
LoadList(){
switch(this.segment){
case "expedientes":
this.processes.GetTasksList("Expediente", false).subscribe(result => {
this.showLoader = true;
switch (this.loggeduser.Profile) {
case 'MDGPR':
this.processes.GetTasksList("Expediente do Presidente", false).subscribe(result => {
console.log(result);
this.taskslist = new Array();
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.originator.email,
"CreateDate": formatDate(new Date(element.taskStartDate), 'yyyy-MM-dd HH:mm', 'pt'),
"CreateDate": taskDate,
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": 0,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
}
this.taskslist.push(task);
});
}
this.taskslist.push(task);
});
console.log(this.taskslist);
this.showLoader = false;
});
break;
case "pendentes":
this.processes.GetTasksList("Expediente", false).subscribe(result => {
console.log(result);
this.taskslist = new Array();
let res = result.reverse().filter(data => data.workflowInstanceDataFields.Status == "Pending");
res.forEach(element => {
let task: DailyWorkTask = {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.originator.email,
"CreateDate": formatDate(new Date(element.taskStartDate), 'yyyy-MM-dd HH:mm', 'pt'),
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": 0,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
}
this.taskslist.push(task);
case 'PR':
this.processes.GetTasksList("Expediente do Presidente", false).subscribe(result => {
console.log(result);
this.taskslist = new Array();
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.originator.email,
"CreateDate": taskDate,
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": 0,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
}
this.taskslist.push(task);
});
console.log(this.taskslist);
this.showLoader = false;
});
console.log(this.taskslist);
});
break;
}
}
doRefresh(event) {
doRefresh() {
this.LoadList();
setTimeout(() => {
event.target.complete();
}, 2000);
}
@@ -130,16 +126,12 @@ export class ExpedientesPrPage implements OnInit {
}
async viewExpedientDetail(serialNumber:any) {
console.log(this.profile);
const modal = await this.modalController.create({
component: ExpedienteDetailPage,
componentProps:{
enterAnimation: "",
serialNumber: serialNumber,
profile: this.profile,
profile: this.loggeduser.Profile,
},
cssClass: 'modal modal-desktop',
});