diff --git a/package-lock.json b/package-lock.json index d8a934536..7fdcc4b34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4360,6 +4360,63 @@ "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", "dev": true }, + "@fortawesome/angular-fontawesome": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.9.0.tgz", + "integrity": "sha512-pJNJqxRTJChkUtywbqRuJRpmK/WNwqFqeN/GMmJmy3gHeCnWQ4SG0BwPJqaWqhi4gqII5dADijGts6wqeusxeQ==", + "requires": { + "tslib": "^2.2.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } + } + }, + "@fortawesome/fontawesome-common-types": { + "version": "0.2.35", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.35.tgz", + "integrity": "sha512-IHUfxSEDS9dDGqYwIW7wTN6tn/O8E0n5PcAHz9cAaBoZw6UpG20IG/YM3NNLaGPwPqgjBAFjIURzqoQs3rrtuw==" + }, + "@fortawesome/fontawesome-free": { + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz", + "integrity": "sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w==" + }, + "@fortawesome/fontawesome-svg-core": { + "version": "1.2.35", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.35.tgz", + "integrity": "sha512-uLEXifXIL7hnh2sNZQrIJWNol7cTVIzwI+4qcBIq9QWaZqUblm0IDrtSqbNg+3SQf8SMGHkiSigD++rHmCHjBg==", + "requires": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + } + }, + "@fortawesome/free-brands-svg-icons": { + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.3.tgz", + "integrity": "sha512-1hirPcbjj72ZJtFvdnXGPbAbpn3Ox6mH3g5STbANFp3vGSiE5u5ingAKV06mK6ZVqNYxUPlh4DlTnaIvLtF2kw==", + "requires": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + } + }, + "@fortawesome/free-regular-svg-icons": { + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.15.3.tgz", + "integrity": "sha512-q4/p8Xehy9qiVTdDWHL4Z+o5PCLRChePGZRTXkl+/Z7erDVL8VcZUuqzJjs6gUz6czss4VIPBRdCz6wP37/zMQ==", + "requires": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + } + }, + "@fortawesome/free-solid-svg-icons": { + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.3.tgz", + "integrity": "sha512-XPeeu1IlGYqz4VWGRAT5ukNMd4VHUEEJ7ysZ7pSSgaEtNvSo+FLurybGJVmiqkQdK50OkSja2bfZXOeyMGRD8Q==", + "requires": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + } + }, "@fullcalendar/angular": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@fullcalendar/angular/-/angular-5.5.0.tgz", diff --git a/package.json b/package.json index 8c123fa84..3cea6f4d7 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,12 @@ "@angular/platform-browser": "~12.1.2", "@angular/platform-browser-dynamic": "~12.1.2", "@angular/router": "~12.1.2", + "@fortawesome/angular-fontawesome": "^0.9.0", + "@fortawesome/fontawesome-free": "^5.15.3", + "@fortawesome/fontawesome-svg-core": "^1.2.35", + "@fortawesome/free-brands-svg-icons": "^5.15.3", + "@fortawesome/free-regular-svg-icons": "^5.15.3", + "@fortawesome/free-solid-svg-icons": "^5.15.3", "@fullcalendar/angular": "^5.3.0", "@fullcalendar/daygrid": "^5.3.0", "@fullcalendar/interaction": "^5.3.0", @@ -179,4 +185,4 @@ "url": "git+https://Kayaya@bitbucket.org/equilibriumito/gabinete-digital.git" }, "license": "ISC" -} \ No newline at end of file +} diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 30d2fd1be..223de9d04 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -47,6 +47,11 @@ import { NgxMatMomentModule } from '@angular-material-components/moment-adapter' import { MatButtonModule } from '@angular/material/button'; import { HttpClient } from '@angular/common/http'; +import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome'; +import { fas } from '@fortawesome/free-solid-svg-icons' +import { far } from '@fortawesome/free-regular-svg-icons' +import { fab } from '@fortawesome/free-brands-svg-icons' + @NgModule({ declarations: [AppComponent], entryComponents: [], @@ -60,6 +65,7 @@ import { HttpClient } from '@angular/common/http'; IonicModule.forRoot({animated: false}), IonicStorageModule.forRoot(), AppRoutingModule, + FontAwesomeModule, HttpClientModule, // NgbModule, NoopAnimationsModule, @@ -96,4 +102,8 @@ import { HttpClient } from '@angular/common/http'; bootstrap: [AppComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA] }) -export class AppModule {} +export class AppModule { + constructor(library: FaIconLibrary) { + library.addIconPacks(fas, fab, far); + } +} diff --git a/src/app/pages/gabinete-digital/gabinete-digital.module.ts b/src/app/pages/gabinete-digital/gabinete-digital.module.ts index cba285667..6e76b7edb 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.module.ts +++ b/src/app/pages/gabinete-digital/gabinete-digital.module.ts @@ -33,13 +33,14 @@ import { ExpedientesPrPageModule } from 'src/app/shared/gabinete-digital/expedie import { DiplomasAssinarPageModule } from 'src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.module'; import { HeaderPageModule } from 'src/app/shared/header/header.module'; import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module'; +import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; @NgModule({ imports: [ CommonModule, FormsModule, IonicModule, - + FontAwesomeModule, GabineteDigitalPageRoutingModule, // HeaderPageModule, diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.html b/src/app/pages/gabinete-digital/gabinete-digital.page.html index bd3cfa790..2a83b91a3 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.html +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.html @@ -14,134 +14,193 @@
- Gabinete Digital +
+ Gabinete Digital +
+
+ + + + + + + + + + +
-
-
-
- +
+ +
+
+ +
+
+
+
+ {{ task.Folio }} +
+
+ + +
+
+
+
+ {{task.Senders}} +
+
+
+
+ Data +
+
+
+
+ {{task.activityInstanceName}} +
+
+ {{ task.CreateDate | date: 'dd-MM-yy' }} +
+
+
+
+
-

