mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 21:06:06 +00:00
Merge branch 'developer' of bitbucket.org:equilibriumito/gabinete-digital into developer
This commit is contained in:
+19
-11
@@ -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')
|
||||
|
||||
+10
-2
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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',
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user