multiples improvements

This commit is contained in:
tiago.kayaya
2021-02-01 13:21:41 +01:00
parent 36e84a9eb3
commit 57e1bba8da
15 changed files with 298 additions and 56 deletions
@@ -58,7 +58,8 @@
<ion-list> <ion-list>
<h3>Documentos Anexados</h3> <h3>Documentos Anexados</h3>
<ion-item class="ion-no-margin ion-no-padding"> <ion-item class="ion-no-margin ion-no-padding">
<ion-label *ngFor="let attach of loadedAttachments"> <ion-label *ngFor="let attach of loadedAttachments"
(click)="viewDocument()">
<p class="attach-title-item">{{attach.SourceName}}</p> <p class="attach-title-item">{{attach.SourceName}}</p>
<p><span class="span-left">{{attach.Stakeholders}}</span><span class="span-right">{{ attach.CreateDate | date: 'dd-MM-yy' }}</span></p> <p><span class="span-left">{{attach.Stakeholders}}</span><span class="span-right">{{ attach.CreateDate | date: 'dd-MM-yy' }}</span></p>
</ion-label> </ion-label>
@@ -7,6 +7,7 @@ import { AttachmentsService } from 'src/app/services/attachments.service';
import { EventsService } from 'src/app/services/events.service'; import { EventsService } from 'src/app/services/events.service';
import { Event } from '../../../models/event.model'; import { Event } from '../../../models/event.model';
import { EditEventPage } from '../edit-event/edit-event.page'; import { EditEventPage } from '../edit-event/edit-event.page';
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
@Component({ @Component({
selector: 'app-view-event', selector: 'app-view-event',
@@ -39,6 +40,7 @@ export class ViewEventPage implements OnInit {
private eventsService: EventsService, private eventsService: EventsService,
private attachmentsService: AttachmentsService, private attachmentsService: AttachmentsService,
public alertController: AlertController, public alertController: AlertController,
private iab: InAppBrowser,
) )
{ {
this.profile = this.navParams.get('profile'); this.profile = this.navParams.get('profile');
@@ -118,6 +120,11 @@ export class ViewEventPage implements OnInit {
} }
}); });
} }
viewDocument(){
const url: string = this.loadedAttachments.DocumentURL.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1");
const browser = this.iab.create(url,"_blank");
browser.show();
}
+3 -1
View File
@@ -75,7 +75,9 @@
<div class="content"> <div class="content">
<ul> <ul>
<li *ngFor = "let task of taskslist" <li *ngFor = "let task of taskslist"
[routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]"> (click)="viewExpedientDetail(task.SerialNumber)">
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
>
<div class="d-flex"> <div class="d-flex">
<div class="schedule-date"> <div class="schedule-date">
<div class="time-end">{{task.CreateDate | date: 'd/M/yy'}}</div> <div class="time-end">{{task.CreateDate | date: 'd/M/yy'}}</div>
+3 -2
View File
@@ -16,6 +16,7 @@ import { ProcessesService } from '../../services/processes.service';
import { DailyWorkTask } from '../../models/dailyworktask.model'; import { DailyWorkTask } from '../../models/dailyworktask.model';
import { ViewEventPage } from '../agenda/view-event/view-event.page'; import { ViewEventPage } from '../agenda/view-event/view-event.page';
import { ExpedientePage } from '../gabinete-digital/expediente/expediente.page'; import { ExpedientePage } from '../gabinete-digital/expediente/expediente.page';
import { ExpedienteDetailPage } from '../gabinete-digital/expediente/expediente-detail/expediente-detail.page';
@Component({ @Component({
selector: 'app-events', selector: 'app-events',
@@ -317,11 +318,11 @@ export class EventsPage implements OnInit {
}); });
} }
async viewExpedient(serialNumber:any) { async viewExpedientDetail(serialNumber:any) {
console.log(this.profile); console.log(this.profile);
const modal = await this.modalController.create({ const modal = await this.modalController.create({
component: ExpedientePage, component: ExpedienteDetailPage,
componentProps:{ componentProps:{
serialNumber: serialNumber, serialNumber: serialNumber,
profile: this.profile, profile: this.profile,
@@ -50,7 +50,7 @@
<ion-datetime <ion-datetime
placeholder="Início" placeholder="Início"
[(ngModel)]="postData.StartDate" [(ngModel)]="postData.StartDate"
displayFormat="D H:mm" displayFormat="D MMM YYYY H:mm"
minuteValues="0,15,30,45" minuteValues="0,15,30,45"
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez" monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
min="2018" min="2018"
@@ -7,12 +7,14 @@ import { IonicModule } from '@ionic/angular';
import { ExpedienteDetailPageRoutingModule } from './expediente-detail-routing.module'; import { ExpedienteDetailPageRoutingModule } from './expediente-detail-routing.module';
import { ExpedienteDetailPage } from './expediente-detail.page'; import { ExpedienteDetailPage } from './expediente-detail.page';
import { SharedModule } from 'src/app/shared/shared.module';
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, CommonModule,
FormsModule, FormsModule,
IonicModule, IonicModule,
SharedModule,
ExpedienteDetailPageRoutingModule ExpedienteDetailPageRoutingModule
], ],
declarations: [ExpedienteDetailPage] declarations: [ExpedienteDetailPage]
@@ -1,17 +1,21 @@
<ion-header> <ion-header class="ion-no-border">
<ion-toolbar class="bg-blue"> <ion-toolbar class="header-toolbar">
<div class="div-top-header"> <div class="main-header">
<div class="div-search"> <div class="title-content">
<ion-icon src='assets/images/icons-search.svg'></ion-icon> <app-btn-modal-dismiss></app-btn-modal-dismiss>
<div class="middle">
<ion-label class="title">Detalhes do Expediente</ion-label>
</div>
<div class="div-icon">
<ion-menu-button autoHide="false">
<ion-icon name="ellipsis-vertical-outline"></ion-icon>
</ion-menu-button>
</div>
</div>
</div> </div>
<div class="div-logo"> </ion-toolbar>
<img src='assets/images/logo-no-bg.png' alt='logo'> </ion-header>
</div> <!-- <ion-header>
<div class="div-profile">
<ion-icon src='assets/images/icons-profile.svg'></ion-icon>
</div>
</div>
</ion-toolbar>
<ion-toolbar class="bg-blue"> <ion-toolbar class="bg-blue">
<ion-buttons slot="start"> <ion-buttons slot="start">
<ion-back-button defaultHref="/expediente"></ion-back-button> <ion-back-button defaultHref="/expediente"></ion-back-button>
@@ -23,7 +27,7 @@
</ion-menu-button> </ion-menu-button>
</ion-buttons> </ion-buttons>
</ion-toolbar> </ion-toolbar>
</ion-header> </ion-header> -->
<ion-menu autoHide="false" side="end" content-id="main-content"> <ion-menu autoHide="false" side="end" content-id="main-content">
<ion-header> <ion-header>
@@ -80,7 +84,7 @@
<ion-label position="stacked">Data</ion-label> <ion-label position="stacked">Data</ion-label>
<ion-input disabled="true" value=''>{{ task.CreateDate | date: 'dd-MM-yy | hh:mm'}}</ion-input> <ion-input disabled="true" value=''>{{ task.CreateDate | date: 'dd-MM-yy | hh:mm'}}</ion-input>
</ion-item> </ion-item>
<ion-button class="btn-ok-no-width" fill="clear" color="#fff" (click)="viewDocument()" shape="round" expand="block"> <ion-button (click)="viewDocument()" class="btn-ok-no-width" fill="clear" color="#fff" shape="round" expand="block">
<ion-icon name="attach" slot="start"></ion-icon> <ion-icon name="attach" slot="start"></ion-icon>
Ver documento Ver documento
</ion-button> </ion-button>
@@ -121,9 +125,12 @@
<ion-list> <ion-list>
<div *ngIf="eventsList"> <div *ngIf="eventsList">
<ion-item-sliding> <ion-item-sliding>
<ion-item class="Rectangle" lines="none" <ion-item
*ngFor="let event of eventsList" class="Rectangle" lines="none"
[routerLink]="['/home/events', event.EventId, 'events']"> *ngFor="let event of eventsList"
(click)="viewEventDetail(event.EventId)"
>
<!-- [routerLink]="['/home/events', event.EventId, 'events']" -->
<div class="content-{{profile}}-{{event.CalendarName}}"> <div class="content-{{profile}}-{{event.CalendarName}}">
<div class="approve-event-time"> <div class="approve-event-time">
<p>{{event.StartDate | date: 'hh:mm'}}</p> <p>{{event.StartDate | date: 'hh:mm'}}</p>
@@ -1,3 +1,82 @@
@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;
}
}
}
ion-item-group{ ion-item-group{
margin: 15px; margin: 15px;
} }
@@ -7,10 +7,11 @@ import { DailyWorkTask } from '../../../../models/dailyworktask.model';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { formatDate } from '@angular/common'; import { formatDate } from '@angular/common';
import { Event } from '../../../../models/event.model'; import { Event } from '../../../../models/event.model';
import { MenuController, ModalController } from '@ionic/angular'; import { MenuController, ModalController, NavParams } from '@ionic/angular';
import { AlertService } from 'src/app/services/alert.service'; import { AlertService } from 'src/app/services/alert.service';
import { ExpedientTaskModalPage } from '../expedient-task-modal/expedient-task-modal.page'; import { ExpedientTaskModalPage } from '../expedient-task-modal/expedient-task-modal.page';
import { BookMeetingModalPage } from '../book-meeting-modal/book-meeting-modal.page'; import { BookMeetingModalPage } from '../book-meeting-modal/book-meeting-modal.page';
import { ViewEventPage } from 'src/app/pages/agenda/view-event/view-event.page';
@Component({ @Component({
selector: 'app-expediente-detail', selector: 'app-expediente-detail',
@@ -19,6 +20,12 @@ import { BookMeetingModalPage } from '../book-meeting-modal/book-meeting-modal.p
}) })
export class ExpedienteDetailPage implements OnInit { export class ExpedienteDetailPage implements OnInit {
task: any;
fulltask:any;
eventsList: Event[];
serialnumber:string;
profile: string;
constructor(private activateRoute: ActivatedRoute, constructor(private activateRoute: ActivatedRoute,
private processes:ProcessesService, private processes:ProcessesService,
private iab: InAppBrowser, private iab: InAppBrowser,
@@ -27,13 +34,11 @@ export class ExpedienteDetailPage implements OnInit {
private menu: MenuController, private menu: MenuController,
private router:Router, private router:Router,
private modalController: ModalController, private modalController: ModalController,
private alertService: AlertService) { } private navParams: NavParams,
private alertService: AlertService) {
task: any; this,this.serialnumber = this.navParams.get('serialNumber');
fulltask:any; this,this.profile = this.navParams.get('profile');
eventsList: Event[]; }
serialnumber:string;
profile: string;
ngOnInit() { ngOnInit() {
this.profile = "mdgpr"; this.profile = "mdgpr";
@@ -45,6 +50,8 @@ export class ExpedienteDetailPage implements OnInit {
this.LoadTaskDetail(this.serialnumber); this.LoadTaskDetail(this.serialnumber);
this.LoadRelatedEvents(this.serialnumber); this.LoadRelatedEvents(this.serialnumber);
}); });
this.LoadTaskDetail(this.serialnumber);
this.LoadRelatedEvents(this.serialnumber);
} }
@@ -127,4 +134,23 @@ export class ExpedienteDetailPage implements OnInit {
await modal.present(); await modal.present();
modal.onDidDismiss(); modal.onDidDismiss();
} }
async viewEventDetail(eventId:any) {
console.log(this.profile);
const modal = await this.modalController.create({
component: ViewEventPage,
componentProps:{
eventId: eventId,
profile: this.profile,
},
cssClass: 'modal',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss().then((res)=>{
if(res){
}
});
}
} }
@@ -7,12 +7,14 @@ import { IonicModule } from '@ionic/angular';
import { ExpedientePageRoutingModule } from './expediente-routing.module'; import { ExpedientePageRoutingModule } from './expediente-routing.module';
import { ExpedientePage } from './expediente.page'; import { ExpedientePage } from './expediente.page';
import { SharedModule } from 'src/app/shared/shared.module';
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, CommonModule,
FormsModule, FormsModule,
IonicModule, IonicModule,
SharedModule,
ExpedientePageRoutingModule ExpedientePageRoutingModule
], ],
declarations: [ExpedientePage], declarations: [ExpedientePage],
@@ -1,22 +1,13 @@
<ion-header> <ion-header class="ion-no-border">
<ion-toolbar class="bg-blue"> <ion-toolbar class="header-toolbar">
<div class="div-top-header"> <div class="main-header">
<div class="div-search"> <div class="title-content">
<ion-icon src='assets/images/icons-search.svg'></ion-icon> <app-btn-modal-dismiss></app-btn-modal-dismiss>
<div class="middle">
<ion-label class="title">Gabinete Digital</ion-label>
</div>
</div>
</div> </div>
<div class="div-logo">
<img src='assets/images/logo-no-bg.png' alt='logo'>
</div>
<div class="div-profile">
<ion-icon src='assets/images/icons-profile.svg'></ion-icon>
</div>
</div>
</ion-toolbar>
<ion-toolbar class="bg-blue">
<ion-buttons slot="start">
<ion-back-button defaultHref="/gabinete-digital"></ion-back-button>
</ion-buttons>
<ion-title>Gabinete Digital</ion-title>
</ion-toolbar> </ion-toolbar>
<ion-toolbar> <ion-toolbar>
<ion-segment [(ngModel)]="segment"> <ion-segment [(ngModel)]="segment">
@@ -55,8 +46,13 @@
</div> </div>
</ion-item> --> </ion-item> -->
<ion-item class="expediente" lines="none" *ngFor = "let task of taskslist" <ion-item
[routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]"> class="expediente"
lines="none"
*ngFor = "let task of taskslist"
(click)="viewExpedientDetail(task.SerialNumber)"
>
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="Rectangle"> <div class="Rectangle">
<div class="exp-top-detail"> <div class="exp-top-detail">
<div class="exp-date"> <div class="exp-date">
@@ -1,3 +1,82 @@
@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 */ /* CONTENT */
.item-list-small{ .item-list-small{
font-size: 11px; font-size: 11px;
@@ -1,12 +1,13 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { ModalController, NavParams } from '@ionic/angular';
import { CalendarComponent } from 'ionic2-calendar'; import { CalendarComponent } from 'ionic2-calendar';
import { DailyWorkTask } from '../../../models/dailyworktask.model'; import { DailyWorkTask } from '../../../models/dailyworktask.model';
import { ProcessesService } from 'src/app/services/processes.service'; import { ProcessesService } from 'src/app/services/processes.service';
import { formatDate } from '@angular/common'; import { formatDate } from '@angular/common';
import { LoadingService } from 'src/app/services/loading.service'; import { LoadingService } from 'src/app/services/loading.service';
import { ModalController, NavParams } from '@ionic/angular';
import { ExpedienteDetailPage } from './expediente-detail/expediente-detail.page';
@Component({ @Component({
selector: 'app-expediente', selector: 'app-expediente',
@@ -16,6 +17,7 @@ import { LoadingService } from 'src/app/services/loading.service';
export class ExpedientePage implements OnInit { export class ExpedientePage implements OnInit {
segment:string; segment:string;
profile:string;
@ViewChild(CalendarComponent) myCal: CalendarComponent; @ViewChild(CalendarComponent) myCal: CalendarComponent;
@@ -23,10 +25,11 @@ export class ExpedientePage implements OnInit {
serialNumber:string; serialNumber:string;
constructor( constructor(
private modalCtrl: ModalController, private processes:ProcessesService,
private modalController: ModalController,
private navParams: NavParams, private navParams: NavParams,
private processes:ProcessesService) { ) {
this.serialNumber = this.navParams.get('serialNumber'); this.profile = this.navParams.get('profile');
} }
ngOnInit() { ngOnInit() {
@@ -61,5 +64,23 @@ export class ExpedientePage implements OnInit {
}, 2000); }, 2000);
} }
async viewExpedientDetail(serialNumber:any) {
console.log(this.profile);
const modal = await this.modalController.create({
component: ExpedienteDetailPage,
componentProps:{
serialNumber: serialNumber,
profile: this.profile,
},
cssClass: 'modal',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss().then((res)=>{
});
}
} }
@@ -49,7 +49,9 @@
<p>{{count_ev_md+count_ev_pr}} Documentos</p> <p>{{count_ev_md+count_ev_pr}} Documentos</p>
</div> </div>
</div> </div>
<div class="exp-card" [routerLink]="['/home/gabinete-digital/expediente']"> <div class="exp-card"
(click)="openExpedientList()"
>
<div class="exp-card-icon"> <div class="exp-card-icon">
<ion-icon src="assets/images/icons-correspondencia.svg"></ion-icon> <ion-icon src="assets/images/icons-correspondencia.svg"></ion-icon>
</div> </div>
@@ -4,6 +4,7 @@ import { AlertService } from 'src/app/services/alert.service';
import { EventsService } from 'src/app/services/events.service'; import { EventsService } from 'src/app/services/events.service';
import { ModalController } from '@ionic/angular'; import { ModalController } from '@ionic/angular';
import { EventListPage } from './event-list/event-list.page'; import { EventListPage } from './event-list/event-list.page';
import { ExpedientePage } from './expediente/expediente.page';
@Component({ @Component({
selector: 'app-gabinete-digital', selector: 'app-gabinete-digital',
@@ -14,6 +15,7 @@ export class GabineteDigitalPage implements OnInit {
segment:string; segment:string;
showLoader: boolean; showLoader: boolean;
public profile:string;
constructor( constructor(
private processesbackend:ProcessesService, private processesbackend:ProcessesService,
@@ -41,6 +43,8 @@ export class GabineteDigitalPage implements OnInit {
count_ev_md=0; count_ev_md=0;
ngOnInit() { ngOnInit() {
//Initialize profile as mdgpr
this.profile = "mdgpr";
this.LoadCounts(); this.LoadCounts();
/* this.eventService.getAllMdEvents.subscribe(res=>{ /* this.eventService.getAllMdEvents.subscribe(res=>{
console.log(res); console.log(res);
@@ -100,4 +104,17 @@ this.processesbackend.GetActionsList().subscribe(res=>{
modal.onDidDismiss(); modal.onDidDismiss();
} }
async openExpedientList(){
const modal = await this.modalController.create({
component: ExpedientePage,
componentProps:{
profile: this.profile,
},
cssClass: 'modal',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss();
}
} }