mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-20 21:35:50 +00:00
Merge branch 'developer' of https://bitbucket.org/equilibriumito/gabinete-digital into developer
This commit is contained in:
@@ -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">
|
||||
|
||||
@@ -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');
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
+1
-1
@@ -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';
|
||||
|
||||
+9
-14
@@ -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')) {
|
||||
|
||||
+3
-1
@@ -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',
|
||||
|
||||
@@ -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,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'
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,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();
|
||||
});
|
||||
});
|
||||
@@ -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()
|
||||
@@ -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');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user