Eventos para Aprovação

-

{{eventoaprovacaostore.count}} Documentos

- -
-
- -
-

Correspondencia

-

{{expedientegbstore.count}} Documentos

-
- - -
-
- -
-

Pendentes

-

Meus Pendentes

-

{{pendentesstore.count}} Documentos

-
- -
-
- -
-

Despachos

-

{{despachoStore.count}} Documentos

-
- -
-
- -
-

Pedidos de Parecer

-

Pedidos de Parecer solicitados por mim

-

{{pedidosstore.countparecer}} Documentos

-
- -
-
- -
-

Pedidos de Deferimento

-

{{pedidosstore.countdeferimento}} Documentos

-
- -
-
- -
-

Expediente Presidente

-

Expediente

-

{{expedienteprstore.count}} Documentos

-
- -
-
- -
-

Despacho do Presidente da República

-

Despachos criados por mim

-

{{ despachoprstore.count }} Documentos

-
- -
-
-
- -
-
-

Expediente Presidente

-

Expediente

-

{{expedienteprstore.count}} Documentos

+ +
+
+
+
+

Eventos para Aprovação

+

{{eventoaprovacaostore.count}} Documentos

-
-
-
-
+
+
+ +
+

Correspondencia

+

{{expedientegbstore.count}} Documentos

+
+ + +
+
+ +
+

Pendentes

+

Meus Pendentes

+

{{pendentesstore.count}} Documentos

+
+ +
+
-
-

Despacho do Presidente da República

-

{{ despachoprstore.count }} Documentos

+

Despachos

+

{{despachoStore.count}} Documentos

+
+ +
+
+ +
+

Pedidos de Parecer

+

Pedidos de Parecer solicitados por mim

+

{{pedidosstore.countparecer}} Documentos

+
+ +
+
+ +
+

Pedidos de Deferimento

+

{{pedidosstore.countdeferimento}} Documentos

+
+ +
+
+ +
+

Expediente Presidente

+

Expediente

+

{{expedienteprstore.count}} Documentos

+
+ +
+
+ +
+

Despacho do Presidente da República

+

Despachos criados por mim

+

{{ despachoprstore.count }} Documentos

+
+ +
+
+
+ +
+
+

Expediente Presidente

+

Expediente

+

{{expedienteprstore.count}} Documentos

+
-
-
-
- +
+
+
+ +
+
+

Despacho do Presidente da República

+

{{ despachoprstore.count }} Documentos

+
+
-

Diplomas por Validar

-

Diplomas por Assinar

-

{{count_dip_pv}} Documentos

-
-
-
- +
+
+ +
+

Diplomas por Validar

+

