mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
lot of changes
This commit is contained in:
Generated
+42627
-575
File diff suppressed because it is too large
Load Diff
@@ -57,7 +57,6 @@
|
||||
"@capacitor/haptics": "^4.1.0",
|
||||
"@capacitor/ios": "^5.4.2",
|
||||
"@capacitor/keyboard": "^4.1.0",
|
||||
"@capacitor/local-notifications": "^4.1.4",
|
||||
"@capacitor/network": "^4.1.0",
|
||||
"@capacitor/push-notifications": "^5.1.0",
|
||||
"@capacitor/share": "^4.1.0",
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -362,14 +362,15 @@
|
||||
<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">
|
||||
<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>
|
||||
|
||||
@@ -316,14 +316,15 @@
|
||||
<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">
|
||||
<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;
|
||||
|
||||
+55
-30
@@ -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,7 +160,7 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
});
|
||||
this.getDocumentDetails(this.task.FolderId, '361');
|
||||
|
||||
}, (error)=>{
|
||||
}, (error) => {
|
||||
try {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
this.goBack()
|
||||
@@ -171,7 +173,7 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
|
||||
@@ -241,13 +248,13 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
} catch (error) {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
}
|
||||
finally {}
|
||||
finally { }
|
||||
|
||||
}
|
||||
|
||||
async AssinarDraft() {
|
||||
|
||||
|
||||
if (this.asDraft) {
|
||||
const modal = await this.modalController.create({
|
||||
component: PopupQuestionPage,
|
||||
componentProps: {
|
||||
@@ -260,7 +267,7 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
|
||||
modal.onDidDismiss().then(async (res) => {
|
||||
const data = res.data
|
||||
if(data == "Yes") {
|
||||
if (data == "Yes") {
|
||||
let body = {
|
||||
"InstanceId": this.task.InstanceID,
|
||||
"FolderId": this.task.FolderID,
|
||||
@@ -290,6 +297,10 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
} else {
|
||||
this.httpErroHandle.validationMessagge("diplomaAsDraft");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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,11 +470,13 @@ 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": "",
|
||||
@@ -477,15 +491,26 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
"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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+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,24 +32,30 @@
|
||||
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="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">
|
||||
<ion-input (keyup.enter)="basicSearch()" [(ngModel)]='searchSubject' class="search-input" type="search" placeholder="Pesquisar assunto"></ion-input>
|
||||
<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">
|
||||
|
||||
@@ -56,11 +64,22 @@
|
||||
|
||||
</div> -->
|
||||
|
||||
<div (click)="basicSearch()" class="d-flex align-center icon">
|
||||
</div>
|
||||
<div (click)="basicSearch()" class="d-flex align-center searchChild pl-10">
|
||||
|
||||
<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>
|
||||
|
||||
@@ -184,7 +237,7 @@
|
||||
<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">
|
||||
@@ -196,35 +249,53 @@
|
||||
</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>
|
||||
<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>
|
||||
|
||||
@@ -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);
|
||||
@@ -103,83 +111,79 @@ 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{
|
||||
.header {
|
||||
/* border-top: 1px solid #ebebeb; */
|
||||
.sort-by{
|
||||
.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 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;
|
||||
|
||||
}
|
||||
|
||||
ngOnChanges() {
|
||||
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,7 +113,7 @@ 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);
|
||||
}
|
||||
@@ -108,7 +127,7 @@ export class AttendeePage implements OnInit {
|
||||
|
||||
async selectContact(itm: EventPerson) {
|
||||
|
||||
if(this.adding == "intervenient") {
|
||||
if (this.adding == "intervenient") {
|
||||
|
||||
itm.IsRequired = true;
|
||||
this.LtaskParticipants.push(itm);
|
||||
@@ -136,30 +155,30 @@ 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)=>{
|
||||
const result2 = this.LtaskParticipantsCc.find((contact, index) => {
|
||||
|
||||
if(this.checkStringNull(contact.Name) == itm.Name && this.checkStringNull(contact.EmailAddress) == this.checkStringNull(itm.EmailAddress)){
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -170,11 +189,11 @@ export class AttendeePage implements OnInit {
|
||||
|
||||
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;
|
||||
@@ -183,9 +202,9 @@ export class AttendeePage implements OnInit {
|
||||
|
||||
} 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;
|
||||
@@ -212,10 +231,8 @@ export class AttendeePage implements OnInit {
|
||||
async fetchContacts(filter: string) {
|
||||
this.showLoader = true;
|
||||
|
||||
this.contactsService.getContacts(filter).subscribe(result =>
|
||||
{
|
||||
if (this.eventPersons != null)
|
||||
{
|
||||
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)
|
||||
@@ -225,13 +242,16 @@ export class AttendeePage implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
if(this.loggedAttendSon) {
|
||||
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)
|
||||
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;
|
||||
@@ -244,7 +264,7 @@ export class AttendeePage implements OnInit {
|
||||
}
|
||||
|
||||
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(
|
||||
@@ -47,6 +48,7 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
|
||||
this.DraftIds = this.navParams.get("DraftIds");
|
||||
this.DraftNames = this.navParams.get("DraftNames");
|
||||
this.asDrat = this.navParams.get('asDrat');
|
||||
|
||||
|
||||
console.log('this.task', this.task)
|
||||
@@ -58,25 +60,25 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
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 {
|
||||
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,7 +137,7 @@ 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 {
|
||||
|
||||
@@ -151,7 +153,7 @@ 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 {
|
||||
classs = 'modal modal-desktop showAsideOptions'
|
||||
@@ -160,14 +162,14 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
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,7 +195,7 @@ 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 {
|
||||
|
||||
@@ -206,7 +208,7 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
}
|
||||
|
||||
|
||||
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,16 +231,17 @@ 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?) {
|
||||
|
||||
if (this.asDrat) {
|
||||
const modal = await this.modalController.create({
|
||||
component: PopupQuestionPage,
|
||||
componentProps: {
|
||||
@@ -252,7 +255,7 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
|
||||
modal.onDidDismiss().then(async (res) => {
|
||||
const data = res.data
|
||||
if(data == "Yes") {
|
||||
if (data == "Yes") {
|
||||
let body = {
|
||||
"InstanceId": this.task.InstanceID,
|
||||
"FolderId": this.task.FolderID,
|
||||
@@ -279,11 +282,14 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
});
|
||||
|
||||
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,7 +307,7 @@ 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 {
|
||||
|
||||
|
||||
+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,6 +27,12 @@ export class TinyMCEPage implements OnDestroy {
|
||||
private intervalTime: number = 3000;
|
||||
|
||||
loadingTiny = true
|
||||
InstanceID: any
|
||||
FolderID: any
|
||||
DraftIds: any
|
||||
DraftNames: any
|
||||
serialnumber: any
|
||||
private saveTimeout: any;
|
||||
|
||||
|
||||
|
||||
@@ -29,11 +40,20 @@ export class TinyMCEPage implements OnDestroy {
|
||||
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,7 +92,16 @@ 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() {
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<svg width="188" height="188" viewBox="0 0 188 188" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1_2)">
|
||||
<path d="M0.5 112.5C0.5 99.4791 -1.30249 102.15 -0.999998 89C-0.23463 88.0603 1.82412 72.8684 2 72C5.03043 57.0375 12.9616 45.1665 22.8489 33.8259C36.4266 18.2525 51.8149 6.16003 72.5 2C73.0575 1.88789 92.5525 -0.341161 93 -1C106.021 -1 93.3496 -0.302488 106.5 5.24521e-06C107.44 0.765371 116.632 1.82412 117.5 2C132.462 5.03051 144.834 12.9616 156.174 22.8489C171.747 36.4267 182.932 52.9585 187.092 73.6436C187.205 74.2011 188.341 74.5525 189 75C189 88.0209 189 101.042 188.698 114.192C187.932 115.132 187.219 115.892 187.044 116.76C184.013 131.722 177.038 144.834 167.151 156.174C153.573 171.747 137.042 182.932 116.356 187.092C115.799 187.205 115.448 188.341 115 189C101.979 189 88.9582 189 75.8079 188.698C74.8681 187.932 74.1085 187.219 73.2401 187.044C58.2777 184.013 45.1665 177.038 33.8259 167.151C18.2525 153.573 6.16003 137.685 2 117C1.09247 117.644 1.15884 112.948 0.5 112.5ZM108.079 88.4509C118.399 78.0627 128.785 67.7391 138.959 57.2102C140.342 55.779 141.86 52.5699 141.197 51.5113C140.166 49.8654 137.323 48.5124 135.237 48.4972C108.442 48.3029 81.6443 48.304 54.8491 48.4935C52.7472 48.5083 49.5346 49.8312 48.8873 51.3945C48.274 52.8756 49.8505 55.9619 51.3362 57.4996C60.5863 67.0736 70.1693 76.3261 79.4075 85.911C80.9173 87.4774 81.953 90.1405 82.0282 92.3371C82.3244 100.982 81.9482 109.65 82.2809 118.292C82.3724 120.669 83.5335 123.449 85.1157 125.238C89.4083 130.091 94.0398 134.678 98.862 139.009C100.473 140.455 103.604 141.995 105.065 141.335C106.614 140.634 107.745 137.38 107.779 135.222C108.016 119.913 107.924 104.599 108.079 88.4509Z" fill="#FFB81C"/>
|
||||
<path d="M108.008 88.8691C107.924 104.599 108.016 119.913 107.779 135.222C107.745 137.38 106.614 140.634 105.065 141.335C103.604 141.995 100.473 140.455 98.862 139.009C94.0398 134.678 89.4083 130.091 85.1157 125.238C83.5335 123.449 82.3724 120.669 82.2809 118.292C81.9482 109.65 82.3244 100.982 82.0282 92.3371C81.953 90.1405 80.9173 87.4774 79.4075 85.911C70.1693 76.3261 60.5863 67.0736 51.3362 57.4996C49.8505 55.9619 48.274 52.8756 48.8873 51.3945C49.5346 49.8311 52.7472 48.5083 54.8491 48.4935C81.6443 48.304 108.442 48.3029 135.237 48.4972C137.323 48.5123 140.166 49.8654 141.197 51.5113C141.86 52.5699 140.342 55.779 138.959 57.2102C128.785 67.7391 118.399 78.0627 108.008 88.8691Z" fill="#050401"/>
|
||||
<path d="M103.794 84.6474C103.736 97.4828 103.958 112.392 103.794 124.883C103.771 126.645 102.988 129.3 101.918 129.871C100.909 130.41 98.7446 129.154 97.6313 127.973C94.2987 124.44 91.0979 120.697 88.1313 116.737C87.0378 115.278 86.2354 113.009 86.1722 111.069C85.9423 104.018 86.4597 122.811 86.4597 113.054C86.4597 113.054 86.6896 86.6025 85.6462 85.3243C79.2616 77.5033 71.1791 69.2767 64.7864 61.4646C63.7596 60.2099 62.6701 57.6916 63.0939 56.483C63.5413 55.2074 65.7615 54.128 67.2141 54.1159C85.7322 53.9613 104.252 53.9604 122.77 54.119C124.211 54.1313 126.176 55.2353 126.889 56.5784C127.347 57.4421 126.298 60.0607 125.342 61.2285C118.311 69.8197 110.975 75.8297 103.794 84.6474Z" fill="#FFB81C"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1_2">
|
||||
<rect width="188" height="188" rx="94" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -0,0 +1,12 @@
|
||||
<svg width="188" height="188" viewBox="0 0 188 188" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1_2)">
|
||||
<path d="M0.5 112.5C0.5 99.4791 -1.30249 102.15 -0.999998 89C-0.23463 88.0603 1.82412 72.8684 2 72C5.03043 57.0375 12.9616 45.1665 22.8489 33.8259C36.4266 18.2525 51.8149 6.16003 72.5 2C73.0575 1.88789 92.5525 -0.341161 93 -1C106.021 -1 93.3496 -0.302488 106.5 5.24521e-06C107.44 0.765371 116.632 1.82412 117.5 2C132.462 5.03051 144.834 12.9616 156.174 22.8489C171.747 36.4267 182.932 52.9585 187.092 73.6436C187.205 74.2011 188.341 74.5525 189 75C189 88.0209 189 101.042 188.698 114.192C187.932 115.132 187.219 115.892 187.044 116.76C184.013 131.722 177.038 144.834 167.151 156.174C153.573 171.747 137.042 182.932 116.356 187.092C115.799 187.205 115.448 188.341 115 189C101.979 189 88.9582 189 75.8079 188.698C74.8681 187.932 74.1085 187.219 73.2401 187.044C58.2777 184.013 45.1665 177.038 33.8259 167.151C18.2525 153.573 6.16003 137.685 2 117C1.09247 117.644 1.15884 112.948 0.5 112.5ZM108.079 88.4509C118.399 78.0627 128.785 67.7391 138.959 57.2102C140.342 55.779 141.86 52.5699 141.197 51.5113C140.166 49.8654 137.323 48.5124 135.237 48.4972C108.442 48.3029 81.6443 48.304 54.8491 48.4935C52.7472 48.5083 49.5346 49.8312 48.8873 51.3945C48.274 52.8756 49.8505 55.9619 51.3362 57.4996C60.5863 67.0736 70.1693 76.3261 79.4075 85.911C80.9173 87.4774 81.953 90.1405 82.0282 92.3371C82.3244 100.982 81.9482 109.65 82.2809 118.292C82.3724 120.669 83.5335 123.449 85.1157 125.238C89.4083 130.091 94.0398 134.678 98.862 139.009C100.473 140.455 103.604 141.995 105.065 141.335C106.614 140.634 107.745 137.38 107.779 135.222C108.016 119.913 107.924 104.599 108.079 88.4509Z" fill="#E0E9EE"/>
|
||||
<path d="M108.008 88.8691C107.924 104.599 108.016 119.913 107.779 135.222C107.745 137.38 106.614 140.634 105.065 141.335C103.604 141.995 100.473 140.455 98.862 139.009C94.0398 134.678 89.4083 130.091 85.1157 125.238C83.5335 123.449 82.3724 120.669 82.2809 118.292C81.9482 109.65 82.3244 100.982 82.0282 92.3371C81.953 90.1405 80.9173 87.4774 79.4075 85.911C70.1693 76.3261 60.5863 67.0736 51.3362 57.4996C49.8505 55.9619 48.274 52.8756 48.8873 51.3945C49.5346 49.8311 52.7472 48.5083 54.8491 48.4935C81.6443 48.304 108.442 48.3029 135.237 48.4972C137.323 48.5123 140.166 49.8654 141.197 51.5113C141.86 52.5699 140.342 55.779 138.959 57.2102C128.785 67.7391 118.399 78.0627 108.008 88.8691Z" fill="#050401"/>
|
||||
<path d="M103.794 84.6474C103.736 97.4828 103.958 112.392 103.794 124.883C103.771 126.645 102.988 129.3 101.918 129.871C100.909 130.41 98.7446 129.154 97.6313 127.973C94.2987 124.44 91.0979 120.697 88.1313 116.737C87.0378 115.278 86.2354 113.009 86.1722 111.069C85.9423 104.018 86.4597 122.811 86.4597 113.054C86.4597 113.054 86.6896 86.6025 85.6462 85.3243C79.2616 77.5033 71.1791 69.2767 64.7864 61.4646C63.7596 60.2099 62.6701 57.6916 63.0939 56.483C63.5413 55.2074 65.7615 54.128 67.2141 54.1159C85.7322 53.9613 104.252 53.9604 122.77 54.119C124.211 54.1313 126.176 55.2353 126.889 56.5784C127.347 57.4421 126.298 60.0607 125.342 61.2285C118.311 69.8197 110.975 75.8297 103.794 84.6474Z" fill="#E0E9EE"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1_2">
|
||||
<rect width="188" height="188" rx="94" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -4,4 +4,4 @@ import { doneITProd } from './suport/doneIt'
|
||||
import { DevDev } from './suport/dev'
|
||||
|
||||
|
||||
export const environment: Environment = DevDev;
|
||||
export const environment: Environment = oaprProd;
|
||||
|
||||
@@ -3,7 +3,7 @@ import { Environment } from './../../app/models/envarioment'
|
||||
|
||||
export const DevProd: Environment = {
|
||||
id:'3',
|
||||
apiURL: 'https://gdapi-dev.dyndns.info/api/',
|
||||
apiURL: 'https://bpmdev.gdapi-dev.dyndns.info/api/',
|
||||
apiChatUrl: 'https://gdchat-dev.dyndns.info/api/v1/',
|
||||
apiWsChatUrl: 'wss://gdchat-dev.dyndns.info/websocket',
|
||||
apiPCURL: 'https://gdcmapi-dev.dyndns.info/api/',
|
||||
|
||||
@@ -4,10 +4,10 @@ import { Environment } from './../../app/models/envarioment'
|
||||
|
||||
export const oaprProd: Environment = {
|
||||
id: '0',
|
||||
apiURL: 'https://gd-api.oapr.gov.ao/api/',
|
||||
apiChatUrl: 'https://gd-chat.oapr.gov.ao/api/v1/',
|
||||
apiWsChatUrl: 'wss://gd-chat.oapr.gov.ao/websocket',
|
||||
apiPCURL: 'http://192.168.0.21:9099/api/',
|
||||
apiURL: 'https://gdqas-api.oapr.gov.ao/api/',
|
||||
apiChatUrl: 'https://gdqas-chat.oapr.gov.ao/api/v1/',
|
||||
apiWsChatUrl: 'wss://gdqas-chat.oapr.gov.ao/websocket',
|
||||
apiPCURL: 'http://gdqas-cmapi.oapr.gov.ao/api/',
|
||||
logoLabel: 'Presidente da República',
|
||||
despachoLabel: 'Presidenciais',
|
||||
despachoLabel2: 'Despachos Presidênciais',
|
||||
@@ -29,10 +29,10 @@ export const oaprProd: Environment = {
|
||||
|
||||
export const oaprDev: Environment = {
|
||||
id: '0',
|
||||
apiURL: 'https://gd-api.oapr.gov.ao/api/',
|
||||
apiChatUrl: 'https://gd-chat.oapr.gov.ao/api/v1/',
|
||||
apiWsChatUrl: 'wss://gd-chat.oapr.gov.ao/websocket',
|
||||
apiPCURL: 'http://192.168.0.21:9099/api/',
|
||||
apiURL: 'https://gdqas-api.oapr.gov.ao/api/',
|
||||
apiChatUrl: 'https://gdqas-chat.oapr.gov.ao/api/v1/',
|
||||
apiWsChatUrl: 'wss://gdqas-chat.oapr.gov.ao/websocket',
|
||||
apiPCURL: 'http://gdqas-cmapi.oapr.gov.ao/api/',
|
||||
logoLabel: 'Presidente da República',
|
||||
despachoLabel: 'Presidencial',
|
||||
despachoLabel2: 'Despachos Presidênciais',
|
||||
|
||||
Reference in New Issue
Block a user