mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 21:06:06 +00:00
tiny changes
This commit is contained in:
@@ -31,6 +31,19 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div width-100" >
|
||||
<div class="ion-item-class-2 d-flex width-100">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class flex-grow-1 justify-center align-center material-inputs " [class.input-error]="Form?.get('CalendarName')?.invalid && validateFrom ">
|
||||
|
||||
<ion-input [disabled]=true autocomplete="on" autocorrect="on" spellcheck="true" placeholder="CalendarName*" [(ngModel)]="CalendarNameOwnerName"></ion-input>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div width-100">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
@@ -58,15 +71,13 @@
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class flex-grow-1">
|
||||
<div class="ion-input-class flex-grow-1 width-100">
|
||||
|
||||
<mat-form-field appearance="none" floatLabel="never" class="width-100 " >
|
||||
<mat-select placeholder="Selecione agenda*" [(ngModel)]="postEvent.CalendarName" >
|
||||
<mat-option value="Oficial">
|
||||
Agenda Oficial
|
||||
</mat-option>
|
||||
<mat-option value="Pessoal">
|
||||
Agenda Pessoal
|
||||
|
||||
<mat-select [(value)]="postEvent.CalendarName" class="width-100" [disabled]=true>
|
||||
<mat-option *ngFor="let calendars of CalendarNamesOptions" value="{{calendars}}">
|
||||
Agenda {{ calendars }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -16,7 +16,7 @@ import { NgxMatDateFormats } from '@angular-material-components/datetime-picker'
|
||||
import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service'
|
||||
|
||||
import { environment } from 'src/environments/environment';
|
||||
|
||||
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
|
||||
parse: {
|
||||
@@ -57,6 +57,9 @@ export class EditEventPage implements OnInit {
|
||||
recurringTypes: any;
|
||||
selectedRecurringType: any;
|
||||
|
||||
CalendarNameOwnerName = ''
|
||||
CalendarNamesOptions = []
|
||||
|
||||
public date: any;
|
||||
public disabled = false;
|
||||
public showSpinners = true;
|
||||
@@ -82,11 +85,12 @@ export class EditEventPage implements OnInit {
|
||||
public stepSeconds = [1, 5, 10, 15, 20, 25];
|
||||
|
||||
sesseionStora = SessionStore
|
||||
|
||||
environment = environment
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
private navParams: NavParams,
|
||||
private eventsService: EventsService,
|
||||
public eventsService: EventsService,
|
||||
public alertController: AlertController,
|
||||
private attachmentsService: AttachmentsService,
|
||||
private toastService: ToastService,
|
||||
@@ -134,6 +138,9 @@ export class EditEventPage implements OnInit {
|
||||
|
||||
this.getAttachments(this.postEvent.EventId);
|
||||
|
||||
|
||||
this.CalendarNameOwnerName = this.eventsService.detectCalendarNameByCalendarId(this.postEvent.CalendarId)
|
||||
this.changeAgenda()
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -559,4 +566,27 @@ export class EditEventPage implements OnInit {
|
||||
await modal.present();
|
||||
}
|
||||
|
||||
|
||||
changeAgenda() {
|
||||
|
||||
setTimeout(() => {
|
||||
|
||||
if(this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Oficial'] && this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Pessoal']) {
|
||||
|
||||
this.CalendarNamesOptions = ['Oficial', 'Pessoal']
|
||||
|
||||
} else if (this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Oficial']) {
|
||||
this.CalendarNamesOptions = ['Oficial']
|
||||
this.postEvent.CalendarName = 'Oficial'
|
||||
|
||||
} else if (this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Pessoal']) {
|
||||
this.CalendarNamesOptions = ['Pessoal']
|
||||
this.postEvent.CalendarName = 'Pessoal'
|
||||
|
||||
} else {
|
||||
this.CalendarNamesOptions = ['Oficial', 'Pessoal']
|
||||
}
|
||||
}, 50)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -630,9 +630,11 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
source: CameraSource.Camera
|
||||
});
|
||||
|
||||
const base64 = 'data:image/jpeg;base64,' + file.base64String
|
||||
const imageBase64 = 'data:image/jpeg;base64,' + file.base64String
|
||||
const blob = this.dataURItoBlob(imageBase64)
|
||||
|
||||
console.log(imageBase64)
|
||||
|
||||
const blob = this.dataURItoBlob(base64)
|
||||
const formData = new FormData();
|
||||
formData.append("blobFile", blob);
|
||||
|
||||
@@ -648,9 +650,8 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
}],
|
||||
temporaryData: formData,
|
||||
attachmentsModelData: {
|
||||
fileBase64: await this.fileService.blobToBase64(blob),
|
||||
fileBase64: imageBase64,
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
@@ -747,9 +748,12 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
//const imageData = await this.fileToBase64Service.convert(file)
|
||||
//
|
||||
|
||||
const response = await fetch('data:image/jpeg;base64,' + file.base64String!);
|
||||
const imageBase64 = 'data:image/jpeg;base64,' + file.base64String
|
||||
const response = await fetch(imageBase64);
|
||||
const blob = await response.blob();
|
||||
|
||||
console.log(imageBase64)
|
||||
|
||||
const formData = new FormData();
|
||||
formData.append("blobFile", blob);
|
||||
|
||||
@@ -765,7 +769,7 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
"title_link_download": false,
|
||||
}],
|
||||
attachmentsModelData: {
|
||||
fileBase64: await this.fileService.blobToBase64(blob),
|
||||
fileBase64: imageBase64,
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -66,15 +66,13 @@
|
||||
<div class="bottom-content width-100">
|
||||
<ion-list *ngIf="fulltask.Documents">
|
||||
<h5 class="font-17-rem">Documentos Anexados</h5>
|
||||
<ion-item *ngFor="let attachment of mergedArray"
|
||||
class="ion-no-margin ion-no-padding cursor-pointer">
|
||||
<ion-label
|
||||
(click)="viewDocument(attachment.DocId, attachment, attachment.content)">
|
||||
<p *ngIf="attachment.Assunto" class="attach-title-item">{{ attachment.Assunto }}<span class="document-type" *ngIf="attachment.content != ''">Rascunho</span></p>
|
||||
<p *ngIf="!attachment.Assunto" class="attach-title-item">{{ attachment.DocNumber }}<span class="span-right color-red btn-size"><ion-icon hidden name="close"></ion-icon></span></p>
|
||||
<p><span class="span-left">{{attachment.Sender}}</span><span class="span-right">{{ attachment.DocDate | date: 'dd/MM/yy' }}</span></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
<ion-item *ngFor="let attachment of mergedArray" class="ion-no-margin ion-no-padding cursor-pointer">
|
||||
<ion-label (click)="viewDocument(attachment.DocId, attachment, attachment.content)">
|
||||
<p *ngIf="attachment.Assunto" class="attach-title-item">{{ attachment.Assunto }}<span class="document-type" *ngIf="attachment.content != ''">Rascunho</span></p>
|
||||
<p *ngIf="!attachment.Assunto" class="attach-title-item">{{ attachment.DocNumber }}<span class="span-right color-red btn-size"></span></p>
|
||||
<p><span class="span-left">{{attachment.Sender}}</span><span class="span-right">{{ attachment.DocDate | date: 'dd/MM/yy' }}</span></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -76,14 +76,6 @@ export class DespachoPrPage implements OnInit {
|
||||
this.profile = "mdgpr";
|
||||
|
||||
|
||||
this.activateRoute.paramMap.subscribe(paramMap => {
|
||||
if (!paramMap.has('SerialNumber')) {
|
||||
return;
|
||||
}
|
||||
/* this.serialNumber = paramMap.get('SerialNumber'); */
|
||||
this.LoadTaskDetail(this.serialNumber);
|
||||
// this.LoadRelatedEvents(this.serialNumber);
|
||||
});
|
||||
this.LoadTaskDetail(this.serialNumber);
|
||||
// this.LoadRelatedEvents(this.serialNumber);
|
||||
|
||||
@@ -610,6 +602,7 @@ export class DespachoPrPage implements OnInit {
|
||||
}
|
||||
|
||||
getDocumentPdf(Documents: any) {
|
||||
this.mergedArray = []
|
||||
Documents.forEach(element => {
|
||||
let docObject = {
|
||||
"ApplicationId": element.ApplicationId,
|
||||
|
||||
+2
@@ -9,6 +9,7 @@ import { DiplomaAssinarPageRoutingModule } from './diploma-assinar-routing.modul
|
||||
import { DiplomaAssinarPage } from './diploma-assinar.page';
|
||||
import { SharedModule } from 'src/app/shared/shared.module';
|
||||
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
|
||||
import { TaskDetailsPageModule } from 'src/app/shared/gabinete-digital/generic/task-details/task-details.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -18,6 +19,7 @@ import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-
|
||||
|
||||
DiplomaAssinarPageRoutingModule,
|
||||
BtnModalDismissPageModule,
|
||||
TaskDetailsPageModule
|
||||
],
|
||||
declarations: [DiplomaAssinarPage]
|
||||
})
|
||||
|
||||
+4
@@ -86,6 +86,10 @@
|
||||
<button (click)="Assinar()" class="btn-cancel" shape="round" >Assinado</button>
|
||||
<div class="solid"></div>
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<button (click)="AssinarNew()" class="btn-cancel" shape="round" >Assinar</button>
|
||||
<div class="solid"></div>
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<button (click)="openAddNoteModal('Arquivo')" class="btn-cancel" shape="round" >Arquivar</button>
|
||||
<div class="solid"></div>
|
||||
|
||||
+30
-1
@@ -203,9 +203,13 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
"action": "Assinado",
|
||||
"ActionTypeId": 99999842,
|
||||
"dataFields": {
|
||||
"DraftIds": "",
|
||||
"ReviewUserComment": '',
|
||||
"InstanceIDNew": this.task.InstanceID,
|
||||
},
|
||||
"AttachmentList": {
|
||||
"ProcessInstanceID": this.task.InstanceID
|
||||
},
|
||||
"AttachmentList": {},
|
||||
}
|
||||
|
||||
const loader = this.toastService.loading()
|
||||
@@ -225,6 +229,31 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
async AssinarNew() {
|
||||
let body = {
|
||||
"InstanceId": this.task.InstanceID,
|
||||
"FolderId": this.task.FolderID,
|
||||
"DraftIds": "163;164;77",
|
||||
"OriginalFileName": "Doc1;Doc2;Doc3"
|
||||
}
|
||||
|
||||
const loader = this.toastService.loading()
|
||||
|
||||
try {
|
||||
await this.processes.presidentialActionsSignature(body).toPromise()
|
||||
|
||||
this.httpErroHandle.httpsSucessMessagge('Assinado')
|
||||
this.TaskService.loadDiplomas()
|
||||
this.goBack();
|
||||
} catch (error) {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
}
|
||||
finally {
|
||||
loader.remove()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async openAddNoteModal(actionName: string) {
|
||||
|
||||
let classs;
|
||||
|
||||
@@ -9,6 +9,7 @@ import { DiplomaPageRoutingModule } from './diploma-routing.module';
|
||||
import { DiplomaPage } from './diploma.page';
|
||||
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
|
||||
import { DiplomaOptionsPage } from 'src/app/shared/popover/deploma-options/deploma-options.page';
|
||||
import { TaskDetailsPageModule } from 'src/app/shared/gabinete-digital/generic/task-details/task-details.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -17,6 +18,7 @@ import { DiplomaOptionsPage } from 'src/app/shared/popover/deploma-options/deplo
|
||||
IonicModule,
|
||||
DiplomaPageRoutingModule,
|
||||
BtnModalDismissPageModule,
|
||||
TaskDetailsPageModule
|
||||
],
|
||||
entryComponents: [
|
||||
DiplomaPage,
|
||||
|
||||
@@ -1,82 +1,20 @@
|
||||
<ion-content class="container-wrapper">
|
||||
|
||||
<div class="main-content d-flex height-100 overflow-hidden">
|
||||
<div class="content d-flex flex-column" *ngIf="task">
|
||||
<div class="main-header">
|
||||
<div class="title-content width-100 d-flex align-center justify-space-between">
|
||||
<div class="font-30-rem cursor-pointer d-flex align-center" (click)="goBack()" defaultHref="#">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " slot="end" src='assets/images/icons-arrow-arrow-left.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/doneIt/icons-calendar-arrow-left.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " slot="end" src='assets/images/theme/gov/icons-calendar-arrow-left.svg'></ion-icon>
|
||||
</div>
|
||||
<div class=" d-flex align-center flex-grow-1 ">
|
||||
<ion-label class="title">{{ task.Folio}}</ion-label>
|
||||
</div>
|
||||
<div class="div-icon" (click)="openOptions()">
|
||||
<!-- <ion-menu-button autoHide="false">
|
||||
<ion-icon name="ellipsis-vertical-outline"></ion-icon>
|
||||
</ion-menu-button> -->
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="font-25 cursor-pointer" src="assets/images/icons-menu.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-25 cursor-pointer" src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " class="font-25 cursor-pointer" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-menu.svg"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="upper-content">
|
||||
<div class="content-details">
|
||||
<ion-label>
|
||||
<p><span class="date">{{customDate}}</span></p>
|
||||
</ion-label>
|
||||
<ion-label>
|
||||
<p><span class="color-red">{{ task.DeadlineType }}</span></p>
|
||||
</ion-label>
|
||||
<ion-label>
|
||||
<p class="d-flex mt-10"><span class="label">{{ task.activityInstanceName }}</span></p>
|
||||
</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="middle-content">
|
||||
<h5 *ngIf="intervenientes">Intervenientes</h5>
|
||||
<ion-item class="ion-no-margin ion-no-padding">
|
||||
<ion-label>
|
||||
<div *ngFor="let interveniente of intervenientes">
|
||||
<p>{{interveniente.Name}}</p>
|
||||
</div>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
<div *ngIf="cc.length > 0">
|
||||
<h5 class="font-17-rem">Com conhecimento</h5>
|
||||
<ion-item class="ion-no-margin ion-no-padding">
|
||||
<ion-label>
|
||||
<div *ngFor="let c of cc">
|
||||
<p>{{c.Name}}</p>
|
||||
</div>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</div>
|
||||
<div *ngIf="fulltask.workflowInstanceDataFields.TaskMessage">
|
||||
<h5 class="font-17-rem">Detalhes</h5>
|
||||
<ion-item class="ion-no-margin ion-no-padding">
|
||||
<pre class="width-100 text">{{ fulltask.workflowInstanceDataFields.TaskMessage }} </pre>
|
||||
</ion-item>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-content width-100">
|
||||
<ion-list>
|
||||
<h5 >Documentos Anexados</h5>
|
||||
<ion-item *ngFor="let attachment of mergedArray"
|
||||
class="ion-no-margin ion-no-padding cursor-pointer"
|
||||
>
|
||||
<ion-label
|
||||
(click)="viewDocument(attachment.DocId, attachment, attachment.content)">
|
||||
<p *ngIf="attachment.Assunto" class="attach-title-item">{{ attachment.Assunto }} <span *ngIf="attachment.content != ''" class="document-type" >Rascunho</span> </p>
|
||||
<p *ngIf="!attachment.Assunto" class="attach-title-item">{{ attachment.DocNumber }}<span class="span-right color-red btn-size"><ion-icon hidden name="close"></ion-icon></span></p>
|
||||
<p><span class="span-left">{{attachment.Sender}}</span><span class="span-right">{{ attachment.DocDate | date: 'dd/MM/yy' }}</span></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<app-task-details
|
||||
*ngIf="task"
|
||||
[task]=task
|
||||
[intervenientes]=intervenientes
|
||||
[cc]=cc
|
||||
[customDate]=customDate
|
||||
[mergedArray]="mergedArray"
|
||||
(openOptions)= openOptions()
|
||||
(goBack)= goBack()
|
||||
(viewDocument)=viewDocument($event)
|
||||
class="d-flex height-100 flex-column content"
|
||||
></app-task-details>
|
||||
|
||||
<div *ngIf="task" class="aside-right flex-column height-100 overflow-y-auto">
|
||||
<div class="buttons" *ngIf="task.activityInstanceName == 'Revisar Diploma'">
|
||||
<button (click)="openAddNoteModal('Solicitar assinatura')" class="btn-cancel" shape="round" >Solicitar assinatura do Presidente</button>
|
||||
|
||||
@@ -5,171 +5,17 @@
|
||||
border-top-right-radius: 25px;
|
||||
}
|
||||
.content{
|
||||
padding: 30px 20px 0 20px !important;
|
||||
margin: 0;
|
||||
float: left;
|
||||
}
|
||||
.color-red{
|
||||
font-weight: 500;
|
||||
color:#d30a0a !important;
|
||||
}
|
||||
.btn-size{
|
||||
font-size: rem(18) !important;
|
||||
}
|
||||
.document-type{
|
||||
border-radius: 20px;
|
||||
background: var(--label-bg-color);
|
||||
float: right;
|
||||
padding: 5px 13.5px 5px 13.5px;
|
||||
color: #fff;
|
||||
}
|
||||
.main-header{
|
||||
overflow: inherit !important;
|
||||
overflow: inherit;
|
||||
font-family: Roboto;
|
||||
border-top-left-radius: 25px;
|
||||
border-top-right-radius: 25px;
|
||||
background-color: #fff;
|
||||
overflow:auto;
|
||||
color:#000;
|
||||
transform: translate3d(0, 1px, 0);
|
||||
.header-top{
|
||||
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: rem(25);
|
||||
color: #0782c9;
|
||||
margin: 5px 0 0 0;
|
||||
}
|
||||
}
|
||||
.header-bottom{
|
||||
width: 310px;
|
||||
overflow: auto;
|
||||
margin: 0 auto;
|
||||
|
||||
.header-bottom-icon{
|
||||
width: rem(30);
|
||||
font-size: rem(25);
|
||||
float: left;
|
||||
padding: 2px;
|
||||
}
|
||||
.header-bottom-contacts{
|
||||
width: 275px;
|
||||
font-size: rem(15);
|
||||
color: #797979;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
float: left;
|
||||
padding: 5px;
|
||||
margin: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
.title{
|
||||
font-size: rem(25);
|
||||
overflow: auto;
|
||||
float: left;
|
||||
padding-top: 4px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
.div-icon{
|
||||
width: rem(40);
|
||||
float: right;
|
||||
font-size: rem(35);
|
||||
overflow: auto;
|
||||
padding: 1px;
|
||||
}
|
||||
}
|
||||
ion-item-group{
|
||||
margin: 15px;
|
||||
}
|
||||
ion-button{
|
||||
display: block;
|
||||
width: 80%;
|
||||
margin: 20px auto;
|
||||
}
|
||||
|
||||
|
||||
.upper-content{
|
||||
font-family: Roboto;
|
||||
margin-left: 36px;
|
||||
font-size: rem(18);
|
||||
|
||||
.label{
|
||||
border-radius: 20px;
|
||||
background: var(--label-bg-color);
|
||||
float: right;
|
||||
padding: 5px 13.5px 5px 13.5px;
|
||||
color: #fff;
|
||||
font-size: rem(14);
|
||||
}
|
||||
|
||||
.button-calendar-type ion-button{
|
||||
height: rem(25);
|
||||
}
|
||||
.content-details{
|
||||
font-size: rem(17);
|
||||
.date{
|
||||
color: #797979;
|
||||
}
|
||||
}
|
||||
}
|
||||
.middle-conten{
|
||||
.middle-content p{
|
||||
font-size: rem(16);
|
||||
}
|
||||
}
|
||||
.bottom-content{
|
||||
//width: 360px;
|
||||
margin: 0 auto;
|
||||
|
||||
.bottom-content h3{
|
||||
font-size: rem(16);
|
||||
margin: 0 0 0 10px;
|
||||
}
|
||||
.attach-document{
|
||||
font-size: rem(15);
|
||||
color: var(--title-text-color);
|
||||
margin: 5px 5px 5px 10px;
|
||||
padding: 5px;
|
||||
float: left;
|
||||
}
|
||||
.attach-icon{
|
||||
width: 37px;
|
||||
font-size: rem(35);
|
||||
float: left;
|
||||
}
|
||||
.attach-title-item{
|
||||
font-size: rem(18);
|
||||
width: 100%;
|
||||
color:#0d89d1;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
/* SPAN */
|
||||
.span-left{
|
||||
float: left;
|
||||
font-size: rem(15);
|
||||
}
|
||||
.span-right{
|
||||
text-align: right;
|
||||
float: right;
|
||||
font-size: rem(13);
|
||||
}
|
||||
}
|
||||
.aside-right{
|
||||
padding: 30px 20px 0 20px !important;
|
||||
|
||||
|
||||
@@ -84,7 +84,8 @@ export class DiplomaPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
async openOptions(taskAction?: any) {
|
||||
async openOptions() {
|
||||
|
||||
const popover = await this.popoverController.create({
|
||||
component: DiplomaOptionsPage,
|
||||
cssClass: 'exp-options',
|
||||
@@ -92,7 +93,6 @@ export class DiplomaPage implements OnInit {
|
||||
serialNumber: this.serialNumber,
|
||||
task: this.task,
|
||||
fulltask: this.fulltask,
|
||||
taskAction: taskAction,
|
||||
showEnviarPendentes: false
|
||||
},
|
||||
translucent: true
|
||||
@@ -190,7 +190,7 @@ export class DiplomaPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
async viewDocument(DocId: string, Document, content) {
|
||||
async viewDocument({Document, content}) {
|
||||
|
||||
if (Document.content == "") {
|
||||
const modal = await this.modalController.create({
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
<ion-header class="ion-no-border header-2">
|
||||
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
|
||||
<ion-refresher-content></ion-refresher-content>
|
||||
</ion-refresher>
|
||||
|
||||
<app-task-list-header
|
||||
[goBackButton] = true
|
||||
@@ -27,6 +24,9 @@
|
||||
</ion-header>
|
||||
|
||||
<ion-content>
|
||||
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
|
||||
<ion-refresher-content></ion-refresher-content>
|
||||
</ion-refresher>
|
||||
|
||||
<div class="main-content width-100 overflow-y-auto height-100">
|
||||
|
||||
|
||||
@@ -79,6 +79,10 @@ export class EventListPage implements OnInit {
|
||||
if(pr) {
|
||||
this.segment = pr.OwnerUserId
|
||||
}
|
||||
|
||||
this.dynamicSearch()
|
||||
} else {
|
||||
this.dynamicSearch()
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -100,7 +100,6 @@ export class GabineteDigitalPage implements OnInit {
|
||||
@ViewChild('scroll') scroll: ElementRef;
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
private router: Router,
|
||||
public waitForDomService: WaitForDomService,
|
||||
public ThemeService: ThemeService,
|
||||
@@ -112,7 +111,6 @@ export class GabineteDigitalPage implements OnInit {
|
||||
|
||||
window.onresize = (event) => {
|
||||
if (window.innerWidth < 701) {
|
||||
this.modalController.dismiss();
|
||||
this.hideRefreshBtn = false;
|
||||
this.hideInMobile = false;
|
||||
this.segmentVista = "listview";
|
||||
@@ -197,54 +195,63 @@ export class GabineteDigitalPage implements OnInit {
|
||||
|
||||
|
||||
this.hideRefreshButton();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
(async () => {
|
||||
await this.loadAllProcesses()
|
||||
this.TaskService.registerCallback({
|
||||
id: import.meta.url,
|
||||
funx:() => {
|
||||
this.dynamicSearch()
|
||||
}
|
||||
})
|
||||
})();
|
||||
|
||||
this.checkFilter();
|
||||
this.checkRoutes();
|
||||
this.dynamicSearch()
|
||||
|
||||
|
||||
const pathname = '/home/gabinete-digital'
|
||||
this.router.events.forEach((event) => {
|
||||
if (event instanceof NavigationEnd && event.url.includes(pathname) && !event.url.includes('/home/gabinete-digital/')) {
|
||||
this.waitForDomService.selector({
|
||||
selector: 'app-gabinete-digital ion-content .aside-wrapper',
|
||||
callback: () => {
|
||||
if(this.NotificationsService.active === false) {
|
||||
this.checkRoutes();
|
||||
// this.LoadCounts();
|
||||
this.checkFilter()
|
||||
} else {
|
||||
this.checkRoutes();
|
||||
// this.LoadCounts();
|
||||
this.checkFilter()
|
||||
}
|
||||
|
||||
this.mobile()
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
ngAfterViewInit(): void {
|
||||
// We can access the TestComponent now that this portion of the view tree has been initiated.
|
||||
const element = this.scroll.nativeElement
|
||||
this.scroll.nativeElement.addEventListener("scroll", (e)=> {
|
||||
this.changeTab()
|
||||
});
|
||||
|
||||
try {
|
||||
// We can access the TestComponent now that this portion of the view tree has been initiated.
|
||||
const element = this.scroll.nativeElement
|
||||
this.scroll.nativeElement.addEventListener("scroll", (e)=> {
|
||||
this.changeTab()
|
||||
});
|
||||
|
||||
} catch(error) {
|
||||
|
||||
}
|
||||
|
||||
(async () => {
|
||||
await this.loadAllProcesses()
|
||||
this.TaskService.registerCallback({
|
||||
id: import.meta.url,
|
||||
funx:() => {
|
||||
this.dynamicSearch()
|
||||
}
|
||||
})
|
||||
})();
|
||||
|
||||
this.checkFilter();
|
||||
this.checkRoutes();
|
||||
this.dynamicSearch()
|
||||
|
||||
|
||||
const pathname = '/home/gabinete-digital'
|
||||
this.router.events.forEach((event) => {
|
||||
if (event instanceof NavigationEnd && event.url.includes(pathname) && !event.url.includes('/home/gabinete-digital/')) {
|
||||
this.waitForDomService.selector({
|
||||
selector: 'app-gabinete-digital ion-content .aside-wrapper',
|
||||
callback: () => {
|
||||
if(this.NotificationsService.active === false) {
|
||||
this.checkRoutes();
|
||||
// this.LoadCounts();
|
||||
this.checkFilter()
|
||||
} else {
|
||||
this.checkRoutes();
|
||||
// this.LoadCounts();
|
||||
this.checkFilter()
|
||||
}
|
||||
|
||||
this.mobile()
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,8 @@ import { EditActionPage } from './edit-action/edit-action.page';
|
||||
import { ToastService } from 'src/app/services/toast.service';
|
||||
import { ThemeService } from 'src/app/services/theme.service'
|
||||
import { PermissionService } from 'src/app/services/permission.service';
|
||||
import { ActionModel } from 'src/app/models/beast-orm';
|
||||
import { Storage } from '@ionic/storage';
|
||||
// import { ActionModel } from 'src/app/models/beast-orm';
|
||||
|
||||
|
||||
@Component({
|
||||
@@ -64,6 +65,7 @@ export class PublicationsPage implements OnInit {
|
||||
private toastService: ToastService,
|
||||
public ThemeService: ThemeService,
|
||||
public p: PermissionService,
|
||||
private storage: Storage,
|
||||
|
||||
) {
|
||||
this.months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];
|
||||
@@ -141,25 +143,27 @@ export class PublicationsPage implements OnInit {
|
||||
const folders: PublicationFolder[] = this.getPublicationFolderMap(res)
|
||||
|
||||
this.publicationsEventFolderList = folders.filter((e)=>e.ActionType == 'Evento')
|
||||
|
||||
await this.storage.set('actionsEvents', this.publicationsEventFolderList);
|
||||
|
||||
this.showLoader = false;
|
||||
|
||||
(async ()=> {
|
||||
// (async ()=> {
|
||||
|
||||
const created = await ActionModel.create(folders)
|
||||
const stored = await ActionModel.all()
|
||||
// const created = await ActionModel.create(folders)
|
||||
// const stored = await ActionModel.all()
|
||||
|
||||
const notPresentOnTheRequest: ActionModel[] = stored.filter(e => {
|
||||
return !folders.find(b => e.ProcessId == b.ProcessId)
|
||||
})
|
||||
// const notPresentOnTheRequest: ActionModel[] = stored.filter(e => {
|
||||
// return !folders.find(b => e.ProcessId == b.ProcessId)
|
||||
// })
|
||||
|
||||
for (let ActionModelToDelete of notPresentOnTheRequest) {
|
||||
ActionModelToDelete.delete()
|
||||
}
|
||||
// for (let ActionModelToDelete of notPresentOnTheRequest) {
|
||||
// ActionModelToDelete.delete()
|
||||
// }
|
||||
|
||||
// console.log({created, stored, folders, toDeletes})
|
||||
// // console.log({created, stored, folders, toDeletes})
|
||||
|
||||
})()
|
||||
// })()
|
||||
|
||||
|
||||
}, (error) => {
|
||||
@@ -184,9 +188,31 @@ export class PublicationsPage implements OnInit {
|
||||
|
||||
async getFromDB() {
|
||||
|
||||
const folders: PublicationFolder[] = await ActionModel.all()
|
||||
this.showLoader = false;
|
||||
this.publicationsEventFolderList = folders
|
||||
//const folders: PublicationFolder[] = await ActionModel.all()
|
||||
//this.showLoader = false;
|
||||
// this.publicationsEventFolderList = folders
|
||||
|
||||
|
||||
this.storage.get('actionsEvents').then((events = []) => {
|
||||
|
||||
if(Array.isArray(events)) {
|
||||
const folders: PublicationFolder[] = this.getPublicationFolderMap(events)
|
||||
|
||||
this.showLoader = false;
|
||||
this.publicationsEventFolderList = folders
|
||||
}
|
||||
|
||||
});
|
||||
this.storage.get('actionsViagens').then((viagens = []) => {
|
||||
|
||||
if(Array.isArray(viagens)) {
|
||||
const folders: PublicationFolder[] = this.getPublicationFolderMap(viagens)
|
||||
|
||||
this.publicationsTravelFolderList = folders
|
||||
this.showLoader = false;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
|
||||
<div class="top-box d-flex ion-justify-content-between pb-10">
|
||||
<!-- search -->
|
||||
<div *ngIf="!showAdvanceSearch" class="icon-z icon-most-searched-word-open cursor-pointer" (click)="showHideAdvanceSearch(true)">
|
||||
<div *ngIf="!showAdvanceSearch && type!='Agenda'" class="icon-z icon-most-searched-word-open cursor-pointer" (click)="showHideAdvanceSearch(true)">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-most-searched-words-open.svg" class="icon" slot="end"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme != 'default' " src="assets/images/icons-most-searched-words-open.svg" class="icon" slot="end"></ion-icon>
|
||||
</div>
|
||||
<div *ngIf="showAdvanceSearch" class="icon-z icon-most-searched-word-open align-md-baseline pl-10 cursor-pointer" (click)="showHideAdvanceSearch(false)" >
|
||||
<div *ngIf="showAdvanceSearch && type!='Agenda'" class="icon-z icon-most-searched-word-open align-md-baseline pl-10 cursor-pointer" (click)="showHideAdvanceSearch(false)" >
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "src="assets/images/advance-search-show-modal.svg" class="icon" slot="end"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/advance-search-show-modal.svg" class="icon" slot="end"></ion-icon>
|
||||
</div>
|
||||
@@ -147,7 +147,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
<div class="pl-10">
|
||||
<div class="pl-10" >
|
||||
<button class="icon-z icon-most-searched-word-open cursor-pointer" ion-button icon-only >
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-most-searched-words-open.svg" class="icon" slot="end"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme != 'default' " src="assets/images/icons-most-searched-words-open.svg" class="icon" slot="end"></ion-icon>
|
||||
|
||||
Reference in New Issue
Block a user