Diplomas por Assinar

+

{{count_dip_pv}} Documentos

-

Diplomas assinados PR

-

Diplomas

-

{{ count_dip_as_pr }} Documentos

-
-
-
- +
+
+ +
+

Diplomas assinados PR

+

Diplomas

+

{{ count_dip_as_pr }} Documentos

-

Diplomas para Assinar

-

{{count_dip_as}} Documentos

+ +
+
+ +
+

Diplomas para Assinar

+

{{count_dip_as}} Documentos

+
+
-
+
diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.scss b/src/app/pages/gabinete-digital/gabinete-digital.page.scss index e88226081..9e2e511c5 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.scss +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.scss @@ -6,6 +6,21 @@ ion-content{ /* --background:#ecf8ff; */ --background: transparent; } +ion-segment{ + overflow: auto; +} +ion-segment-button{ + margin: 0 auto !important; + padding: 0 !important; + + --padding-bottom: 0px; + --padding-top: 5px; + --margin-bottom: 5px; + --margin-top: 0px; + + min-height: 25px; + min-width: 25px; +} :host{ // background: #0782c9; ion-card-title { @@ -14,6 +29,11 @@ ion-content{ .title-container{ padding: 30px 20px 15px 20px !important; //margin-bottom: 15px; + .title{ + width: fit-content; + font-size: 25px !important; + float: left; + } .btn-no-color{ display: flex; float: right; @@ -24,6 +44,14 @@ ion-content{ font-size: 30px; color: #42b9fe; } + .title-icons{ + width: fit-content; + float: right !important; + align-self: baseline; + } + .title-icons fa-icon{ + font-size: 25px !important; + } } ion-card{ @@ -95,8 +123,16 @@ ion-content{ .aside-wrapper{ //border: 1px solid red; + overflow: auto; + .listview{ + width: 100%t; + padding: 0px 20px 15px 20px !important; + overflow: auto; + } } + + .aside{ align-items: center; justify-content: center; @@ -204,6 +240,138 @@ ion-content{ overflow: auto; } +/* New list view CSS */ +ion-list{ + background: transparent; +} +.item-wrapper{ + border-radius: 15px; + box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.07); + border:1px solid #e9e9e9 !important; + background-color: #fff !important; + margin-bottom: 10px !important; + padding: 15px; + + .item{ + background-color: var(--white); + margin: 0 auto; + overflow: hidden; + + .item-top-detail{ + width: 100%; + float: left; + font-family: Roboto; + font-size: 12pt; + font-weight: 700; + color: #0d89d1; + padding-left: 3px; + + .item-subject{ + width: 84%; + float: left; + } + + .item-icon{ + width: fit-content; + float: right; + /* font-size: 13px; */ + margin: 0 !important; + padding: 0 !important; + + ion-icon{ + font-size: 12pt; + color: #42b9fe; + float: left; + } + label{ + font-size: 10pt; + } + } + } + .item-middle-detail{ + font-size: 10pt; + width: 100%; + overflow: auto; + padding-left: 3px; + //border: 1px solid red; + margin: 0 !important; + + .item-remetente{ + //width: 200px; + font-family: Roboto; + /* font-size: 13px; */ + font-weight: normal; + color: #000000; + float: left; + /* border: 1px solid red; */ + + ion-label{ + padding: 2.5px 10.5px 2.5px 10.5px; + margin: 0 !important; + } + } + } + .item-middle-detail-extra{ + font-size: 10pt; + padding-left: 3px; + //border: 1px solid red; + + .item-middle-detail-extra-text{ + //border: 1px solid blue; + + ion-label{ + padding: 2.5px 10.5px 2.5px 10.5px; + margin: 0 !important; + } + } + } + .item-bottom-detail{ + font-size: 12pt; + width: 100%; + overflow: auto; + margin-top: 10px; + padding-bottom: 0 !important; + + .item-workflow{ + float: left; + margin: 0 !important; + align-self: flex-start; + + + .label{ + border-radius: 15px; + background: #ffb703; + /* font-size: 12px; */ + float: right; + padding: 2.5px 13.5px 2.5px 13.5px; + color: #fff; + } + } + .item-date{ + width: auto; + font-family: Roboto; + font-size: 10pt; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + color: #797979; + text-align: right; + flex-grow: 1; + + ion-label{ + margin: 0 !important; + padding: 0 !important; + } + } + } + .item-middle-detail, .item-bottom-detail{ + margin-bottom: 5px; + } + } +} + @media only screen and (min-width: 561px) { .exp-card-long{ diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.ts b/src/app/pages/gabinete-digital/gabinete-digital.page.ts index 325e05906..33cb41b10 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.ts +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.ts @@ -21,6 +21,7 @@ import { PedidosStore } from 'src/app/store/pedidos-store.service'; import { ExpedienteprStore } from 'src/app/store/expedientepr-store.service'; import { DespachosprStore } from 'src/app/store/despachospr-store.service'; import { PermissionService } from 'src/app/OtherService/permission.service'; +import { removeDuplicate } from 'src/plugin/removeDuplicate.js' @Component({ selector: 'app-gabinete-digital', templateUrl: './gabinete-digital.page.html', @@ -30,9 +31,13 @@ import { PermissionService } from 'src/app/OtherService/permission.service'; export class GabineteDigitalPage implements OnInit { segment:string; + segmentVista:string; showLoader: boolean; public profile:string; + allProcessesList: any = new Array(); + skeletonLoader: boolean; + count_exp_dailywork=0; count_exp_pr =0 count_desp_dailywork=0; @@ -103,9 +108,8 @@ export class GabineteDigitalPage implements OnInit { authService: AuthService, public p: PermissionService ) { - + this.segmentVista = "listview"; this.loggeduser = authService.ValidatedUser; - window.onresize = (event) => { // if not mobile remove all component if( window.innerWidth <= 801){ @@ -140,6 +144,55 @@ export class GabineteDigitalPage implements OnInit { }); this.hideRefreshButton(); + this.loadAllProcesses(); + } + + async loadAllProcesses(){ + let allProcessesList = await this.processesbackend.GetTasksList("", false).toPromise(); + console.log(allProcessesList); + + this.skeletonLoader = true; + + this.allProcessesList = []; + + allProcessesList.forEach(element => { + let date = new Date(element.taskStartDate); + date.setMonth(date.getMonth() + 1); + let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); + + let task = { + "SerialNumber": element.serialNumber, + "Folio": element.workflowInstanceDataFields.Subject, + "Senders": element.workflowInstanceDataFields.Sender, + "CreateDate": taskDate, + "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, + "Remetente": element.workflowInstanceDataFields.Remetente, + "DocumentsQty": element.totalDocuments, + "DocId": element.workflowInstanceDataFields.DispatchDocId, + "FolderID": element.workflowInstanceDataFields.FolderID, + "WorkflowName": element.workflowDisplayName, + "activityInstanceName": element.activityInstanceName, + "Status": element.workflowInstanceDataFields.Status, + } + this.allProcessesList.push(task); + this.allProcessesList = removeDuplicate( this.allProcessesList) + this.allProcessesList = this.sortArrayISODate(this.allProcessesList); + }); + //this.pendentesstore.reset(this.allProcessesList); + this.skeletonLoader = false; + + } + + sortArrayISODate(myArray: any){ + return myArray.sort(function(a, b) { + return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); + }); + } + + viewProcessDetails(){} + + onSegmentVistaChange(){ + } checkUser(){ diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.scss b/src/app/shared/gabinete-digital/pendentes/pendentes.page.scss index 6bfd2870a..ab3980a96 100644 --- a/src/app/shared/gabinete-digital/pendentes/pendentes.page.scss +++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.scss @@ -25,7 +25,7 @@ } .ion-item-class{ padding: 0; - + } .label-text{ width: 100%; @@ -75,7 +75,7 @@ ion-item{ .div-icon ion-icon{ display: block; margin: 0 auto; - + } .div-content-expediente p, .div-content-pendentes p{ font-size: 14pt; @@ -146,8 +146,8 @@ ion-item{ } .exp-middle-detail, .exp-bottom-detail{ margin-bottom: 5px; - } + .exp-middle-detail{ font-size: 12pt; width: 100%; @@ -156,7 +156,7 @@ ion-item{ .exp-workflow{ float: left; margin: 0 !important; - + .label{ border-radius: 15px; background: #ffb703; @@ -219,4 +219,4 @@ ion-item{ font-size: 45px; float: right; margin-right: 10px; -} \ No newline at end of file +}