This commit is contained in:
tiago.kayaya
2021-05-05 17:14:44 +01:00
parent fb949400b4
commit 2003028b7d
18 changed files with 288 additions and 22 deletions
+4
View File
@@ -71,6 +71,10 @@ const routes: Routes = [
{
path: 'dar-parecer',
loadChildren: () => import('./modals/dar-parecer/dar-parecer.module').then( m => m.DarParecerPageModule)
},
{
path: 'opts-expediente',
loadChildren: () => import('./shared/popover/opts-expediente/opts-expediente.module').then( m => m.OptsExpedientePageModule)
},
/* {
@@ -204,7 +204,7 @@ export class CreateProcessPage implements OnInit {
"serialNumber": this.task.serialNumber,
"action": "Conhecimento",
"dataFields": {
"ReviewerComments": '',
"ReviewerUserComment": '',
}
}
this.processes.PostTaskAction(body);
@@ -125,7 +125,7 @@ export class ApproveEventModalPage implements OnInit {
let body = { "serialNumber": serialNumber,
"action": "Emendar",
"dataFields": {
"ReviewerComments": res.data,
"ReviewerUseComment": res.data,
}
}
this.processes.PostTaskAction(body);
@@ -156,7 +156,7 @@ export class DespachoPage implements OnInit {
"serialNumber": this.serialnumber,
"action": "Conhecimento",
"dataFields": {
"ReviewerComments": note,
"ReviewerUseComment": note,
}
}
this.processes.PostTaskAction(body);
@@ -143,7 +143,7 @@ export class ApproveEventModalPage implements OnInit {
let body = { "serialNumber": serialNumber,
"action": "Emendar",
"dataFields": {
"ReviewerComments": res.data,
"ReviewerUseComment": res.data,
}
}
console.log(body);
@@ -132,7 +132,7 @@ export class ApproveEventPage implements OnInit {
"serialNumber": serialNumber,
"action": "Emendar",
"dataFields": {
"ReviewerComments": res.data,
"ReviewerUseComment": res.data,
}
}
console.log(body);
@@ -64,18 +64,17 @@
<div class="middle flex-grow-1">
<ion-label class="title">{{ task.Folio}}</ion-label>
</div>
<div class="div-icon">
<ion-menu-button autoHide="false">
<ion-icon name="ellipsis-vertical-outline"></ion-icon>
</ion-menu-button>
<div class="menu-ptions">
<button class="btn-no-color" (click)="openOptions()">
<ion-icon src="assets/images/icons-menu.svg"></ion-icon>
</button>
</div>
</div>
</div>
<div class="upper-content" style="overflow: unset !important;">
<div class="content-details">
<ion-label>
<p><span class="date">{{customDate}}</span><span class="label">Expediente</span></p>
<p><span class="color-red">Muitíssimo urgente</span></p>
<p><span class="date">{{customDate}}</span><span class="label">{{ task.WorkflowName }}</span></p>
</ion-label>
</div>
</div>
@@ -73,12 +73,9 @@
padding-top: 4px;
padding-left: 5px;
}
.div-icon{
width: 40px;
float: right;
font-size: 35px;
overflow: auto;
padding: 1px;
.btn-no-color icon{
font-size: 15px;
border: 1px solid red;
}
}
ion-item-group{
@@ -204,7 +201,7 @@ ion-button{
}
}
@media only screen and (min-width: 801px) {
.div-icon{
.menu-ptions{
display: none;
}
.content{
@@ -7,13 +7,14 @@ import { DailyWorkTask } from '../../../../models/dailyworktask.model';
import { ActivatedRoute, Router } from '@angular/router';
import { formatDate } from '@angular/common';
import { Event } from '../../../../models/event.model';
import { MenuController, ModalController, NavParams } from '@ionic/angular';
import { MenuController, ModalController, NavParams, PopoverController } from '@ionic/angular';
import { AlertService } from 'src/app/services/alert.service';
import { ExpedientTaskModalPage } from '../expedient-task-modal/expedient-task-modal.page';
import { BookMeetingModalPage } from '../book-meeting-modal/book-meeting-modal.page';
import { ViewEventPage } from 'src/app/pages/agenda/view-event/view-event.page';
import { momentG } from 'src/plugin/momentG'
import { DiscartExpedientModalPage } from '../../discart-expedient-modal/discart-expedient-modal.page';
import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page';
@Component({
selector: 'app-expediente-detail',
@@ -44,7 +45,8 @@ export class ExpedienteDetailPage implements OnInit {
private router: Router,
private modalController: ModalController,
private navParams: NavParams,
private alertService: AlertService) {
private alertService: AlertService,
public popoverController: PopoverController,) {
this.serialnumber = this.navParams.get('serialNumber');
this.profile = this.navParams.get('profile');
}
@@ -90,6 +92,7 @@ export class ExpedienteDetailPage implements OnInit {
"FolderId": res.workflowInstanceDataFields.FolderID,
"FsId": res.workflowInstanceDataFields.FsId,
"DocId": res.workflowInstanceDataFields.DocId,
"WorkflowName": res.workflowDisplayName,
}
console.log('task', this.task);
@@ -261,4 +264,18 @@ export class ExpedienteDetailPage implements OnInit {
});
}
async openOptions(taskAction: any) {
const popover = await this.popoverController.create({
component: OptsExpedientePage,
cssClass: 'exp-options',
componentProps: {
task: this.task,
fulltask: this.fulltask,
taskAction:taskAction,
},
translucent: true
});
return await popover.present();
}
}
@@ -179,7 +179,7 @@ export class PedidoPage implements OnInit {
"serialNumber": this.serialnumber,
"action": "Arquivo",
"dataFields": {
"ReviewerComments": '',
"ReviewerUseComment": '',
}
}
this.processes.PostTaskAction(body);
@@ -154,7 +154,7 @@ export class ApproveEventComponent implements OnInit {
let body = { "serialNumber": serialNumber,
"action": "Emendar",
"dataFields": {
"ReviewerComments": res.data,
"ReviewerUseComment": res.data,
}
}
console.log(body);
@@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { OptsExpedientePage } from './opts-expediente.page';
const routes: Routes = [
{
path: '',
component: OptsExpedientePage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class OptsExpedientePageRoutingModule {}
@@ -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 { OptsExpedientePageRoutingModule } from './opts-expediente-routing.module';
import { OptsExpedientePage } from './opts-expediente.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
OptsExpedientePageRoutingModule
],
declarations: [OptsExpedientePage]
})
export class OptsExpedientePageModule {}
@@ -0,0 +1,17 @@
<ion-content class="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>
</button>
</div>
<div class="buttons">
<button (click)="close()" full class="btn-ok" shape="round" >Efectuar Despacho</button>
<button (click)="close()" full class="btn-ok" shape="round" >Pedido de Parecer</button>
<button (click)="close()" full class="btn-ok" shape="round" >Pedido de Deferimento</button>
<button (click)="openBookMeetingModal()" full class="btn-ok" shape="round" >Marcar reunião</button>
<button (click)="close()" full class="btn-ok" shape="round" >Descartar</button>
<button (click)="close()" full class="btn-ok" shape="round" >Enviar para pendentes</button>
<div class="solid"></div>
<button (click)="close()" full class="btn-cancel" shape="round" >Cancelar</button>
</div>
</ion-content>
@@ -0,0 +1,51 @@
.container{
--padding-top:20px !important;
--padding-bottom:20px !important;
--padding-start:20px !important;
--padding-end:20px !important;
}
.arrow-right{
display: none;
margin-bottom: 20px;
.arrow-right-icon{
width: 37px;
float: right;
font-size: 35px;
overflow: hidden;
}
}
.buttons{
display: flex;
flex-wrap: wrap;
justify-content: space-around;
}
.solid {
display: none;
width: 90%;
border-top: 1px solid #bbb;
margin: 0 auto !important;
}
.btn-ok, .btn-cancel{
//width: 50% !important;
margin-bottom: 5px !important;
margin-top: 5px !important;
}
@media only screen and (min-width: 1024px) {
.arrow-right{
display: flex;
justify-content: flex-end;
}
.btn-cancel{
display: none;
width: 100% !important;
margin-bottom: 10px !important;
}
.btn-delete, .btn-ok{
width: 100% !important;
margin-bottom: 10px !important;
margin-top: 10px !important;
}
/* .solid{
display: block;
} */
}
@@ -0,0 +1,24 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { OptsExpedientePage } from './opts-expediente.page';
describe('OptsExpedientePage', () => {
let component: OptsExpedientePage;
let fixture: ComponentFixture<OptsExpedientePage>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ OptsExpedientePage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(OptsExpedientePage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -0,0 +1,111 @@
import { Component, OnInit } from '@angular/core';
import { ModalController, NavParams, PopoverController } from '@ionic/angular';
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';
@Component({
selector: 'app-opts-expediente',
templateUrl: './opts-expediente.page.html',
styleUrls: ['./opts-expediente.page.scss'],
})
export class OptsExpedientePage implements OnInit {
task:any;
fulltask: any;
profile:string;
constructor(
private popoverController: PopoverController,
private modalController: ModalController,
private navParams: NavParams,
) {
this.task = this.navParams.get('task');
}
ngOnInit() {
this.profile = "mdgpr";
}
close(){
if( window.innerWidth <= 1024){
this.popoverController.dismiss();
}
else{
this.modalController.dismiss();
}
}
async openBookMeetingModal(task: any) {
let classs;
if( window.innerWidth <= 800){
classs = 'book-meeting-modal modal modal-desktop'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
const modal = await this.modalController.create({
component: BookMeetingModalPage,
componentProps: {
task: this.task,
},
cssClass: classs,
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss();
}
async openExpedientActionsModal(taskAction: any, task: any) {
//this.modalController.dismiss();
let classs;
if( window.innerWidth <= 800){
classs = 'modal modal-desktop'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
const modal = await this.modalController.create({
component: ExpedientTaskModalPage,
componentProps: {
taskAction: taskAction,
task: task,
profile: this.profile,
},
cssClass: classs,
});
await modal.present();
modal.onDidDismiss().then(res=>{
console.log(res['data']);
if(res['data']=='openDiscart'){
console.log('open discart');
this.distartExpedientModal();
}
});
}
async distartExpedientModal(){
console.log(this.fulltask);
const modal = await this.modalController.create({
component: DiscartExpedientModalPage,
componentProps: {
serialNumber: this.fulltask.serialNumber,
folderId: this.fulltask.workflowInstanceDataFields.FolderID,
action: 'complete',
},
cssClass: 'discart-expedient-modal',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss().then(res=>{
if(res['data']=='close'){
this.close();
/* console.log('2Expedient Discard closed2');
this.close();
this.openMenu(); */
}
});
}
}