pull from developer-prod made

This commit is contained in:
Eudes Inácio
2023-11-29 16:06:56 +01:00
109 changed files with 2301 additions and 702 deletions
@@ -62,14 +62,14 @@
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-description.svg"></ion-icon>
</div>
<div class="ion-input-class" [class.input-error]="Form?.get('selectedTypes')?.invalid && validateFrom ">
<div class="ion-input-class" [class.input-error]="Form?.get('selectedTypes')?.invalid && validateFrom || validateField ">
<mat-form-field
floatLabel="never"
appearance="fill"
class="width-100 d-block"
appearance="none">
<mat-select [(ngModel)]="selectedTypes" placeholder="Selecione o tipo de assunto*">
<mat-select [multiple]="false" [(ngModel)]="selectedTypes" placeholder="{{placeholderSubject}}">
<mat-option *ngFor="let type of subjectTypes" value="{{type.Code}}">{{type.Description}}</mat-option>
</mat-select>
</mat-form-field>
@@ -191,6 +191,6 @@
<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>
@@ -63,6 +63,7 @@ export class CreateProcessPage implements OnInit {
loadedAttachments: any;
subjectTypes: any;
selectedTypes: string[] = [];
placeholderSubject: string;
postData: Despacho;
dispatchFolder: Folder;
@@ -125,7 +126,13 @@ export class CreateProcessPage implements OnInit {
this.postData = new Despacho();
this.participants = this.participants = new Array();
//Initialize SubjectTypes Array with the value "Indefinido"
this.selectedTypes = ['99999850'];
if(this.loggeduser.Profile == 'PR') {
this.selectedTypes = ['99999850'];
this.placeholderSubject = 'Indefinido'
} else {
this.placeholderSubject = 'Selecione o tipo de assunto*'
}
let NumberPDPP;
@@ -179,9 +186,9 @@ export class CreateProcessPage implements OnInit {
ngOnInit() {
console.log('crete process')
this.getSubjectType();
setTimeout(() => {
/* setTimeout(() => {
this.selectedTypes = ['99999850'];
}, 500);
}, 500); */
this.taskDate = new Date(this.task.taskStartDate);
@@ -420,7 +427,7 @@ export class CreateProcessPage implements OnInit {
AttachmentList: docs
}
/* if (this.postData.DispatchFolder.Message) { */
/* if (this.postData.DispatchFolder.Message) { */
try {
await this.despachoService.createDespacho(this.postData).toPromise();
await this.despachoService.CompleteTask({ serialNumber: this.task.serialNumber, note: this.dispatchFolder.Message }).toPromise();
@@ -432,7 +439,7 @@ export class CreateProcessPage implements OnInit {
} finally {
loader.remove();
}
/* }
/* }
else {
this.validateField = true;
this.toastService._badRequest('Por favor adicione uma descrição');
@@ -223,7 +223,7 @@ export class DocumentDetailPage implements OnInit {
backdropDismiss: false
});
modal.onDidDismiss().then(res=>{
modal.onDidDismiss().then(res => {
//this.RouteService.goBack();
}, (error) => {
console.log(error)
@@ -331,7 +331,7 @@
</div>
</div>
<div *ngIf="loggeduser.Profile != 'PR'" class="aside-righ flex-grow-1">
<div class="aside-righ flex-grow-1">
<app-empty-container
[texto]="emptyTextDescription"
*ngIf="!showAttendees"
@@ -22,6 +22,7 @@ import { SessionStore } from 'src/app/store/session.service';
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
import { environment } from 'src/environments/environment';
import { TaskService } from 'src/app/services/task.service'
import { ContactsService } from 'src/app/services/contacts.service';
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
@@ -75,8 +76,8 @@ export class DocumentSetUpMeetingPage implements OnInit {
taskParticipants: EventPerson[] = [];
taskParticipantsCc: EventPerson[] = [];
taskDocId:string;
loadedAttachments:any;
taskDocId: string;
loadedAttachments: any;
attachments: SearchList[] = [];
@@ -85,24 +86,26 @@ export class DocumentSetUpMeetingPage implements OnInit {
postData: Event;
formLocationSatus: boolean = false;
showAttendees= false;
showAttendees = false;
loggeduser: LoginUserRespose;
emptyTextDescription = "Selecionar intervenientes";
document: SearchFolderDetails | SearchDocumentDetails | any;
subject: string;
docs:any[] = [];
docs: any[] = [];
eventPipe = new EventPipe()
eventPipe = new EventPipe()
CalendarName;
CalendarNameShow = true
CalendarNamesOptions
testeFormDefaul = "Eudes"
environment = environment
eventPersons: EventPerson[];
contacts: EventPerson[];
constructor(
private modalController: ModalController,
private router:Router,
private router: Router,
private navParams: NavParams,
authService: AuthService,
private toastService: ToastService,
@@ -111,40 +114,72 @@ export class DocumentSetUpMeetingPage implements OnInit {
public ThemeService: ThemeService,
public _eventService: EventsService,
private httpErroHandle: HttpErrorHandle,
public TaskService: TaskService
public TaskService: TaskService,
private contactsService: ContactsService,
) {
this.loggeduser = SessionStore.user;
this.document = this.navParams.get('document')
if(Array.isArray(this.document)) {
if (Array.isArray(this.document)) {
const E = this.document
this.document = []
E.forEach((e) => {
this.document.push({
ApplicationId: e.ApplicationId || e.ApplicationType,
Source: 1,
SourceId: e.DocId || e.docID || e.docId || e.SourceId || e.Id,
SourceName: e.Assunto || e.attachments,
DocDate: e.CreateDate,
Data: e.Data,
Assunto: e.Description,
...e
})
})
} else if (this.document) {
const E = this.document
this.document = []
this.document.push({
ApplicationId: E.ApplicationId || E.ApplicationType,
Source: 1,
SourceId: E.DocId || E.docID || E.docId || E.SourceId || E.Id,
SourceName: E.Assunto || E.attachments,
DocDate: E.CreateDate,
Data: E.Data,
Assunto: E.Description,
...E
})
} else {
this.document = []
}
if (Array.isArray(this.document)) {
this.attachments = this.document
} else {
this.attachments = [this.document]
}
this.document = []
this.subject = this.navParams.get('subject')
this.postData = new Event();
this.postData.Body ={ BodyType : "1", Text : ""};
this.postData.Body = { BodyType: "1", Text: "" };
this.postData.Subject = this.subject
this.postData.CalendarName = "Oficial";
this.postData.Category = 'Reunião'
if(!this.CalendarName) {
if(this._eventService.calendarNamesAry.includes('Meu calendario')) {
if (!this.CalendarName) {
if (this._eventService.calendarNamesAry.includes('Meu calendario')) {
this.CalendarName = 'Meu calendario';
} else {
this.CalendarName = this._eventService.calendarNamesAry[0]
}
}
if(this.taskParticipants.length == 0) {
if (this.taskParticipants.length == 0) {
this.taskParticipants = [
// {
// EmailAddress: SessionStore.user.Email,
@@ -163,6 +198,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
this.adding = "intervenient";
this.setDefaultTime()
this.getRecurrenceTypes();
this.fetchContacts("")
}
@@ -172,15 +208,15 @@ export class DocumentSetUpMeetingPage implements OnInit {
}
myInterval = setInterval(() => {
document.querySelectorAll('.ngx-mat-timepicker input').forEach((e :any) => {
if(e) {
document.querySelectorAll('.ngx-mat-timepicker input').forEach((e: any) => {
if (e) {
e.disabled = true;
}
})
}, 1000);
getRecurrenceTypes() {
this.calendarService.getRecurrenceTypes().subscribe( res=> {
this.calendarService.getRecurrenceTypes().subscribe(res => {
this.recurringTypes = res;
});
}
@@ -191,13 +227,13 @@ export class DocumentSetUpMeetingPage implements OnInit {
}
setStartDate() {
if(!this.postData.StartDate) {
if (!this.postData.StartDate) {
this.postData.StartDate = this.roundTimeQuarterHour();
}
}
setEndDate() {
if(!this.postData.EndDate) {
if (!this.postData.EndDate) {
this.postData.EndDate = this.roundTimeQuarterHourPlus15(this.postData.StartDate);
}
}
@@ -207,11 +243,11 @@ export class DocumentSetUpMeetingPage implements OnInit {
}
runValidation() {
this.validateFrom = true
this.validateFrom = true
}
get dateValid() {
return new Date(this.postData.StartDate).getTime() < new Date(this.postData.EndDate).getTime() ? 'ok': null
return new Date(this.postData.StartDate).getTime() < new Date(this.postData.EndDate).getTime() ? 'ok' : null
}
injectValidation() {
@@ -227,7 +263,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
CalendarName: new FormControl(this.postData.CalendarName, [
// Validators.required
]),
Date: new FormControl( (this.dateValid), [
Date: new FormControl((this.dateValid), [
Validators.required
]),
participantes: new FormControl(this.taskParticipants, [
@@ -248,7 +284,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
this.CalendarNameShow = true
if(this._eventService.calendarNamesType[this.CalendarName]?.['Oficial'] && this._eventService.calendarNamesType[this.CalendarName]?.['Pessoal']) {
if (this._eventService.calendarNamesType[this.CalendarName]?.['Oficial'] && this._eventService.calendarNamesType[this.CalendarName]?.['Pessoal']) {
this.CalendarNamesOptions = ['Oficial', 'Pessoal']
@@ -269,33 +305,14 @@ export class DocumentSetUpMeetingPage implements OnInit {
async saveTask() {
if(this.loggeduser.Profile == 'MDGPR') {
if (this.loggeduser.Profile == 'MDGPR') {
this.injectValidation()
this.runValidation()
if(this.Form.invalid) return false
if (this.Form.invalid) return false
}
let Attendees = this.taskParticipants.concat(this.taskParticipantsCc);
if(this.document.Documents) {
this.document.Documents.forEach((e)=> {
this.docs.push({
ApplicationId: e.ApplicationId || e.ApplicationType,
Source: 1,
SourceId: e.DocId || e.docID || e.docId || e.SourceId || e.Id,
SourceName: e.Assunto
})
})
}
else{
this.docs.push({
ApplicationId: this.document.ApplicationId || this.document.ApplicationType,
Source: 1,
SourceId: this.document.DocId || this.document.docID || this.document.docId || this.document.SourceId || this.document.Id,
SourceName: this.document.Assunto
})
}
let postEvent = {
EventId: '',
Subject: this.postData.Subject,
@@ -318,10 +335,11 @@ export class DocumentSetUpMeetingPage implements OnInit {
Type: this.EventRecurrenceType,
LastOccurrence: this.Occurrence,
},
// Attachments: this.docs,
Attachments: this.attachments,
}
const laoder = this.toastService.loading()
const laoder = this.toastService.loading();
this.eventService.create({ body: postEvent, calendar: this.postData.CalendarName }).subscribe(async (respose) => {
laoder.remove();
@@ -330,7 +348,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
}, (error) => {
laoder.remove();
this.httpErroHandle.httpStatusHandle(error)
}, ()=>{
}, () => {
laoder.remove();
});
@@ -340,10 +358,10 @@ export class DocumentSetUpMeetingPage implements OnInit {
this.adding = "intervenient";
if(window.innerWidth <= 801){
if (window.innerWidth <= 801) {
const modal = await this.modalController.create({
component: AttendeesPageModal,
componentProps: {
componentProps: {
adding: this.adding,
taskParticipants: this.taskParticipants,
taskParticipantsCc: this.taskParticipantsCc
@@ -354,7 +372,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
modal.onDidDismiss().then((data) => {
if(data) {
if (data) {
data = data['data'];
const newAttendees: EventPerson[] = data['taskParticipants'];
@@ -378,10 +396,10 @@ export class DocumentSetUpMeetingPage implements OnInit {
this.adding = "CC";
if(window.innerWidth <= 800) {
if (window.innerWidth <= 800) {
const modal = await this.modalController.create({
component: AttendeesPageModal,
componentProps: {
componentProps: {
adding: this.adding,
taskParticipants: this.taskParticipants,
taskParticipantsCc: this.taskParticipantsCc
@@ -394,7 +412,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
modal.onDidDismiss().then((data) => {
if(data){
if (data) {
data = data['data'];
const newAttendees: EventPerson[] = data['taskParticipants'];
@@ -424,30 +442,30 @@ export class DocumentSetUpMeetingPage implements OnInit {
}
});
modal.onDidDismiss().then((res)=> {
if(res){
const data = res.data;
this.attachments.push(data.selected);
}
}, (error) => {
console.log(error)
});
modal.onDidDismiss().then((res) => {
if (res) {
const data = res.data;
this.attachments.push(data.selected);
}
}, (error) => {
console.log(error)
});
await modal.present();
await modal.present();
}
removeAttachment(index: number) {
this.attachments = this.attachments.filter( (e, i) => index != i);
this.attachments = this.attachments.filter((e, i) => index != i);
}
validateFormInputs() {
let formLocation = this.postData.Location.trim();
if(!this.postData.Location && formLocation.length <= 0){
if (!this.postData.Location && formLocation.length <= 0) {
this.formLocationSatus = true;
}
}
selectedCalendarId () {
selectedCalendarId() {
if (this._eventService.calendarNamesType[this.CalendarName]?.['Oficial'] && this.postData.CalendarName == 'Oficial') {
return this._eventService.calendarNamesType[this.CalendarName]['OficialId']
@@ -461,7 +479,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
}
}
dynamicSetIntervenient({taskParticipants, taskParticipantsCc}) {
dynamicSetIntervenient({ taskParticipants, taskParticipantsCc }) {
this.taskParticipants = taskParticipants;
this.taskParticipantsCc = taskParticipantsCc;
}
@@ -484,7 +502,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
const minutes = date.getMinutes();
date.setSeconds(0);
if(minutes % 15 != 0) {
if (minutes % 15 != 0) {
if (minutes > 45) {
date.setMinutes(60)
@@ -501,10 +519,10 @@ export class DocumentSetUpMeetingPage implements OnInit {
return date
}
roundTimeQuarterHourPlus15(date:Date) {
roundTimeQuarterHourPlus15(date: Date) {
const _date = new Date(date);
const minutes = _date .getMinutes();
_date .setMinutes(minutes + 15)
const minutes = _date.getMinutes();
_date.setMinutes(minutes + 15)
return _date
}
@@ -512,5 +530,34 @@ export class DocumentSetUpMeetingPage implements OnInit {
return this._eventService.calendarRole.includes(str);
}
async fetchContacts(filter: string) {
if (this.loggeduser.Profile == 'PR') {
this.contactsService.getContacts(filter).subscribe(result => {
if (this.eventPersons != null) {
this.eventPersons.forEach(attendee => {
const index: number = result.findIndex((cont) => {
return cont.EmailAddress.toLocaleLowerCase() == attendee.EmailAddress.toLocaleLowerCase()
});
result.splice(index, 1);
});
}
this.contacts = result;
console.log('Attendes Email', this.loggeduser.Email)
let filterLoggedUserEmail = this.contacts.filter(item => item.RoleDescription == "Ministro e Director do Gabinete do PR")
console.log('Attendes Email', filterLoggedUserEmail)
this.contacts = filterLoggedUserEmail;
const newAttendees: EventPerson[] = this.contacts;
this.setIntervenient(newAttendees);
console.log('Attendes Email', this.contacts)
}
);
}
}
}
@@ -61,16 +61,16 @@
<div class="d-flex align-center flex-column" (click)="takePicture()">
<div *ngIf="profilePicture == '' ">
<ion-icon
*ngIf="SessionStore.user.RoleDescription != 'Presidente da República' && SessionStore.user.RoleDescription != 'Ministro e Director do Gabinete do PR' && SessionStore.user.RoleDescription != 'Secretário Geral' "
class="profile-pic" src="assets/images/theme/gov/icons-profile.svg"></ion-icon>
<img
class="profile-pic" src="assets/images/theme/gov/icons-profile.svg">
<img *ngIf="SessionStore.user.RoleDescription == 'Presidente da República' " class="profile-pic"
<!-- <img *ngIf="SessionStore.user.RoleDescription == 'Presidente da República' " class="profile-pic"
src='assets/images/presidente.png'>
<img *ngIf="SessionStore.user.RoleDescription == 'Ministro e Director do Gabinete do PR' "
class="profile-pic" src='assets/images/ministro.png'>
<img *ngIf="SessionStore.user.RoleDescription == 'Secretário Geral' " class="profile-pic"
src='assets/images/secretaria_geral.png'>
src='assets/images/secretaria_geral.png'> -->
</div>
<div *ngIf="profilePicture != '' ">
@@ -135,7 +135,7 @@
</div>
</div>
</div> -->
</div>
</div>
@@ -44,8 +44,12 @@ export class EditProfilePage implements OnInit {
}
getProfilpictureFromStorage() {
this.storageService.get(this.SessionStore.user.RoleID.toString()).then((picture) => {
console.log(picture)
this.profilePicture = picture
if(picture) {
this.profilePicture = picture
} else {
this.profilePicture = "";
}
/* console.log(picture) */
}).catch((error) => {
this.profilePicture = "";
})
+6 -6
View File
@@ -37,18 +37,18 @@
<ion-header class=" bg-blue ion-no-border">
<div class="profile-content">
<div class="d-flex align-center">
<div class="d-flex align-center flex-column">
<div *ngIf="profilePicture == ''" class="profile-pic">
<ion-icon *ngIf="SessionStore.user.RoleDescription != 'Presidente da República' && SessionStore.user.RoleDescription != 'Ministro e Director do Gabinete do PR' && SessionStore.user.RoleDescription != 'Secretário Geral' " class="profile-pic"
src="assets/images/theme/gov/icons-profile.svg"></ion-icon>
<div *ngIf="profilePicture == ''">
<img
class="profile-pic" src="assets/images/theme/gov/icons-profile.svg">
<img *ngIf="SessionStore.user.RoleDescription == 'Presidente da República' " class="profile-pic"
<!-- <img *ngIf="SessionStore.user.RoleDescription == 'Presidente da República' " class="profile-pic"
src='assets/images/presidente.png'>
<img *ngIf="SessionStore.user.RoleDescription == 'Ministro e Director do Gabinete do PR' " class="profile-pic"
src='assets/images/ministro.png'>
<img *ngIf="SessionStore.user.RoleDescription == 'Secretário Geral' " class="profile-pic"
src='assets/images/secretaria_geral.png'>
src='assets/images/secretaria_geral.png'> -->
</div>
<div *ngIf="profilePicture != ''" class="profile-pic">
+6 -2
View File
@@ -99,8 +99,12 @@ export class ProfilePage implements OnInit {
getProfilpicture() {
this.storageService.get(this.SessionStore.user.RoleID.toString()).then((picture) => {
console.log(picture)
this.profilePicture = picture
if(picture) {
this.profilePicture = picture
} else {
this.profilePicture = "";
}
/* console.log(picture) */
}).catch((error ) => {
this.profilePicture = "";
})
@@ -58,7 +58,7 @@ export class ViewDocumentPage implements OnInit {
ngOnInit() {
this.processes.GetViewer(this.docId, this.applicationId).subscribe(async(res)=> {
const link: string = res.replace('//pdfjs/web/', '/pdfjs/web/')
this.trustedUrl = this.sanitazer.bypassSecurityTrustResourceUrl(link);
@@ -125,7 +125,7 @@ export class ViewDocumentPage implements OnInit {
}
async openBookMeetingModal() {
console.log('this.Document', this.Document)
console.log('this.Document----------', this.Document)
let classs;
if( window.innerWidth < 701) {
classs = 'book-meeting-modal modal modal-desktop'
@@ -164,6 +164,8 @@ export class ViewDocumentPage implements OnInit {
classs = 'modal modal-desktop showAsideOptions'
}
// check passing
console.log('this.Document----------openExpedientActionsModal', this.Document)
const modal = await this.modalController.create({
component: ExpedientTaskModalPage,
componentProps: {
@@ -175,7 +177,7 @@ export class ViewDocumentPage implements OnInit {
cssClass: classs,
});
modal.onDidDismiss().then(
modal.onDidDismiss().then(
async(res)=>{}
, (error) => {
console.log(error)