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

This commit is contained in:
Peter Maquiran
2021-04-01 14:44:26 +01:00
15 changed files with 141 additions and 170 deletions
@@ -3,7 +3,7 @@
<div class="main-header">
<div class="title-content">
<div class="middle">
<ion-label class="title">Editar Evento</ion-label>
<ion-label class="title">2Editar Evento</ion-label>
</div>
</div>
</div>
+13 -14
View File
@@ -7,12 +7,13 @@
<p class="time ion-text-center">{{customDate}}</p>
</ion-label>
<ion-label>
<p class="event-number p-small ion-text-center"> <strong>{{totalEvent}}</strong> eventos agendados para hoje</p>
<p *ngIf="totalEvent==1" class="event-number p-small ion-text-center"> <strong>{{totalEvent}}</strong> evento agendado para hoje</p>
<p *ngIf="totalEvent!=1"class="event-number p-small ion-text-center"> <strong>{{totalEvent}}</strong> eventos agendados para hoje</p>
</ion-label>
<div class="next-meeting">
<div class="meeting-time">{{currentHoursMinutes | date: 'HH:mm'}}</div>
<div class="meeting-description"> "{{currentEvent}}"</div>
<div *ngIf="currentEvent" class="meeting-description"> "{{currentEvent}}"</div>
</div>
</ion-toolbar>
</ion-header>
@@ -55,8 +56,8 @@
</div>
<div class="content">
<ul>
<li *ngFor="let event of eventsList"
<ion-list>
<ion-item lines="none" *ngFor="let event of eventsList"
(click)="viewEventDetail(event.EventId)"
>
<div class="d-flex content-{{profile}}-{{event.CalendarName}}">
@@ -69,9 +70,9 @@
<div class="description">{{event.Subject}}</div>
</div>
</div>
</li>
</ion-item>
</ul>
</ion-list>
<!--
<div class="resume">
<div class="title">
@@ -99,24 +100,22 @@
</div>
<div class="content">
<ul>
<li *ngFor = "let task of expedientList"
<ion-list>
<ion-item lines="none" *ngFor = "let task of expedientList"
(click)="viewExpedientDetail(task.serialNumber)">
<!-- [routerLink]="['/home/gabinete-digital/expediente']" -->
>
<div class="d-flex">
<div class="item-exp d-flex">
<div class="schedule-date">
<div class="time-end">{{task.taskStartDate | date: 'dd-MM-yy'}}</div>
<div class="time-start">{{task.taskStartDate | date: 'HH:mm'}}</div>
</div>
<div class="schedule-details pointer">
<div class="description">{{ task.workflowInstanceFolio }}</div>
<div class="description">{{ task.workflowInstanceDataFields.Subject }}</div>
<div class="location">{{ task.workflowInstanceDataFields.Sender }}</div>
</div>
</div>
</li>
</ion-item >
</ul>
</ion-list>
</div>
</div>
</div>
+9 -4
View File
@@ -364,17 +364,21 @@ ion-toolbar{
}
}
.content{
ul{
.item-exp{
overflow: auto;
padding-top: 5px;
padding-bottom: 5px;
}
ion-list{
padding: 0px;
margin: 0px;
.d-flex{
width: 100%;
height: 40px;
display: flex;
justify-content: space-between;
align-items: center;
}
li{
ion-item{
padding-bottom: 5px;
margin-top: 5px;
border-bottom: 1px solid #ebebeb;
@@ -427,7 +431,7 @@ ion-toolbar{
background-color: #f05d5e;
}
}
li:last-child{
ion-item:last-child{
border-bottom: unset !important;
padding-bottom: unset !important;
}
@@ -462,6 +466,7 @@ ion-toolbar{
cursor: pointer;
}
@media only screen and (min-width: 804px) {
.schedule:first-child {
+27 -4
View File
@@ -2,7 +2,7 @@ import { Component, OnInit, LOCALE_ID, EventEmitter, Output } from '@angular/cor
import { Event } from '../../models/event.model';
import { EventsService } from 'src/app/services/events.service';
import { Router } from '@angular/router';
import { NavigationExtras, Router } from '@angular/router';
import { ActivatedRoute, NavigationEnd } from '@angular/router';
import { AlertService } from 'src/app/services/alert.service';
import { AuthService } from 'src/app/services/auth.service';
@@ -16,6 +16,7 @@ import { ViewEventPage } from '../agenda/view-event/view-event.page';
import { ExpedientePage } from '../gabinete-digital/expediente/expediente.page';
import { ExpedienteDetailPage } from '../gabinete-digital/expediente/expediente-detail/expediente-detail.page';
import { GabineteDigitalPage } from '../gabinete-digital/gabinete-digital.page';
import { EditEventPage } from '../agenda/edit-event/edit-event.page';
@Component({
selector: 'app-events',
@@ -112,6 +113,7 @@ export class EventsPage implements OnInit {
}
RefreshEvents(){
this.currentEvent = "";
this.showLoader = true;
let date = new Date();
@@ -315,8 +317,12 @@ export class EventsPage implements OnInit {
}
else{
console.log('ttt');
this.router.navigate(['/home/gabinete-digital']);
/* this.gabineteService.openExpedientListPage(); */
let navigationExtras: NavigationExtras = {
queryParams: {
"show": true,
}
};
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
}
}
@@ -333,7 +339,24 @@ export class EventsPage implements OnInit {
profile: this.profile,
},
cssClass: classs,
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss();
}
async openEditEventModal(){
let classs;
if( window.innerWidth <= 800){
classs = 'modal'
} else {
classs = 'modal modal-desktop'
}
const modal = await this.modalController.create({
component: EditEventPage,
componentProps:{
profile: this.profile,
},
cssClass: classs,
});
await modal.present();
modal.onDidDismiss();
@@ -11,6 +11,7 @@ import { ProcessesService } from 'src/app/services/processes.service';
export class DiscartExpedientModalPage implements OnInit {
serialNumber:string;
folderId:string;
action:string;
constructor(
private modalController: ModalController,
private processes:ProcessesService,
@@ -19,6 +20,7 @@ export class DiscartExpedientModalPage implements OnInit {
) {
this.serialNumber = this.navParams.get('serialNumber');
this.folderId = this.navParams.get('folderId');
this.action = this.navParams.get('action');
}
ngOnInit() {
@@ -26,29 +28,27 @@ export class DiscartExpedientModalPage implements OnInit {
}
close(){
/* let body = { "serialNumber": this.serialNumber, "action": "Tratado" } */
console.log(this.folderId);
console.log('FOLDER');
this.processes.UpdateTaskStatus(this.folderId).subscribe(res=>{
console.log(res);
});
if(this.action != 'discart'){
this.processes.UpdateTaskStatus(this.folderId).subscribe(res=>{
console.log(res);
});
}
this.modalController.dismiss();
}
/* notDelete(){
} */
save(){
let body = { "serialNumber": this.serialNumber, "action": "Tratado" }
let body2 = { "serialNumber": this.serialNumber, "action": "Passivo" }
console.log(body);
if(this.folderId){
if(this.action != 'discart'){
let body = { "serialNumber": this.serialNumber, "action": "Tratado" }
console.log(body);
this.processes.PostTaskAction(body);
}
else{
this.processes.PostTaskAction(body2);
let body = { "serialNumber": this.serialNumber, "action": "Passivo" }
console.log(body);
this.processes.PostTaskAction(body);
}
this.router.navigate(['/home/gabinete-digital/expediente']);
this.modalController.dismiss();
@@ -73,7 +73,7 @@ export class ExpedientTaskModalPage implements OnInit {
/* By Default TypeDeadline should be 'Economia' */
this.postData.SubjectTypeId = '99999844';
/* Initialize 'Subject' with the title of the expedient */
this.postData.DispatchFolder.Subject = this.task.workflowInstanceFolio;
this.postData.DispatchFolder.Subject = this.task.workflowInstanceDataFields.Subject;
}
ngOnInit() {
@@ -174,7 +174,7 @@ export class ExpedientTaskModalPage implements OnInit {
if(newattendees!= null){
newattendees.forEach(newattendee => {
let att = {
'UserId': newattendee.EmailAddress,
'UserEmail': newattendee.EmailAddress,
'UserType': 'I',
};
if(this.participants == null){
@@ -204,7 +204,7 @@ export class ExpedientTaskModalPage implements OnInit {
if(newattendees!= null){
newattendees.forEach(newattendee => {
let att = {
'UserId': newattendee.EmailAddress,
'UserEmail': newattendee.EmailAddress,
'UserType': 'CC',
};
if(this.participants == null){
@@ -225,6 +225,7 @@ export class ExpedientTaskModalPage implements OnInit {
componentProps: {
serialNumber: this.task.serialNumber,
folderId: this.task.workflowInstanceDataFields.FolderID,
action: 'complete',
},
cssClass: 'discart-expedient-modal',
backdropDismiss: false
@@ -148,7 +148,7 @@
<div class="aside-right flex-column height-100">
<div class="buttons">
<button (click)="openExpedientActionsModal('0',fulltask)" class="btn-ok" shape="round" >Efectuar Despacho</button>
<button (click)="discartExpedient()" class="btn-cancel" shape="round" >Descartar</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>
<button (click)="openExpedientActionsModal('2',fulltask)" class="btn-cancel" shape="round" >Pedido de Deferimento</button>
@@ -13,6 +13,7 @@ import { ExpedientTaskModalPage } from '../expedient-task-modal/expedient-task-m
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';
@Component({
selector: 'app-expediente-detail',
@@ -135,10 +136,26 @@ export class ExpedienteDetailPage implements OnInit {
}
discartExpedient() {
let body = { "serialNumber": this.serialnumber, "action": "Passivo" }
/* let body = { "serialNumber": this.serialnumber, "action": "Passivo" }
console.log(body);
this.processes.PostTaskAction(body);
this.router.navigate(['/home/gabinete-digital/expediente']);
this.router.navigate(['/home/gabinete-digital/expediente']); */
}
async distartExpedientModal(task: any){
const modal = await this.modalController.create({
component: DiscartExpedientModalPage,
componentProps: {
serialNumber: task.serialNumber,
folderId: task.workflowInstanceDataFields.FolderID,
action: 'discart',
},
cssClass: 'discart-expedient-modal',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss();
}
async openBookMeetingModal(task: any) {
@@ -1,14 +1,8 @@
<ion-header class="ion-no-border">
<ion-toolbar class="header-toolbar">
<div class="main-header">
<div class="title-content">
<app-btn-modal-dismiss></app-btn-modal-dismiss>
<div class="middle">
<ion-label class="title">Gabinete Digital</ion-label>
</div>
</div>
</div>
</ion-toolbar>
<ion-header class="ion-no-border">
<app-btn-modal-dismiss></app-btn-modal-dismiss>
<div class="title">
<ion-label >Correspondência</ion-label>
</div>
<ion-toolbar>
<ion-segment [(ngModel)]="segment">
<ion-segment-button value="expediente">
@@ -20,7 +14,6 @@
</ion-segment>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-refresher-content
@@ -31,29 +24,15 @@
</ion-refresher-content>
</ion-refresher>
<div [ngSwitch]="segment" *ngIf="taskslist">
<div class="width-100" [ngSwitch]="segment" *ngIf="taskslist">
<ion-list *ngSwitchCase="'expediente'">
<ion-item-group>
<ion-item-sliding>
<!-- <ion-item lines="none" *ngFor = "let task of taskslist" >
<div class="div-content-expediente">
<ion-item lines="none" [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]">
<ion-icon slot="end" name="calendar"></ion-icon>
<h3>{{ task.Folio }}</h3>
</ion-item>
<p><span class="span-left">{{task.Remetente}}</span><span class="span-right">{{ task.CreateDate | date: 'dd-MM-yy' }}</span></p>
<p><span class="span-left">{{ task.Senders }}</span><span class="span-right">{{ task.CreateDate | date: 'dd-MM-yy' }}</span></p>
</div>
</ion-item> -->
<ion-item
class="expediente"
lines="none"
<ion-item
class="expediente ion-no-padding"
*ngFor = "let task of taskslist"
(click)="viewExpedientDetail(task.SerialNumber)"
>
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="Rectangle">
<div class="item width-100">
<div class="exp-top-detail">
<div class="exp-date">
<ion-label>{{ task.CreateDate | date: 'dd-MM-yy' }}</ion-label>
@@ -71,10 +50,6 @@
</div>
</div>
</ion-item>
</ion-item-sliding>
</ion-item-group>
</ion-list>
<ion-list *ngSwitchCase="'pendentes'">
<ion-item-group>
@@ -1,83 +1,15 @@
@import '~src/function.scss';
.header-toolbar{
--background:transparent;
--opacity: 1;
.main-header{
width: 100%; /* 400px */
height: 100%;
font-family: Roboto;
border-top-left-radius: 25px;
border-top-right-radius: 25px;
background-color: #fff;
overflow:hidden;
padding: 30px 20px 0px 20px;
color:#000;
transform: translate3d(0, 1px, 0);
.header-top{
width: 360px;
margin: 0px auto;
overflow: auto;
padding: 0 !important;
background: #fff;
.middle{
padding: 0!important;
float: left;
width: 280px;
margin: 2.5px 0 0 5px;
display: flex;
align-items: center;
}
.right{
padding: 0!important;
float: right;
font-size: 25px;
color: #0782c9;
margin: 5px 0 0 0;
}
}
.header-bottom{
width: 310px;
overflow: auto;
margin: 0 auto;
.header-bottom-icon{
width: 30px;
font-size: 25px;
float: left;
padding: 2px;
}
.header-bottom-contacts{
width: 275px;
font-size: 15px;
color: #797979;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
float: left;
padding: 5px;
margin: 1px;
}
}
.title{
font-size: 25px;
overflow: auto;
float: left;
}
.div-icon{
width: 40px;
float: right;
font-size: 35px;
overflow: auto;
padding: 1px;
}
}
}
/* CONTENT */
:host{
padding: 30px 20px 0 20px !important;
margin: 0;
}
.title{
font-family: Roboto;
font-size: 25px;
color:#000;
overflow: auto;
}
.item-list-small{
font-size: 11px;
overflow: auto;
@@ -95,6 +27,16 @@
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: auto;
}
.div-content-expediente{
width: 100%;
float: left;
@@ -152,7 +94,7 @@ ion-item{
padding-top: 10px;
}
.exp-list-item{
width: 368px;
//width: 368px;
overflow: auto;
/* border-bottom: 1px solid gray; */
margin: 10px auto;
@@ -174,7 +116,7 @@ ion-item{
float: left;
}
.exp-remetente{
width: 200px;
//width: 200px;
font-family: Roboto;
font-size: 13px;
font-weight: normal;
@@ -193,7 +135,6 @@ ion-item{
color: #42b9fe;
}
.exp-bottom-detail{
width: 100px;
float: left;
font-family: Roboto;
font-size: 16px;
@@ -224,5 +165,4 @@ ion-item{
font-size: 45px;
float: right;
margin-right: 10px;
}
}
@@ -44,7 +44,7 @@ export class ExpedientePage implements OnInit {
result.forEach(element => {
let task: DailyWorkTask = {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceFolio,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.originator.email,
"CreateDate": formatDate(new Date(element.taskStartDate), 'yyyy-MM-dd HH:mm', 'pt'),
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
@@ -5,6 +5,7 @@ import { EventsService } from 'src/app/services/events.service';
import { ModalController } from '@ionic/angular';
import { EventListPage } from './event-list/event-list.page';
import { ExpedientePage } from './expediente/expediente.page';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-gabinete-digital',
@@ -42,7 +43,9 @@ export class GabineteDigitalPage implements OnInit {
constructor(
private processesbackend:ProcessesService,
private modalController: ModalController,
private alertService: AlertService) {
private alertService: AlertService,
private route: ActivatedRoute,
) {
window.onresize = (event) => {
// if not mobile remove all component
@@ -53,6 +56,12 @@ export class GabineteDigitalPage implements OnInit {
};
this.adjastModalHeight();
this.route.queryParams.subscribe(params => {
if(params["show"]){
this.openExpedientListPage();
}
});
}
@@ -95,6 +104,7 @@ this.processesbackend.GetActionsList().subscribe(res=>{
console.log(res);
});
}
closeAllDesktopComponents(){