This commit is contained in:
Eudes Inácio
2021-08-19 18:28:22 +01:00
37 changed files with 281 additions and 220 deletions
+1 -4
View File
@@ -42,10 +42,7 @@
</ion-item>
</ion-list>
</div>
<ion-item hidden lines="none">
<ion-textarea [(ngModel)]="note" rows="4" cols="20" placeholder="Adicionar um comentário para execução..."></ion-textarea>
</ion-item>
</div>
</div>
</ion-content>
<ion-footer class="ion-no-border">
<div class="buttons width-100">
+3 -5
View File
@@ -2,8 +2,6 @@ import { Component, OnInit } from '@angular/core';
import { AnimationController, ModalController, NavParams } from '@ionic/angular';
import { SearchDocument } from 'src/app/models/search-document';
import { SearchPage } from 'src/app/pages/search/search.page';
import { BadRequestPage } from 'src/app/shared/popover/bad-request/bad-request.page';
import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page';
@Component({
selector: 'app-add-note',
@@ -12,7 +10,7 @@ import { SuccessMessagePage } from 'src/app/shared/popover/success-message/succe
})
export class AddNotePage implements OnInit {
note: string = '';
documents:SearchDocument[] = [];
documents: SearchDocument[] = [];
loadedAttachments:any;
hideThisFeature: boolean = true;
@@ -32,11 +30,11 @@ export class AddNotePage implements OnInit {
}
close(){
close() {
this.modalController.dismiss('');
}
save(){
save() {
let body = {
"note":this.note,
"documents":this.documents,
@@ -101,6 +101,10 @@ export class CreateProcessPage implements OnInit {
this.loggeduser = userAuth.ValidatedUser;
this.task = this.navParams.get('task');
if (this.task.SerialNumber) {
this.task.serialNumber = this.task.SerialNumber
}
this.taskType = this.navParams.get('taskAction');
+19 -14
View File
@@ -41,8 +41,8 @@
</div>
</div>
<div hidden class="ion-item-container-no-border">
<ion-label>
<div *ngIf="hideThisFeature" class="ion-item-container-no-border">
<ion-label (click)="getDoc()">
<div class="attach-icon">
<ion-icon src="assets/images/icons-attach-doc.svg"></ion-icon>
</div>
@@ -52,18 +52,23 @@
</ion-label>
</div>
<div *ngIf="loadedAttachments">
<ion-item>
<ion-label>Documentos Anexados</ion-label>
</ion-item>
<ion-list>
<ion-item *ngFor="let attachment of loadedAttachments">
<ion-label>
<h4 class="attach-title-item">{{attachment.Description}}</h4>
<p><span class="span-left">{{attachment.Stakeholders}}</span><span class="span-right"> {{ attachment.CreateDate | date: 'dd/MM/yyyy' }}</span></p>
</ion-label>
</ion-item>
</ion-list>
<div class="content width-100 overflow-y-auto height-100">
<div class="list">
<ion-list *ngFor="let document of documents; let i = index">
<ion-item>
<ion-label>
<p class="d-flex ion-justify-content-between">
<span class="attach-title-item">{{document.Assunto}}</span>
<span class="app-name">{{document.appName}}</span>
<span class="close-button text-black cursor-pointer" (click)="removeAttachment(i)" >
<ion-icon class="font-20" src="assets/images/icons-delete-25.svg"></ion-icon>
</span>
</p>
<p><span class="span-left">{{document.EntidadeOrganicaNome}}</span><span class="span-right"> {{document.Data | date: 'dd-MM-yyyy HH:mm'}} </span></p>
</ion-label>
</ion-item>
</ion-list>
</div>
</div>
</div>
+34 -2
View File
@@ -9,10 +9,10 @@ import { EventsService } from 'src/app/services/events.service';
import { AttachmentsService } from 'src/app/services/attachments.service';
import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page';
import { AlertService } from 'src/app/services/alert.service';
import { BadRequestPage } from 'src/app/shared/popover/bad-request/bad-request.page';
import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page';
import { ToastService } from 'src/app/services/toast.service';
import { AttendeesPageModal } from 'src/app/pages/events/attendees/attendees.page';
import { SearchDocument } from 'src/app/models/search-document';
import { SearchPage } from 'src/app/pages/search/search.page';
@Component({
selector: 'app-delegar',
@@ -38,6 +38,9 @@ export class DelegarPage implements OnInit {
formLocationSatus: boolean = false;
showAttendees= false;
hideThisFeature: boolean = true;
documents: SearchDocument[] = [];
constructor(
private modalController: ModalController,
private router:Router,
@@ -63,6 +66,7 @@ export class DelegarPage implements OnInit {
let selectedEndDate = new Date();
/* this.postData.EndDate = new Date(selectedEndDate.setMinutes(new Date().getMinutes() + 30)); */
this.hideThisFeature = this.navParams.get('showAttachmentBtn');
}
ngOnInit() {
@@ -187,4 +191,32 @@ export class DelegarPage implements OnInit {
this.taskParticipants = taskParticipants;
}
async getDoc() {
const modal = await this.modalController.create({
component: SearchPage,
cssClass: 'modal-width-100-width-background modal',
componentProps: {
type: 'AccoesPresidenciais & ArquivoDespachoElect',
showSearchInput: true,
select: true
}
});
await modal.present();
modal.onDidDismiss().then((res)=>{
if(res){
const data = res.data;
this.documents.push(data.selected);
}
});
}
removeAttachment(index: number){
this.documents = this.documents.filter( (e, i) => index != i);
}
}
@@ -70,10 +70,12 @@ export class DocumentDetailPage implements OnInit {
taskStartDate: folder.DateDispatch,
isEvent: true,
workflowInstanceDataFields: {
FsId: folder.ApplicationID || folder.ApplicationId,
FolderID: folder['FolderId'] || folder['FolderID'] || folder.folderId,
DocId: folder.DispatchNumber, // not used
Subject: folder.Assunto
Subject: folder.Assunto,
SourceSecFsID: folder.ApplicationID || folder['ApplicationId'],
SourceType: 'FOLDER',
SourceID: folder.folderId,
DispatchNumber: folder.DispatchNumber
},
}
} else if (document.ApplicationID == 8 || document.ApplicationId == 8) {
@@ -82,10 +84,12 @@ export class DocumentDetailPage implements OnInit {
taskStartDate: document.DocDate,
isEvent: true,
workflowInstanceDataFields: {
FsId: document.ApplicationID || document.ApplicationId,
FolderID: null,
DocId: document.DocId || document['DocID'],
Subject: document.Assunto
Subject: document.Assunto,
DispatchNumber: null,
SourceSecFsID: document.ApplicationID || document.ApplicationId,
SourceType: 'DOC',
SourceID: document.DocId,
}
}
} else {
+13 -4
View File
@@ -1,10 +1,19 @@
export class Excludetask{
serialNumber: any;
export interface Attachment {
SourceId: string;
ApplicationId: number;
}
export interface AttachmentList {
ProcessInstanceID?: string;
Attachments?: Attachment[];
}
export interface Excludetask {
serialNumber: string;
action: string;
ActionTypeId: any;
ActionTypeId?: number;
dataFields: {
ReviewUserComment?: string,
Note?: any
}
AttachmentList?: any
FolderId?: number;
AttachmentList?: AttachmentList | any;
}
+5 -5
View File
@@ -5,12 +5,12 @@ export class ExpedientTaskModalPageNavParamsTask {
taskStartDate: string
isEvent: boolean
workflowInstanceDataFields: {
FsId: any,
FolderID: any,
DocId: any,
DocID?: any
FolderID: any, // folder
Subject: string,
DispatchNumber?: any
DispatchNumber?: any,
SourceSecFsID: any, // aplication id
SourceType: 'DOC' | 'FOLDER',
SourceID: any // doc id
}
}
+21
View File
@@ -93,3 +93,24 @@ export class customTask {
activityInstanceName : string
Status : string
}
export interface expedienteTask {
SerialNumber: string
Folio : string
Senders: string
CreateDate : string
DocumentURL : string
Note: any
FolderId : number | string
Remetente : string
DocId : number
FsId: any
WorkflowName : string
Status : string
DispatchNumber: any
AttachmentsProcessLastInstanceID: any
InstanceID: any
}
+3 -4
View File
@@ -9,7 +9,6 @@ export class SearchDocument {
appName?: string;
}
export class Attachments {
Id?: number
Source: number
@@ -18,6 +17,7 @@ export class Attachments {
ApplicationId: number | string
}
// details
export class FromSearchDocument {
ApplicationId: number
ApplicationID: number
@@ -28,7 +28,7 @@ export class FromSearchDocument {
SenderId: number
}
// details
export class SearchFolder {
ApplicationID: number
ApplicationId: number
@@ -51,5 +51,4 @@ export class SearchFolder {
SenderId: null | string
Status: string
folderId: number
}
}
@@ -8,8 +8,6 @@ import { Event } from '../../../models/event.model';
import { EditEventPage } from '../edit-event/edit-event.page';
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
import { ProcessesService } from 'src/app/services/processes.service';
import { ExpedientTaskModalPage } from '../../gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page';
import { BookMeetingModalPage } from '../../gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page';
import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page';
import { ActivatedRoute, NavigationExtras, Router } from '@angular/router';
import { ToastService } from 'src/app/services/toast.service';
@@ -207,9 +205,6 @@ export class ViewEventPage implements OnInit {
async editEventDetail() {
console.log(this.caller);
const modal = await this.modalController.create({
component: EditEventPage,
componentProps: {
@@ -3,7 +3,7 @@ import { ProcessesService } from 'src/app/services/processes.service';
import { AttachmentsService } from 'src/app/services/attachments.service';
import { EventsService } from 'src/app/services/events.service';
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
import { DailyWorkTask } from '../../../../models/dailyworktask.model';
import { DailyWorkTask, fullTask } from '../../../../models/dailyworktask.model';
import { ActivatedRoute, NavigationExtras, Router } from '@angular/router';
import { Event } from '../../../../models/event.model';
@@ -36,7 +36,7 @@ export class DespachoPrPage implements OnInit {
attachments:any;
fulltask: any;
eventsList: Event[];
serialnumber: string;
serialNumber: string;
caller: string;
profile: string;
intervenientes: any;
@@ -57,28 +57,30 @@ export class DespachoPrPage implements OnInit {
) {
this.activatedRoute.paramMap.subscribe(params => {
if(params["params"].SerialNumber) {
this.serialnumber = params["params"].SerialNumber;
this.serialNumber = params["params"].SerialNumber;
}
if(params["params"].caller) {
this.caller = params["params"].caller;
}
});
console.log('DespachoPrPage SerialNumber', this.serialNumber)
}
ngOnInit() {
this.profile = "mdgpr";
console.log(this.serialnumber);
console.log(this.serialNumber);
this.activateRoute.paramMap.subscribe(paramMap => {
if (!paramMap.has('SerialNumber')) {
return;
}
/* this.serialnumber = paramMap.get('SerialNumber'); */
this.LoadTaskDetail(this.serialnumber);
// this.LoadRelatedEvents(this.serialnumber);
/* this.serialNumber = paramMap.get('SerialNumber'); */
this.LoadTaskDetail(this.serialNumber);
// this.LoadRelatedEvents(this.serialNumber);
});
this.LoadTaskDetail(this.serialnumber);
// this.LoadRelatedEvents(this.serialnumber);
this.LoadTaskDetail(this.serialNumber);
// this.LoadRelatedEvents(this.serialNumber);
}
close() {
@@ -91,7 +93,7 @@ export class DespachoPrPage implements OnInit {
async LoadTaskDetail(serial: string) {
this.processes.GetTask(serial).subscribe(res => {
this.processes.GetTask(serial).subscribe((res:fullTask) => {
this.task = {
"SerialNumber": res.serialNumber,
"Folio": res.workflowInstanceDataFields.Subject,
@@ -179,7 +181,7 @@ export class DespachoPrPage implements OnInit {
async executado(note:string, documents:any) {
let body = {
"serialNumber": this.serialnumber,
"serialNumber": this.serialNumber,
"action": "Conhecimento",
"ActionTypeId": 104,
"dataFields": {
@@ -205,7 +207,7 @@ export class DespachoPrPage implements OnInit {
async arquivar(note:string, documents:any){
let body = {
"serialNumber": this.serialnumber,
"serialNumber": this.serialNumber,
"action": "Arquivo",
"ActionTypeId": 95,
"dataFields": {
@@ -232,7 +234,7 @@ export class DespachoPrPage implements OnInit {
async generateDiploma(note:string, documents:any){
let body = {
"serialNumber": this.serialnumber,
"serialNumber": this.serialNumber,
"action": "Reencaminhar",
"ActionTypeId": 99999839,
"dataFields": {
@@ -258,7 +260,7 @@ export class DespachoPrPage implements OnInit {
async concluir(note:string, documents:any){
let body = {
"serialNumber": this.serialnumber,
"serialNumber": this.serialNumber,
"action": "Executado",
"ActionTypeId": 104,
"dataFields": {
@@ -285,7 +287,7 @@ export class DespachoPrPage implements OnInit {
async reexecutar(note:string, documents:any){
let body = {
"serialNumber": this.serialnumber,
"serialNumber": this.serialNumber,
"action": "Reexecutar",
"ActionTypeId": 100000010,
"dataFields": {
@@ -314,7 +316,7 @@ export class DespachoPrPage implements OnInit {
}
sendExpedienteToPending(){
this.processes.SetTaskToPending(this.serialnumber).subscribe(res=>{
this.processes.SetTaskToPending(this.serialNumber).subscribe(res=>{
this.goBack();
this.toastService.successMessage('Processo enviado para pendentes')
},()=>{
@@ -190,51 +190,6 @@ export class DespachosPrPage implements OnInit {
});
}
// old
async openExpedientActionsModal(taskAction: any, task: any) {
//this.modalController.dismiss();
let classs;
if( window.innerWidth <= 800){
classs = 'modal modal-desktop'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
const doc = this.loadedAttachments[ this.dicIndex];
task = {
serialNumber: doc.SourceId,
taskStartDate: doc.CreateDate,
isEvent: true,
workflowInstanceDataFields: {
FsId: doc.ApplicationId,
FolderID: null,
DocId: doc.SourceId,
Subject: doc.SourceName
},
}
const modal = await this.modalController.create({
component: ExpedientTaskModalPage,
componentProps: {
taskAction: taskAction,
task: task,
profile: this.profile,
},
cssClass: classs,
});
await modal.present();
modal.onDidDismiss().then(res=>{
console.log(res['data']);
if(res['data']=='openDiscart'){
console.log('open discart');
// this.distartExpedientModal();
}
});
}
async openBookMeetingModal(task: customFullTask) {
@@ -17,6 +17,7 @@ import { ToastService } from 'src/app/services/toast.service';
import { DespachoService } from 'src/app/Rules/despacho.service'
import { Location } from '@angular/common'
import { fullTask } from 'src/app/models/dailyworktask.model';
import { Attachment, AttachmentList } from 'src/app/models/Excludetask';
@Component({
selector: 'app-despacho',
@@ -190,7 +191,7 @@ export class DespachoPage implements OnInit {
}
}
async arquivar(note:string, documents:any) {
async arquivar(note:string, documents: AttachmentList) {
let body = {
"serialNumber": this.serialnumber,
"action": "Arquivo",
@@ -159,7 +159,7 @@ export class DiplomaAssinarPage implements OnInit {
"dataFields": {
"ReviewUserComment": '',
},
"AttachmentList": [],
"AttachmentList": {},
}
const loader = this.toastService.loading()
@@ -8,8 +8,6 @@ import { momentG } from 'src/plugin/momentG';
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
import { ActivatedRoute, NavigationExtras, Router } from '@angular/router';
import { BookMeetingModalPage } from '../../expediente/book-meeting-modal/book-meeting-modal.page';
import { BadRequestPage } from 'src/app/shared/popover/bad-request/bad-request.page';
import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page';
import { DeplomaOptionsPage } from 'src/app/shared/popover/deploma-options/deploma-options.page';
import { ToastService } from 'src/app/services/toast.service';
import { Location } from '@angular/common';
@@ -125,26 +125,19 @@ export class ExpedientTaskModalPage implements OnInit {
Nad: 30,
Subject: '',
Message: '',
SourceSecFsId: this.task.workflowInstanceDataFields.FsId, //361
SourceType: 'DOC', //FOLDER
SourceId: this.task.workflowInstanceDataFields.DocID, //FolderId
SourceSecFsId: this.task.workflowInstanceDataFields.SourceSecFsID, //361
SourceType: this.task.workflowInstanceDataFields.SourceType, //FOLDER
SourceId: this.task.workflowInstanceDataFields.SourceID, //FolderId
DeadlineType: '',
SubjectTypes: this.selectedTypes,
NumberPDPP: this.task.workflowInstanceDataFields.DispatchNumber,
};
console.log('task 123123', this.task)
console.log('this.aplicationId', this.aplicationId)
if(this.aplicationId == 361) {
this.dispatchFolder.SourceType = 'FOLDER'
this.dispatchFolder.SourceId = this.task.workflowInstanceDataFields.FolderID
} else if(this.aplicationId == 8) {
this.dispatchFolder.SourceType = 'DOC'
this.dispatchFolder.SourceId = this.task.workflowInstanceDataFields.DocId
}
this.postData.DispatchFolder = this.dispatchFolder;
this.postData.UsersSelected = this.participants;
/* By Default TypeDeadline should be 'Normal' */
@@ -152,6 +145,8 @@ export class ExpedientTaskModalPage implements OnInit {
/* Initialize 'Subject' with the title of the expedient */
this.postData.DispatchFolder.Subject = this.task.workflowInstanceDataFields.Subject;
this.profile = this.navParams.get('profile');
console.log(this.postData);
}
async setAdding(type: "intervenient" | "CC") {
@@ -159,7 +154,7 @@ export class ExpedientTaskModalPage implements OnInit {
}
ngOnInit() {
console.log(this.postData);
this.taskDate = new Date(this.task.taskStartDate);
if(!this.task.hasOwnProperty('isEvent')) {
@@ -20,6 +20,7 @@ import { AddNotePage } from 'src/app/modals/add-note/add-note.page';
import { PermissionService } from 'src/app/OtherService/permission.service';
import { SearchDocumentPipe } from 'src/app/pipes/search-document.pipe';
import { ExpedientesService } from 'src/app/Rules/expedientes.service';
import { expedienteTask } from 'src/app/models/dailyworktask.model';
@Component({
selector: 'app-expediente-detail',
@@ -33,7 +34,7 @@ export class ExpedienteDetailPage implements OnInit {
customDate:any;
task: any;
task: expedienteTask;
fulltask: any;
eventsList: Event[];
serialNumber: string;
@@ -256,6 +257,7 @@ export class ExpedienteDetailPage implements OnInit {
"AttachmentsProcessLastInstanceID": res.workflowInstanceDataFields.AttachmentsProcessLastInstanceID,
"InstanceID": res.workflowInstanceDataFields.InstanceID
}
this.fulltask = res;
let thedate = new Date(this.task.CreateDate);
@@ -1,9 +1,7 @@
import { Component, Input, OnInit } from '@angular/core';
import { NavigationEnd, NavigationStart, Router } from '@angular/router';
import { Component, OnInit } from '@angular/core';
import { NavigationStart, Router } from '@angular/router';
import { DailyWorkTask } from '../../../models/dailyworktask.model';
import { ProcessesService } from 'src/app/services/processes.service';
import { ModalController } from '@ionic/angular';
import { AlertService } from 'src/app/services/alert.service';
import { ToastService } from 'src/app/services/toast.service';
import { ExpedienteStorage } from 'src/app/store/expediente-storage-service.service';
@@ -26,8 +24,6 @@ export class ExpedientePage implements OnInit {
constructor(
private processes:ProcessesService,
private modalController: ModalController,
private alertService: AlertService,
private router: Router,
private toastService: ToastService
) {
@@ -18,6 +18,7 @@ import { ToastService } from 'src/app/services/toast.service';
import { SearchPage } from 'src/app/pages/search/search.page';
import { SearchDocument } from 'src/app/models/search-document';
import { Location } from '@angular/common';
import { AttachmentList } from 'src/app/models/Excludetask';
@Component({
selector: 'app-expediente-pr',
@@ -340,14 +341,14 @@ export class ExpedientePrPage implements OnInit {
modal.onDidDismiss().then(res => {
console.log(res);
if(res.data){
const DocumentToSave = res.data.documents.map((e) => {
const DocumentToSave = res.data.documents.map((e:SearchDocument) => {
return {
ApplicationId: e.ApplicationType,
SourceId: e.Id,
}
});
let docs = {
let docs: AttachmentList = {
ProcessInstanceID: "",
Attachments: DocumentToSave,
}
@@ -535,6 +536,7 @@ export class ExpedientePrPage implements OnInit {
}
async openOptions(taskAction?: any) {
const popover = await this.popoverController.create({
component: OptsExpedientePrPage,
cssClass: 'exp-options',
+27 -26
View File
@@ -10,9 +10,6 @@ import WordCloud from 'src/plugin/wordcloud2.js';
import { ViewEventPage } from 'src/app/pages/agenda/view-event/view-event.page';
import { PublicationDetailPage } from '../publications/view-publications/publication-detail/publication-detail.page';
import { DocumentDetailPage } from 'src/app/modals/document-detail/document-detail.page';
import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page';
@Component({
selector: 'app-search',
@@ -626,30 +623,34 @@ export class SearchPage implements OnInit {
}
async openExpedientActionsModal(doc: any) {
// async openExpedientActionsModal(doc: SearchDocument) {
let customTask = {
serialNumber: doc.SourceId,
taskStartDate: doc.CreateDate,
isEvent: true,
workflowInstanceDataFields: {
FsId: doc.ApplicationId,
FolderID: null,
DocId: doc.SourceId,
Subject: doc.SourceName
},
}
// let customTask: task = {
// serialNumber: doc.SourceId,
// taskStartDate: doc.CreateDate,
// isEvent: true,
// workflowInstanceDataFields: {
// FolderID: ,
// Subject: ,
// SourceSecFsID: ,
// SourceType: ,
// SourceID: ,
// FolderID: null,
// DocId: doc.SourceId,
// Subject: doc.SourceName,
// },
// }
const popover = await this.modalController.create({
component: OptsExpedientePage,
cssClass: 'model aside-modal search-submodal',
componentProps: {
fulltask: customTask,
task: customTask
},
//translucent: true
});
return await popover.present();
}
// const popover = await this.modalController.create({
// component: OptsExpedientePage,
// cssClass: 'model aside-modal search-submodal',
// componentProps: {
// fulltask: customTask,
// task: customTask
// },
// //translucent: true
// });
// return await popover.present();
// }
}
+1 -2
View File
@@ -1,6 +1,5 @@
import { Pipe, PipeTransform } from '@angular/core';
import { ExpedientTaskModalPageNavParamsTask } from '../models/ExpedientTaskModalPage';
import { Attachments, FromSearchDocument, SearchDocument, SearchFolder } from '../models/search-document';
import { Attachments, SearchDocument } from '../models/search-document';
@Pipe({
name: 'searchDocument'
+4 -5
View File
@@ -11,6 +11,7 @@ import { AlertController } from '@ionic/angular';
import { LocalstoreService } from '../store/localstore.service';
import { ToastService } from './toast.service';
import { UserStore } from 'src/app/store/user.service'
import { SHA1, SHA256, AES, enc } from 'crypto-js'
@Injectable({
providedIn: 'root'
@@ -48,18 +49,16 @@ export class AuthService {
async login(user: UserForm): Promise<boolean> {
//user.BasicAuthKey = 'Basic ' + btoa(user.username + '@' + user.domainName + ':' + user.password);
// user.BasicAuthKey = 'Basic ' + btoa(user.username + '@' + user.domainName + ':' + user.password);
user.BasicAuthKey = 'Basic ' + btoa(user.username + ':' + user.password); //conversão em base64 das credenciais inseridas
console.log('Basic ' + btoa(user.username + ':' + SHA1(user.password).toString())); //conversão em base64 das credenciais inseridas
const options = { headers: {'Authorization': user.BasicAuthKey }};
this.headers = this.headers.set('Authorization',user.BasicAuthKey);
this.opts = {
headers: this.headers,
}
const service = environment.apiURL + "userauthentication/GetValidateAuth";
let result: boolean | PromiseLike<boolean> = false;
let response: any;
try {
@@ -76,7 +75,7 @@ export class AuthService {
response.BasicAuthKey = user.BasicAuthKey
this.ValidatedUser = response;
console.log('response', response)
// console.log('response', response)
this.localstoreService.set('user', response)
this.userStore.reset(response)
+1 -1
View File
@@ -175,7 +175,7 @@ export class ProcessesService {
return this.http.post<any>(`${geturl}`, body, options)
}
UpdateTaskStatus(FolderId:string): Observable<any>{
UpdateTaskStatus(FolderId:any): Observable<any>{
const geturl = environment.apiURL + 'Tasks/UpdateTaskStatus';
let params = new HttpParams();
@@ -1,5 +1,5 @@
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { AlertController, ModalController, NavParams, PopoverController } from '@ionic/angular';
import { AlertController, ModalController, PopoverController } from '@ionic/angular';
import { Attachment } from 'src/app/models/attachment.model';
import { EventBody } from 'src/app/models/eventbody.model';
import { AttachmentsService } from 'src/app/services/attachments.service';
@@ -7,8 +7,6 @@ import { EventsService } from 'src/app/services/events.service';
import { Event } from 'src/app/models/event.model';
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
import { ProcessesService } from 'src/app/services/processes.service';
import { ExpedientTaskModalPage } from 'src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page';
import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page';
import { OptsExpedientePage } from '../../popover/opts-expediente/opts-expediente.page';
import { ToastService } from 'src/app/services/toast.service';
import { EliminateEventPage } from 'src/app/modals/eliminate-event/eliminate-event.page';
+1 -14
View File
@@ -1,13 +1,11 @@
import { AfterViewChecked, Component, ElementRef, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';
import { AnimationController, ModalController, NavParams, PopoverController } from '@ionic/angular';
import { Status } from 'src/app/models/chat/status.model';
import { AnimationController, ModalController, PopoverController } from '@ionic/angular';
import { AlertService } from 'src/app/services/alert.service';
import { AuthService } from 'src/app/services/auth.service';
import { ChatService } from 'src/app/services/chat.service';
import { ToastService } from 'src/app/services/toast.service';
import { ChatOptionsPopoverPage } from 'src/app/shared/popover/chat-options-popover/chat-options-popover.page';
import { MessagesOptionsPage } from 'src/app/shared/popover/messages-options/messages-options.page';
import { ProfileComponent } from '../../headers/header-no-search/profile/profile.page';
import { ContactsPage } from '../new-group/contacts/contacts.page';
import { Router } from '@angular/router';
import { connection } from 'src/app/services/socket/synchro.service';
@@ -57,17 +55,6 @@ export class MessagesPage implements OnInit, AfterViewChecked, OnChanges {
this.load();
//throw new Error('Method not implemented.');
this.chatService.getRoomMessages(this.roomId).subscribe(async res => {
if (res == 502) {
} else if (res != 200) {
this.messages = res['messages'].reverse();
console.log(this.messages);
}
});
}
ngOnInit() {
@@ -170,7 +170,6 @@ export class DespachosOptionsPage implements OnInit {
async openAddNoteModal(actionName:string) {
alert('AddNotePage')
this.popoverController.dismiss();
let classs;
if( window.innerWidth <= 800){
@@ -24,12 +24,10 @@
</div>
<div *ngIf="task && p.userRole(['PR'])" class="d-flex width-100">
<div class="flex-grow-1">
<button (click)="openExpedientActionsModal('0', fulltask)" class="btn-ok" shape="round" >Efetuar Despacho</button>
<div class="solid"></div>
<button (click)="openExpedientActionsModal('1',fulltask)" class="btn-cancel" shape="round" >Solicitar Parecer</button>
<button (click)="openAddNoteModal('Concluido')" class="btn-cancel" shape="round" >Marcar como Concluído</button>
<button (click)="openAddNoteModal('Reexecução')" class="btn-cancel" shape="round" >Enviar para Reexecução</button>
<button (click)="openBookMeetingModal(task)" class="btn-cancel" shape="round" >Marcar Reunião</button>
<button (click)="sendExpedienteToPending()" *ngIf="task.Status != 'Pending'" class="btn-cancel" shape="round" >Enviar para Pendentes</button>
<div hidden class="solid"></div>
<button hidden class="btn-cancel" shape="round" >Delegar</button>
</div>
</div>
@@ -1,11 +1,7 @@
import { Component, OnInit } from '@angular/core';
import { ProcessesService } from 'src/app/services/processes.service';
import { AttachmentsService } from 'src/app/services/attachments.service';
import { EventsService } from 'src/app/services/events.service';
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
import { ActivatedRoute, NavigationExtras, Router } from '@angular/router';
import { ActivatedRoute, Router } from '@angular/router';
import { ModalController, PopoverController } from '@ionic/angular';
import { AlertService } from 'src/app/services/alert.service';
import { CreateProcessPage } from 'src/app/modals/create-process/create-process.page';
import { DelegarPage } from 'src/app/modals/delegar/delegar.page';
import { AddNotePage } from 'src/app/modals/add-note/add-note.page';
@@ -25,7 +21,7 @@ export class DespachosPrOptionsPage implements OnInit {
task: any;
fulltask: any;
serialnumber: string;
serialNumber: string;
profile: string
constructor(private activateRoute: ActivatedRoute,
@@ -45,10 +41,17 @@ export class DespachosPrOptionsPage implements OnInit {
this.activatedRoute.queryParams.subscribe(params => {
if(params["serialNumber"]) {
this.serialnumber = params["serialNumber"];
this.serialNumber = params["serialNumber"];
console.log(params["serialNumber"]);
}
});
if(this.task.serialNumber) {
this.serialNumber = this.task.serialNumber
} else if(this.task.SerialNumber) {
this.serialNumber = this.task.SerialNumber
}
}
close () {
@@ -90,7 +93,7 @@ export class DespachosPrOptionsPage implements OnInit {
}
sendExpedienteToPending() {
this.processes.SetTaskToPending(this.serialnumber).subscribe(res=>{
this.processes.SetTaskToPending(this.serialNumber).subscribe(res=>{
console.log(res);
this.close();
},()=>{
@@ -169,7 +172,7 @@ export class DespachosPrOptionsPage implements OnInit {
async generateDiploma(note:string, documents:any) {
let body = {
"serialNumber": this.serialnumber,
"serialNumber": this.serialNumber,
"action": "Reencaminhar",
"ActionTypeId": 99999839,
"dataFields": {
@@ -202,7 +205,8 @@ export class DespachosPrOptionsPage implements OnInit {
}
const modal = await this.modalController.create({
component: AddNotePage,
componentProps:{
componentProps: {
showAttachmentBtn: true
},
cssClass: classs,
backdropDismiss: true
@@ -250,7 +254,7 @@ export class DespachosPrOptionsPage implements OnInit {
async arquivar(note:string, documents:any){
let body = {
"serialNumber": this.serialnumber,
"serialNumber": this.serialNumber,
"action": "Arquivo",
"ActionTypeId": 95,
"dataFields": {
@@ -276,7 +280,7 @@ export class DespachosPrOptionsPage implements OnInit {
async executado(note:string, documents:any){
let body = {
"serialNumber": this.serialnumber,
"serialNumber": this.serialNumber,
"action": "Conhecimento",
"ActionTypeId": 104,
"dataFields": {
@@ -302,7 +306,7 @@ export class DespachosPrOptionsPage implements OnInit {
async reexecutar(note:string, documents:any){
let body = {
"serialNumber": this.serialnumber,
"serialNumber": this.serialNumber,
"action": "Reexecutar",
"ActionTypeId": 100000010,
"dataFields": {
@@ -326,7 +330,6 @@ export class DespachosPrOptionsPage implements OnInit {
goBack() {
this.location.back()
this.cancle()
}
cancle() {
@@ -61,6 +61,10 @@ export class OptsExpedientePrPage implements OnInit {
if(this.task.Status != 'Pending'){
this.showEnviarPendentes = true;
}
console.log('OptsExpedientePrPage ---- ', this.task);
}
ngOnInit() {
@@ -86,6 +90,7 @@ export class OptsExpedientePrPage implements OnInit {
const modal = await this.modalController.create({
component: AddNotePage,
componentProps:{
showAttachmentBtn: false,
},
cssClass: classs,
backdropDismiss: true
@@ -271,7 +276,6 @@ export class OptsExpedientePrPage implements OnInit {
task: task,
profile: this.profile,
fulltask: this.fulltask,
aplicationId: 361
},
cssClass: classs,
});
@@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, NavigationExtras, Router } from '@angular/router';
import { ModalController, NavParams, PopoverController } from '@ionic/angular';
import { AddNotePage } from 'src/app/modals/add-note/add-note.page';
import { customTask, expedienteTask, fullTask } from 'src/app/models/dailyworktask.model';
import { SearchDocument } from 'src/app/models/search-document';
import { PermissionService } from 'src/app/OtherService/permission.service';
import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page';
@@ -19,7 +20,8 @@ import { ToastService } from 'src/app/services/toast.service';
styleUrls: ['./opts-expediente.page.scss'],
})
export class OptsExpedientePage implements OnInit {
task:any;
task: expedienteTask
fulltask: any;
profile:string;
caller:string;
@@ -42,7 +44,7 @@ export class OptsExpedientePage implements OnInit {
this.task = this.navParams.get('task');
this.fulltask = this.navParams.get('fulltask');
if(this.task.Status != 'Pending'){
if(this.task.Status != 'Pending') {
this.showEnviarPendentes = true;
}
}
@@ -214,7 +216,7 @@ export class OptsExpedientePage implements OnInit {
async sendToReview(note:string, documents:any) {
let body = {
"serialNumber": this.task.serialnumber || this.task.SerialNumber,
"serialNumber": this.task.SerialNumber,
"action": "Retificar",
"ActionTypeId": 99999877,
"dataFields": {
@@ -248,7 +250,7 @@ export class OptsExpedientePage implements OnInit {
async approve(note:string, documents:any){
let body = {
"serialNumber": this.task.serialnumber || this.task.SerialNumber,
"serialNumber": this.task.SerialNumber,
"action": "Aprovar",
"ActionTypeId": 100000004 ,
"dataFields": {
@@ -38,7 +38,8 @@
<button (click)="sendExpedienteToPending()" *ngIf="task.Status != 'Pending'" class="btn-cancel" shape="round" >Enviar para Pendentes</button>
</div>
</div>
<div *ngIf="task.WorkflowName == 'Pedido de Parecer'">
<div *ngIf="task.WorkflowName == 'Pedido de Parecer' || task.WorkflowName == 'Pedido de Parecer do Presidente' ">
<div class="buttons" *ngIf="task.activityInstanceName == 'Tarefa de Parecer'">
<button (click)="openDarParecer(task)" class="btn-cancel" shape="round" >Dar o meu Parecer</button>
<button (click)="openBookMeetingModal(task)" class="btn-cancel" shape="round" >Marcar Reunião</button>
@@ -196,6 +196,7 @@ export class RequestOptionsPage implements OnInit {
const modal = await this.modalController.create({
component: AddNotePage,
componentProps:{
showAttachmentBtn: true,
},
cssClass: classs,
backdropDismiss: true
@@ -1,12 +1,6 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { ModalController, NavParams, PopoverController } from '@ionic/angular';
import { DocumentSetUpMeetingPage } from 'src/app/modals/document-set-up-meeting/document-set-up-meeting.page';
import { ExpedientTaskModalPageNavParamsTask } from 'src/app/models/ExpedientTaskModalPage';
import { PermissionService } from 'src/app/OtherService/permission.service';
import { ExpedientTaskModalPage } from 'src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page';
import { ProcessesService } from 'src/app/services/processes.service';
import { ToastService } from 'src/app/services/toast.service';
@Component({
selector: 'app-searched-document-options',
@@ -0,0 +1,16 @@
import { TestBed } from '@angular/core/testing';
import { ChatMessageService } from './chat-message.service';
describe('ChatMessageService', () => {
let service: ChatMessageService;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(ChatMessageService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
});
+42
View File
@@ -0,0 +1,42 @@
import { Injectable } from '@angular/core';
import { localstoreService } from './localstore.service'
import { SHA1 } from 'crypto-js'
@Injectable({
providedIn: 'root'
})
export class ChatMessageService {
private _message = []
// local storage keyName
private keyName: string;
constructor() {
this.keyName = (SHA1(this.constructor.name)).toString()
setTimeout(()=> {
let restore = localstoreService.get(this.keyName, {})
this._message = restore.message || {}
}, 10)
}
getMessages(roomId) {
return this._message[roomId] || []
}
add(roomId, message) {
this._message[roomId] = message
setTimeout(()=> {
localstoreService.set(this.keyName, {
message: this._message
})
}, 5000)
}
}
export const ChatMessageStore = new ChatMessageService()
+2
View File
@@ -59,6 +59,8 @@ export class LocalstoreService {
export const localstoreService = new LocalstoreService()
// console.log( AES.encrypt( 'peter', 'v14-dba29fd8bdbf24ffe4840b0f778f70f6a163d424').toString())
// // Create WebSocket connection.
// const socket = new WebSocket('ws://localhost:8080');