mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
merge
This commit is contained in:
Generated
-77279
File diff suppressed because it is too large
Load Diff
@@ -176,6 +176,7 @@
|
||||
"rxjs": "~6.6.3",
|
||||
"rxjs-compat": "^6.6.7",
|
||||
"sanitize-filename-ts": "^1.0.2",
|
||||
"send-intent": "^5.0.0",
|
||||
"sharp": "^0.30.7",
|
||||
"socket.io-client": "^2.3.0",
|
||||
"tinymce": "^6.6.0",
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
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,11 +439,11 @@ export class CreateProcessPage implements OnInit {
|
||||
} finally {
|
||||
loader.remove();
|
||||
}
|
||||
}
|
||||
/* }
|
||||
else {
|
||||
this.validateField = true;
|
||||
this.toastService._badRequest('Por favor adicione uma descrição');
|
||||
}
|
||||
} */
|
||||
loader.remove();
|
||||
break;
|
||||
case '1': // Pedido de Parecer
|
||||
|
||||
@@ -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,13 +86,13 @@ 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()
|
||||
CalendarName;
|
||||
@@ -99,10 +100,12 @@ export class DocumentSetUpMeetingPage implements OnInit {
|
||||
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,15 +114,16 @@ 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)=> {
|
||||
E.forEach((e) => {
|
||||
this.document.push({
|
||||
ApplicationId: e.ApplicationId || e.ApplicationType,
|
||||
Source: 1,
|
||||
@@ -151,7 +155,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
|
||||
|
||||
|
||||
|
||||
if(Array.isArray(this.document)) {
|
||||
if (Array.isArray(this.document)) {
|
||||
this.attachments = this.document
|
||||
} else {
|
||||
this.attachments = [this.document]
|
||||
@@ -160,22 +164,22 @@ export class DocumentSetUpMeetingPage implements OnInit {
|
||||
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,
|
||||
@@ -194,6 +198,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
|
||||
this.adding = "intervenient";
|
||||
this.setDefaultTime()
|
||||
this.getRecurrenceTypes();
|
||||
this.fetchContacts("")
|
||||
|
||||
|
||||
}
|
||||
@@ -203,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;
|
||||
});
|
||||
}
|
||||
@@ -222,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);
|
||||
}
|
||||
}
|
||||
@@ -242,7 +247,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
|
||||
}
|
||||
|
||||
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() {
|
||||
@@ -258,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, [
|
||||
@@ -279,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']
|
||||
|
||||
@@ -300,10 +305,10 @@ 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);
|
||||
@@ -343,7 +348,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
|
||||
}, (error) => {
|
||||
laoder.remove();
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
}, ()=>{
|
||||
}, () => {
|
||||
laoder.remove();
|
||||
});
|
||||
|
||||
@@ -353,7 +358,7 @@ 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: {
|
||||
@@ -367,7 +372,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
|
||||
|
||||
modal.onDidDismiss().then((data) => {
|
||||
|
||||
if(data) {
|
||||
if (data) {
|
||||
data = data['data'];
|
||||
|
||||
const newAttendees: EventPerson[] = data['taskParticipants'];
|
||||
@@ -391,7 +396,7 @@ 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: {
|
||||
@@ -407,7 +412,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
|
||||
|
||||
modal.onDidDismiss().then((data) => {
|
||||
|
||||
if(data){
|
||||
if (data) {
|
||||
data = data['data'];
|
||||
|
||||
const newAttendees: EventPerson[] = data['taskParticipants'];
|
||||
@@ -437,8 +442,8 @@ export class DocumentSetUpMeetingPage implements OnInit {
|
||||
}
|
||||
});
|
||||
|
||||
modal.onDidDismiss().then((res)=> {
|
||||
if(res){
|
||||
modal.onDidDismiss().then((res) => {
|
||||
if (res) {
|
||||
const data = res.data;
|
||||
this.attachments.push(data.selected);
|
||||
}
|
||||
@@ -450,17 +455,17 @@ export class DocumentSetUpMeetingPage implements OnInit {
|
||||
}
|
||||
|
||||
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']
|
||||
@@ -474,7 +479,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
dynamicSetIntervenient({taskParticipants, taskParticipantsCc}) {
|
||||
dynamicSetIntervenient({ taskParticipants, taskParticipantsCc }) {
|
||||
this.taskParticipants = taskParticipants;
|
||||
this.taskParticipantsCc = taskParticipantsCc;
|
||||
}
|
||||
@@ -497,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)
|
||||
@@ -514,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
|
||||
}
|
||||
|
||||
@@ -525,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
|
||||
|
||||
<img *ngIf="SessionStore.user.RoleDescription == 'Presidente da República' " class="profile-pic"
|
||||
class="profile-pic" src="assets/images/theme/gov/icons-profile.svg">
|
||||
|
||||
<!-- <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 != '' ">
|
||||
|
||||
@@ -44,8 +44,12 @@ export class EditProfilePage implements OnInit {
|
||||
}
|
||||
getProfilpictureFromStorage() {
|
||||
this.storageService.get(this.SessionStore.user.RoleID.toString()).then((picture) => {
|
||||
console.log(picture)
|
||||
if(picture) {
|
||||
this.profilePicture = picture
|
||||
} else {
|
||||
this.profilePicture = "";
|
||||
}
|
||||
/* console.log(picture) */
|
||||
}).catch((error) => {
|
||||
this.profilePicture = "";
|
||||
})
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -98,8 +98,12 @@ export class ProfilePage implements OnInit {
|
||||
|
||||
getProfilpicture() {
|
||||
this.storageService.get(this.SessionStore.user.RoleID.toString()).then((picture) => {
|
||||
console.log(picture)
|
||||
if(picture) {
|
||||
this.profilePicture = picture
|
||||
} else {
|
||||
this.profilePicture = "";
|
||||
}
|
||||
/* console.log(picture) */
|
||||
}).catch((error ) => {
|
||||
this.profilePicture = "";
|
||||
})
|
||||
|
||||
@@ -3,5 +3,6 @@ export class EventPerson{
|
||||
Name: string;
|
||||
IsRequired: boolean;
|
||||
UserType: string;
|
||||
IsPR: boolean
|
||||
IsPR: boolean;
|
||||
RoleDescription: string;
|
||||
}
|
||||
@@ -228,6 +228,7 @@
|
||||
<!-- {{year.yearInfo.yearName}} -->
|
||||
<div *ngFor="let month of year.months " class="header-day" >
|
||||
<!-- {{ month.monthInfo.monthName | json }} -->
|
||||
<!-- <hr> -->
|
||||
|
||||
<div *ngFor="let day of month.days " class="EventListBox-container" >
|
||||
|
||||
@@ -237,7 +238,7 @@
|
||||
|
||||
<div *ngFor="let event of day.events " class="EventListBox mb-10" >
|
||||
<div class="d-flex content-{{event.profile}}-{{event.event.CalendarName}} mt-10 cursor-pointer width-100 " (click)="eventClicked(event)"
|
||||
*ngIf="viewEventMonth <= dateMonth(event) ">
|
||||
>
|
||||
|
||||
<div class="schedule-time" *ngIf="!event.event.IsAllDayEvent">
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ export class AgendaPage implements OnInit {
|
||||
|
||||
selectedEvent: Event;
|
||||
selectedEventId: string | number;
|
||||
selectedEventCalendarId : string | number;
|
||||
selectedEventCalendarId: string | number;
|
||||
postEvent: any;
|
||||
|
||||
// temporary data
|
||||
@@ -213,7 +213,7 @@ export class AgendaPage implements OnInit {
|
||||
} else if (this.loggeduser.Profile == 'PR') {
|
||||
this.profile = "pr";
|
||||
} else {
|
||||
if(this.eventService.usersCalendarIds.length >= 2) {
|
||||
if (this.eventService.usersCalendarIds.length >= 2) {
|
||||
this.profile = "mdgpr";
|
||||
} else if (this.eventService.hasOwnCalendar) {
|
||||
this.profile = "mdgpr";
|
||||
@@ -309,8 +309,8 @@ export class AgendaPage implements OnInit {
|
||||
let weekNum = 0;
|
||||
|
||||
function Week(a) {
|
||||
for(let b of a.querySelectorAll('td')) {
|
||||
if(!b.className.includes('text-muted')) {
|
||||
for (let b of a.querySelectorAll('td')) {
|
||||
if (!b.className.includes('text-muted')) {
|
||||
weekNum++;
|
||||
return true
|
||||
}
|
||||
@@ -320,18 +320,18 @@ export class AgendaPage implements OnInit {
|
||||
const dayBoxHeight = document.querySelector('.monthview-container .swiper-container .swiper-slide-active table tbody tr td').clientHeight
|
||||
const weeks = document.querySelectorAll('.monthview-container .swiper-container .swiper-slide-active table tbody tr');
|
||||
|
||||
for (let week of weeks as any ){
|
||||
for (let week of weeks as any) {
|
||||
Week(week)
|
||||
}
|
||||
|
||||
this.showCalendar = true
|
||||
this.listBoxService.height = (weekNum * dayBoxHeight) +'px'
|
||||
this.listBoxService.height = (weekNum * dayBoxHeight) + 'px'
|
||||
|
||||
if(dayBoxHeight == 0) {
|
||||
if (dayBoxHeight == 0) {
|
||||
this.weekToShow()
|
||||
}
|
||||
} catch (e) {
|
||||
setTimeout(()=> {
|
||||
setTimeout(() => {
|
||||
this.weekToShow()
|
||||
}, 100)
|
||||
}
|
||||
@@ -339,8 +339,8 @@ export class AgendaPage implements OnInit {
|
||||
}
|
||||
|
||||
setCalendarByDefault() {
|
||||
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]
|
||||
@@ -421,13 +421,16 @@ export class AgendaPage implements OnInit {
|
||||
|
||||
onDropDownScrollWeal() {
|
||||
|
||||
try {
|
||||
setTimeout(() => {
|
||||
document.querySelector('.dropdown-scroll-weel').querySelectorAll('.active')[0].scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
setTimeout(() => {
|
||||
document.querySelector('.dropdown-scroll-weel').querySelectorAll('.active')[1].scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}, 300)
|
||||
}, 10)
|
||||
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -445,7 +448,7 @@ export class AgendaPage implements OnInit {
|
||||
this.rangeStartDate = ev.startTime;
|
||||
this.rangeEndDate = ev.endTime;
|
||||
|
||||
if(this.currentMoth.rangeEndDate == null) {
|
||||
if (this.currentMoth.rangeEndDate == null) {
|
||||
this.currentMoth = {
|
||||
rangeStartDate: ev.startTime,
|
||||
rangeEndDate: ev.endTime
|
||||
@@ -579,7 +582,7 @@ export class AgendaPage implements OnInit {
|
||||
loadRangeEvents(startTime: Date, endTime: Date) {
|
||||
this.weekToShow()
|
||||
|
||||
if(!this.eventService.hasAnyCalendar) {
|
||||
if (!this.eventService.hasAnyCalendar) {
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -589,9 +592,9 @@ export class AgendaPage implements OnInit {
|
||||
this.showLoader = true;
|
||||
|
||||
const index = `${startTime}${endTime}`
|
||||
if(!this.loadRequest[index]) {
|
||||
this.loadRequest[index] = {startTime, endTime}
|
||||
this.loadRequestHistory[index] = {lastTimeUpdate: new Date()}
|
||||
if (!this.loadRequest[index]) {
|
||||
this.loadRequest[index] = { startTime, endTime }
|
||||
this.loadRequestHistory[index] = { lastTimeUpdate: new Date() }
|
||||
|
||||
this.loadRangeEventRun(startTime, endTime)
|
||||
} else {
|
||||
@@ -606,7 +609,7 @@ export class AgendaPage implements OnInit {
|
||||
|
||||
loadRangeEventRun(startTime: Date, endTime: Date) {
|
||||
|
||||
if(SessionStore.user.OwnerCalendars.length == 0 && SessionStore.user.SharedCalendars.length == 0) {
|
||||
if (SessionStore.user.OwnerCalendars.length == 0 && SessionStore.user.SharedCalendars.length == 0) {
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -630,14 +633,14 @@ export class AgendaPage implements OnInit {
|
||||
|
||||
let load = 0;
|
||||
|
||||
for ( const selectedCalendar of selectedCalendarIds) {
|
||||
for (const selectedCalendar of selectedCalendarIds) {
|
||||
this.eventService.getEventsByCalendarId(momentG(new Date(startTime), 'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime), 'yyyy-MM-dd 23:59:59'), selectedCalendar.CalendarId).then((response: any) => {
|
||||
|
||||
let label;
|
||||
|
||||
if(SessionStore.user.Profile == 'PR') {
|
||||
if (SessionStore.user.Profile == 'PR') {
|
||||
label = "pr"
|
||||
} else if(SessionStore.user.OwnerCalendars.find(e => e.CalendarId == selectedCalendar.CalendarId)) {
|
||||
} else if (SessionStore.user.OwnerCalendars.find(e => e.CalendarId == selectedCalendar.CalendarId)) {
|
||||
label = 'md'
|
||||
} else {
|
||||
label = "pr"
|
||||
@@ -656,7 +659,7 @@ export class AgendaPage implements OnInit {
|
||||
this.deleteLoadRangeEvent(startTime, endTime);
|
||||
|
||||
load++
|
||||
if(load == selectedCalendarIds.length) {
|
||||
if (load == selectedCalendarIds.length) {
|
||||
this.showLoader = false;
|
||||
}
|
||||
|
||||
@@ -669,9 +672,9 @@ export class AgendaPage implements OnInit {
|
||||
|
||||
selectedAgenda = {}
|
||||
|
||||
getSelectedAgendaCalendars () {
|
||||
getSelectedAgendaCalendars() {
|
||||
|
||||
if(this.CalendarName == 'PR+MDGPR') {
|
||||
if (this.CalendarName == 'PR+MDGPR') {
|
||||
|
||||
let result = this.SessionStore.user.OwnerCalendars
|
||||
|
||||
@@ -686,17 +689,17 @@ export class AgendaPage implements OnInit {
|
||||
let Oficial = calendar?.['OficialId']
|
||||
let Pessoal = calendar?.['PessoalId']
|
||||
|
||||
if(Oficial && Pessoal) {
|
||||
if (Oficial && Pessoal) {
|
||||
|
||||
return [
|
||||
{
|
||||
CalendarId : Oficial,
|
||||
CalendarId: Oficial,
|
||||
OwnerId: calendar.OwnerId,
|
||||
CalendarName: calendar.CalendarName
|
||||
},
|
||||
{
|
||||
OwnerId: calendar.OwnerId,
|
||||
CalendarId : Pessoal,
|
||||
CalendarId: Pessoal,
|
||||
CalendarName: calendar.CalendarName
|
||||
}
|
||||
]
|
||||
@@ -705,7 +708,7 @@ export class AgendaPage implements OnInit {
|
||||
try {
|
||||
return [{
|
||||
OwnerId: calendar.OwnerId,
|
||||
CalendarId : Oficial,
|
||||
CalendarId: Oficial,
|
||||
CalendarName: calendar.CalendarName
|
||||
}]
|
||||
} catch (error) {
|
||||
@@ -715,7 +718,7 @@ export class AgendaPage implements OnInit {
|
||||
try {
|
||||
return [{
|
||||
OwnerId: calendar.OwnerId,
|
||||
CalendarId : Pessoal,
|
||||
CalendarId: Pessoal,
|
||||
CalendarName: calendar.CalendarName
|
||||
}]
|
||||
} catch (error) {
|
||||
@@ -781,7 +784,7 @@ export class AgendaPage implements OnInit {
|
||||
} catch (e) { }
|
||||
|
||||
this.updateEventListBox()
|
||||
} else {}
|
||||
} else { }
|
||||
|
||||
}
|
||||
|
||||
@@ -935,7 +938,7 @@ export class AgendaPage implements OnInit {
|
||||
|
||||
let navigationExtras: NavigationExtras = { queryParams: { CalendarId } }
|
||||
|
||||
this.router.navigate(['/home/agenda/',eventId,'agenda'], navigationExtras);
|
||||
this.router.navigate(['/home/agenda/', eventId, 'agenda'], navigationExtras);
|
||||
|
||||
}
|
||||
|
||||
@@ -950,13 +953,13 @@ export class AgendaPage implements OnInit {
|
||||
this.postEvent = data.event;
|
||||
|
||||
this.mobileComponent.showEditEvent = true;
|
||||
} else if(data.type == 'delete') {
|
||||
} else if (data.type == 'delete') {
|
||||
|
||||
}
|
||||
|
||||
this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
|
||||
|
||||
setTimeout(()=>{
|
||||
setTimeout(() => {
|
||||
this.onCurrentChanged(this.eventSelectedDate)
|
||||
}, 500)
|
||||
|
||||
@@ -1185,10 +1188,10 @@ export class AgendaPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
function endOfMonth(myDate){
|
||||
function endOfMonth(myDate) {
|
||||
let date = new Date(myDate);
|
||||
date.setDate(1); // Avoids edge cases on the 31st day of some months
|
||||
date.setMonth(date.getMonth() +1);
|
||||
date.setMonth(date.getMonth() + 1);
|
||||
date.setDate(0);
|
||||
date.setHours(23);
|
||||
date.setMinutes(59);
|
||||
|
||||
@@ -22,6 +22,7 @@ import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
|
||||
import { environment } from 'src/environments/environment';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { TaskService } from 'src/app/services/task.service'
|
||||
import { ContactsService } from 'src/app/services/contacts.service';
|
||||
|
||||
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
|
||||
parse: {
|
||||
@@ -93,6 +94,9 @@ export class NewEventPage implements OnInit {
|
||||
roomId: string;
|
||||
globalEnd = new Date('1999')
|
||||
environment = environment
|
||||
eventPersons: EventPerson[];
|
||||
contacts: EventPerson[];
|
||||
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
@@ -105,7 +109,8 @@ export class NewEventPage implements OnInit {
|
||||
private chatMethodService: ChatMethodsService,
|
||||
private hhtpErrorHandle: HttpErrorHandle,
|
||||
private processeService: ProcessesService,
|
||||
public TaskService: TaskService
|
||||
public TaskService: TaskService,
|
||||
private contactsService: ContactsService,
|
||||
) {
|
||||
this.loggeduser = SessionStore.user;
|
||||
this.postEvent = new Event();
|
||||
@@ -196,6 +201,7 @@ export class NewEventPage implements OnInit {
|
||||
this.checkRoleInArray()
|
||||
this.changeAgenda()
|
||||
|
||||
this.fetchContacts("")
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
@@ -831,4 +837,33 @@ export class NewEventPage implements OnInit {
|
||||
|
||||
return toAproveObject;
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
</div>
|
||||
<div class="buttons px-20" *ngIf="task.activityInstanceName == 'Concluir Despacho'">
|
||||
<button *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" (click)="openAddNoteModal('Concluido')" class="btn-cancel" shape="round" >Marcar como Concluído</button>
|
||||
<button *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" (click)="openAddNoteModal('Reexecução')" class="btn-cancel" shape="round" >Enviar para Reexecução</button>
|
||||
<button *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" (click)="openAddNoteModal('Reexecutar')" class="btn-cancel" shape="round" >Enviar para Reexecução</button>
|
||||
<button *ngIf="p.userPermission([p.permissionList.Agenda.access])" (click)="openBookMeetingModal(task)" class="btn-cancel" shape="round" >Marcar Reunião</button>
|
||||
<button *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks]) && task.Status != 'Pending'" (click)="sendExpedienteToPending()" class="btn-cancel" shape="round" >Enviar para Pendentes</button>
|
||||
</div>
|
||||
|
||||
@@ -328,7 +328,7 @@ export class DespachoPrPage implements OnInit {
|
||||
async reexecutar(note: string, documents: any) {
|
||||
let body = {
|
||||
"serialNumber": this.serialNumber,
|
||||
"action": "Reexecução",
|
||||
"action": "Reexecutar",
|
||||
"ActionTypeId": 100000010,
|
||||
"dataFields": {
|
||||
"ReviewUserComment": note,
|
||||
@@ -416,7 +416,7 @@ export class DespachoPrPage implements OnInit {
|
||||
// console.log('actionName', actionName)
|
||||
await this.concluir(res.data.note, docs);
|
||||
}
|
||||
else if (actionName == 'Reexecução') {
|
||||
else if (actionName == 'Reexecutar') {
|
||||
await this.reexecutar(res.data.note, docs);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@
|
||||
<div class="solid"></div>
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<button class="btn-cancel" shape="round" >Arquivar</button>
|
||||
<button class="btn-cancel" shape="round" (click)="openAddNoteModal('Arquivo')">Arquivar</button>
|
||||
<!-- <div class="solid"></div> -->
|
||||
</div>
|
||||
<div class="buttons">
|
||||
|
||||
+6
-3
@@ -39,6 +39,7 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
customDate: any;
|
||||
caller: string;
|
||||
mergedArray: any = [];
|
||||
draftArray: any = [];
|
||||
DraftIds = ""
|
||||
DraftNames = ""
|
||||
asDraft = true;
|
||||
@@ -492,6 +493,7 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
"ownerId": resd.data.ownerId,
|
||||
"status": resd.data.status,
|
||||
};
|
||||
this.draftArray.push(object);
|
||||
this.mergedArray.push(object);
|
||||
this.DraftNames += resd.data.description + ";";
|
||||
this.DraftIds += resd.data.id + ";";
|
||||
@@ -502,13 +504,14 @@ export class DiplomaAssinarPage implements OnInit {
|
||||
});
|
||||
|
||||
await Promise.all(draftPromises);
|
||||
if (this.draftArray.length == 0) {
|
||||
console.log('No draft found.');
|
||||
this.asDraft = false
|
||||
}
|
||||
|
||||
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
@@ -294,7 +294,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="sessionStore.user.Profile != 'PR'" class="aside-righ flex-grow-1">
|
||||
<div class="aside-righ flex-grow-1">
|
||||
<app-empty-container
|
||||
[texto]="emptyTextDescription"
|
||||
*ngIf="!showAttendees"
|
||||
|
||||
+42
-6
@@ -23,6 +23,7 @@ import { RoleIdService } from 'src/app/services/role-id.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 moment = _rollupMoment || _moment;
|
||||
|
||||
@@ -114,6 +115,9 @@ export class BookMeetingModalPage implements OnInit {
|
||||
|
||||
sessionStore = SessionStore;
|
||||
environment = environment
|
||||
loggeduser: LoginUserRespose;
|
||||
eventPersons: EventPerson[];
|
||||
contacts: EventPerson[];
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
@@ -125,7 +129,8 @@ export class BookMeetingModalPage implements OnInit {
|
||||
public eventService: EventsService,
|
||||
public RoleIdService: RoleIdService,
|
||||
private httpErroHandle: HttpErrorHandle,
|
||||
public TaskService: TaskService
|
||||
public TaskService: TaskService,
|
||||
private contactsService: ContactsService,
|
||||
|
||||
|
||||
) {
|
||||
@@ -136,7 +141,7 @@ export class BookMeetingModalPage implements OnInit {
|
||||
|
||||
console.log('fulltask', this.fulltask)
|
||||
|
||||
if(this.fulltask?.Documents) {
|
||||
if (this.fulltask?.Documents) {
|
||||
this.documents = this.fulltask.Documents
|
||||
}
|
||||
|
||||
@@ -174,6 +179,7 @@ export class BookMeetingModalPage implements OnInit {
|
||||
}
|
||||
|
||||
this.changeAgenda();
|
||||
this.loggeduser = SessionStore.user;
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -182,6 +188,7 @@ export class BookMeetingModalPage implements OnInit {
|
||||
this.getAttachments();
|
||||
this.setDefaultTime()
|
||||
this.getRecurrenceTypes();
|
||||
this.fetchContacts("")
|
||||
|
||||
}
|
||||
|
||||
@@ -191,8 +198,8 @@ export class BookMeetingModalPage 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;
|
||||
}
|
||||
})
|
||||
@@ -328,7 +335,7 @@ export class BookMeetingModalPage implements OnInit {
|
||||
ApplicationId: e.ApplicationType || e.ApplicationId,
|
||||
Source: 1,
|
||||
SourceId: e.Id || e.DocId || e.SourceId,
|
||||
SourceName:e.Assunto,
|
||||
SourceName: e.Assunto,
|
||||
Description: e.Assunto,
|
||||
Stakeholders: e.EntidadeOrganicaNome
|
||||
}
|
||||
@@ -417,7 +424,7 @@ export class BookMeetingModalPage implements OnInit {
|
||||
|
||||
|
||||
modal.onDidDismiss().then((data) => {
|
||||
|
||||
console.log('attenes return', data)
|
||||
if (data) {
|
||||
data = data['data'];
|
||||
|
||||
@@ -587,4 +594,33 @@ export class BookMeetingModalPage implements OnInit {
|
||||
this.postData.EndDate = this.postData.StartDate;
|
||||
}
|
||||
|
||||
async fetchContacts(filter: string) {
|
||||
console.log(this.loggeduser)
|
||||
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)
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -97,7 +97,7 @@
|
||||
<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 ">
|
||||
<!-- <ion-item
|
||||
class="ion-no-border ion-no-padding ion-no-margin d-block d-md-none">
|
||||
<ion-select
|
||||
@@ -112,7 +112,7 @@
|
||||
appearance="fill"
|
||||
class="width-100 d-block"
|
||||
appearance="none">
|
||||
<mat-select [(ngModel)]="selectedTypes" multiple 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>
|
||||
|
||||
+16
-4
@@ -69,7 +69,7 @@ export class ExpedientTaskModalPage implements OnInit {
|
||||
loadedAttachments:any;
|
||||
documents:SearchList[] = [];
|
||||
|
||||
subjectTypes:any[] = [];
|
||||
subjectTypes:any;
|
||||
selectedTypes: string[]=[];
|
||||
SearchFolder: any = []
|
||||
|
||||
@@ -96,6 +96,7 @@ export class ExpedientTaskModalPage implements OnInit {
|
||||
validateFrom = false;
|
||||
validateField = false;
|
||||
document: any
|
||||
placeholderSubject: string;
|
||||
|
||||
get toppingsValues() {
|
||||
return this.toppings.value;
|
||||
@@ -150,7 +151,12 @@ export class ExpedientTaskModalPage implements OnInit {
|
||||
// console.log('this.document', this.document)
|
||||
|
||||
|
||||
if(this.loggeduser.Profile == 'PR') {
|
||||
this.selectedTypes = ['99999850'];
|
||||
this.placeholderSubject = 'Indefinido'
|
||||
} else {
|
||||
this.placeholderSubject = 'Selecione o tipo de assunto*'
|
||||
}
|
||||
|
||||
this.postData = new Despacho();
|
||||
this.participants = this.participants = new Array();
|
||||
@@ -454,7 +460,8 @@ export class ExpedientTaskModalPage implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
if(this.postData.DispatchFolder.Message){
|
||||
/* if(this.postData.DispatchFolder.Message){
|
||||
if(this.selectedTypes.length > 0) { */
|
||||
try {
|
||||
this.taskResult = await this.despachoService.createDespacho(this.postData).toPromise();
|
||||
await this.httpErroHandle.httpsSucessMessagge('Efetuar Despacho')
|
||||
@@ -464,11 +471,16 @@ export class ExpedientTaskModalPage implements OnInit {
|
||||
} finally {
|
||||
//loader.remove()
|
||||
}
|
||||
}
|
||||
/* } else {
|
||||
this.validateField = true;
|
||||
this.toastService._badRequest('Por favor selecione um assunto');
|
||||
} */
|
||||
|
||||
/* }
|
||||
else{
|
||||
this.validateField = true;
|
||||
this.toastService._badRequest('Por favor adicione uma descrição');
|
||||
}
|
||||
} */
|
||||
loader.remove();
|
||||
break;
|
||||
|
||||
|
||||
@@ -112,8 +112,15 @@ export class LoginPage implements OnInit {
|
||||
if (this.validateUsername()) {
|
||||
if (this.validatePassword()) {
|
||||
|
||||
let newUserName = ""
|
||||
if (this.usernameAsDomain(environment.domain, this.username.trim())) {
|
||||
newUserName = this.username.trim();
|
||||
} else {
|
||||
newUserName = this.username.trim() + "@" + environment.domain;
|
||||
}
|
||||
|
||||
this.userattempt = {
|
||||
username: this.username.trim(),
|
||||
username: newUserName.trim(),
|
||||
password: this.password.trim(),
|
||||
domainName: environment.domain,
|
||||
BasicAuthKey: ""
|
||||
@@ -233,4 +240,8 @@ export class LoginPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
usernameAsDomain(substring, mainString) {
|
||||
return mainString.includes(substring);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -403,6 +403,3 @@ const years: Year[] = [
|
||||
},
|
||||
// Add more years here as needed
|
||||
];
|
||||
|
||||
|
||||
years[0].months[0].days[0].events
|
||||
|
||||
@@ -91,7 +91,7 @@ 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!')
|
||||
this.toastService._badRequest('Este diploma não contem um rascunho para ser assinado!')
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -34,6 +34,7 @@ import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { Subject } from 'rxjs';
|
||||
|
||||
import { TaskService } from 'src/app/services/task.service'
|
||||
import { ContactsService } from 'src/app/services/contacts.service';
|
||||
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
|
||||
parse: {
|
||||
dateInput: "YYYY-MMMM-DD HH:mm"
|
||||
@@ -131,6 +132,8 @@ export class NewEventPage implements OnInit {
|
||||
|
||||
CalendarNamesOptions = ['Oficial', 'Pessoal']
|
||||
environment = environment
|
||||
eventPersons: EventPerson[];
|
||||
contacts: EventPerson[] = [];
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
@@ -142,7 +145,8 @@ export class NewEventPage implements OnInit {
|
||||
private chatMethodService: ChatMethodsService,
|
||||
private hhtpErrorHandle: HttpErrorHandle,
|
||||
private processeService: ProcessesService,
|
||||
public TaskService: TaskService
|
||||
public TaskService: TaskService,
|
||||
private contactsService: ContactsService,
|
||||
) {
|
||||
this.dateAdapter.setLocale('pt');
|
||||
this.loggeduser = SessionStore.user;
|
||||
@@ -220,6 +224,7 @@ export class NewEventPage implements OnInit {
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log('Attendes',this.taskParticipants)
|
||||
this.taskParticipants = removeDuplicate(this.taskParticipants);
|
||||
this.taskParticipantsCc = removeDuplicate(this.taskParticipantsCc);
|
||||
|
||||
@@ -234,6 +239,7 @@ export class NewEventPage implements OnInit {
|
||||
|
||||
this.injectValidation();
|
||||
this.changeAgenda()
|
||||
this.fetchContacts("")
|
||||
|
||||
}
|
||||
|
||||
@@ -987,5 +993,34 @@ export class NewEventPage implements OnInit {
|
||||
return toAproveObject;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
this.taskParticipants.push(this.contacts[0]);
|
||||
this.setIntervenient.emit(this.taskParticipants);
|
||||
console.log('Attendes Email', this.taskParticipants)
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -48,15 +48,14 @@
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="icon font-45-em" src='assets/images/theme/gov/icons-profile.svg'></ion-icon> -->
|
||||
|
||||
<div *ngIf="profilePicture == ''" class="profile-image">
|
||||
<img *ngIf="loggeduser.RoleDescription == 'Presidente da República' " class="profile-image"
|
||||
<!-- <img *ngIf="loggeduser.RoleDescription == 'Presidente da República' " class="profile-image"
|
||||
src='assets/images/presidente.png'>
|
||||
<img *ngIf="loggeduser.RoleDescription == 'Ministro e Director do Gabinete do PR' " class="profile-image"
|
||||
src='assets/images/ministro.png'>
|
||||
<img *ngIf="loggeduser.RoleDescription == 'Secretário Geral' " class="profile-image"
|
||||
src='assets/images/secretaria_geral.png'>
|
||||
src='assets/images/secretaria_geral.png'> -->
|
||||
|
||||
<ion-icon
|
||||
*ngIf="loggeduser.RoleDescription != 'Presidente da República'&& loggeduser.RoleDescription != 'Ministro e Director do Gabinete do PR' && loggeduser.RoleDescription != 'Secretário Geral' "
|
||||
class="icon font-45-em" src='assets/images/theme/gov/icons-profile.svg'></ion-icon>
|
||||
</div>
|
||||
|
||||
@@ -212,15 +211,14 @@
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="icon" src='assets/images/theme/gov/icons-profile.svg'></ion-icon> -->
|
||||
|
||||
<div *ngIf="profilePicture == ''" class="profile-image">
|
||||
<img *ngIf="loggeduser.RoleDescription == 'Presidente da República' " class="profile-image"
|
||||
<!-- <img *ngIf="loggeduser.RoleDescription == 'Presidente da República' " class="profile-image"
|
||||
src='assets/images/presidente.png'>
|
||||
<img *ngIf="loggeduser.RoleDescription == 'Ministro e Director do Gabinete do PR' " class="profile-image"
|
||||
src='assets/images/ministro.png'>
|
||||
<img *ngIf="loggeduser.RoleDescription == 'Secretário Geral' " class="profile-image"
|
||||
src='assets/images/secretaria_geral.png'>
|
||||
src='assets/images/secretaria_geral.png'> -->
|
||||
|
||||
<ion-icon
|
||||
*ngIf="loggeduser.RoleDescription != 'Presidente da República'&& loggeduser.RoleDescription != 'Ministro e Director do Gabinete do PR' && loggeduser.RoleDescription != 'Secretário Geral' "
|
||||
class="icon" src='assets/images/theme/gov/icons-profile.svg'></ion-icon>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -102,26 +102,29 @@ export class HeaderPage implements OnInit {
|
||||
|
||||
getProfilpicture() {
|
||||
|
||||
if(this.SessionStore.user.UserPhoto) {
|
||||
this.attachmentService.getUserProfilePhoto(this.SessionStore.user.UserPhoto).subscribe((base) => {
|
||||
|
||||
this.storageService.store(this.SessionStore.user.RoleID.toString(), 'data:image/jpeg;base64,' + base).then((value) => {
|
||||
this.profilePicture = 'data:image/jpeg;base64,' + base;
|
||||
|
||||
console.log('picture saved', value)
|
||||
console.log('picture saved')
|
||||
}).catch((error) => {
|
||||
console.log('picture not saved')
|
||||
});
|
||||
}, (error) => {
|
||||
console.log('profile picture errro: ', error)
|
||||
this.storageService.get(this.SessionStore.user.RoleID.toString()).then((picture) => {
|
||||
console.log(picture)
|
||||
/* console.log(picture) */
|
||||
this.profilePicture = picture
|
||||
}).catch((error) => {
|
||||
this.profilePicture = "";
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
} else {
|
||||
this.profilePicture = "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
fulltask: any
|
||||
DraftIds = ""
|
||||
DraftNames = ""
|
||||
asDrat: boolean;
|
||||
asDraft: boolean;
|
||||
|
||||
|
||||
constructor(
|
||||
@@ -48,7 +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');
|
||||
this.asDraft = this.navParams.get('asDraft');
|
||||
|
||||
|
||||
console.log('this.task', this.task)
|
||||
@@ -241,7 +241,7 @@ export class DiplomaOptionsPage implements OnInit {
|
||||
|
||||
async AssinarNew(note?, doc?) {
|
||||
|
||||
if (this.asDrat) {
|
||||
if (this.asDraft) {
|
||||
const modal = await this.modalController.create({
|
||||
component: PopupQuestionPage,
|
||||
componentProps: {
|
||||
|
||||
+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)="AssinarDraft()" class="btn-cancel" shape="round" >Assinar</button>
|
||||
<button *ngIf="p.userRole('PR')" (click)="AssinarDraft()" class="btn-cancel" shape="round" >Assinar</button>
|
||||
<button class="btn-cancel" shape="round" (click)="close()">Cancelar</button>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user