diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index db15a8c96..8241a1edf 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -276,6 +276,14 @@ const routes = [ { path: 'tiny-mce', loadChildren: () => import('./tiny-mce/tiny-mce.module').then( m => m.TinyMCEPageModule) + }, + { + path: 'task-detail-content', + loadChildren: () => import('./shared/gabinete-digital/generic/task-detail-content/task-detail-content.module').then( m => m.TaskDetailContentPageModule) + }, + { + path: 'task-detail-header', + loadChildren: () => import('./shared/gabinete-digital/generic/task-detail-header/task-detail-header.module').then( m => m.TaskDetailHeaderPageModule) } diff --git a/src/app/models/Expediente.ts b/src/app/models/Expediente.ts index f44c74f2d..8304897dc 100644 --- a/src/app/models/Expediente.ts +++ b/src/app/models/Expediente.ts @@ -4,6 +4,8 @@ export interface ExpedienteFullTaskWorkflowInstanceDataFields { Sender: string; Subject: string; Status: string; + TaskMessage: string + InstanceID: string } export interface ExpedienteFullTask { @@ -17,4 +19,5 @@ export interface ExpedienteFullTask { TaskStatus: string; taskReceiveDate: string workflowInstanceDataFields: ExpedienteFullTaskWorkflowInstanceDataFields; + } \ No newline at end of file diff --git a/src/app/models/beast-orm.ts b/src/app/models/beast-orm.ts index d0ce2096a..0aa850763 100644 --- a/src/app/models/beast-orm.ts +++ b/src/app/models/beast-orm.ts @@ -45,59 +45,59 @@ export class DeleteMessageModel extends models.Model { } models.register({ - databaseName: 'chat-storage'+environment.version.lastCommitNumber + environment.id, + databaseName: 'chat-storage'+environment.version.lastCommitNumber + environment.id + Number(environment.storageProduction), type: 'indexedDB', version: 11, models: [MessageModel, DeleteMessageModel, attachments] }) -// acçoes -export class ActionModel extends models.Model{ - ProcessId = models.IntegerField({unique: true}) - Description = models.CharField() - Detail = models.CharField() - DateBegin = models.CharField() - DateEnd = models.CharField() - ActionType = models.CharField() -} +// // acçoes +// export class ActionModel extends models.Model{ +// ProcessId = models.IntegerField({unique: true}) +// Description = models.CharField() +// Detail = models.CharField() +// DateBegin = models.CharField() +// DateEnd = models.CharField() +// ActionType = models.CharField() +// } -export class PublicationFolderModel extends models.Model{ - DateBegin = models.CharField() - Description = models.CharField() - Detail = models.CharField() -} +// export class PublicationFolderModel extends models.Model{ +// DateBegin = models.CharField() +// Description = models.CharField() +// Detail = models.CharField() +// } -export class PublicationDetailsModel extends models.Model{ - DateIndex = models.CharField() - DocumentId = models.IntegerField({unique: true}) - ProcessId = models.CharField() - Title = models.CharField() - Message = models.CharField() - DatePublication = models.CharField() - OriginalFileName = models.CharField() - FileBase64 = models.CharField() - FileExtension = models.CharField() - OrganicEntityId = models.IntegerField() -} +// export class PublicationDetailsModel extends models.Model{ +// DateIndex = models.CharField() +// DocumentId = models.IntegerField({unique: true}) +// ProcessId = models.CharField() +// Title = models.CharField() +// Message = models.CharField() +// DatePublication = models.CharField() +// OriginalFileName = models.CharField() +// FileBase64 = models.CharField() +// FileExtension = models.CharField() +// OrganicEntityId = models.IntegerField() +// } -export class WebtrixUserModel extends models.Model { - FullName = models.CharField() - Role = models.CharField() -} +// export class WebtrixUserModel extends models.Model { +// FullName = models.CharField() +// Role = models.CharField() +// } -models.register({ - databaseName: 'webtrix'+environment.version.lastCommitNumber + environment.id, - type: 'indexedDB', - version: 1, - models: [WebtrixUserModel] -}) +// models.register({ +// databaseName: 'webtrix'+environment.version.lastCommitNumber + environment.id + Number(environment.storageProduction), +// type: 'indexedDB', +// version: 1, +// models: [WebtrixUserModel] +// }) -models.register({ - databaseName: 'actions'+environment.version.lastCommitNumber + environment.id, - type: 'indexedDB', - version: 14, - models: [PublicationDetailsModel, ActionModel, PublicationFolderModel] -}) +// models.register({ +// databaseName: 'actions'+environment.version.lastCommitNumber + environment.id + Number(environment.storageProduction), +// type: 'indexedDB', +// version: 14, +// models: [PublicationDetailsModel, ActionModel, PublicationFolderModel] +// }) diff --git a/src/app/models/dailyworktask.model.ts b/src/app/models/dailyworktask.model.ts index 397ecde30..3ee1e9070 100644 --- a/src/app/models/dailyworktask.model.ts +++ b/src/app/models/dailyworktask.model.ts @@ -149,6 +149,9 @@ export class customTask { TaskStatus: string TaskReceiveDate: string Subject: string + Note: string + InstanceID: string + } @@ -186,6 +189,8 @@ export interface ExpedienteTask { Deadline: string TaskStatus: string TaskReceiveDate: string + Note: string + InstanceID: string } diff --git a/src/app/pages/agenda/edit-event/edit-event.page.html b/src/app/pages/agenda/edit-event/edit-event.page.html index db20ff16f..c2bc7d772 100644 --- a/src/app/pages/agenda/edit-event/edit-event.page.html +++ b/src/app/pages/agenda/edit-event/edit-event.page.html @@ -31,6 +31,19 @@ +
+
+
+ +
+
+ + + +
+
+
+
@@ -58,15 +71,13 @@
-
+
- - - Agenda Oficial - - - Agenda Pessoal + + + + Agenda {{ calendars }} diff --git a/src/app/pages/agenda/edit-event/edit-event.page.ts b/src/app/pages/agenda/edit-event/edit-event.page.ts index e5d4aefe6..d949e5635 100644 --- a/src/app/pages/agenda/edit-event/edit-event.page.ts +++ b/src/app/pages/agenda/edit-event/edit-event.page.ts @@ -16,7 +16,7 @@ import { NgxMatDateFormats } from '@angular-material-components/datetime-picker' import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; import { SessionStore } from 'src/app/store/session.service'; import { HttpErrorHandle } from 'src/app/services/http-error-handle.service' - +import { environment } from 'src/environments/environment'; const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { parse: { @@ -57,6 +57,9 @@ export class EditEventPage implements OnInit { recurringTypes: any; selectedRecurringType: any; + CalendarNameOwnerName = '' + CalendarNamesOptions = [] + public date: any; public disabled = false; public showSpinners = true; @@ -82,11 +85,12 @@ export class EditEventPage implements OnInit { public stepSeconds = [1, 5, 10, 15, 20, 25]; sesseionStora = SessionStore - + environment = environment + constructor( private modalController: ModalController, private navParams: NavParams, - private eventsService: EventsService, + public eventsService: EventsService, public alertController: AlertController, private attachmentsService: AttachmentsService, private toastService: ToastService, @@ -134,6 +138,9 @@ export class EditEventPage implements OnInit { this.getAttachments(this.postEvent.EventId); + + this.CalendarNameOwnerName = this.eventsService.detectCalendarNameByCalendarId(this.postEvent.CalendarId) + this.changeAgenda() } ngOnInit() { @@ -559,4 +566,27 @@ export class EditEventPage implements OnInit { await modal.present(); } + + changeAgenda() { + + setTimeout(() => { + + if(this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Oficial'] && this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Pessoal']) { + + this.CalendarNamesOptions = ['Oficial', 'Pessoal'] + + } else if (this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Oficial']) { + this.CalendarNamesOptions = ['Oficial'] + this.postEvent.CalendarName = 'Oficial' + + } else if (this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Pessoal']) { + this.CalendarNamesOptions = ['Pessoal'] + this.postEvent.CalendarName = 'Pessoal' + + } else { + this.CalendarNamesOptions = ['Oficial', 'Pessoal'] + } + }, 50) + + } } diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.module.ts b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.module.ts index 02ebaf9aa..c630266a4 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.module.ts +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.module.ts @@ -9,6 +9,7 @@ import { DiplomaAssinarPageRoutingModule } from './diploma-assinar-routing.modul import { DiplomaAssinarPage } from './diploma-assinar.page'; import { SharedModule } from 'src/app/shared/shared.module'; import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module'; +import { TaskDetailsPageModule } from 'src/app/shared/gabinete-digital/generic/task-details/task-details.module'; @NgModule({ imports: [ @@ -18,6 +19,7 @@ import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn- DiplomaAssinarPageRoutingModule, BtnModalDismissPageModule, + TaskDetailsPageModule ], declarations: [DiplomaAssinarPage] }) diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.html b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.html index a1397b0c6..17366ffb0 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.html +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.html @@ -86,6 +86,10 @@
+
+ +
+
diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts index cdc96b4c2..bd846a6fb 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts @@ -203,9 +203,13 @@ export class DiplomaAssinarPage implements OnInit { "action": "Assinado", "ActionTypeId": 99999842, "dataFields": { + "DraftIds": "", "ReviewUserComment": '', + "InstanceIDNew": this.task.InstanceID, + }, + "AttachmentList": { + "ProcessInstanceID": this.task.InstanceID }, - "AttachmentList": {}, } const loader = this.toastService.loading() @@ -225,6 +229,31 @@ export class DiplomaAssinarPage implements OnInit { } + async AssinarNew() { + let body = { + "InstanceId": this.task.InstanceID, + "FolderId": this.task.FolderID, + "DraftIds": "163;164;77", + "OriginalFileName": "Doc1;Doc2;Doc3" + } + + const loader = this.toastService.loading() + + try { + await this.processes.presidentialActionsSignature(body).toPromise() + + this.httpErroHandle.httpsSucessMessagge('Assinado') + this.TaskService.loadDiplomas() + this.goBack(); + } catch (error) { + this.httpErroHandle.httpStatusHandle(error) + } + finally { + loader.remove() + } + + } + async openAddNoteModal(actionName: string) { let classs; diff --git a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.module.ts b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.module.ts index 60b2c31f3..f2afb676a 100644 --- a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.module.ts +++ b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.module.ts @@ -9,6 +9,7 @@ import { DiplomaPageRoutingModule } from './diploma-routing.module'; import { DiplomaPage } from './diploma.page'; import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module'; import { DiplomaOptionsPage } from 'src/app/shared/popover/deploma-options/deploma-options.page'; +import { TaskDetailsPageModule } from 'src/app/shared/gabinete-digital/generic/task-details/task-details.module'; @NgModule({ imports: [ @@ -17,6 +18,7 @@ import { DiplomaOptionsPage } from 'src/app/shared/popover/deploma-options/deplo IonicModule, DiplomaPageRoutingModule, BtnModalDismissPageModule, + TaskDetailsPageModule ], entryComponents: [ DiplomaPage, diff --git a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.html b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.html index 6506ece5a..af7b7ee99 100644 --- a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.html +++ b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.html @@ -1,82 +1,20 @@ +
-
-
-
-
- - - -
-
- {{ task.Folio}} -
-
- - - - -
-
-
-
-
- -

{{customDate}}

-
- -

{{ task.DeadlineType }}

-
- -

{{ task.activityInstanceName }}

-
-
-
-
-
-
Intervenientes
- - -
-

{{interveniente.Name}}

-
-
-
-
-
Com conhecimento
- - -
-

{{c.Name}}

-
-
-
-
-
-
Detalhes
- -
{{ fulltask.workflowInstanceDataFields.TaskMessage }} 
-
-
-
-
- -
Documentos Anexados
- - -

{{ attachment.Assunto }} Rascunho

-

{{ attachment.DocNumber }}

-

{{attachment.Sender}}{{ attachment.DocDate | date: 'dd/MM/yy' }}

-
-
-
-
-
+ + +
diff --git a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.scss b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.scss index 402f6b1c7..938ba3388 100644 --- a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.scss +++ b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.scss @@ -5,170 +5,17 @@ border-top-right-radius: 25px; } .content{ - padding: 30px 20px 0 20px !important; margin: 0; float: left; } -.color-red{ - font-weight: 500; - color:#d30a0a !important; -} -.btn-size{ - font-size: rem(18) !important; -} -.document-type{ - color: #d30a0a; - margin-left: 20px; - font-size: medium; - font-size: rem(15); -} -.main-header{ - overflow: inherit !important; - overflow: inherit; - font-family: Roboto; - border-top-left-radius: 25px; - border-top-right-radius: 25px; - background-color: #fff; - overflow:auto; - color:#000; - transform: translate3d(0, 1px, 0); - .header-top{ - margin: 0px auto; - overflow: auto; - padding: 0 !important; - background: #fff; - .middle{ - padding: 0!important; - float: left; - width: 280px; - margin: 2.5px 0 0 5px; - display: flex; - align-items: center; - } - .right{ - padding: 0!important; - float: right; - font-size: rem(25); - color: #0782c9; - margin: 5px 0 0 0; - } - } - .header-bottom{ - width: 310px; - overflow: auto; - margin: 0 auto; - .header-bottom-icon{ - width: rem(30); - font-size: rem(25); - float: left; - padding: 2px; - } - .header-bottom-contacts{ - width: 275px; - font-size: rem(15); - color: #797979; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - float: left; - padding: 5px; - margin: 1px; - } - } - - .title{ - font-size: rem(25); - overflow: auto; - float: left; - padding-top: 4px; - padding-left: 5px; - } - .div-icon{ - width: rem(40); - float: right; - font-size: rem(35); - overflow: auto; - padding: 1px; - } -} -ion-item-group{ - margin: 15px; -} ion-button{ display: block; width: 80%; margin: 20px auto; } - -.upper-content{ - font-family: Roboto; - margin-left: 36px; - font-size: rem(18); - - .label{ - border-radius: 20px; - background: var(--label-bg-color); - float: right; - padding: 5px 13.5px 5px 13.5px; - color: #fff; - font-size: rem(14); - } - - .button-calendar-type ion-button{ - height: rem(25); - } - .content-details{ - font-size: rem(17); - .date{ - color: #797979; - } - } -} -.middle-conten{ - .middle-content p{ - font-size: rem(16); - } -} -.bottom-content{ - //width: 360px; - margin: 0 auto; - - .bottom-content h3{ - font-size: rem(16); - margin: 0 0 0 10px; - } - .attach-document{ - font-size: rem(15); - color: var(--title-text-color); - margin: 5px 5px 5px 10px; - padding: 5px; - float: left; - } - .attach-icon{ - width: 37px; - font-size: rem(35); - float: left; - } - .attach-title-item{ - font-size: rem(18); - width: 100%; - color:#0d89d1; - padding-bottom: 5px; - } - /* SPAN */ - .span-left{ - float: left; - font-size: rem(15); - } - .span-right{ - text-align: right; - float: right; - font-size: rem(13); - } -} .aside-right{ padding: 30px 20px 0 20px !important; diff --git a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts index 83686c4d4..33d9a7b44 100644 --- a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts +++ b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts @@ -84,7 +84,8 @@ export class DiplomaPage implements OnInit { } - async openOptions(taskAction?: any) { + async openOptions() { + const popover = await this.popoverController.create({ component: DiplomaOptionsPage, cssClass: 'exp-options', @@ -92,7 +93,6 @@ export class DiplomaPage implements OnInit { serialNumber: this.serialNumber, task: this.task, fulltask: this.fulltask, - taskAction: taskAction, showEnviarPendentes: false }, translucent: true @@ -190,7 +190,7 @@ export class DiplomaPage implements OnInit { } - async viewDocument(DocId: string, Document, content) { + async viewDocument({Document, content}) { if (Document.content == "") { const modal = await this.modalController.create({ diff --git a/src/app/pages/gabinete-digital/diplomas/diplomas.page.html b/src/app/pages/gabinete-digital/diplomas/diplomas.page.html index 0d8ed6918..bacf17fe7 100644 --- a/src/app/pages/gabinete-digital/diplomas/diplomas.page.html +++ b/src/app/pages/gabinete-digital/diplomas/diplomas.page.html @@ -1,7 +1,4 @@ - - - + + +
diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.ts b/src/app/pages/gabinete-digital/gabinete-digital.page.ts index 0524e36c6..ce897623f 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.ts +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.ts @@ -100,7 +100,6 @@ export class GabineteDigitalPage implements OnInit { @ViewChild('scroll') scroll: ElementRef; constructor( - private modalController: ModalController, private router: Router, public waitForDomService: WaitForDomService, public ThemeService: ThemeService, @@ -112,7 +111,6 @@ export class GabineteDigitalPage implements OnInit { window.onresize = (event) => { if (window.innerWidth < 701) { - this.modalController.dismiss(); this.hideRefreshBtn = false; this.hideInMobile = false; this.segmentVista = "listview"; @@ -197,54 +195,63 @@ export class GabineteDigitalPage implements OnInit { this.hideRefreshButton(); + + + + + + (async () => { + await this.loadAllProcesses() + this.TaskService.registerCallback({ + id: import.meta.url, + funx:() => { + this.dynamicSearch() + } + }) + })(); + + this.checkFilter(); + this.checkRoutes(); + this.dynamicSearch() + + + const pathname = '/home/gabinete-digital' + this.router.events.forEach((event) => { + if (event instanceof NavigationEnd && event.url.includes(pathname) && !event.url.includes('/home/gabinete-digital/')) { + this.waitForDomService.selector({ + selector: 'app-gabinete-digital ion-content .aside-wrapper', + callback: () => { + if(this.NotificationsService.active === false) { + this.checkRoutes(); + // this.LoadCounts(); + this.checkFilter() + } else { + this.checkRoutes(); + // this.LoadCounts(); + this.checkFilter() + } + + this.mobile() + } + }) + } + }); } ngAfterViewInit(): void { - // We can access the TestComponent now that this portion of the view tree has been initiated. - const element = this.scroll.nativeElement - this.scroll.nativeElement.addEventListener("scroll", (e)=> { - this.changeTab() - }); + try { + // We can access the TestComponent now that this portion of the view tree has been initiated. + const element = this.scroll.nativeElement + this.scroll.nativeElement.addEventListener("scroll", (e)=> { + this.changeTab() + }); + + } catch(error) { + + } - (async () => { - await this.loadAllProcesses() - this.TaskService.registerCallback({ - id: import.meta.url, - funx:() => { - this.dynamicSearch() - } - }) - })(); - - this.checkFilter(); - this.checkRoutes(); - this.dynamicSearch() - - - const pathname = '/home/gabinete-digital' - this.router.events.forEach((event) => { - if (event instanceof NavigationEnd && event.url.includes(pathname) && !event.url.includes('/home/gabinete-digital/')) { - this.waitForDomService.selector({ - selector: 'app-gabinete-digital ion-content .aside-wrapper', - callback: () => { - if(this.NotificationsService.active === false) { - this.checkRoutes(); - // this.LoadCounts(); - this.checkFilter() - } else { - this.checkRoutes(); - // this.LoadCounts(); - this.checkFilter() - } - - this.mobile() - } - }) - } - }); - } diff --git a/src/app/pages/publications/publications.page.ts b/src/app/pages/publications/publications.page.ts index d2bf64958..7a3950dfc 100644 --- a/src/app/pages/publications/publications.page.ts +++ b/src/app/pages/publications/publications.page.ts @@ -13,7 +13,8 @@ import { EditActionPage } from './edit-action/edit-action.page'; import { ToastService } from 'src/app/services/toast.service'; import { ThemeService } from 'src/app/services/theme.service' import { PermissionService } from 'src/app/services/permission.service'; -import { ActionModel } from 'src/app/models/beast-orm'; +import { Storage } from '@ionic/storage'; +// import { ActionModel } from 'src/app/models/beast-orm'; @Component({ @@ -64,6 +65,7 @@ export class PublicationsPage implements OnInit { private toastService: ToastService, public ThemeService: ThemeService, public p: PermissionService, + private storage: Storage, ) { this.months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]; @@ -141,25 +143,27 @@ export class PublicationsPage implements OnInit { const folders: PublicationFolder[] = this.getPublicationFolderMap(res) this.publicationsEventFolderList = folders.filter((e)=>e.ActionType == 'Evento') + + await this.storage.set('actionsEvents', this.publicationsEventFolderList); this.showLoader = false; - (async ()=> { + // (async ()=> { - const created = await ActionModel.create(folders) - const stored = await ActionModel.all() + // const created = await ActionModel.create(folders) + // const stored = await ActionModel.all() - const notPresentOnTheRequest: ActionModel[] = stored.filter(e => { - return !folders.find(b => e.ProcessId == b.ProcessId) - }) + // const notPresentOnTheRequest: ActionModel[] = stored.filter(e => { + // return !folders.find(b => e.ProcessId == b.ProcessId) + // }) - for (let ActionModelToDelete of notPresentOnTheRequest) { - ActionModelToDelete.delete() - } + // for (let ActionModelToDelete of notPresentOnTheRequest) { + // ActionModelToDelete.delete() + // } - // console.log({created, stored, folders, toDeletes}) + // // console.log({created, stored, folders, toDeletes}) - })() + // })() }, (error) => { @@ -184,9 +188,31 @@ export class PublicationsPage implements OnInit { async getFromDB() { - const folders: PublicationFolder[] = await ActionModel.all() - this.showLoader = false; - this.publicationsEventFolderList = folders + //const folders: PublicationFolder[] = await ActionModel.all() + //this.showLoader = false; + // this.publicationsEventFolderList = folders + + + this.storage.get('actionsEvents').then((events = []) => { + + if(Array.isArray(events)) { + const folders: PublicationFolder[] = this.getPublicationFolderMap(events) + + this.showLoader = false; + this.publicationsEventFolderList = folders + } + + }); + this.storage.get('actionsViagens').then((viagens = []) => { + + if(Array.isArray(viagens)) { + const folders: PublicationFolder[] = this.getPublicationFolderMap(viagens) + + this.publicationsTravelFolderList = folders + this.showLoader = false; + } + + }); } diff --git a/src/app/pages/search/search.page.html b/src/app/pages/search/search.page.html index 5ad393b93..9c84bb496 100644 --- a/src/app/pages/search/search.page.html +++ b/src/app/pages/search/search.page.html @@ -12,11 +12,11 @@
-
+
-
+
@@ -147,7 +147,7 @@
-
+
+ +
+
+
+ +
+
+ +
+
+ + + +
+
@@ -64,11 +81,8 @@ - - Oficial - - - Pessoal + + Agenda {{ calendars }} diff --git a/src/app/shared/agenda/edit-event/edit-event.page.ts b/src/app/shared/agenda/edit-event/edit-event.page.ts index b8a3f412a..e95bfd286 100644 --- a/src/app/shared/agenda/edit-event/edit-event.page.ts +++ b/src/app/shared/agenda/edit-event/edit-event.page.ts @@ -86,6 +86,9 @@ export class EditEventPage implements OnInit { private participantsPipe = new ParticipantsPipe() sesseionStora = SessionStore + CalendarNameOwnerName = '' + CalendarNamesOptions = [] + constructor( private modalController: ModalController, private eventsService: EventsService, @@ -131,6 +134,9 @@ export class EditEventPage implements OnInit { }, 500); + this.CalendarNameOwnerName = this.eventsService.detectCalendarNameByCalendarId(this.postEvent.CalendarId) + this.changeAgenda() + } ngOnChanges(changes: any): void { @@ -512,4 +518,27 @@ export class EditEventPage implements OnInit { } + changeAgenda() { + + setTimeout(() => { + + if(this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Oficial'] && this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Pessoal']) { + + this.CalendarNamesOptions = ['Oficial', 'Pessoal'] + + } else if (this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Oficial']) { + this.CalendarNamesOptions = ['Oficial'] + this.postEvent.CalendarName = 'Oficial' + + } else if (this.eventsService.calendarNamesType[this.CalendarNameOwnerName]?.['Pessoal']) { + this.CalendarNamesOptions = ['Pessoal'] + this.postEvent.CalendarName = 'Pessoal' + + } else { + this.CalendarNamesOptions = ['Oficial', 'Pessoal'] + } + }, 50) + + } + } diff --git a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html index 698d2198a..ee352f766 100644 --- a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html +++ b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html @@ -4,39 +4,6 @@
- - - -
diff --git a/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content-routing.module.ts b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content-routing.module.ts new file mode 100644 index 000000000..4ef08a485 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { TaskDetailContentPage } from './task-detail-content.page'; + +const routes: Routes = [ + { + path: '', + component: TaskDetailContentPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class TaskDetailContentPageRoutingModule {} diff --git a/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.module.ts b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.module.ts new file mode 100644 index 000000000..b24c0b9ea --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { TaskDetailContentPageRoutingModule } from './task-detail-content-routing.module'; + +import { TaskDetailContentPage } from './task-detail-content.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + TaskDetailContentPageRoutingModule + ], + declarations: [TaskDetailContentPage], + exports: [TaskDetailContentPage] +}) +export class TaskDetailContentPageModule {} diff --git a/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.html b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.html new file mode 100644 index 000000000..b47a73f98 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.html @@ -0,0 +1,41 @@ + +
+
+
Intervenientes
+ + +
+

{{interveniente.Name}}

+
+
+
+
+
Com conhecimento
+ + +
+

{{c.Name}}

+
+
+
+
+
+
Detalhes
+ +
{{ task.Note }} 
+
+
+
+
+ +
Documentos Anexados
+ + +

{{ Document.Assunto || "Sem assunto" }}

+

{{ Document.Sender}}{{ Document.DocDate | date: 'dd-MM-yyyy HH:mm' }}

+
+
+
+
+
+
\ No newline at end of file diff --git a/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.scss b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.scss new file mode 100644 index 000000000..7c4765356 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.scss @@ -0,0 +1,206 @@ +@import '~src/function.scss'; + +ion-header, ion-content { + background: white; +} + +:host { + background-color: white; +} + +.main-content{ + background-color: #fff !important; + border-top-left-radius: 25px; + border-top-right-radius: 25px; +} +.content{ + padding: 30px 20px 0 20px !important; + margin: 0; + float: left; +} +.color-red{ + font-weight: 500; + color:#d30a0a !important; +} +.btn-size{ + font-size: rem(18) !important; +} +.main-header{ + overflow: inherit !important; + display: flex; + font-family: Roboto; + background-color: #fff; + color:#000; + transform: translate3d(0, 1px, 0); + .title-content{ + display: flex; + justify-content: start !important; + align-items: flex-start !important; + border-radius: 0 !important; + } + .title{ + width: fit-content; + height: auto; + font-size: rem(25); + overflow: auto; + float: left; + padding-left: 5px; + } + .div-icon{ + width: 40px !important; + font-size: rem(35) !important; + text-align: start !important; + padding: 1px; + } +} +ion-item-group{ + margin: 15px; +} +ion-button{ + display: block; + width: 80%; + margin: 20px auto; +} + +.upper-content{ + font-family: Roboto; + margin-left: 41px; + font-size: rem(18); + + .label{ + border-radius: 20px; + background: var(--label-bg-color); + float: right; + padding: 5px 13.5px 5px 13.5px; + color: #fff; + font-size: rem(14); + } + + .button-calendar-type ion-button{ + height: rem(25); + } + .content-details{ + font-size: rem(17); + .date{ + color: #797979; + } + } +} +.middle-conten{ + .middle-content p{ + font-size: rem(16); + } +} +.bottom-content{ + //width: 360px; + margin: 0 auto; + + .bottom-content h3{ + font-size: rem(16); + margin: 0 0 0 10px; + } + .attach-document{ + font-size: rem(15); + color: var(--title-text-color); + margin: 5px 5px 5px 10px; + padding: 5px; + float: left; + } + .attach-icon{ + width: 37px; + font-size: rem(35); + float: left; + } + .attach-title-item{ + font-size: rem(18); + width: 100%; + color:#0d89d1; + padding-bottom: 5px; + } + /* SPAN */ + .span-left{ + float: left; + font-size: rem(15); + } + .span-right{ + text-align: right; + float: right; + font-size: rem(13); + } +} +.aside-right{ + padding: 30px 20px 0 20px !important; + + .arrow-right{ + display: flex; + justify-content: flex-end; + margin-bottom: 20px; + + .arrow-right-icon{ + width: 37px; + float: right; + font-size: rem(35); + overflow: hidden; + } + } + .buttons{ + display: flex; + flex-wrap: wrap; + justify-content: space-between; + + .btn-ok, .btn-cancel, .btn-delete{ + height: auto !important; + font-size: rem(16) !important; + width: 100% !important; + margin-bottom: 10px !important; + padding: 15px !important; + } + } + .solid { + display: block; + width: 90%; + border-top: 1px solid #ebebeb; + margin: 0 auto !important; + margin-bottom: 10px !important; + } +} + +@media only screen and (max-width: 800px) { + .content{ + width: 100% !important; + } + .aside-right{ + display: none; + } +} +@media only screen and (min-width: 801px) { + .div-icon{ + display: none; + } + .content{ + width: 65%; + border-right: 1px solid #d8d8d8; + } + + .aside-right{ + width: 35%; + } +} + +@media only screen and (min-width: 1024px){ + .content{ + width: 70%; + } + .aside-right{ + width: 30%; + } +} + +@media only screen and (min-width: 1140px){ + .content{ + width: 75%; + } + .aside-right{ + width: 25%; + } +} diff --git a/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.spec.ts b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.spec.ts new file mode 100644 index 000000000..6fc7f857a --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { TaskDetailContentPage } from './task-detail-content.page'; + +describe('TaskDetailContentPage', () => { + let component: TaskDetailContentPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ TaskDetailContentPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(TaskDetailContentPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.ts b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.ts new file mode 100644 index 000000000..c73b7a043 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.ts @@ -0,0 +1,29 @@ +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { customTask, fullTask } from 'src/app/models/dailyworktask.model'; +import { ThemeService } from 'src/app/services/theme.service' + +@Component({ + selector: 'app-task-detail-content', + templateUrl: './task-detail-content.page.html', + styleUrls: ['./task-detail-content.page.scss'], +}) +export class TaskDetailContentPage implements OnInit { + + @Input() task = new customTask(); + @Input() intervenientes = [] + @Input() cc = [] + @Input() customDate = '' + @Input() fulltask = new fullTask() + + @Output() openOptions = new EventEmitter(); + @Output() goBack = new EventEmitter(); + @Output() viewDocument = new EventEmitter(); + + constructor( + public ThemeService: ThemeService + ) { } + + ngOnInit() { + } + +} diff --git a/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header-routing.module.ts b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header-routing.module.ts new file mode 100644 index 000000000..a74daff17 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { TaskDetailHeaderPage } from './task-detail-header.page'; + +const routes: Routes = [ + { + path: '', + component: TaskDetailHeaderPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class TaskDetailHeaderPageRoutingModule {} diff --git a/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.module.ts b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.module.ts new file mode 100644 index 000000000..f69991837 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { TaskDetailHeaderPageRoutingModule } from './task-detail-header-routing.module'; + +import { TaskDetailHeaderPage } from './task-detail-header.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + TaskDetailHeaderPageRoutingModule + ], + declarations: [TaskDetailHeaderPage], + exports: [TaskDetailHeaderPage] +}) +export class TaskDetailHeaderPageModule {} diff --git a/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.html b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.html new file mode 100644 index 000000000..b301b2ac2 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.html @@ -0,0 +1,31 @@ + +
+
+
+ + +
+
+ {{ task.Folio}} +
+
+ + +
+
+
+
+
+ +

{{customDate}}

+
+ +

{{ task.Deadline }}

+
+ +

{{ task.activityInstanceName }}

+
+
+
+
+
\ No newline at end of file diff --git a/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.scss b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.scss new file mode 100644 index 000000000..7c4765356 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.scss @@ -0,0 +1,206 @@ +@import '~src/function.scss'; + +ion-header, ion-content { + background: white; +} + +:host { + background-color: white; +} + +.main-content{ + background-color: #fff !important; + border-top-left-radius: 25px; + border-top-right-radius: 25px; +} +.content{ + padding: 30px 20px 0 20px !important; + margin: 0; + float: left; +} +.color-red{ + font-weight: 500; + color:#d30a0a !important; +} +.btn-size{ + font-size: rem(18) !important; +} +.main-header{ + overflow: inherit !important; + display: flex; + font-family: Roboto; + background-color: #fff; + color:#000; + transform: translate3d(0, 1px, 0); + .title-content{ + display: flex; + justify-content: start !important; + align-items: flex-start !important; + border-radius: 0 !important; + } + .title{ + width: fit-content; + height: auto; + font-size: rem(25); + overflow: auto; + float: left; + padding-left: 5px; + } + .div-icon{ + width: 40px !important; + font-size: rem(35) !important; + text-align: start !important; + padding: 1px; + } +} +ion-item-group{ + margin: 15px; +} +ion-button{ + display: block; + width: 80%; + margin: 20px auto; +} + +.upper-content{ + font-family: Roboto; + margin-left: 41px; + font-size: rem(18); + + .label{ + border-radius: 20px; + background: var(--label-bg-color); + float: right; + padding: 5px 13.5px 5px 13.5px; + color: #fff; + font-size: rem(14); + } + + .button-calendar-type ion-button{ + height: rem(25); + } + .content-details{ + font-size: rem(17); + .date{ + color: #797979; + } + } +} +.middle-conten{ + .middle-content p{ + font-size: rem(16); + } +} +.bottom-content{ + //width: 360px; + margin: 0 auto; + + .bottom-content h3{ + font-size: rem(16); + margin: 0 0 0 10px; + } + .attach-document{ + font-size: rem(15); + color: var(--title-text-color); + margin: 5px 5px 5px 10px; + padding: 5px; + float: left; + } + .attach-icon{ + width: 37px; + font-size: rem(35); + float: left; + } + .attach-title-item{ + font-size: rem(18); + width: 100%; + color:#0d89d1; + padding-bottom: 5px; + } + /* SPAN */ + .span-left{ + float: left; + font-size: rem(15); + } + .span-right{ + text-align: right; + float: right; + font-size: rem(13); + } +} +.aside-right{ + padding: 30px 20px 0 20px !important; + + .arrow-right{ + display: flex; + justify-content: flex-end; + margin-bottom: 20px; + + .arrow-right-icon{ + width: 37px; + float: right; + font-size: rem(35); + overflow: hidden; + } + } + .buttons{ + display: flex; + flex-wrap: wrap; + justify-content: space-between; + + .btn-ok, .btn-cancel, .btn-delete{ + height: auto !important; + font-size: rem(16) !important; + width: 100% !important; + margin-bottom: 10px !important; + padding: 15px !important; + } + } + .solid { + display: block; + width: 90%; + border-top: 1px solid #ebebeb; + margin: 0 auto !important; + margin-bottom: 10px !important; + } +} + +@media only screen and (max-width: 800px) { + .content{ + width: 100% !important; + } + .aside-right{ + display: none; + } +} +@media only screen and (min-width: 801px) { + .div-icon{ + display: none; + } + .content{ + width: 65%; + border-right: 1px solid #d8d8d8; + } + + .aside-right{ + width: 35%; + } +} + +@media only screen and (min-width: 1024px){ + .content{ + width: 70%; + } + .aside-right{ + width: 30%; + } +} + +@media only screen and (min-width: 1140px){ + .content{ + width: 75%; + } + .aside-right{ + width: 25%; + } +} diff --git a/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.spec.ts b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.spec.ts new file mode 100644 index 000000000..6dc42ea07 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { TaskDetailHeaderPage } from './task-detail-header.page'; + +describe('TaskDetailHeaderPage', () => { + let component: TaskDetailHeaderPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ TaskDetailHeaderPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(TaskDetailHeaderPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.ts b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.ts new file mode 100644 index 000000000..8c2114db7 --- /dev/null +++ b/src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.ts @@ -0,0 +1,27 @@ +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { customTask, fullTask } from 'src/app/models/dailyworktask.model'; +import { ThemeService } from 'src/app/services/theme.service' + +@Component({ + selector: 'app-task-detail-header', + templateUrl: './task-detail-header.page.html', + styleUrls: ['./task-detail-header.page.scss'], +}) +export class TaskDetailHeaderPage implements OnInit { + + @Input() task = new customTask(); + @Input() intervenientes = [] + @Input() cc = [] + @Input() customDate = '' + @Input() fulltask = new fullTask() + + @Output() openOptions = new EventEmitter(); + @Output() goBack = new EventEmitter(); + @Output() viewDocument = new EventEmitter(); + + constructor(public ThemeService: ThemeService) { } + + ngOnInit() { + } + +} diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.module.ts b/src/app/shared/gabinete-digital/generic/task-details/task-details.module.ts index ceee1740f..c6b490568 100644 --- a/src/app/shared/gabinete-digital/generic/task-details/task-details.module.ts +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.module.ts @@ -7,13 +7,18 @@ import { IonicModule } from '@ionic/angular'; import { TaskDetailsPageRoutingModule } from './task-details-routing.module'; import { TaskDetailsPage } from './task-details.page'; +import { TaskDetailHeaderPageModule } from '../task-detail-header/task-detail-header.module'; +import { TaskDetailContentPageModule } from '../task-detail-content/task-detail-content.module'; @NgModule({ imports: [ CommonModule, FormsModule, IonicModule, - TaskDetailsPageRoutingModule + TaskDetailsPageRoutingModule, + // + TaskDetailHeaderPageModule, + TaskDetailContentPageModule ], declarations: [TaskDetailsPage], exports: [TaskDetailsPage] diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html index 577c06805..a3a036e01 100644 --- a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html @@ -1,5 +1,5 @@ - -
+ +
@@ -27,11 +27,11 @@
-
+
-
+
Intervenientes
@@ -51,20 +51,21 @@
-
+
Detalhes
-
{{ fulltask.workflowInstanceDataFields.TaskMessage }} 
+
{{ task.Note }} 
Documentos Anexados
- - -

{{ Document.Assunto || "Sem assunto" }}

-

{{ Document.Sender}}{{ Document.DocDate | date: 'dd-MM-yyyy HH:mm' }}

+ + +

{{ Document.Assunto }} Rascunho

+

{{ Document.DocNumber }}

+

{{Document.Sender}}{{ Document.DocDate | date: 'dd/MM/yy' }}

diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss index 9fe684944..3fa93c260 100644 --- a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss @@ -1,9 +1,15 @@ @import '~src/function.scss'; -.main-content{ - background-color: #fff !important; + +ion-header { + background: white; border-top-left-radius: 25px; border-top-right-radius: 25px; } + +ion-content { + background: white; +} + .content{ padding: 30px 20px 0 20px !important; margin: 0; @@ -13,6 +19,12 @@ font-weight: 500; color:#d30a0a !important; } +.document-type{ + color: #d30a0a; + margin-left: 20px; + font-size: medium; +} + .btn-size{ font-size: rem(18) !important; } diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts index 594f57c78..43b4ec5a0 100644 --- a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts @@ -13,6 +13,7 @@ export class TaskDetailsPage implements OnInit { @Input() intervenientes = [] @Input() cc = [] @Input() customDate = '' + @Input() mergedArray = [] @Input() fulltask = new fullTask() @Output() openOptions = new EventEmitter(); diff --git a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts index 494f71ebe..11e3f0129 100644 --- a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts +++ b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts @@ -1,7 +1,7 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; import { customTask } from 'src/app/models/dailyworktask.model'; -import { ThemeService } from 'src/app/services/theme.service' -import { TaskService } from 'src/app/services/task.service' +import { ThemeService } from 'src/app/services/theme.service'; +import { TaskService } from 'src/app/services/task.service'; @Component({ selector: 'app-task-list', diff --git a/src/app/shared/popover/deploma-options/deploma-options.page.html b/src/app/shared/popover/deploma-options/deploma-options.page.html index 02bbdb01a..adbbaf691 100644 --- a/src/app/shared/popover/deploma-options/deploma-options.page.html +++ b/src/app/shared/popover/deploma-options/deploma-options.page.html @@ -24,6 +24,9 @@
+
+ +
diff --git a/src/app/shared/popover/deploma-options/deploma-options.page.ts b/src/app/shared/popover/deploma-options/deploma-options.page.ts index f5c9aec4f..6b4bb0e38 100644 --- a/src/app/shared/popover/deploma-options/deploma-options.page.ts +++ b/src/app/shared/popover/deploma-options/deploma-options.page.ts @@ -95,6 +95,8 @@ export class DiplomaOptionsPage implements OnInit { } else if (actionName == 'Arquivo') { await this.arquivar(res.data.note, docs); this.goBack(); + } else if (actionName =='AssinarNew') { + await this.AssinarNew(res.data.note, docs) } } }, (error) => { @@ -199,8 +201,11 @@ export class DiplomaOptionsPage implements OnInit { "ActionTypeId": 99999842, "dataFields": { "ReviewUserComment": note, + "InstanceIDNew": this.task.InstanceID, + }, + "AttachmentList" : { + "ProcessInstanceID": this.task.InstanceID }, - "AttachmentList" :documents, } const loader = this.toastService.loading() @@ -220,6 +225,31 @@ export class DiplomaOptionsPage implements OnInit { } } + async AssinarNew(note:string, documents:any) { + let body = { + "InstanceId": this.task.InstanceID, + "FolderId": this.task.FolderID, + "DraftIds": "163;164;77", + "OriginalFileName": "Doc1;Doc2;Doc3" + } + + const loader = this.toastService.loading() + + try { + await this.processes.presidentialActionsSignature(body).toPromise() + + this.httpErroHandle.httpsSucessMessagge('Assinado') + this.TaskService.loadDiplomas() + this.goBack(); + } catch (error) { + this.httpErroHandle.httpStatusHandle(error) + } + finally { + loader.remove() + } + + } + async finish(note:string, documents:any){ diff --git a/src/app/shared/publication/view-publications/view-publications.page.ts b/src/app/shared/publication/view-publications/view-publications.page.ts index 7196dac06..27190891a 100644 --- a/src/app/shared/publication/view-publications/view-publications.page.ts +++ b/src/app/shared/publication/view-publications/view-publications.page.ts @@ -12,7 +12,7 @@ import { EditActionPage } from 'src/app/pages/publications/edit-action/edit-acti import { Storage } from '@ionic/storage'; import { PermissionService } from 'src/app/services/permission.service'; import { HttpErrorHandle } from 'src/app/services/http-error-handle.service'; -import { PublicationDetailsModel } from 'src/app/models/beast-orm'; +// import { PublicationDetailsModel } from 'src/app/models/beast-orm'; @Component({ selector: 'app-view-publications', diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index bc7e060cf..a6da716be 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -4,6 +4,8 @@ import { FormsModule } from '@angular/forms'; import { IonicModule } from '@ionic/angular'; import { IonicImageLoaderModule } from 'ionic-image-loader-v5'; import { TaskDetailsPage } from './gabinete-digital/generic/task-details/task-details.page'; +// import { TaskDetailHeaderPipe } from './gabinete-digital/generic/task-detail-header.pipe'; +// import { TaskDetailContentPipe } from './gabinete-digital/generic/task-detail-content.pipe'; // import { HeaderPage } from './header/header.page'; // import { HeaderPrPage } from './header-pr/header-pr.page'; // import { BtnSeguintePage } from './btn-seguinte/btn-seguinte.page'; diff --git a/src/app/store/localstore.service.ts b/src/app/store/localstore.service.ts index 9ee134904..fee336284 100644 --- a/src/app/store/localstore.service.ts +++ b/src/app/store/localstore.service.ts @@ -7,7 +7,7 @@ import { environment } from 'src/environments/environment'; }) export class LocalstoreService { - private prefix = environment.version.lastCommitNumber + environment.id+"-"; + private prefix = environment.version.lastCommitNumber + environment.id+ Number(environment.storageProduction)+"-"; private previewPrefix = 'v17-'; callbacks: {[key: string]: { diff --git a/src/plugin/src/models/register-model.js b/src/plugin/src/models/register-model.js index 1e3e54d6c..dbeb39e45 100644 --- a/src/plugin/src/models/register-model.js +++ b/src/plugin/src/models/register-model.js @@ -88,7 +88,7 @@ export class registerModel { for (const stores of databaseSchema.stores) { const model = models[stores.name]; const DbName = databaseSchema.databaseName; - ModelEditor.setTableSchema(model, DbName); + ModelEditor.setTableSchema(model, DbName, stores, databaseSchema, entries); ModelEditor.getDBSchema(model, DbName); // ModelEditor.setModel(model, DbName) DatabaseManagerSchema.getDb(DbName).getTable(stores.name).setModel(model); @@ -241,16 +241,28 @@ export class ModelEditor { return DatabaseSchema; }; } - static setTableSchema(ModelToEdit, DbName) { - const ModelName = ModelToEdit.getModelName(); - const DBSchema = DatabaseManagerSchema.getDb(DbName); - const TableSchemaClass = DBSchema.getTable(ModelName); - ModelToEdit.prototype.getTableSchema = () => { - return TableSchemaClass.config; - }; - ModelToEdit.getTableSchema = () => { - return TableSchemaClass.config; - }; + static setTableSchema(ModelToEdit, DbName, store, databaseSchema, entries) { + try { + + const ModelName = ModelToEdit.getModelName(); + const DBSchema = DatabaseManagerSchema.getDb(DbName); + const TableSchemaClass = DBSchema.getTable(ModelName); + ModelToEdit.prototype.getTableSchema = () => { + return TableSchemaClass.config; + }; + ModelToEdit.getTableSchema = () => { + return TableSchemaClass.config; + }; + } catch (error) { + console.log('databaseSchema', databaseSchema) + console.log('error', error) + console.log('ModelToEdit', ModelToEdit) + console.log(DbName, 'DbName') + console.log('store', store) + console.log('models', models) + console.log('entries', entries) + } + } static getDBSchema(ModelToEdit, DbName) { const ModelName = ModelToEdit.getModelName(); diff --git a/version/git-version.ts b/version/git-version.ts index 25a39cedf..e3b842c2d 100644 --- a/version/git-version.ts +++ b/version/git-version.ts @@ -1,12 +1,12 @@ export let versionData = { - "shortSHA": "c7d58f46a", - "SHA": "c7d58f46a9937d575b05904888447b5dcd5a4ee0", + "shortSHA": "880f154ea", + "SHA": "880f154ea20b89c3be29080f53b5e98033179df7", "branch": "developer-catch-merge", "lastCommitAuthor": "'Peter Maquiran'", - "lastCommitTime": "'Mon Jul 17 15:07:08 2023 +0100'", - "lastCommitMessage": "fix evento", - "lastCommitNumber": "5085", + "lastCommitTime": "'Mon Jul 17 17:19:55 2023 +0100'", + "lastCommitMessage": "fix duplicate attachment", + "lastCommitNumber": "5086", "change": "", - "changeStatus": "On branch developer-catch-merge\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/event-list/event-list.page.ts\n\tmodified: src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts", + "changeStatus": "On branch developer-catch-merge\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tmodified: src/app/app-routing.module.ts\n\tmodified: src/app/models/Expediente.ts\n\tmodified: src/app/models/beast-orm.ts\n\tmodified: src/app/models/dailyworktask.model.ts\n\tmodified: src/app/pages/agenda/edit-event/edit-event.page.html\n\tmodified: src/app/pages/agenda/edit-event/edit-event.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.module.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas/diploma/diploma.module.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.scss\n\tmodified: src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas/diplomas.page.html\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.ts\n\tmodified: src/app/pages/publications/publications.page.ts\n\tmodified: src/app/pages/search/search.page.html\n\tmodified: src/app/pipes/custom-task.pipe.ts\n\tmodified: src/app/pipes/expediente-task.pipe.ts\n\tmodified: src/app/services/events.service.ts\n\tmodified: src/app/services/processes.service.ts\n\tmodified: src/app/services/task.service.ts\n\tmodified: src/app/shared/agenda/edit-event/edit-event.page.html\n\tmodified: src/app/shared/agenda/edit-event/edit-event.page.ts\n\tmodified: src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content-routing.module.ts\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.module.ts\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.html\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.scss\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.spec.ts\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-content/task-detail-content.page.ts\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header-routing.module.ts\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.module.ts\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.html\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.scss\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.spec.ts\n\tnew file: src/app/shared/gabinete-digital/generic/task-detail-header/task-detail-header.page.ts\n\tmodified: src/app/shared/gabinete-digital/generic/task-details/task-details.module.ts\n\tmodified: src/app/shared/gabinete-digital/generic/task-details/task-details.page.html\n\tmodified: src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss\n\tmodified: src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts\n\tmodified: src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts\n\tmodified: src/app/shared/popover/deploma-options/deploma-options.page.html\n\tmodified: src/app/shared/popover/deploma-options/deploma-options.page.ts\n\tmodified: src/app/shared/publication/view-publications/view-publications.page.ts\n\tmodified: src/app/shared/shared.module.ts\n\tmodified: src/app/store/localstore.service.ts\n\tmodified: src/plugin/src/models/register-model.js", "changeAuthor": "peter.maquiran" } \ No newline at end of file