mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-20 13:26:08 +00:00
lot of changes
This commit is contained in:
@@ -14,7 +14,8 @@
|
||||
</ion-content>
|
||||
<ion-footer>
|
||||
<div class="buttons width-100">
|
||||
<button class="btn-ok-medium" shape="round" (click)="close()">Não</button>
|
||||
<button class="btn-delete-medium" shape="round" (click)="save()">Sim</button>
|
||||
<button class="btn-ok-medium" shape="round" (click)="close()">Não</button>
|
||||
|
||||
</div>
|
||||
</ion-footer>
|
||||
|
||||
@@ -170,6 +170,7 @@
|
||||
<app-attendee-modal
|
||||
*ngIf="showAttendees"
|
||||
[footer]="false"
|
||||
[taskType]="taskType"
|
||||
class="d-flex flex-column height-100"
|
||||
[adding]="adding"
|
||||
[taskParticipants]="taskParticipants"
|
||||
@@ -186,9 +187,10 @@
|
||||
</ion-content>
|
||||
<ion-footer>
|
||||
<div class="buttons">
|
||||
<button class="btn-cancel" shape="round" (click)="cancelTask()">Cancelar</button>
|
||||
<button *ngIf="taskType == '0'" class="btn-ok" shape="round" (click)="saveTask()">Concluir</button>
|
||||
<button *ngIf="taskType == '1'" class="btn-ok" shape="round" (click)="saveTask()">Solicitar</button>
|
||||
<button *ngIf="taskType == '2'" class="btn-ok" shape="round" (click)="saveTask()">Solicitar</button>
|
||||
<button class="btn-cancel" shape="round" (click)="cancelTask()">Cancelar</button>
|
||||
|
||||
</div>
|
||||
</ion-footer>
|
||||
|
||||
@@ -120,6 +120,7 @@ export class CreateProcessPage implements OnInit {
|
||||
|
||||
|
||||
this.taskType = this.navParams.get('taskAction');
|
||||
console.log('this.taskType ',this.taskType )
|
||||
|
||||
this.postData = new Despacho();
|
||||
this.participants = this.participants = new Array();
|
||||
@@ -598,7 +599,8 @@ export class CreateProcessPage implements OnInit {
|
||||
componentProps: {
|
||||
adding: this.adding,
|
||||
taskParticipants: this.taskParticipants,
|
||||
taskParticipantsCc: this.taskParticipantsCc
|
||||
taskParticipantsCc: this.taskParticipantsCc,
|
||||
taskType: this.taskType
|
||||
},
|
||||
cssClass: 'modal attendee modal-desktop',
|
||||
backdropDismiss: false
|
||||
|
||||
@@ -351,8 +351,9 @@
|
||||
</ion-content>
|
||||
<ion-footer>
|
||||
<div class="buttons">
|
||||
<button class="btn-cancel" shape="round" (click)="close()">Cancelar</button>
|
||||
<button class="btn-ok" shape="round" (click)="saveTask()">Gravar</button>
|
||||
<button class="btn-cancel" shape="round" (click)="close()">Cancelar</button>
|
||||
|
||||
</div>
|
||||
</ion-footer>
|
||||
|
||||
|
||||
@@ -163,16 +163,17 @@
|
||||
|
||||
<div class="d-flex justify-space-between">
|
||||
|
||||
<ion-buttons slot="start" (click)="close()">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end" (click)="close()">
|
||||
<button class="btn-ok" fill="clear" color="#fff">
|
||||
<ion-label>Enviar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="start" (click)="close()">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</div>
|
||||
|
||||
</ion-footer>
|
||||
@@ -3,4 +3,5 @@ export class EventPerson{
|
||||
Name: string;
|
||||
IsRequired: boolean;
|
||||
UserType: string;
|
||||
IsPR: boolean
|
||||
}
|
||||
@@ -361,15 +361,16 @@
|
||||
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="footer-toolbar px-20">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -315,15 +315,16 @@
|
||||
</ion-content>
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="footer-toolbar px-20">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -247,17 +247,17 @@ export class ViewEventPage implements OnInit {
|
||||
header: 'Eliminar evento?',
|
||||
message: '',
|
||||
buttons: [
|
||||
{
|
||||
text: 'Não',
|
||||
handler: () => {
|
||||
// sconsole.log('Let me think');
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'Sim',
|
||||
handler: () => {
|
||||
this.deleteEvent();
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'Não',
|
||||
handler: () => {
|
||||
// sconsole.log('Let me think');
|
||||
}
|
||||
}
|
||||
]
|
||||
}).then(res => {
|
||||
|
||||
@@ -84,14 +84,15 @@
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="d-flex">
|
||||
<ion-buttons class="flex-grow-1" slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons class="flex-grow-1" slot="end">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons class="flex-grow-1" slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -5,6 +5,7 @@ import { ContactsService } from 'src/app/services/contacts.service';
|
||||
import { ThemeService } from 'src/app/services/theme.service'
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-attendees',
|
||||
@@ -25,6 +26,7 @@ export class AttendeesPageModal implements OnInit {
|
||||
taskParticipantsCc:EventPerson[] = [];
|
||||
loggeduser: LoginUserRespose;
|
||||
@Input() loggedAttendSon: boolean;
|
||||
taskType: any;
|
||||
|
||||
|
||||
constructor(
|
||||
@@ -32,16 +34,20 @@ export class AttendeesPageModal implements OnInit {
|
||||
private contactsService: ContactsService,
|
||||
private navParams: NavParams,
|
||||
private modalController: ModalController,
|
||||
public ThemeService: ThemeService) {
|
||||
public ThemeService: ThemeService,
|
||||
private router: Router,) {
|
||||
|
||||
this.adding = this.navParams.get('adding');
|
||||
this.taskParticipants = this.navParams.get('taskParticipants');
|
||||
this.taskParticipantsCc = this.navParams.get('taskParticipantsCc');
|
||||
this.taskType = this.navParams.get('taskType');
|
||||
|
||||
this.loggeduser = SessionStore.user;
|
||||
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
console.log('Pesquisa de contactos current path1',this.router.url)
|
||||
this.fetchContacts("");
|
||||
|
||||
if(this.taskParticipants == null || this.taskParticipants == undefined){
|
||||
@@ -149,8 +155,12 @@ export class AttendeesPageModal implements OnInit {
|
||||
this.contacts = result;
|
||||
console.log('Attendes Email',this.loggeduser.Email)
|
||||
let filterLoggedUserEmail = this.contacts.filter(item => item.EmailAddress.toLocaleLowerCase() != this.loggeduser.Email.toLocaleLowerCase())
|
||||
if(this.taskType == 0 || this.taskType == 1){
|
||||
filterLoggedUserEmail = this.contacts.filter(item => item.IsPR == false)
|
||||
}
|
||||
console.log('Attendes Email', filterLoggedUserEmail)
|
||||
let filterEmptyEmail = filterLoggedUserEmail.filter(item => item.EmailAddress.toLocaleLowerCase() != "")
|
||||
|
||||
this.contacts = filterEmptyEmail;
|
||||
console.log('Attendes Email', this.contacts)
|
||||
this.showLoader = false;
|
||||
|
||||
+90
-65
@@ -1,7 +1,7 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ModalController, PopoverController, ToastController } from '@ionic/angular';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { momentG } from 'src/plugin/momentG';
|
||||
import { momentG } from 'src/plugin/momentG';
|
||||
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { DiplomaOptionsPage } from 'src/app/shared/popover/deploma-options/deploma-options.page';
|
||||
@@ -9,7 +9,7 @@ import { ToastService } from 'src/app/services/toast.service';
|
||||
import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page';
|
||||
import { ThemeService } from 'src/app/services/theme.service'
|
||||
import { RouteService } from 'src/app/services/route.service';
|
||||
import {HttpErrorHandle } from 'src/app/services/http-error-handle.service';
|
||||
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
|
||||
import { AddNotePage } from 'src/app/modals/add-note/add-note.page';
|
||||
import { DespachoService } from 'src/app/Rules/despacho.service'
|
||||
import { AttachmentList } from 'src/app/models/Excludetask';
|
||||
@@ -35,12 +35,13 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
fulltask: any
|
||||
intervenientes: any = []
|
||||
cc: any = [];
|
||||
attachments:any;
|
||||
attachments: any;
|
||||
customDate: any;
|
||||
caller:string;
|
||||
caller: string;
|
||||
mergedArray: any = [];
|
||||
DraftIds = ""
|
||||
DraftNames = ""
|
||||
asDraft = true;
|
||||
|
||||
constructor(
|
||||
private processes: ProcessesService,
|
||||
@@ -57,10 +58,10 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
public p: PermissionService,
|
||||
) {
|
||||
this.activatedRoute.paramMap.subscribe(params => {
|
||||
if(params["params"].SerialNumber) {
|
||||
if (params["params"].SerialNumber) {
|
||||
this.serialnumber = params["params"].SerialNumber;
|
||||
}
|
||||
if(params["params"].caller) {
|
||||
if (params["params"].caller) {
|
||||
this.caller = params["params"].caller;
|
||||
}
|
||||
});
|
||||
@@ -91,7 +92,8 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
showEnviarPendentes: false,
|
||||
fulltask: this.fulltask,
|
||||
DraftNames: this.DraftNames,
|
||||
DraftIds: this.DraftIds
|
||||
DraftIds: this.DraftIds,
|
||||
asDraft: this.asDraft
|
||||
|
||||
},
|
||||
translucent: true
|
||||
@@ -112,7 +114,7 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
"SerialNumber": res.serialNumber,
|
||||
"Folio": res.workflowInstanceDataFields.Subject,
|
||||
"Senders": res.originator.email,
|
||||
"CreateDate": momentG(new Date(res.taskStartDate),'yyyy-MM-dd HH:mm:ss'),
|
||||
"CreateDate": momentG(new Date(res.taskStartDate), 'yyyy-MM-dd HH:mm:ss'),
|
||||
"DocumentURL": res.workflowInstanceDataFields.ViewerRequest,
|
||||
"Remetente": res.workflowInstanceDataFields.Sender,
|
||||
"Note": res.workflowInstanceDataFields.TaskMessage || res.workflowInstanceDataFields.Note,
|
||||
@@ -144,13 +146,13 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
this.getDocumentPdf(this.fulltask.Documents)
|
||||
|
||||
let thedate = new Date(this.task.CreateDate);
|
||||
this.customDate = this.days[thedate.getDay()]+ ", " + thedate.getDate() +" de " + ( this.months[thedate.getMonth()]);
|
||||
this.customDate = this.days[thedate.getDay()] + ", " + thedate.getDate() + " de " + (this.months[thedate.getMonth()]);
|
||||
|
||||
this.processes.GetTaskParticipants(this.task.FolderId).subscribe(users=>{
|
||||
this.intervenientes = users.filter(user=>{
|
||||
this.processes.GetTaskParticipants(this.task.FolderId).subscribe(users => {
|
||||
this.intervenientes = users.filter(user => {
|
||||
return user.Type == 'I';
|
||||
});
|
||||
this.cc = users.filter(user=>{
|
||||
this.cc = users.filter(user => {
|
||||
return user.Type == 'CC';
|
||||
});
|
||||
|
||||
@@ -158,20 +160,20 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
});
|
||||
this.getDocumentDetails(this.task.FolderId, '361');
|
||||
|
||||
}, (error)=>{
|
||||
}, (error) => {
|
||||
try {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
this.goBack()
|
||||
} catch (e) {
|
||||
window.history.back();
|
||||
} finally {
|
||||
} finally {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
async viewDocument({Document, content}) {
|
||||
async viewDocument({ Document, content }) {
|
||||
|
||||
if (Document.content == "") {
|
||||
const modal = await this.modalController.create({
|
||||
@@ -197,7 +199,12 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
component: TinyMCEPage,
|
||||
componentProps: {
|
||||
Document,
|
||||
content
|
||||
content,
|
||||
InstanceID: this.task.InstanceID,
|
||||
FolderId: this.task.FolderID,
|
||||
DraftIds: this.DraftIds,
|
||||
OriginalFileName: this.DraftNames,
|
||||
Serialnumber:this.serialnumber
|
||||
},
|
||||
cssClass: 'modal modal-desktop'
|
||||
});
|
||||
@@ -208,8 +215,8 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
getDocumentDetails(forlderId:string, applicationId:string) {
|
||||
this.processes.GetDocumentDetails(forlderId,applicationId).subscribe(res=>{
|
||||
getDocumentDetails(forlderId: string, applicationId: string) {
|
||||
this.processes.GetDocumentDetails(forlderId, applicationId).subscribe(res => {
|
||||
this.attachments = res.Documents;
|
||||
|
||||
|
||||
@@ -239,28 +246,28 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
await this.processes.CompleteTask(body).toPromise()
|
||||
this.httpErroHandle.httpsSucessMessagge('Assinado')
|
||||
} catch (error) {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
}
|
||||
finally {}
|
||||
finally { }
|
||||
|
||||
}
|
||||
|
||||
async AssinarDraft() {
|
||||
|
||||
if (this.asDraft) {
|
||||
const modal = await this.modalController.create({
|
||||
component: PopupQuestionPage,
|
||||
componentProps: {
|
||||
title: 'Deseja assinar este Diploma?',
|
||||
/* message: 'Nota: Ao Efetuar esta operação, o tratamento deste diploma não poderá ser realizado a partir da caixa de correspondência' */
|
||||
},
|
||||
cssClass: "popup-question discart-expedient-modal",
|
||||
backdropDismiss: true
|
||||
});
|
||||
|
||||
const modal = await this.modalController.create({
|
||||
component: PopupQuestionPage,
|
||||
componentProps: {
|
||||
title: 'Deseja assinar este Diploma?',
|
||||
/* message: 'Nota: Ao Efetuar esta operação, o tratamento deste diploma não poderá ser realizado a partir da caixa de correspondência' */
|
||||
},
|
||||
cssClass: "popup-question discart-expedient-modal",
|
||||
backdropDismiss: true
|
||||
});
|
||||
|
||||
modal.onDidDismiss().then(async (res) => {
|
||||
const data = res.data
|
||||
if(data == "Yes") {
|
||||
modal.onDidDismiss().then(async (res) => {
|
||||
const data = res.data
|
||||
if (data == "Yes") {
|
||||
let body = {
|
||||
"InstanceId": this.task.InstanceID,
|
||||
"FolderId": this.task.FolderID,
|
||||
@@ -278,18 +285,22 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
this.TaskService.loadDiplomas();
|
||||
this.goBack();
|
||||
} catch (error) {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
}
|
||||
finally {
|
||||
loader.remove()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}, (error) => {
|
||||
console.log(error)
|
||||
});
|
||||
}, (error) => {
|
||||
console.log(error)
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
} else {
|
||||
this.httpErroHandle.validationMessagge("diplomaAsDraft");
|
||||
}
|
||||
|
||||
await modal.present();
|
||||
}
|
||||
|
||||
async openAddNoteModal(actionName: string) {
|
||||
@@ -338,7 +349,7 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
else if (actionName == 'Reexecução') {
|
||||
/* await this.reexecute(res.data.note, docs);
|
||||
this.goBack(); */
|
||||
} else if(actionName == 'Gerar Diploma') {
|
||||
} else if (actionName == 'Gerar Diploma') {
|
||||
/* await this.generateDiploma(res.data.note, docs);
|
||||
this.goBack(); */
|
||||
}
|
||||
@@ -382,7 +393,8 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
taskAction: taskAction,
|
||||
task: task,
|
||||
profile: this.profile,
|
||||
fulltask: this.fulltask
|
||||
fulltask: this.fulltask,
|
||||
asDrat: this.asDraft
|
||||
},
|
||||
cssClass: classs,
|
||||
});
|
||||
@@ -458,34 +470,47 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
|
||||
|
||||
async getDraft(split_stringDraft: string[]) {
|
||||
this.DraftNames = ""
|
||||
this.DraftNames = "";
|
||||
this.DraftIds = "";
|
||||
|
||||
for(const strg of split_stringDraft) {
|
||||
console.log('List of ids', strg)
|
||||
const resd = await this.processes.GetDraftByID(strg).toPromise()
|
||||
const draftPromises = split_stringDraft.map(async (strg) => {
|
||||
console.log('List of ids', strg);
|
||||
try {
|
||||
const resd = await this.processes.GetDraftByID(strg).toPromise();
|
||||
|
||||
let object = {
|
||||
"ApplicationId": "",
|
||||
"Assunto": resd.data.description,
|
||||
"DocDate": "",
|
||||
"DocId": resd.data.id,
|
||||
"DocNumber": "",
|
||||
"FolderId": "",
|
||||
"Sender": "",
|
||||
"SourceDocId": "",
|
||||
"content": resd.data.content,
|
||||
"path": resd.data.path,
|
||||
"ownerId": resd.data.ownerId,
|
||||
"status": resd.data.status,
|
||||
let object = {
|
||||
"ApplicationId": "",
|
||||
"Assunto": resd.data.description,
|
||||
"DocDate": "",
|
||||
"DocId": resd.data.id,
|
||||
"DocNumber": "",
|
||||
"FolderId": "",
|
||||
"Sender": "",
|
||||
"SourceDocId": "",
|
||||
"content": resd.data.content,
|
||||
"path": resd.data.path,
|
||||
"ownerId": resd.data.ownerId,
|
||||
"status": resd.data.status,
|
||||
};
|
||||
this.mergedArray.push(object);
|
||||
this.DraftNames += resd.data.description + ";";
|
||||
this.DraftIds += resd.data.id + ";";
|
||||
console.log('List of draft', resd);
|
||||
} catch (error) {
|
||||
console.log('Error getting draft', error);
|
||||
}
|
||||
this.mergedArray.push(object)
|
||||
this.DraftNames = this.DraftNames + resd.data.description+";"
|
||||
console.log('List of draff', resd)
|
||||
});
|
||||
|
||||
await Promise.all(draftPromises);
|
||||
|
||||
if (this.DraftNames) {
|
||||
this.DraftNames = this.DraftNames.slice(0, -1);
|
||||
this.DraftIds = this.DraftIds.slice(0, -1);
|
||||
} else {
|
||||
console.log('No draft found.');
|
||||
this.asDraft = false
|
||||
}
|
||||
|
||||
this.DraftNames = this.DraftNames.slice(0, -1);
|
||||
this.DraftIds = this.DraftIds.slice(0, -1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -314,8 +314,8 @@
|
||||
</ion-content>
|
||||
<ion-footer>
|
||||
<div class="buttons">
|
||||
<button class="btn-cancel" shape="round" (click)="close()">Cancelar</button>
|
||||
<button class="btn-ok" shape="round" (click)="saveTask()">Gravar</button>
|
||||
<button class="btn-cancel" shape="round" (click)="close()">Cancelar</button>
|
||||
</div>
|
||||
</ion-footer>
|
||||
|
||||
|
||||
+2
-1
@@ -221,6 +221,7 @@
|
||||
class="d-flex flex-column height-100 hide-footer"
|
||||
[adding]="adding"
|
||||
[footer]="false"
|
||||
[taskType]="taskType"
|
||||
[taskParticipants]="taskParticipants"
|
||||
[taskParticipantsCc]="taskParticipantsCc"
|
||||
(closeComponent)="closeComponent()"
|
||||
@@ -235,7 +236,7 @@
|
||||
</ion-content>
|
||||
<ion-footer>
|
||||
<div class="buttons">
|
||||
<button class="btn-cancel" shape="round" (click)="cancelTask()">Cancelar</button>
|
||||
<button class="btn-ok" shape="round" (click)="saveTask()">Concluir</button>
|
||||
<button class="btn-cancel" shape="round" (click)="cancelTask()">Cancelar</button>
|
||||
</div>
|
||||
</ion-footer>
|
||||
|
||||
+2
-1
@@ -533,7 +533,8 @@ export class ExpedientTaskModalPage implements OnInit {
|
||||
componentProps: {
|
||||
adding: this.adding,
|
||||
taskParticipants: this.taskParticipants,
|
||||
taskParticipantsCc: this.taskParticipantsCc
|
||||
taskParticipantsCc: this.taskParticipantsCc,
|
||||
taskType: this.taskType
|
||||
},
|
||||
cssClass: 'attendee modal modal-desktop',
|
||||
backdropDismiss: false
|
||||
|
||||
@@ -88,15 +88,16 @@
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="footer-toolbar width-100 justify-space-between d-flex px-20">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
|
||||
@@ -100,14 +100,15 @@
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="footer-toolbar width-100">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Criar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -94,14 +94,15 @@
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="footer-toolbar">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
|
||||
<!-- HEADER-->
|
||||
<ion-header class="ion-no-border header-main d-md-flex">
|
||||
<div *ngIf="select" class="btn-close d-none d-lg-flex cursor-pointer font-35-rem" (click)="close()">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "class="icon" src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="icon" src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="icon"
|
||||
src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="icon"
|
||||
src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
</div>
|
||||
|
||||
<div class="d-md-flex flex-md-row-reverse flex-grow-1">
|
||||
@@ -12,14 +13,15 @@
|
||||
|
||||
<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" class="icon-z icon-most-searched-word-open cursor-pointer" (click)="showHideAdvanceSearch(true)">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' && type!='Agenda'" src="assets/images/theme/blue/icons-most-searched-words-open.svg" class="icon" slot="end"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme != 'default'&& type!='Agenda' " 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)" >
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' && type!='Agenda' "src="assets/images/advance-search-show-modal.svg" class="icon" slot="end"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && type!='Agenda'" src="assets/images/theme/gov/advance-search-show-modal.svg" class="icon" slot="end"></ion-icon>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<div class="profile">
|
||||
<ion-icon class="icon" src="assets/images/icons-profile.svg"></ion-icon>
|
||||
@@ -30,37 +32,54 @@
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
background: transparent;
|
||||
color: white;
|
||||
">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "class="icon font-40-rem" src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="icon font-40-rem" src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="icon font-40-rem"
|
||||
src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="icon font-40-rem"
|
||||
src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Search drop down -->
|
||||
<div class="advance-search pa-0 pt-10 pr-10 flex-md-grow-1" >
|
||||
<ion-form [class.d-none]="!showSearchInput">
|
||||
<div class="d-flex search-input-container ion-justify-content-between" >
|
||||
<!-- <div class="icon">
|
||||
<button class="btn-no-color" (click)="basicSearch()">
|
||||
<ion-icon class="icon-z" slot="end" src="assets/images/theme/gov/search.svg"></ion-icon>
|
||||
</button>
|
||||
</div> -->
|
||||
<div class="input-text d-flex ion-align-items-center pm-10">
|
||||
<ion-input (keyup.enter)="basicSearch()" [(ngModel)]='searchSubject' class="search-input" type="search" placeholder="Pesquisar assunto"></ion-input>
|
||||
<div class="advance-search pa-0 pt-10 pr-10 flex-md-grow-1">
|
||||
<ion-form >
|
||||
<div class="searchParent">
|
||||
|
||||
<div class="d-flex search-input-container ion-justify-content-between searchChild">
|
||||
<!-- <div class="icon">
|
||||
<button class="btn-no-color" (click)="basicSearch()">
|
||||
<ion-icon class="icon-z" slot="end" src="assets/images/theme/gov/search.svg"></ion-icon>
|
||||
</button>
|
||||
</div> -->
|
||||
<div class="input-text d-flex ion-align-items-center pm-10 pl-10">
|
||||
<ion-input (keyup.enter)="basicSearch()" [(ngModel)]='searchSubject' class="search-input" type="search"
|
||||
placeholder="Assunto"></ion-input>
|
||||
</div>
|
||||
<!-- <div (click)="clearSearchInput()" class="d-flex align-center icon">
|
||||
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="font-25" name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-25" name="restaurant-outline" src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
|
||||
</div> -->
|
||||
|
||||
</div>
|
||||
<!-- <div (click)="clearSearchInput()" class="d-flex align-center icon">
|
||||
<div (click)="basicSearch()" class="d-flex align-center searchChild pl-10">
|
||||
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="font-25" name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-25" name="restaurant-outline" src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
|
||||
</div> -->
|
||||
|
||||
<div (click)="basicSearch()" class="d-flex align-center icon">
|
||||
|
||||
<ion-icon class="icon-z" slot="end" src="assets/images/theme/gov/search.svg"></ion-icon>
|
||||
<ion-icon class="icon-z" slot="end" src="assets/images/theme/gov/icons-search.svg"></ion-icon>
|
||||
|
||||
</div>
|
||||
|
||||
<div *ngIf="!showAdvanceSearch" class="icon-z icon-most-searched-word-open pl-10 cursor-pointer" (click)="showHideAdvanceSearch(true)">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' && type!='Agenda'" src="assets/images/theme/gov/filter_icon_grey.svg" class="icon" slot="end"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme != 'default'&& type!='Agenda' " src="assets/images/theme/gov/filter_icon_grey.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)" >
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' && type!='Agenda' "src="assets/images/theme/gov/filter_icon.svg" class="icon" slot="end"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && type!='Agenda'" src="assets/images/theme/gov/filter_icon.svg" class="icon" slot="end"></ion-icon>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</ion-form>
|
||||
<!-- -->
|
||||
@@ -74,25 +93,50 @@
|
||||
margin-top: -11px;
|
||||
margin-left: 10px;
|
||||
">
|
||||
<input matInput [ngxMatDatetimePicker]="picker1"
|
||||
placeholder="Data Inicio*"
|
||||
[(ngModel)]="searchDocumentDate"
|
||||
>
|
||||
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1" (click)="clickDate()" ></mat-datepicker-toggle>
|
||||
<ngx-mat-datetime-picker #picker1 (click)="clickDate()"
|
||||
[showSpinners]="showSpinners"
|
||||
[showSeconds]="showSeconds"
|
||||
[stepHour]="stepHour" [stepMinute]="stepMinute"
|
||||
[stepSecond]="stepSecond"
|
||||
[touchUi]="touchUi"
|
||||
[hideTime]="true"
|
||||
>
|
||||
<input matInput [ngxMatDatetimePicker]="picker1" placeholder="{{datePickerPlaceholder}}"
|
||||
[(ngModel)]="searchDocumentDate">
|
||||
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1"
|
||||
(click)="clickDate()"></mat-datepicker-toggle>
|
||||
<ngx-mat-datetime-picker #picker1 (click)="clickDate()" [showSpinners]="showSpinners"
|
||||
[showSeconds]="showSeconds" [stepHour]="stepHour" [stepMinute]="stepMinute" [stepSecond]="stepSecond"
|
||||
[touchUi]="touchUi" [hideTime]="true">
|
||||
</ngx-mat-datetime-picker>
|
||||
</mat-form-field>
|
||||
|
||||
<div class="icon cursor-pointer" (click)="clearInputDocumentDate()">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " name="restaurant-outline" src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " name="restaurant-outline"
|
||||
src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " name="restaurant-outline"
|
||||
src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li *ngIf="showAdvanceSearch" class="d-flex date-container ion-justify-content-between">
|
||||
<div *ngIf="checkDateEnd" class="icon-mer icon">
|
||||
<ion-icon name="restaurant-outline" src="assets/images/icons-advance-search-document.svg"></ion-icon>
|
||||
</div>
|
||||
<div *ngIf="checkDateEnd" class="input-container d-flex flex-grow-1 justify-center align-center materia-top">
|
||||
|
||||
<mat-form-field appearance="none" class="date-hour-picker" (click)="clickDate()" style="
|
||||
margin-top: -11px;
|
||||
margin-left: 10px;
|
||||
">
|
||||
<input matInput [ngxMatDatetimePicker]="picker2" placeholder="Data Fim*"
|
||||
[(ngModel)]="searchDocumentDateEnd">
|
||||
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker2"
|
||||
(click)="clickDate()"></mat-datepicker-toggle>
|
||||
<ngx-mat-datetime-picker #picker2 (click)="clickDate()" [showSpinners]="showSpinners"
|
||||
[showSeconds]="showSeconds" [stepHour]="stepHour" [stepMinute]="stepMinute" [stepSecond]="stepSecond"
|
||||
[touchUi]="touchUi" [hideTime]="true">
|
||||
</ngx-mat-datetime-picker>
|
||||
</mat-form-field>
|
||||
|
||||
<div class="icon cursor-pointer" (click)="clearInputDocumentDate()">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " name="restaurant-outline"
|
||||
src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " name="restaurant-outline"
|
||||
src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -103,10 +147,13 @@
|
||||
<ion-icon name="restaurant-outline" src="assets/images/icons-advance-search-sender.svg"></ion-icon>
|
||||
</div>
|
||||
<div *ngIf="checkRoutPublication" class="input-container d-flex ion-align-items-center">
|
||||
<ion-input [(ngModel)]='searchSenderdescription' class="search-input cursor-pointer" (click)="openAdvanceSearchSelection()" type="search" placeholder="Remetentes"></ion-input>
|
||||
<div class="icon cursor-pointer" (click)="clearInputRemetente()" >
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " name="restaurant-outline" src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
<ion-input [(ngModel)]='searchSenderdescription' class="search-input cursor-pointer"
|
||||
(click)="openAdvanceSearchSelection()" type="search" placeholder="Remetentes"></ion-input>
|
||||
<div class="icon cursor-pointer" (click)="clearInputRemetente()">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " name="restaurant-outline"
|
||||
src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " name="restaurant-outline"
|
||||
src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@@ -116,30 +163,34 @@
|
||||
<ion-icon name="restaurant-outline" src="assets/images/icons-arrow-arrow-down-25-copy.svg"></ion-icon>
|
||||
</div>
|
||||
<div *ngIf="checkRoutPublication" class="input-container d-flex ion-align-items-center">
|
||||
<ion-input [(ngModel)]='searchOrganicEntiryDescription' class="search-input custom-checkbox" type="search" placeholder="Entidade Orgânica" (click)="openOrganicEntitySelection()"></ion-input>
|
||||
<div class="icon cursor-pointer" (click)="clearInputOrganicEntity()" >
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " name="restaurant-outline" src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
<ion-input [(ngModel)]='searchOrganicEntiryDescription' class="search-input custom-checkbox" type="search"
|
||||
placeholder="Entidade Orgânica" (click)="openOrganicEntitySelection()"></ion-input>
|
||||
<div class="icon cursor-pointer" (click)="clearInputOrganicEntity()">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " name="restaurant-outline"
|
||||
src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " name="restaurant-outline"
|
||||
src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</div>
|
||||
|
||||
<!-- search result categories-->
|
||||
<div class="options flex-md-grow-1 " *ngIf="showDocuments"
|
||||
style="border-bottom: 1px solid #f3f3f3;width: unset"
|
||||
>
|
||||
<div class="options flex-md-grow-1 " *ngIf="showDocuments" style="border-bottom: 1px solid #f3f3f3;width: unset">
|
||||
<div class="container ">
|
||||
<div class="d-flex overflow-x-auto">
|
||||
<!-- SLIDE -->
|
||||
|
||||
<div class="d-flex py-10" style="width:0px" [ngClass]="{'active-category': TodosCategory}" class="button cursor-pointer" (click)="noFilter()">
|
||||
<div class="d-flex py-10" style="width:0px" [ngClass]="{'active-category': TodosCategory}"
|
||||
class="button cursor-pointer" (click)="noFilter()">
|
||||
|
||||
<span>Todos</span>
|
||||
<ion-label class="label">{{ searchDocuments.length }}</ion-label>
|
||||
</div>
|
||||
|
||||
<div *ngFor="let category of searchCategories; index as i;" class="d-flex py-10" style="width:0px" [ngClass]="{'active-category': category.Active}" class="button cursor-pointer" (click)="activeCategoty(i); filterDocList(category.Name)">
|
||||
<div *ngFor="let category of searchCategories; index as i;" class="d-flex py-10" style="width:0px"
|
||||
[ngClass]="{'active-category': category.Active}" class="button cursor-pointer"
|
||||
(click)="activeCategoty(i); filterDocList(category.Name)">
|
||||
|
||||
<span>{{ category.Name }}</span>
|
||||
<ion-label class="label">{{ category.Qtd }}</ion-label>
|
||||
@@ -148,10 +199,12 @@
|
||||
|
||||
</div>
|
||||
|
||||
<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>
|
||||
<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>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -169,7 +222,7 @@
|
||||
<div class="height-100">
|
||||
<div class="d-flex seach-wrapper height-100 flex-row justify-space-between">
|
||||
|
||||
<div class="d-flex height-100 overflow-y-auto flex-1" *ngIf="!showDocuments || windowWidth >= 1024"
|
||||
<div class="d-flex height-100 overflow-y-auto flex-1" *ngIf="!showDocuments || windowWidth >= 1024"
|
||||
style="border-right: 1px solid #ddd7d7;">
|
||||
|
||||
<!-- most searched word-->
|
||||
@@ -180,11 +233,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=" height-100 overflow-y-auto flex-1" *ngIf="showDocuments">
|
||||
<div class=" height-100 overflow-y-auto flex-1" *ngIf="showDocuments">
|
||||
<div>
|
||||
|
||||
<!-- search result document-->
|
||||
<div class="search-result" >
|
||||
<div class="search-result">
|
||||
<div class="header">
|
||||
<div class="d-flex ion-justify-content-between ion-align-items-center">
|
||||
<div class="d-flex sort-by ion-justify-content-center">
|
||||
@@ -195,36 +248,54 @@
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<div *ngIf="ordinance == 'old'" (click)="reorderList('recent')">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-arrow-arrow-up.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-arrow-arrow-up.svg"></ion-icon>
|
||||
<div *ngIf="ordinance == 'old'" (click)="reorderList('recent')">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "
|
||||
src="assets/images/icons-arrow-arrow-up.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' "
|
||||
src="assets/images/theme/gov/icons-arrow-arrow-up.svg"></ion-icon>
|
||||
</div>
|
||||
|
||||
<div *ngIf="ordinance == 'recent'" (click)="reorderList('old')">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-arrow-arrow-down-25.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-arrow-arrow-down.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "
|
||||
src="assets/images/icons-arrow-arrow-down-25.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' "
|
||||
src="assets/images/theme/gov/icons-arrow-arrow-down.svg"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li *ngFor="let searchDocument of showSearchDocuments" (click)="viewDetail( searchDocument); selectItem(searchDocument)" class="d-flex cursor-pointer">
|
||||
<li *ngFor="let searchDocument of showSearchDocuments"
|
||||
(click)="viewDetail( searchDocument); selectItem(searchDocument)" class="d-flex cursor-pointer">
|
||||
<div class="icon">
|
||||
<ion-icon *ngIf="itemIcons() == 'AccoesPresidenciais & ArquivoDespachoElect' && ThemeService.currentTheme == 'default' " src="assets/images/icons-search-document.svg"></ion-icon>
|
||||
<ion-icon *ngIf="itemIcons() == 'AccoesPresidenciais & ArquivoDespachoElect' && ThemeService.currentTheme == 'gov'" src="assets/images/theme/gov/icons-search-document.svg"></ion-icon>
|
||||
<ion-icon
|
||||
*ngIf="itemIcons() == 'AccoesPresidenciais & ArquivoDespachoElect' && ThemeService.currentTheme == 'default' "
|
||||
src="assets/images/icons-search-document.svg"></ion-icon>
|
||||
<ion-icon
|
||||
*ngIf="itemIcons() == 'AccoesPresidenciais & ArquivoDespachoElect' && ThemeService.currentTheme == 'gov'"
|
||||
src="assets/images/theme/gov/icons-search-document.svg"></ion-icon>
|
||||
<ion-icon *ngIf="itemIcons() == 'Agenda' " src="assets/images/icons-default-agenda.svg"></ion-icon>
|
||||
<ion-icon *ngIf="itemIcons() == 'AccoesPresidenciais' && searchDocument.DocTypeDesc == 'Publicações'" src="assets/images/icons-viagem.svg"></ion-icon>
|
||||
<ion-icon *ngIf="itemIcons() == 'AccoesPresidenciais' && searchDocument.DocTypeDesc == 'Publicações'"
|
||||
src="assets/images/icons-viagem.svg"></ion-icon>
|
||||
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && itemIcons() == 'AccoesPresidenciais' && searchDocument.DocTypeDesc == 'Acções' " slot="end" src='assets/images/theme/gov/icons-nav-actions.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' && itemIcons() == 'AccoesPresidenciais' && searchDocument.DocTypeDesc == 'Acções' " slot="end" src='assets/images/theme/{{ThemeService.currentTheme}}/icons-nav-actions.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' && itemIcons() == 'AccoesPresidenciais' && searchDocument.DocTypeDesc == 'Acções' " slot="end" src='assets/images/icons-nav-actions.svg'></ion-icon>
|
||||
<ion-icon
|
||||
*ngIf="ThemeService.currentTheme == 'gov' && itemIcons() == 'AccoesPresidenciais' && searchDocument.DocTypeDesc == 'Acções' "
|
||||
slot="end" src='assets/images/theme/gov/icons-nav-actions.svg'></ion-icon>
|
||||
<ion-icon
|
||||
*ngIf="ThemeService.currentTheme == 'doneIt' && itemIcons() == 'AccoesPresidenciais' && searchDocument.DocTypeDesc == 'Acções' "
|
||||
slot="end" src='assets/images/theme/{{ThemeService.currentTheme}}/icons-nav-actions.svg'></ion-icon>
|
||||
<ion-icon
|
||||
*ngIf="ThemeService.currentTheme == 'default' && itemIcons() == 'AccoesPresidenciais' && searchDocument.DocTypeDesc == 'Acções' "
|
||||
slot="end" src='assets/images/icons-nav-actions.svg'></ion-icon>
|
||||
|
||||
</div>
|
||||
<div class="content ion-align-items-center">
|
||||
|
||||
<div class="d-flex ion-justify-content-between ">
|
||||
<span class="result-name">{{ searchDocument.Assunto}}</span>
|
||||
<span class="app-name" *ngIf="itemIcons() == 'AccoesPresidenciais & ArquivoDespachoElect' || itemIcons() == 'Correspondencia' ">{{ searchDocument.appName}}</span>
|
||||
<span class="app-name"
|
||||
*ngIf="itemIcons() == 'AccoesPresidenciais & ArquivoDespachoElect' || itemIcons() == 'Correspondencia' ">{{
|
||||
searchDocument.appName}}</span>
|
||||
</div>
|
||||
<div class="d-flex ion-justify-content-between ">
|
||||
<span class="organic-entity">{{ searchDocument.EntidadeOrganicaNome }}</span>
|
||||
@@ -245,4 +316,4 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ion-content>
|
||||
</ion-content>
|
||||
@@ -1,20 +1,21 @@
|
||||
@import '~src/function.scss';
|
||||
@import "~src/function.scss";
|
||||
|
||||
.top-box{
|
||||
.top-box {
|
||||
display: flex;
|
||||
align-content: center;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
.header-main{
|
||||
.header-main {
|
||||
padding: 5px 18px;
|
||||
padding-bottom: 2px;
|
||||
padding-top: 25px;
|
||||
ion-form{
|
||||
ion-form {
|
||||
width: 100%;
|
||||
padding-right: 10px;
|
||||
}
|
||||
.btn-modal-dismiss{
|
||||
.btn-modal-dismiss {
|
||||
display: flex;
|
||||
width: 50px !important;
|
||||
height: fit-content;
|
||||
@@ -24,16 +25,16 @@
|
||||
margin-top: 5px !important;
|
||||
align-content: center;
|
||||
align-items: center;
|
||||
|
||||
}
|
||||
.ion-align-content-center{
|
||||
.ion-align-content-center {
|
||||
align-content: center;
|
||||
}
|
||||
.search-input-container{
|
||||
.search-input-container {
|
||||
width: 100%;
|
||||
background-color: white;
|
||||
border-radius: 27.5px;
|
||||
border: solid 1px #ebebeb;
|
||||
.icon{
|
||||
.icon {
|
||||
color: #797979;
|
||||
width: rem(45);
|
||||
height: rem(45);
|
||||
@@ -42,38 +43,45 @@
|
||||
font-size: rem(25);
|
||||
align-items: center;
|
||||
}
|
||||
.input-text{
|
||||
.input-text {
|
||||
width: 100%;
|
||||
}
|
||||
.icon-z{
|
||||
.icon-z {
|
||||
width: 20px;
|
||||
}
|
||||
}
|
||||
.icon-z{
|
||||
.icon-z {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: rem(45);
|
||||
}
|
||||
.profile{
|
||||
.profile {
|
||||
display: none;
|
||||
font-size: rem(45);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ion-slide{
|
||||
padding-top: 5px
|
||||
.searchParent {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
.searchChild {
|
||||
display: inline !important;
|
||||
}
|
||||
|
||||
ion-slide {
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
// search result type
|
||||
.options{
|
||||
.options {
|
||||
max-width: 900px;
|
||||
margin-top: rem(10);
|
||||
.container{
|
||||
.d-flex{
|
||||
.container {
|
||||
.d-flex {
|
||||
width: 100%;
|
||||
.button{
|
||||
.button {
|
||||
min-width: 116px;
|
||||
border: solid 1px #e9e9e9;
|
||||
margin: 0px rem(5);
|
||||
@@ -84,15 +92,15 @@ ion-slide{
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
span{
|
||||
span {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-family: Roboto;
|
||||
color: var(--title-text-color);;
|
||||
color: var(--title-text-color);
|
||||
font-size: rem(15);
|
||||
text-align: center;
|
||||
}
|
||||
.label{
|
||||
.label {
|
||||
width: 100%;
|
||||
font-family: Roboto;
|
||||
font-size: rem(13);
|
||||
@@ -102,84 +110,80 @@ ion-slide{
|
||||
}
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
.active-category{
|
||||
|
||||
.active-category {
|
||||
background-color: #42b9fe;
|
||||
color: white;
|
||||
span{
|
||||
span {
|
||||
color: white;
|
||||
}
|
||||
.label{
|
||||
.label {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
.icon{
|
||||
.icon {
|
||||
display: none;
|
||||
width: rem(45);
|
||||
height: rem(45);
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
ion-icon{
|
||||
ion-icon {
|
||||
width: rem(25);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
.d-flex{
|
||||
.d-flex {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
|
||||
// search result
|
||||
.search-result{
|
||||
.search-result {
|
||||
width: 100%;
|
||||
border-bottom: unset;
|
||||
padding: 0px 20px;
|
||||
|
||||
.header{
|
||||
/* border-top: 1px solid #ebebeb; */
|
||||
.sort-by{
|
||||
.header {
|
||||
/* border-top: 1px solid #ebebeb; */
|
||||
.sort-by {
|
||||
width: 100%;
|
||||
.order{
|
||||
.order {
|
||||
font-family: Roboto;
|
||||
font-size: rem(13);
|
||||
font-weight: 300;
|
||||
color:#797979
|
||||
color: #797979;
|
||||
}
|
||||
.order-labal{
|
||||
.order-labal {
|
||||
font-family: Roboto;
|
||||
font-size: rem(15);
|
||||
color: var(--title-text-color);
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
ion-icon{
|
||||
ion-icon {
|
||||
font-size: rem(25);
|
||||
}
|
||||
}
|
||||
ul{
|
||||
ul {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
li{
|
||||
li {
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
border-top: 1px solid #ebebeb;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.icon{
|
||||
.icon {
|
||||
font-size: rem(35);
|
||||
align-items: center;
|
||||
display: flex;
|
||||
}
|
||||
.content{
|
||||
.content {
|
||||
width: 100%;
|
||||
margin-left: 10px;
|
||||
.result-name{
|
||||
.result-name {
|
||||
margin: 0px;
|
||||
width: 100%;
|
||||
font-family: Roboto;
|
||||
@@ -187,13 +191,13 @@ ion-slide{
|
||||
color: var(--title-text-color);
|
||||
line-height: 1.67;
|
||||
}
|
||||
span{
|
||||
span {
|
||||
font-family: Roboto;
|
||||
font-size: rem(13);
|
||||
font-weight: 300;
|
||||
color: #797979;
|
||||
}
|
||||
.app-name{
|
||||
.app-name {
|
||||
background: var(--font-awesome);
|
||||
border-radius: 18px;
|
||||
text-align: center;
|
||||
@@ -209,10 +213,9 @@ ion-slide{
|
||||
-ms-border-radius: 18px;
|
||||
-o-border-radius: 18px;
|
||||
}
|
||||
span.documente-date{
|
||||
|
||||
span.documente-date {
|
||||
}
|
||||
span.organic-entity{
|
||||
span.organic-entity {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@@ -220,10 +223,10 @@ ion-slide{
|
||||
}
|
||||
}
|
||||
// most searched word
|
||||
.most-searched-words{
|
||||
.most-searched-words {
|
||||
width: 100% !important;
|
||||
//min-width: 441px;
|
||||
p.title{
|
||||
p.title {
|
||||
width: 100%;
|
||||
height: 24px;
|
||||
font-family: Roboto;
|
||||
@@ -233,26 +236,23 @@ ion-slide{
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.most-searched-word-container{
|
||||
.most-searched-word-container {
|
||||
height: 400px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media only screen and (min-width: 1024px) {
|
||||
.advance-search{
|
||||
.advance-search {
|
||||
max-width: 47%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Advance search */
|
||||
.advance-search{
|
||||
.advance-search {
|
||||
padding: 20px 20px;
|
||||
padding-top: 14px;
|
||||
|
||||
.icon{
|
||||
.icon {
|
||||
color: #797979;
|
||||
width: rem(45);
|
||||
height: rem(45);
|
||||
@@ -261,35 +261,32 @@ ion-slide{
|
||||
font-size: rem(25);
|
||||
align-items: center;
|
||||
}
|
||||
.input-container{
|
||||
.input-container {
|
||||
margin-bottom: 15px;
|
||||
width: 100%;
|
||||
border-radius: 5px;
|
||||
border: solid 1px #ebebeb;
|
||||
}
|
||||
.date-container{
|
||||
.icon-mer{
|
||||
.date-container {
|
||||
.icon-mer {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
ion-datetime{
|
||||
ion-datetime {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.subject-container{
|
||||
|
||||
.subject-container {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.loader{
|
||||
.loader {
|
||||
position: absolute;
|
||||
margin-top: -14px;
|
||||
width: calc(100% - 39px);
|
||||
}
|
||||
|
||||
|
||||
.swiper-container{
|
||||
.swiper-container {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ export class SearchPage implements OnInit {
|
||||
// https params
|
||||
searchSubject: string;
|
||||
searchDocumentDate: string;
|
||||
searchDocumentDateEnd: string;
|
||||
searchSenderdescription: string;
|
||||
searchSenderId: number;
|
||||
searchOrganicEntiryDescription: string;
|
||||
@@ -90,9 +91,12 @@ export class SearchPage implements OnInit {
|
||||
|
||||
showSearchInput = false
|
||||
checkRoutPublication: boolean;
|
||||
checkDateEnd: boolean;
|
||||
datePickerPlaceholder: string;
|
||||
|
||||
|
||||
@ViewChild('picker1') picker1: any;
|
||||
checkAgenda: boolean;
|
||||
|
||||
constructor(private modalController: ModalController,
|
||||
private search: SearchService,
|
||||
@@ -199,9 +203,13 @@ export class SearchPage implements OnInit {
|
||||
|
||||
if(this.currentPath.includes('/home/publications')) {
|
||||
this.checkRoutPublication = false;
|
||||
this.checkDateEnd = true;
|
||||
this.datePickerPlaceholder = 'Data Inicio*'
|
||||
console.log(this.checkRoutPublication)
|
||||
} else {
|
||||
this.checkRoutPublication = true;
|
||||
this.checkDateEnd = false;
|
||||
this.datePickerPlaceholder = 'Data*'
|
||||
console.log(this.checkRoutPublication)
|
||||
}
|
||||
|
||||
@@ -346,10 +354,14 @@ export class SearchPage implements OnInit {
|
||||
basicSearch() {
|
||||
|
||||
let searchDocumentDate
|
||||
let searchDocumentDateEnd;
|
||||
|
||||
if (this.searchDocumentDate) {
|
||||
searchDocumentDate = momentG(new Date(this.searchDocumentDate), 'yyyy-MM-dd')
|
||||
}
|
||||
if (this.searchDocumentDateEnd) {
|
||||
searchDocumentDateEnd = momentG(new Date(this.searchDocumentDate), 'yyyy-MM-dd')
|
||||
}
|
||||
|
||||
searchDocumentDate;
|
||||
|
||||
@@ -361,13 +373,13 @@ export class SearchPage implements OnInit {
|
||||
|
||||
|
||||
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && searchDocumentDateEnd == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
this.searchResult = "Campo de pesquisa esta vazio, entre com assunto que deseja pesquisa";
|
||||
console.log('enter text');
|
||||
|
||||
} else {
|
||||
this.showLoader = true;
|
||||
this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSenderId
|
||||
this.search.basicSearch(this.searchSubject, searchDocumentDate,searchDocumentDateEnd, this.searchSenderId
|
||||
, this.searchOrganicEntiryCode, this.searchDocTypeId, '0').subscribe(res => {
|
||||
|
||||
if (!res.Categories.length) {
|
||||
@@ -412,7 +424,7 @@ export class SearchPage implements OnInit {
|
||||
if (this.select) {
|
||||
|
||||
let counter = 0;
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && searchDocumentDateEnd == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
this.searchResult = "Campo de pesquisa esta vazio, entre com assunto que deseja pesquisa";
|
||||
console.log('enter text');
|
||||
|
||||
@@ -462,7 +474,7 @@ export class SearchPage implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && searchDocumentDateEnd == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
this.searchResult = "Campo de pesquisa esta vazio, entre com assunto que deseja pesquisa";
|
||||
console.log('enter text');
|
||||
|
||||
@@ -515,13 +527,13 @@ export class SearchPage implements OnInit {
|
||||
} else {
|
||||
let counter = 0;
|
||||
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && searchDocumentDateEnd == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
this.searchResult = "Campo de pesquisa esta vazio, entre com assunto que deseja pesquisa";
|
||||
console.log('enter text');
|
||||
|
||||
} else {
|
||||
this.showLoader = true;
|
||||
this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSenderId
|
||||
this.search.basicSearch(this.searchSubject, searchDocumentDate,searchDocumentDateEnd, this.searchSenderId
|
||||
, this.searchOrganicEntiryCode, this.searchDocTypeId, '8').subscribe(res => {
|
||||
if (!res.Categories.length) {
|
||||
this.searchResult = "Não encontramos o que procura";
|
||||
@@ -564,7 +576,7 @@ export class SearchPage implements OnInit {
|
||||
}
|
||||
});
|
||||
}
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null&& searchDocumentDateEnd == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
this.searchResult = "Campo de pesquisa esta vazio, entre com assunto que deseja pesquisa";
|
||||
console.log('enter text');
|
||||
|
||||
@@ -626,7 +638,7 @@ export class SearchPage implements OnInit {
|
||||
if (this.select) {
|
||||
|
||||
let counter = 0;
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && searchDocumentDateEnd == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
this.searchResult = "Campo de pesquisa esta vazio, entre com assunto que deseja pesquisa";
|
||||
console.log('enter text');
|
||||
|
||||
@@ -673,13 +685,13 @@ export class SearchPage implements OnInit {
|
||||
|
||||
} else {
|
||||
let counter = 0;
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && searchDocumentDateEnd == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
this.searchResult = "Campo de pesquisa esta vazio, entre com assunto que deseja pesquisa";
|
||||
console.log('enter text');
|
||||
|
||||
} else {
|
||||
this.showLoader = true;
|
||||
this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSenderId
|
||||
this.search.basicSearch(this.searchSubject, searchDocumentDate, searchDocumentDateEnd, this.searchSenderId
|
||||
, this.searchOrganicEntiryCode, this.searchDocTypeId, '8').subscribe(res => {
|
||||
if (!res.Categories.length) {
|
||||
this.searchResult = "Não encontramos o que procura";
|
||||
@@ -778,13 +790,13 @@ export class SearchPage implements OnInit {
|
||||
// });
|
||||
|
||||
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
if (this.searchSubject.trim() == "" && searchDocumentDate == null && searchDocumentDateEnd == null && this.searchSenderId == null && this.searchOrganicEntiryCode == null && this.searchDocTypeId == null) {
|
||||
this.searchResult = "Campo de pesquisa esta vazio, entre com assunto que deseja pesquisa";
|
||||
console.log('enter text');
|
||||
|
||||
} else {
|
||||
this.showLoader = true;
|
||||
this.search.basicSearchPublication(this.searchSubject, searchDocumentDate, this.searchSenderId
|
||||
this.search.basicSearchPublication(this.searchSubject, searchDocumentDate,searchDocumentDateEnd, this.searchSenderId
|
||||
, this.searchOrganicEntiryCode, this.searchDocTypeId, '386').subscribe(res => {
|
||||
if (!res.Categories.length) {
|
||||
this.searchResult = "Não encontramos o que procura";
|
||||
|
||||
@@ -98,7 +98,7 @@ export class AuthService {
|
||||
}
|
||||
} catch (error) {
|
||||
this.errorHandler.handleError(error);
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
this.httpErroHandle.loginHttpStatusHandle(error)
|
||||
captureException(error);
|
||||
} finally {
|
||||
return response
|
||||
|
||||
@@ -78,16 +78,17 @@
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="d-flex">
|
||||
<ion-buttons class="flex-grow-1" slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
<ion-icon name="close" slot="start"></ion-icon>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons class="flex-grow-1" slot="end">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
<ion-icon name="checkmark" slot="start"></ion-icon>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons class="flex-grow-1" slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
<ion-icon name="close" slot="start"></ion-icon>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -5,6 +5,7 @@ import { ContactsService } from 'src/app/services/contacts.service';
|
||||
import { ThemeService } from 'src/app/services/theme.service'
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-attendees',
|
||||
@@ -25,22 +26,27 @@ export class AttendeesPageModal implements OnInit {
|
||||
taskParticipantsCc:EventPerson[] = [];
|
||||
loggeduser: LoginUserRespose;
|
||||
@Input() loggedAttendSon: boolean;
|
||||
taskType: any;
|
||||
|
||||
|
||||
constructor(
|
||||
private modalCtrl: ModalController,
|
||||
private contactsService: ContactsService,
|
||||
private navParams: NavParams,
|
||||
private modalController: ModalController,
|
||||
public ThemeService: ThemeService) {
|
||||
public ThemeService: ThemeService,
|
||||
private router: Router,) {
|
||||
|
||||
this.adding = this.navParams.get('adding');
|
||||
this.taskParticipants = this.navParams.get('taskParticipants');
|
||||
this.taskParticipantsCc = this.navParams.get('taskParticipantsCc');
|
||||
this.taskType = this.navParams.get('taskType');
|
||||
this.loggeduser = SessionStore.user;
|
||||
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
console.log('Pesquisa de contactos current path2',this.router.url)
|
||||
this.fetchContacts("");
|
||||
|
||||
if(this.taskParticipants == null || this.taskParticipants == undefined){
|
||||
|
||||
@@ -13,6 +13,44 @@ export class HttpErrorHandle {
|
||||
) { }
|
||||
|
||||
async httpStatusHandle(error) {
|
||||
switch (error.status
|
||||
) {
|
||||
case 0:
|
||||
const result = await this.backgroundService.offline()
|
||||
if(result) {
|
||||
this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão')
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
case 400:
|
||||
this.toastService._badRequest('Lamentamos, mas houve um problema com sua solicitação. Por favor, tente novamente')
|
||||
break;
|
||||
case 401:
|
||||
this.toastService._badRequest('Lamento, parece que não tem acesso a essas informações. Entre em contacto com o administrador.');
|
||||
break;
|
||||
case 403:
|
||||
this.toastService._badRequest('Lamentamos, você não tem permissão para acessar este serviço.')
|
||||
break;
|
||||
case 404:
|
||||
this.toastService._badRequest('Lamentamos, não encontramos o que procura.')
|
||||
break;
|
||||
case 500:
|
||||
this.toastService._badRequest('Lamentamos, mas houve um erro interno do servidor. Por favor, tente novamente mais tarde.')
|
||||
break;
|
||||
case 502:
|
||||
this.toastService._badRequest('Lamentamos, houve um problema com o servidor. Por favor, tente novamente mais tarde.')
|
||||
break;
|
||||
case 503:
|
||||
this.toastService._badRequest('Lamentamos, o serviço está indisponível no momento. Por favor, tente novamente mais tarde.')
|
||||
break
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
async loginHttpStatusHandle(error) {
|
||||
switch (error.status
|
||||
) {
|
||||
case 0:
|
||||
@@ -50,6 +88,18 @@ export class HttpErrorHandle {
|
||||
}
|
||||
}
|
||||
|
||||
validationMessagge(service: string, callback?: any) {
|
||||
switch (service) {
|
||||
case 'diplomaAsDraft':
|
||||
this.toastService._badRequest('Este diploma não contem um draft para ser assinado!')
|
||||
break;
|
||||
|
||||
default:
|
||||
this.toastService._badRequest('')
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
httpsSucessMessagge(service: string, callback?: any) {
|
||||
switch (service) {
|
||||
case 'new event':
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Platform } from '@ionic/angular';
|
||||
import { CapacitorConfig } from '@capacitor/cli';
|
||||
import { LocalNotifications, LocalNotificationSchema } from '@capacitor/local-notifications';
|
||||
/* import { LocalNotifications, LocalNotificationSchema } from '@capacitor/local-notifications'; */
|
||||
|
||||
|
||||
@Injectable({
|
||||
|
||||
@@ -42,7 +42,7 @@ export class SearchService {
|
||||
}
|
||||
|
||||
|
||||
basicSearch(subject:string, date:string = null, sender:number = null, organicEntity:number = null, docTypeId:string = null, applicationType:string): Observable<EventSearch>{
|
||||
basicSearch(subject:string, date:string = null, dateend:string = null, sender:number = null, organicEntity:number = null, docTypeId:string = null, applicationType:string): Observable<EventSearch>{
|
||||
// Endpoint
|
||||
const geturl = environment.apiURL + 'search';
|
||||
// store params
|
||||
@@ -51,7 +51,8 @@ export class SearchService {
|
||||
|
||||
|
||||
params = params.set("assunto", subject);
|
||||
params = params.set("data", date);
|
||||
params = params.set("StartDate", date);
|
||||
params = params.set("EndDate", dateend);
|
||||
params = params.set("remetente", sender);
|
||||
params = params.set("entidadeOrganica", organicEntity);
|
||||
params = params.set("docTypeId", docTypeId);
|
||||
@@ -67,7 +68,7 @@ export class SearchService {
|
||||
}
|
||||
|
||||
|
||||
basicSearchPublication(subject:string, date:string = null, sender:number = null, organicEntity:number = null, docTypeId:string = null, applicationType:string): Observable<EventSearch>{
|
||||
basicSearchPublication(subject:string, date:string = null, dateEnd:string = null, sender:number = null, organicEntity:number = null, docTypeId:string = null, applicationType:string): Observable<EventSearch>{
|
||||
// Endpoint
|
||||
const geturl = environment.apiURL + 'search';
|
||||
// store params
|
||||
@@ -76,7 +77,8 @@ export class SearchService {
|
||||
|
||||
|
||||
params = params.set("assunto", subject);
|
||||
params = params.set("data", date);
|
||||
params = params.set("StartDate", date);
|
||||
params = params.set("EndDate", dateEnd);
|
||||
params = params.set("remetente", sender);
|
||||
params = params.set("entidadeOrganica", organicEntity);
|
||||
params = params.set("docTypeId", docTypeId);
|
||||
|
||||
@@ -371,7 +371,7 @@
|
||||
|
||||
<ion-footer class="background-whit">
|
||||
<div class="buttons">
|
||||
<button class="btn-cancel cursor-pointer" shape="round" (click)="close()">Cancelar</button>
|
||||
<button class="btn-ok cursor-pointer" shape="round" (click)="gravasAction()">Gravar</button>
|
||||
<button class="btn-cancel cursor-pointer" shape="round" (click)="close()">Cancelar</button>
|
||||
</div>
|
||||
</ion-footer>
|
||||
|
||||
@@ -316,15 +316,15 @@
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="width-100 d-flex justify-space-between px-20">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-title></ion-title>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-title></ion-title>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
@@ -343,17 +343,19 @@
|
||||
</ion-content>
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="footer-toolbar">
|
||||
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-title></ion-title>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-title></ion-title>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
|
||||
<!-- <app-new-event
|
||||
[loggedAttend]="loggedAttend"
|
||||
|
||||
@@ -171,16 +171,16 @@ export class ViewEventPage implements OnInit {
|
||||
header: 'Eliminar evento?',
|
||||
message: '',
|
||||
buttons: [
|
||||
{
|
||||
text: 'Não',
|
||||
handler: () => {
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'Sim',
|
||||
handler: () => {
|
||||
this.deleteEvent();
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'Não',
|
||||
handler: () => {
|
||||
}
|
||||
}
|
||||
]
|
||||
}).then(res => {
|
||||
|
||||
@@ -81,14 +81,14 @@
|
||||
<ion-footer class="ion-no-border" *ngIf="footer" >
|
||||
<ion-toolbar class="width-100 d-flex justify-space-between px-20">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -8,6 +8,7 @@ import { ViewChild } from '@angular/core';
|
||||
import { Searchbar } from 'ionic-angular';
|
||||
import { LoginUserRespose } from 'src/app/models/user.model';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-attendee-modal',
|
||||
@@ -31,8 +32,8 @@ export class AttendeePage implements OnInit {
|
||||
@Output() dynamicSetIntervenient = new EventEmitter<any>();
|
||||
|
||||
|
||||
@Input() taskParticipants:EventPerson[] = [];
|
||||
@Input() taskParticipantsCc:EventPerson[] = [];
|
||||
@Input() taskParticipants: EventPerson[] = [];
|
||||
@Input() taskParticipantsCc: EventPerson[] = [];
|
||||
@Input() loggedAttendSon: boolean;
|
||||
|
||||
@Input() footer: boolean;
|
||||
@@ -40,49 +41,67 @@ export class AttendeePage implements OnInit {
|
||||
@Input() selectLogUser: boolean = true;
|
||||
|
||||
@ViewChild('Searchbar') searchbar: Searchbar;
|
||||
@Input() taskType: any;
|
||||
|
||||
LtaskParticipants: EventPerson[] = [];
|
||||
LtaskParticipantsCc: EventPerson[] = [];
|
||||
loggeduser: LoginUserRespose;
|
||||
listOfNotAllowdRoute = ['/home/gabinete-digital/despachos/', ]
|
||||
|
||||
constructor(
|
||||
private modalCtrl: ModalController,
|
||||
private modalCtrl: ModalController,
|
||||
private contactsService: ContactsService,
|
||||
public ThemeService: ThemeService ) {
|
||||
public ThemeService: ThemeService,
|
||||
private router: Router,) {
|
||||
|
||||
|
||||
|
||||
this.LtaskParticipants = removeDuplicate(this.taskParticipants);
|
||||
this.LtaskParticipantsCc = removeDuplicate(this.taskParticipantsCc);
|
||||
this.loggeduser = SessionStore.user;
|
||||
|
||||
this.LtaskParticipants = removeDuplicate(this.taskParticipants);
|
||||
this.LtaskParticipantsCc = removeDuplicate(this.taskParticipantsCc);
|
||||
this.loggeduser = SessionStore.user;
|
||||
|
||||
}
|
||||
|
||||
ngOnChanges() {
|
||||
this.LtaskParticipants = removeDuplicate(this.taskParticipants);
|
||||
this.LtaskParticipants = removeDuplicate(this.taskParticipants);
|
||||
this.LtaskParticipantsCc = removeDuplicate(this.taskParticipantsCc);
|
||||
console.log('PARTE PARTE',this.loggedAttendSon)
|
||||
console.log('PARTE PARTE', this.loggedAttendSon)
|
||||
}
|
||||
|
||||
|
||||
currentPath = window.location.pathname;
|
||||
@Input() adding: "intervenient" | "CC";
|
||||
|
||||
ngOnInit() {
|
||||
console.log('TASK TYPE',this.taskType);
|
||||
console.log('Pesquisa de contactos current path3', this.router.url)
|
||||
setTimeout(() => {
|
||||
console.log('PARTE PARTE',this.loggedAttendSon)
|
||||
});
|
||||
|
||||
console.log('PARTE PARTE', this.loggedAttendSon)
|
||||
});
|
||||
|
||||
this.fetchContacts("");
|
||||
|
||||
if(this.LtaskParticipants == null || this.LtaskParticipants == undefined) {
|
||||
|
||||
if (this.LtaskParticipants == null || this.LtaskParticipants == undefined) {
|
||||
this.LtaskParticipants = [];
|
||||
}
|
||||
|
||||
if(this.LtaskParticipantsCc == null || this.LtaskParticipantsCc == undefined) {
|
||||
if (this.LtaskParticipantsCc == null || this.LtaskParticipantsCc == undefined) {
|
||||
this.LtaskParticipantsCc = [];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
removeIdfromRoute(route: string) {
|
||||
let lastIndex: number = route.lastIndexOf('/');
|
||||
if (lastIndex !== -1) {
|
||||
let modifiedString: string = route.slice(0, lastIndex + 1);
|
||||
console.log(modifiedString);
|
||||
|
||||
} else {
|
||||
console.log("No '/' found in the string.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
save() {
|
||||
|
||||
this.setIntervenient.emit(removeDuplicate(this.LtaskParticipants));
|
||||
@@ -94,10 +113,10 @@ export class AttendeePage implements OnInit {
|
||||
|
||||
setContactWithClose() {
|
||||
|
||||
if(this.currentPath == '/home/gabinete-digital') {
|
||||
if (this.currentPath == '/home/gabinete-digital') {
|
||||
this.setIntervenient.emit(this.LtaskParticipants);
|
||||
this.setIntervenientCC.emit(this.LtaskParticipantsCc);
|
||||
}
|
||||
}
|
||||
|
||||
this.dynamicSetIntervenient.emit({
|
||||
taskParticipants: this.LtaskParticipants,
|
||||
@@ -108,19 +127,19 @@ export class AttendeePage implements OnInit {
|
||||
|
||||
async selectContact(itm: EventPerson) {
|
||||
|
||||
if(this.adding == "intervenient") {
|
||||
if (this.adding == "intervenient") {
|
||||
|
||||
itm.IsRequired = true;
|
||||
this.LtaskParticipants.push(itm);
|
||||
|
||||
|
||||
} else if (this.adding == "CC") {
|
||||
|
||||
|
||||
itm.IsRequired = false;
|
||||
this.LtaskParticipantsCc.push(itm);
|
||||
} else {
|
||||
//
|
||||
}
|
||||
|
||||
|
||||
// run only in gabinete digital
|
||||
|
||||
this.setContactWithClose();
|
||||
@@ -136,115 +155,116 @@ export class AttendeePage implements OnInit {
|
||||
|
||||
filterSearchList(itm: EventPerson): boolean {
|
||||
|
||||
const result = this.LtaskParticipants.concat(this.LtaskParticipantsCc).find((contact, index)=>{
|
||||
const result = this.LtaskParticipants.concat(this.LtaskParticipantsCc).find((contact, index) => {
|
||||
|
||||
if(this.checkStringNull(contact.Name) == this.checkStringNull(itm.Name) && this.checkStringNull(contact.EmailAddress) == this.checkStringNull(itm.EmailAddress)){
|
||||
if (this.checkStringNull(contact.Name) == this.checkStringNull(itm.Name) && this.checkStringNull(contact.EmailAddress) == this.checkStringNull(itm.EmailAddress)) {
|
||||
index = index;
|
||||
return contact;
|
||||
}
|
||||
});
|
||||
|
||||
// if to show
|
||||
if(undefined != result){
|
||||
if (undefined != result) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
const result2 = this.LtaskParticipantsCc.find((contact, index)=>{
|
||||
|
||||
if(this.checkStringNull(contact.Name) == itm.Name && this.checkStringNull(contact.EmailAddress) == this.checkStringNull(itm.EmailAddress)){
|
||||
|
||||
const result2 = this.LtaskParticipantsCc.find((contact, index) => {
|
||||
|
||||
if (this.checkStringNull(contact.Name) == itm.Name && this.checkStringNull(contact.EmailAddress) == this.checkStringNull(itm.EmailAddress)) {
|
||||
index = index;
|
||||
return contact;
|
||||
}
|
||||
});
|
||||
|
||||
// if to show
|
||||
if(undefined != result2) {
|
||||
if (undefined != result2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// don't show
|
||||
return true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
remove(itm: EventPerson) {
|
||||
|
||||
if(this.adding == "intervenient"){
|
||||
if (this.adding == "intervenient") {
|
||||
|
||||
this.LtaskParticipants = this.LtaskParticipants.filter((contact, index) =>{
|
||||
this.LtaskParticipants = this.LtaskParticipants.filter((contact, index) => {
|
||||
|
||||
if(contact.Name.toLocaleLowerCase() != itm.Name.toLocaleLowerCase() && contact.EmailAddress.toLocaleLowerCase() != itm.EmailAddress.toLocaleLowerCase()){
|
||||
if (contact.Name.toLocaleLowerCase() != itm.Name.toLocaleLowerCase() && contact.EmailAddress.toLocaleLowerCase() != itm.EmailAddress.toLocaleLowerCase()) {
|
||||
return contact;
|
||||
}
|
||||
return false;
|
||||
|
||||
|
||||
});
|
||||
|
||||
} else if (this.adding == "CC") {
|
||||
|
||||
this.LtaskParticipantsCc = this.LtaskParticipantsCc.filter((contact, index) =>{
|
||||
this.LtaskParticipantsCc = this.LtaskParticipantsCc.filter((contact, index) => {
|
||||
|
||||
if(contact.Name.toLocaleLowerCase() != itm.Name.toLocaleLowerCase() && contact.EmailAddress.toLocaleLowerCase() != itm.EmailAddress.toLocaleLowerCase()){
|
||||
if (contact.Name.toLocaleLowerCase() != itm.Name.toLocaleLowerCase() && contact.EmailAddress.toLocaleLowerCase() != itm.EmailAddress.toLocaleLowerCase()) {
|
||||
return contact;
|
||||
}
|
||||
return false;
|
||||
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
this.setContactWithClose();
|
||||
|
||||
|
||||
}
|
||||
|
||||
sort(data: []) {
|
||||
return data.sort(function (a: any, b: any) {
|
||||
if (a.Name > b.Name) {
|
||||
return -1;
|
||||
return -1;
|
||||
}
|
||||
if (b.Name > a.Name) {
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}).reverse()
|
||||
}).reverse()
|
||||
}
|
||||
|
||||
async fetchContacts(filter: string) {
|
||||
this.showLoader = true;
|
||||
|
||||
this.contactsService.getContacts(filter).subscribe(result =>
|
||||
{
|
||||
if (this.eventPersons != null)
|
||||
{
|
||||
this.eventPersons.forEach(attendee => {
|
||||
const index: number = result.findIndex((cont) => {
|
||||
return this.checkStringNull(cont.EmailAddress) == this.checkStringNull(attendee.EmailAddress)
|
||||
});
|
||||
|
||||
result.splice(index, 1);
|
||||
this.contactsService.getContacts(filter).subscribe(result => {
|
||||
if (this.eventPersons != null) {
|
||||
this.eventPersons.forEach(attendee => {
|
||||
const index: number = result.findIndex((cont) => {
|
||||
return this.checkStringNull(cont.EmailAddress) == this.checkStringNull(attendee.EmailAddress)
|
||||
});
|
||||
}
|
||||
|
||||
if(this.loggedAttendSon) {
|
||||
this.contacts = this.sort(result as any);
|
||||
this.showLoader = false;
|
||||
} else {
|
||||
this.contacts = this.sort(result as any);
|
||||
console.log('Attendes Email',this.loggeduser.Email)
|
||||
result.splice(index, 1);
|
||||
});
|
||||
}
|
||||
|
||||
if (this.loggedAttendSon) {
|
||||
this.contacts = this.sort(result as any);
|
||||
this.showLoader = false;
|
||||
} else {
|
||||
this.contacts = this.sort(result as any);
|
||||
console.log('Attendes Email', this.loggeduser.Email)
|
||||
let filterLoggedUserEmail = this.contacts.filter(item => item.EmailAddress.toLocaleLowerCase() != this.loggeduser.Email.toLocaleLowerCase())
|
||||
if(this.taskType == 0 || this.taskType == 1){
|
||||
filterLoggedUserEmail = this.contacts.filter(item => item.IsPR == false)
|
||||
}
|
||||
console.log('Attendes Email', filterLoggedUserEmail)
|
||||
let filterEmptyEmail = filterLoggedUserEmail.filter(item => item.EmailAddress.toLocaleLowerCase() != "")
|
||||
this.contacts = filterEmptyEmail;
|
||||
console.log('Attendes Email', this.contacts)
|
||||
this.showLoader = false;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
checkStringNull(value: string) {
|
||||
if(value) {
|
||||
if (value) {
|
||||
return value.toLowerCase();
|
||||
} else {
|
||||
return value
|
||||
|
||||
@@ -323,7 +323,8 @@
|
||||
|
||||
<ion-footer class="background-whit">
|
||||
<div class="buttons">
|
||||
<button class="btn-cancel cursor-pointer" shape="round" (click)="close()">Cancelar</button>
|
||||
<button class="btn-ok cursor-pointer" shape="round" (click)="save()">Gravar</button>
|
||||
<button class="btn-cancel cursor-pointer" shape="round" (click)="close()">Cancelar</button>
|
||||
|
||||
</div>
|
||||
</ion-footer>
|
||||
|
||||
@@ -187,21 +187,21 @@
|
||||
<!-- <div class="icon" (click)="basicSearch()">
|
||||
<ion-icon class="icon-z" slot="end" name="search"></ion-icon>
|
||||
</div> -->
|
||||
<div class="input-text d-flex ion-align-items-center">
|
||||
<!-- <div class="input-text d-flex ion-align-items-center">
|
||||
<ion-input (keyup.enter)="basicSearch()" [(ngModel)]='searchSubject' (ngModelChange)="dynamicSearch()"
|
||||
class="search-input text-black" type="search" placeholder="Pesquisar assunto"></ion-input>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<!-- <div class="icon" (click)="clearSearchInput()">
|
||||
<ion-icon title="Limpar" *ngIf="ThemeService.currentTheme == 'default' "name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon title="Limpar" *ngIf="ThemeService.currentTheme == 'doneIt' "name="restaurant-outline" src="assets/images/theme/doneIt/icons-search.svg"></ion-icon>
|
||||
<ion-icon title="Limpar" *ngIf="ThemeService.currentTheme == 'gov' " name="restaurant-outline" src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
</div> -->
|
||||
<div (click)="basicSearch()" class="d-flex align-center icon">
|
||||
<!-- <div (click)="basicSearch()" class="d-flex align-center icon">
|
||||
|
||||
<ion-icon class="icon-z" slot="end" src="assets/images/theme/gov/search.svg"></ion-icon>
|
||||
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -27,7 +27,8 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
task: any
|
||||
fulltask: any
|
||||
DraftIds = ""
|
||||
DraftNames= ""
|
||||
DraftNames = ""
|
||||
asDrat: boolean;
|
||||
|
||||
|
||||
constructor(
|
||||
@@ -41,42 +42,43 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
private despachoService: DespachoService,
|
||||
private httpErroHandle: HttpErrorHandle,
|
||||
public TaskService: TaskService) {
|
||||
this.serialNumber = this.navParams.get('serialNumber');
|
||||
this.task = this.navParams.get('task');
|
||||
this.fulltask = this.navParams.get('fulltask');
|
||||
this.serialNumber = this.navParams.get('serialNumber');
|
||||
this.task = this.navParams.get('task');
|
||||
this.fulltask = this.navParams.get('fulltask');
|
||||
|
||||
this.DraftIds = this.navParams.get("DraftIds");
|
||||
this.DraftNames = this.navParams.get("DraftNames");
|
||||
this.DraftIds = this.navParams.get("DraftIds");
|
||||
this.DraftNames = this.navParams.get("DraftNames");
|
||||
this.asDrat = this.navParams.get('asDrat');
|
||||
|
||||
|
||||
console.log('this.task', this.task)
|
||||
console.log('this.task', this.task)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
console.log(this.task.activityInstanceName)
|
||||
|
||||
}
|
||||
|
||||
async openAddNoteModal(actionName:string) {
|
||||
async openAddNoteModal(actionName: string) {
|
||||
// this.popoverController.dismiss();
|
||||
let classs;
|
||||
if( window.innerWidth <= 800) {
|
||||
if (window.innerWidth <= 800) {
|
||||
classs = 'modal modal-desktop'
|
||||
} else {
|
||||
} else {
|
||||
classs = 'modal modal-desktop'
|
||||
}
|
||||
const modal = await this.modalController.create({
|
||||
component: AddNotePage,
|
||||
componentProps:{
|
||||
actionName:actionName
|
||||
componentProps: {
|
||||
actionName: actionName
|
||||
},
|
||||
cssClass: classs,
|
||||
backdropDismiss: true
|
||||
});
|
||||
|
||||
modal.onDidDismiss().then(async (res) => {
|
||||
if(res.data) {
|
||||
if (res.data) {
|
||||
|
||||
|
||||
const DocumentToSave = res.data.documents.map((e) => {
|
||||
@@ -91,22 +93,22 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
Attachments: DocumentToSave,
|
||||
}
|
||||
|
||||
if(actionName == 'Solicitar assinatura') {
|
||||
if (actionName == 'Solicitar assinatura') {
|
||||
await this.askSignature(res.data.note, docs);
|
||||
this.goBack();
|
||||
} else if(actionName == 'Solicitar alteração') {
|
||||
} else if (actionName == 'Solicitar alteração') {
|
||||
await this.askToChange(res.data.note, docs);
|
||||
this.goBack();
|
||||
} else if (actionName == 'Assinar Diploma') {
|
||||
await this.sign(res.data.note, docs);
|
||||
this.goBack();
|
||||
} else if(actionName == 'Concluir diploma'){
|
||||
} else if (actionName == 'Concluir diploma') {
|
||||
await this.finish(res.data.note, docs);
|
||||
this.goBack();
|
||||
} else if (actionName == 'Arquivo') {
|
||||
await this.arquivar(res.data.note, docs);
|
||||
this.goBack();
|
||||
} else if (actionName =='AssinarNew') {
|
||||
} else if (actionName == 'AssinarNew') {
|
||||
await this.AssinarNew(res.data.note, docs)
|
||||
}
|
||||
}
|
||||
@@ -117,7 +119,7 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
await modal.present();
|
||||
}
|
||||
|
||||
async askToChange(note:string, documents:any){
|
||||
async askToChange(note: string, documents: any) {
|
||||
let body = {
|
||||
"serialNumber": this.serialNumber,
|
||||
"action": "Retificar",
|
||||
@@ -125,7 +127,7 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
"dataFields": {
|
||||
"ReviewUserComment": note,
|
||||
},
|
||||
"AttachmentList" :documents,
|
||||
"AttachmentList": documents,
|
||||
}
|
||||
|
||||
const loader = this.toastService.loading()
|
||||
@@ -135,13 +137,13 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
this.close();
|
||||
this.toastService._successMessage()
|
||||
} catch (error) {
|
||||
if(error.status == 0) {
|
||||
if (error.status == 0) {
|
||||
this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão')
|
||||
} else {
|
||||
|
||||
this.toastService._badRequest()
|
||||
}
|
||||
} finally {
|
||||
} finally {
|
||||
loader.remove()
|
||||
}
|
||||
|
||||
@@ -151,23 +153,23 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
async openBookMeetingModal(task: any) {
|
||||
this.popoverController.dismiss();
|
||||
let classs;
|
||||
if( window.innerWidth <= 800){
|
||||
if (window.innerWidth <= 800) {
|
||||
classs = 'book-meeting-modal modal modal-desktop'
|
||||
} else {
|
||||
} else {
|
||||
classs = 'modal modal-desktop showAsideOptions'
|
||||
}
|
||||
const modal = await this.modalController.create({
|
||||
component: BookMeetingModalPage,
|
||||
componentProps: {
|
||||
task: this.task,
|
||||
fulltask:this.fulltask
|
||||
fulltask: this.fulltask
|
||||
},
|
||||
cssClass: classs,
|
||||
backdropDismiss: false
|
||||
});
|
||||
await modal.present();
|
||||
modal.onDidDismiss().then(
|
||||
()=> {},
|
||||
() => { },
|
||||
(error) => {
|
||||
console.log(error)
|
||||
}
|
||||
@@ -175,7 +177,7 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
}
|
||||
|
||||
|
||||
async askSignature(note:string, documents:any) {
|
||||
async askSignature(note: string, documents: any) {
|
||||
let body = {
|
||||
"serialNumber": this.serialNumber,
|
||||
"action": "Aprovar",
|
||||
@@ -183,7 +185,7 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
"dataFields": {
|
||||
"ReviewUserComment": note,
|
||||
},
|
||||
"AttachmentList" :documents,
|
||||
"AttachmentList": documents,
|
||||
}
|
||||
|
||||
const loader = this.toastService.loading()
|
||||
@@ -193,20 +195,20 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
this.close();
|
||||
this.toastService._successMessage()
|
||||
} catch (error) {
|
||||
if(error.status == 0) {
|
||||
if (error.status == 0) {
|
||||
this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão')
|
||||
} else {
|
||||
|
||||
this.toastService._badRequest()
|
||||
}
|
||||
} finally {
|
||||
} finally {
|
||||
loader.remove()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
async sign(note?:string, documents?:any) {
|
||||
async sign(note?: string, documents?: any) {
|
||||
let body = {
|
||||
"serialNumber": this.serialNumber,
|
||||
"action": "Assinado",
|
||||
@@ -217,7 +219,7 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
"InstanceIDNew": this.task.InstanceID,
|
||||
"DraftIds": "",
|
||||
},
|
||||
"AttachmentList" : {
|
||||
"AttachmentList": {
|
||||
"ProcessInstanceID": this.task.InstanceID,
|
||||
"DraftIds": null,
|
||||
"Attachments": []
|
||||
@@ -229,61 +231,65 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
await this.processes.CompleteTask(body).toPromise()
|
||||
this.httpErroHandle.httpsSucessMessagge('Assinado')
|
||||
} catch (error) {
|
||||
if(error.status == 0) {
|
||||
if (error.status == 0) {
|
||||
this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão')
|
||||
} else {
|
||||
this.toastService._badRequest()
|
||||
}
|
||||
} finally {}
|
||||
} finally { }
|
||||
}
|
||||
|
||||
async AssinarNew(note?, doc?) {
|
||||
|
||||
const modal = await this.modalController.create({
|
||||
component: PopupQuestionPage,
|
||||
componentProps: {
|
||||
title: 'Deseja assinar este Diploma?',
|
||||
/* message: 'Nota: Ao Efetuar esta operação, o tratamento deste diploma não poderá ser realizado a partir da caixa de correspondência' */
|
||||
if (this.asDrat) {
|
||||
const modal = await this.modalController.create({
|
||||
component: PopupQuestionPage,
|
||||
componentProps: {
|
||||
title: 'Deseja assinar este Diploma?',
|
||||
/* message: 'Nota: Ao Efetuar esta operação, o tratamento deste diploma não poderá ser realizado a partir da caixa de correspondência' */
|
||||
|
||||
},
|
||||
cssClass: "popup-question discart-expedient-modal",
|
||||
backdropDismiss: true
|
||||
});
|
||||
},
|
||||
cssClass: "popup-question discart-expedient-modal",
|
||||
backdropDismiss: true
|
||||
});
|
||||
|
||||
modal.onDidDismiss().then(async (res) => {
|
||||
const data = res.data
|
||||
if(data == "Yes") {
|
||||
let body = {
|
||||
"InstanceId": this.task.InstanceID,
|
||||
"FolderId": this.task.FolderID,
|
||||
"DraftIds": this.DraftIds,
|
||||
"OriginalFileName": this.DraftNames
|
||||
modal.onDidDismiss().then(async (res) => {
|
||||
const data = res.data
|
||||
if (data == "Yes") {
|
||||
let body = {
|
||||
"InstanceId": this.task.InstanceID,
|
||||
"FolderId": this.task.FolderID,
|
||||
"DraftIds": this.DraftIds,
|
||||
"OriginalFileName": this.DraftNames
|
||||
}
|
||||
const loader = this.toastService.loading()
|
||||
|
||||
try {
|
||||
await this.processes.presidentialActionsSignature(body).toPromise()
|
||||
await this.sign()
|
||||
this.TaskService.loadDiplomas()
|
||||
this.goBack();
|
||||
} catch (error) {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
}
|
||||
finally {
|
||||
loader.remove()
|
||||
}
|
||||
}
|
||||
const loader = this.toastService.loading()
|
||||
|
||||
try {
|
||||
await this.processes.presidentialActionsSignature(body).toPromise()
|
||||
await this.sign()
|
||||
this.TaskService.loadDiplomas()
|
||||
this.goBack();
|
||||
} catch (error) {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
}
|
||||
finally {
|
||||
loader.remove()
|
||||
}
|
||||
}
|
||||
}, (error) => {
|
||||
console.log(error)
|
||||
});
|
||||
|
||||
}, (error) => {
|
||||
console.log(error)
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
await modal.present();
|
||||
} else {
|
||||
this.httpErroHandle.validationMessagge("diplomaAsDraft");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
async finish(note:string, documents:any){
|
||||
async finish(note: string, documents: any) {
|
||||
|
||||
let body = {
|
||||
"serialNumber": this.serialNumber,
|
||||
@@ -292,7 +298,7 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
"dataFields": {
|
||||
"ReviewUserComment": note,
|
||||
},
|
||||
"AttachmentList" :documents,
|
||||
"AttachmentList": documents,
|
||||
}
|
||||
|
||||
const loader = this.toastService.loading()
|
||||
@@ -301,11 +307,11 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
await this.processes.CompleteTask(body).toPromise();
|
||||
this.toastService._successMessage('Processo concluído')
|
||||
} catch (error) {
|
||||
if(error.status == 0) {
|
||||
if (error.status == 0) {
|
||||
this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão')
|
||||
} else {
|
||||
|
||||
this.toastService._badRequest()
|
||||
this.toastService._badRequest()
|
||||
}
|
||||
}
|
||||
finally {
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
</div>
|
||||
<div *ngIf="content != ''" class="buttons header-fix">
|
||||
<!-- <button (click)="save(Document, content)" class="btn-cancel" shape="round" >Salvar</button> -->
|
||||
<button (click)="saveDraft(Document, content)" class="btn-cancel" shape="round" >Salvar Rascunho</button>
|
||||
<button (click)="AssinarDraft()" class="btn-cancel" shape="round" >Assinar</button>
|
||||
<button class="btn-cancel" shape="round" (click)="close()">Cancelar</button>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
||||
+100
-2
@@ -3,6 +3,10 @@ import { ModalController, NavParams } from '@ionic/angular';
|
||||
import { PermissionService } from 'src/app/services/permission.service';
|
||||
import { ProcessesService} from 'src/app/services/processes.service';
|
||||
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
|
||||
import { ToastService } from 'src/app/services/toast.service';
|
||||
import { TaskService } from 'src/app/services/task.service';
|
||||
import { RouteService } from 'src/app/services/route.service';
|
||||
import { PopupQuestionPage } from 'src/app/modals/popup-question/popup-question.page';
|
||||
|
||||
@Component({
|
||||
selector: 'app-event-details-documents-options',
|
||||
@@ -13,20 +17,35 @@ export class EventDetailsDocumentsOptionsPage implements OnInit {
|
||||
|
||||
Document: any
|
||||
content: any = "";
|
||||
InstanceID:any
|
||||
FolderID:any
|
||||
DraftIds:any
|
||||
DraftNames:any
|
||||
serialnumber: any
|
||||
|
||||
constructor(
|
||||
public p: PermissionService,
|
||||
private modalController: ModalController,
|
||||
private navParams: NavParams,
|
||||
private processService: ProcessesService,
|
||||
private erroHandler: HttpErrorHandle
|
||||
private erroHandler: HttpErrorHandle,
|
||||
|
||||
private processes: ProcessesService,
|
||||
private toastService: ToastService,
|
||||
public TaskService: TaskService,
|
||||
private RouteService: RouteService,
|
||||
) {
|
||||
this.Document = this.navParams.get('Document')
|
||||
this.content = this.navParams.get('content')
|
||||
this.InstanceID = this.navParams.get('InstanceId')
|
||||
this.FolderID = this.navParams.get('FolderId')
|
||||
this.DraftIds = this.navParams.get('DraftIds')
|
||||
this.DraftNames = this.navParams.get('OriginalFileName')
|
||||
this.serialnumber = this.navParams.get('Serialnumber');
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
console.log(this.content)
|
||||
console.log(this.serialnumber)
|
||||
}
|
||||
|
||||
close() {
|
||||
@@ -86,4 +105,83 @@ export class EventDetailsDocumentsOptionsPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
async Assinar() {
|
||||
let body = {
|
||||
"serialNumber": this.serialnumber,
|
||||
"action": "Assinado",
|
||||
"ActionTypeId": 99999842,
|
||||
"FolderId": this.FolderID,
|
||||
"dataFields": {
|
||||
"ReviewUserComment": '',
|
||||
"InstanceIDNew": this.InstanceID,
|
||||
"DraftIds": "",
|
||||
},
|
||||
"AttachmentList": {
|
||||
"ProcessInstanceID": this.InstanceID,
|
||||
"DraftIds": null,
|
||||
"Attachments": []
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
await this.processes.CompleteTask(body).toPromise()
|
||||
this.erroHandler.httpsSucessMessagge('Assinado')
|
||||
} catch (error) {
|
||||
this.erroHandler.httpStatusHandle(error)
|
||||
}
|
||||
finally { }
|
||||
|
||||
}
|
||||
|
||||
async AssinarDraft() {
|
||||
const modal = await this.modalController.create({
|
||||
component: PopupQuestionPage,
|
||||
componentProps: {
|
||||
title: 'Deseja assinar este Diploma?',
|
||||
/* message: 'Nota: Ao Efetuar esta operação, o tratamento deste diploma não poderá ser realizado a partir da caixa de correspondência' */
|
||||
},
|
||||
cssClass: "popup-question discart-expedient-modal",
|
||||
backdropDismiss: true
|
||||
});
|
||||
|
||||
modal.onDidDismiss().then(async (res) => {
|
||||
const data = res.data
|
||||
if(data == "Yes") {
|
||||
let body = {
|
||||
"InstanceId": this.InstanceID,
|
||||
"FolderId": this.FolderID,
|
||||
"DraftIds": this.DraftIds,
|
||||
"OriginalFileName": this.DraftNames
|
||||
}
|
||||
|
||||
const loader = this.toastService.loading()
|
||||
|
||||
|
||||
try {
|
||||
await this.processes.presidentialActionsSignature(body).toPromise()
|
||||
|
||||
await this.Assinar();
|
||||
this.TaskService.loadDiplomas();
|
||||
this.goBackRoute();
|
||||
} catch (error) {
|
||||
this.erroHandler.httpStatusHandle(error)
|
||||
}
|
||||
finally {
|
||||
loader.remove()
|
||||
}
|
||||
}
|
||||
|
||||
}, (error) => {
|
||||
console.log(error)
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
|
||||
}
|
||||
|
||||
goBackRoute() {
|
||||
this.RouteService.goBack();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -113,14 +113,15 @@
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="footer-toolbar width-100 justify-space-between d-flex px-20">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -118,14 +118,15 @@
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="footer-toolbar width-100 justify-space-between d-flex">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Criar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -107,14 +107,15 @@
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="footer-toolbar width-100 px-20">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -259,7 +259,7 @@ export class ViewPublicationsPage implements OnInit {
|
||||
backdropDismiss: true,
|
||||
componentProps: {
|
||||
title: 'Deseja arquivar este acção?',
|
||||
description: 'Nota: Ao Efetuar esta operação, o tratamento deste acção não poderá ser realizado a partir da lista de acções'
|
||||
/* description: 'Nota: Ao Efetuar esta operação, o tratamento deste acção não poderá ser realizado a partir da lista de acções' */
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
{{Document.Assunto}}
|
||||
</div>
|
||||
|
||||
<!-- <div class="right cursor-pointer" (click)="openOptions()">
|
||||
<div class="right cursor-pointer" (click)="openOptions()">
|
||||
<fa-icon icon="ellipsis-v" class="menu-icon font-awesome-1"></fa-icon>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</ion-toolbar>
|
||||
|
||||
@@ -4,6 +4,11 @@ import { EventDetailsDocumentsOptionsPage } from '../shared/popover/event-detail
|
||||
import { AlertController, ModalController } from '@ionic/angular';
|
||||
import { ProcessesService } from '../services/processes.service';
|
||||
import { HttpErrorHandle } from '../services/http-error-handle.service';
|
||||
import { timeout } from 'rxjs-compat/operator/timeout';
|
||||
import { PopupQuestionPage } from '../modals/popup-question/popup-question.page';
|
||||
import { ToastService } from '../services/toast.service';
|
||||
import { TaskService } from 'src/app/services/task.service';
|
||||
import { RouteService } from 'src/app/services/route.service';
|
||||
@Component({
|
||||
selector: 'app-tiny-mce',
|
||||
templateUrl: './tiny-mce.page.html',
|
||||
@@ -22,18 +27,33 @@ export class TinyMCEPage implements OnDestroy {
|
||||
private intervalTime: number = 3000;
|
||||
|
||||
loadingTiny = true
|
||||
|
||||
InstanceID: any
|
||||
FolderID: any
|
||||
DraftIds: any
|
||||
DraftNames: any
|
||||
serialnumber: any
|
||||
private saveTimeout: any;
|
||||
|
||||
|
||||
|
||||
constructor(
|
||||
private navParams: NavParams,
|
||||
private modalController: ModalController,
|
||||
private processService: ProcessesService,
|
||||
private erroHandler: HttpErrorHandle
|
||||
private erroHandler: HttpErrorHandle,
|
||||
private processes: ProcessesService,
|
||||
private toastService: ToastService,
|
||||
public TaskService: TaskService,
|
||||
private RouteService: RouteService,
|
||||
|
||||
) {
|
||||
this.Document = this.navParams.get('Document')
|
||||
this.content = this.navParams.get('content')
|
||||
this.InstanceID = this.navParams.get('InstanceId')
|
||||
this.FolderID = this.navParams.get('FolderId')
|
||||
this.DraftIds = this.navParams.get('DraftIds')
|
||||
this.DraftNames = this.navParams.get('OriginalFileName')
|
||||
this.serialnumber = this.navParams.get('Serialnumber');
|
||||
|
||||
|
||||
this.waitForTiny();
|
||||
@@ -57,6 +77,10 @@ export class TinyMCEPage implements OnDestroy {
|
||||
this.loadingTiny = true
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
console.log('this.InstanceID',this.serialnumber)
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
// Certifique-se de limpar o intervalo quando o componente é destruído
|
||||
window['tinyupdate']()
|
||||
@@ -68,26 +92,35 @@ export class TinyMCEPage implements OnDestroy {
|
||||
|
||||
onEditorContentChange() {
|
||||
console.log('Autosave successful! Content saved to local storage1.');
|
||||
this.saveDraft()
|
||||
if (this.saveTimeout) {
|
||||
clearTimeout(this.saveTimeout);
|
||||
}
|
||||
|
||||
this.saveTimeout = setTimeout(() => {
|
||||
this.saveDraft();
|
||||
clearTimeout(this.saveTimeout);
|
||||
}, 5000);
|
||||
|
||||
|
||||
}
|
||||
|
||||
saveDraft() {
|
||||
// Lógica que deseja executar em intervalos regulares
|
||||
console.log('Intervalo de 3 segundos...');
|
||||
console.log(document)
|
||||
let objectDraft = {
|
||||
"status": false,
|
||||
"description": this.Document.Assunto,
|
||||
"content": this.content,
|
||||
"path": this.Document.path,
|
||||
"ownerId": this.Document.ownerId
|
||||
}
|
||||
this.processService.SaveDraftByID(this.Document.DocId, objectDraft).subscribe((res) => {
|
||||
console.log('Saved tinymce')
|
||||
|
||||
}, (error) => {
|
||||
this.erroHandler.httpStatusHandle(error)
|
||||
})
|
||||
// Lógica que deseja executar em intervalos regulares
|
||||
console.log('Intervalo de 3 segundos...');
|
||||
console.log(document)
|
||||
let objectDraft = {
|
||||
"status": false,
|
||||
"description": this.Document.Assunto,
|
||||
"content": this.content,
|
||||
"path": this.Document.path,
|
||||
"ownerId": this.Document.ownerId
|
||||
}
|
||||
this.processService.SaveDraftByID(this.Document.DocId, objectDraft).subscribe((res) => {
|
||||
console.log('Saved tinymce')
|
||||
|
||||
}, (error) => {
|
||||
this.erroHandler.httpStatusHandle(error)
|
||||
})
|
||||
}
|
||||
|
||||
somefunction() {
|
||||
@@ -100,7 +133,12 @@ export class TinyMCEPage implements OnDestroy {
|
||||
cssClass: 'model aside-modal search-submodal',
|
||||
componentProps: {
|
||||
Document: this.Document,
|
||||
content: this.content
|
||||
content: this.content,
|
||||
InstanceId: this.InstanceID,
|
||||
FolderId: this.FolderID,
|
||||
DraftIds: this.DraftIds,
|
||||
OriginalFileName: this.DraftNames,
|
||||
Serialnumber: this.serialnumber
|
||||
}
|
||||
});
|
||||
|
||||
@@ -110,4 +148,6 @@ export class TinyMCEPage implements OnDestroy {
|
||||
await modal.present();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user