-
+
{
- let task: DailyWorkTask = {
+ let task = {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.workflowInstanceDataFields.Sender,
@@ -108,6 +110,8 @@ export class DespachosPage implements OnInit {
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": 0,
+ "DocId": element.workflowInstanceDataFields.DocId,
+ "WorkflowName": element.workflowDisplayName,
}
this.despachoList.push(task);
diff --git a/src/app/shared/gabinete-digital/expedients/expedients.page.ts b/src/app/shared/gabinete-digital/expedients/expedients.page.ts
index 3d0e36fe5..be9e027e8 100644
--- a/src/app/shared/gabinete-digital/expedients/expedients.page.ts
+++ b/src/app/shared/gabinete-digital/expedients/expedients.page.ts
@@ -72,6 +72,7 @@ export class ExpedientsPage implements OnInit {
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": 0,
+ "WorkflowName": element.workflowDisplayName,
}
this.taskslist.push(task);
});
@@ -92,6 +93,7 @@ export class ExpedientsPage implements OnInit {
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": 0,
+ "WorkflowName": element.workflowDisplayName,
}
this.taskslist.push(task);
});
diff --git a/src/app/shared/gabinete-digital/pedidos/pedidos.page.html b/src/app/shared/gabinete-digital/pedidos/pedidos.page.html
index 7ed6c815b..85952e6c4 100644
--- a/src/app/shared/gabinete-digital/pedidos/pedidos.page.html
+++ b/src/app/shared/gabinete-digital/pedidos/pedidos.page.html
@@ -6,11 +6,11 @@
-
+
Efectuar Despacho
-
+
Pedido de Parecer
@@ -68,8 +68,8 @@
@@ -100,6 +100,7 @@
@@ -112,7 +113,7 @@
{{task.Remetente}}
-
+
diff --git a/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts b/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts
index 3065987b2..3c364d57f 100644
--- a/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts
+++ b/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts
@@ -9,8 +9,9 @@ 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 { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page';
+import { PedidoPage } from 'src/app/pages/gabinete-digital/pedidos/pedido/pedido.page';
import { ExpedientTaskModalPage } from 'src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page';
+import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page';
import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page';
@Component({
@@ -70,6 +71,7 @@ export class PedidosPage implements OnInit {
if(this.segment == 'parecer'){
this.taskType = "Pedido de Parecer";
this.processes.GetTasksList("Pedido de Parecer", false).subscribe(result => {
+ this.taskslist = result;
console.log(result);
this.parecerListResult =result;
@@ -77,7 +79,7 @@ export class PedidosPage implements OnInit {
this.parecerList = new Array();
let res = result.reverse();
res.forEach(element => {
- let task: DailyWorkTask = {
+ let task = {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.originator.email,
@@ -85,6 +87,8 @@ export class PedidosPage implements OnInit {
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": 0,
+ "DocId": element.workflowInstanceDataFields.DocIdDiferimento,
+ "WorkflowName": element.workflowDisplayName,
}
this.parecerList.push(task);
});
@@ -102,7 +106,7 @@ export class PedidosPage implements OnInit {
this.deferimentoList = new Array();
let res = result.reverse();
res.forEach(element => {
- let task: DailyWorkTask = {
+ let task = {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.originator.email,
@@ -110,6 +114,8 @@ export class PedidosPage implements OnInit {
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": 0,
+ "DocId": element.workflowInstanceDataFields.DocIdDiferimento,
+ "WorkflowName": element.workflowDisplayName,
}
this.deferimentoList.push(task);
});
@@ -127,7 +133,7 @@ export class PedidosPage implements OnInit {
}, 2000);
}
- async viewExpedientDetail(serialNumber:any) {
+ async viewPedidoDetail(serialNumber:any) {
console.log(this.profile);
let classs;
@@ -138,7 +144,7 @@ export class PedidosPage implements OnInit {
}
const modal = await this.modalController.create({
- component: ExpedienteDetailPage,
+ component: PedidoPage,
componentProps:{
enterAnimation: "",
serialNumber: serialNumber,
diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes-routing.module.ts b/src/app/shared/gabinete-digital/pendentes/pendentes-routing.module.ts
new file mode 100644
index 000000000..0825107be
--- /dev/null
+++ b/src/app/shared/gabinete-digital/pendentes/pendentes-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import { PendentesPage } from './pendentes.page';
+
+const routes: Routes = [
+ {
+ path: '',
+ component: PendentesPage
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule],
+})
+export class PendentesPageRoutingModule {}
diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.module.ts b/src/app/shared/gabinete-digital/pendentes/pendentes.module.ts
new file mode 100644
index 000000000..71c62b5c3
--- /dev/null
+++ b/src/app/shared/gabinete-digital/pendentes/pendentes.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IonicModule } from '@ionic/angular';
+
+import { PendentesPageRoutingModule } from './pendentes-routing.module';
+
+import { PendentesPage } from './pendentes.page';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ FormsModule,
+ IonicModule,
+ PendentesPageRoutingModule
+ ],
+ declarations: [PendentesPage]
+})
+export class PendentesPageModule {}
diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.html b/src/app/shared/gabinete-digital/pendentes/pendentes.page.html
new file mode 100644
index 000000000..1d06ff030
--- /dev/null
+++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ task.CreateDate | date: 'dd-MM-yy' }}
+
+
+ {{task.Senders}}
+
+
+ {{task.WorkflowName}}
+
+
+
+ {{task.DocumentsQty}}
+
+
+
+ {{ task.Folio }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.scss b/src/app/shared/gabinete-digital/pendentes/pendentes.page.scss
new file mode 100644
index 000000000..b56456084
--- /dev/null
+++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.scss
@@ -0,0 +1,191 @@
+@import '~src/function.scss';
+/* CONTENT */
+:host{
+ padding: 30px 20px 0 20px !important;
+ margin: 0;
+}
+.title{
+ font-family: Roboto;
+ font-size: 25px;
+ color:#000;
+ overflow: auto;
+
+ .thetitle{
+ width: fit-content;
+ float: left;
+ }
+ .theicon{
+ width: fit-content;
+ float: right;
+ }
+ }
+.item-list-small{
+ font-size: 11px;
+ overflow: hidden;
+ }
+ .ion-item-class{
+ padding: 0;
+
+ }
+ .label-text{
+ width: 100%;
+ padding: 0;
+ margin: 0;
+ }
+//DIV
+ion-item{
+ --background: none;
+}
+.item {
+ //border-radius: 15px;
+ //box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.07);
+ //Sborder: solid 1px #e9e9e9;
+ background-color: var(--white);
+ margin: 0 auto;
+ //padding: 10px;
+ margin-bottom: 10px;
+ overflow: hidden;
+ }
+.div-content-expediente{
+ width: 100%;
+ float: left;
+ border-left: 3px solid #dae3f3;
+ padding:5px 5px 15px 5px;
+ margin: 10px 0 10px 0;
+ background: #dae3f3;
+ border-radius: 20px;
+}
+.div-content-pendentes{
+ width: 100%;
+ float: left;
+ border-left: 3px solid #d9d9d9;
+ padding: 5px;
+}
+ .div-content-expediente h3, .div-content-pendentes h3{
+ margin: 0;
+ padding: 0;
+ font-size: 14pt;
+ width: 100%;
+ }
+ .div-icon{
+ width: 10%;
+ font-size: 20px;
+ float: left;
+ color: #808080;
+ }
+ .div-icon ion-icon{
+ display: block;
+ margin: 0 auto;
+
+ }
+ .div-content-expediente p, .div-content-pendentes p{
+ font-size: 14pt;
+ color: rgb(94, 92, 92);
+ padding: 0;
+ margin: 0;
+ }
+ .span-left{
+ /* border: 1px solid red; */
+ float: left;
+ font-size: 12px;
+ padding-left: 18px;
+ }
+ .span-right{
+ /* border: 1px solid blue; */
+ text-align: right;
+ float: right;
+ font-size: 12px;
+ padding-right: 18px;
+}
+
+/* New CSS */
+.expediente{
+ padding-top: 10px;
+}
+.exp-list-item{
+ //width: 368px;
+ overflow: auto;
+ /* border-bottom: 1px solid gray; */
+ margin: 10px auto;
+}
+.exp-top-detail{
+ width: 100%;
+ overflow: auto;
+
+}
+.exp-date{
+ width: auto;
+ font-family: Roboto;
+ font-size: 13px;
+ font-weight: normal;
+ font-stretch: normal;
+ font-style: normal;
+ line-height: normal;
+ letter-spacing: normal;
+ color: #797979;
+ float: left;
+}
+.exp-workflow{
+ float: left;
+ margin-left: 15px;
+
+ .label{
+ border-radius: 20px;
+ background: #ffb703;
+ font-size: 12px;
+ float: right;
+ padding: 2.5px 13.5px 2.5px 13.5px;
+ color: #fff;
+}
+}
+.exp-remetente{
+ //width: 200px;
+ font-family: Roboto;
+ font-size: 13px;
+ font-weight: normal;
+ color: #000000;
+ float: left;
+ margin-left: 16px;
+
+}
+.exp-icon{
+ width: 45px;
+ float: right;
+ font-size: 13px;
+}
+.exp-icon ion-icon{
+ font-size: 25px;
+ color: #42b9fe;
+}
+.exp-bottom-detail{
+ float: left;
+ font-family: Roboto;
+ font-size: 16px;
+ font-weight: 700;
+ color: #0d89d1;
+}
+.div-top-header{
+ width: 400px;
+ margin: 6px auto;
+ background-color: #0782c9;
+ overflow: auto;
+}
+.div-search{
+ font-size: 45px;
+ float: left;
+ margin: 0 0 0 10px
+}
+.div-logo{
+ background: transparent;
+ width: 150px;
+ margin: 2.5px 0 2.5px 71px;
+ float: left;
+}
+.div-logo img{
+ width: 100%;
+}
+.div-profile{
+ font-size: 45px;
+ float: right;
+ margin-right: 10px;
+}
\ No newline at end of file
diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.spec.ts b/src/app/shared/gabinete-digital/pendentes/pendentes.page.spec.ts
new file mode 100644
index 000000000..5ead3b0cf
--- /dev/null
+++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.spec.ts
@@ -0,0 +1,24 @@
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
+import { IonicModule } from '@ionic/angular';
+
+import { PendentesPage } from './pendentes.page';
+
+describe('PendentesPage', () => {
+ let component: PendentesPage;
+ let fixture: ComponentFixture
;
+
+ beforeEach(waitForAsync(() => {
+ TestBed.configureTestingModule({
+ declarations: [ PendentesPage ],
+ imports: [IonicModule.forRoot()]
+ }).compileComponents();
+
+ fixture = TestBed.createComponent(PendentesPage);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ }));
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts b/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts
new file mode 100644
index 000000000..5816eb6ae
--- /dev/null
+++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts
@@ -0,0 +1,177 @@
+import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
+import { Router } from '@angular/router';
+import { CalendarComponent } from 'ionic2-calendar';
+
+import { DailyWorkTask } from '../../../models/dailyworktask.model';
+import { ProcessesService } from 'src/app/services/processes.service';
+import { formatDate } from '@angular/common';
+import { ModalController, NavParams } from '@ionic/angular';
+import { AlertService } from 'src/app/services/alert.service';
+import { DespachoPage } from 'src/app/pages/gabinete-digital/despachos/despacho/despacho.page';
+import { AuthService } from 'src/app/services/auth.service';
+import { PedidoPage } from 'src/app/pages/gabinete-digital/pedidos/pedido/pedido.page';
+
+
+@Component({
+ selector: 'app-pendentes',
+ templateUrl: './pendentes.page.html',
+ styleUrls: ['./pendentes.page.scss'],
+})
+export class PendentesPage implements OnInit {
+ @ViewChild(CalendarComponent) myCal: CalendarComponent;
+
+ pendentesList:DailyWorkTask[];
+ taskType: string;
+ serialNumber:string;
+ totalDocs:any;
+
+ @Input() profile:string;
+ segment:string;
+ @Output() openExpedientDetail:EventEmitter = new EventEmitter();
+
+ constructor(
+ private processes:ProcessesService,
+ private modalController: ModalController,
+ private alertService: AlertService,
+ private authService: AuthService,
+ ) {
+ this.profile = 'mdgpr';
+ }
+
+ ngOnInit() {
+ //Inicializar segment
+ this.segment = "despachos";
+ this.LoadList();
+ this.authService.userData$.subscribe((res:any)=>{
+ console.log(res);
+ });
+ }
+ segmentChanged(ev: any) {
+ this.LoadList();
+ }
+
+ notImplemented(){
+ this.alertService.presentAlert('Funcionalidade em desenvolvimento');
+ }
+
+ openExpedientDetailPage(data){
+ console.log(data);
+ this.openExpedientDetail.emit(data);
+ }
+
+ LoadList(){
+ this.processes.GetTasksList("Despacho", false).subscribe(despachos => {
+ //ParecerList
+ this.processes.GetTasksList("Pedido de Parecer", false).subscribe(pareceres => {
+ //DeferimentoList
+ this.processes.GetTasksList("Pedido de Deferimento", false).subscribe(deferimentos => {
+ this.pendentesList = new Array();
+ //PendentesList
+ let pendentes = despachos.concat(pareceres, deferimentos).reverse().filter(data => data.workflowInstanceDataFields.Status == "Pending");
+ pendentes.forEach(element => {
+ let DocId = element.workflowInstanceDataFields.FolderID;
+ this.processes.GetDocumentDetails(DocId, '361').subscribe(res=>{
+ this.totalDocs = res.DocumentsTotal;
+ console.log(res.DocumentsTotal);
+ let task = {
+ "SerialNumber": element.serialNumber,
+ "Folio": element.workflowInstanceDataFields.Subject,
+ "Senders": element.workflowInstanceDataFields.Sender,
+ "CreateDate": formatDate(new Date(element.taskStartDate), 'yyyy-MM-dd HH:mm', 'pt'),
+ "DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
+ "Remetente": element.workflowInstanceDataFields.Remetente,
+ "DocumentsQty": this.totalDocs,
+ "DocId": element.workflowInstanceDataFields.DocId,
+ "WorkflowName": element.workflowDisplayName,
+ }
+ this.pendentesList.push(task);
+ },
+ (error)=>{
+ let task = {
+ "SerialNumber": element.serialNumber,
+ "Folio": element.workflowInstanceDataFields.Subject,
+ "Senders": element.workflowInstanceDataFields.Sender,
+ "CreateDate": formatDate(new Date(element.taskStartDate), 'yyyy-MM-dd HH:mm', 'pt'),
+ "DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
+ "Remetente": element.workflowInstanceDataFields.Remetente,
+ "DocumentsQty": 0,
+ "DocId": element.workflowInstanceDataFields.DocId,
+ "WorkflowName": element.workflowDisplayName,
+ }
+ this.pendentesList.push(task);
+ });
+ });
+ console.log(pendentes);
+ console.log(this.pendentesList);
+ });//Fim deferimento
+ });//Fim parecer
+ });//Fim despacho
+ }
+
+ doRefresh(event) {
+ this.LoadList();
+
+ setTimeout(() => {
+ //event.target.complete();
+ }, 2000);
+ }
+
+ async viewTaskDetails(serialNumber:string, workflowName:string) {
+ console.log(this.profile);
+ if(workflowName == 'Despacho'){
+ this.openDespacho(serialNumber);
+ }
+ else if(workflowName == 'Pedido de Parecer' || workflowName == 'Pedido de Deferimento'){
+ this.openPedido(serialNumber);
+ }
+
+ }
+
+ async openDespacho(serialNumber:string){
+ let classs;
+ if( window.innerWidth <= 800){
+ classs = 'modal'
+ } else {
+ classs = 'modal modal-desktop'
+ }
+ const modal = await this.modalController.create({
+ component: DespachoPage,
+ componentProps:{
+ enterAnimation: "",
+ serialNumber: serialNumber,
+ profile: this.profile,
+ },
+ cssClass: classs,
+ });
+ await modal.present();
+ modal.onDidDismiss().then((res)=>{
+ console.log('refresh list');
+ this.LoadList();
+ });
+ }
+
+ async openPedido(serialNumber:string){
+ let classs;
+ if( window.innerWidth <= 800){
+ classs = 'modal'
+ } else {
+ classs = 'modal modal-desktop'
+ }
+ const modal = await this.modalController.create({
+ component: PedidoPage,
+ componentProps:{
+ enterAnimation: "",
+ serialNumber: serialNumber,
+ profile: this.profile,
+ },
+ cssClass: classs,
+ });
+ await modal.present();
+ modal.onDidDismiss().then((res)=>{
+ console.log('refresh list');
+ this.LoadList();
+ });
+ }
+
+ }
+
\ No newline at end of file