mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
add new features
This commit is contained in:
@@ -23,6 +23,9 @@ import { ReactiveFormsModule } from '@angular/forms';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NgxMatMomentModule } from '@angular-material-components/moment-adapter';
|
||||
import { TaskListPageModule } from 'src/app/shared/gabinete-digital/generic/task-list/task-list.module'
|
||||
import { TaskListHeaderPageModule } from 'src/app/shared/gabinete-digital/generic/task-list-header/task-list-header.module';
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -32,6 +35,8 @@ import { NgxMatMomentModule } from '@angular-material-components/moment-adapter'
|
||||
|
||||
DespachosPrPageRoutingModule,
|
||||
BtnModalDismissPageModule,
|
||||
TaskListPageModule,
|
||||
TaskListHeaderPageModule,
|
||||
//
|
||||
MatInputModule,
|
||||
MatNativeDateModule,
|
||||
|
||||
@@ -1,63 +1,14 @@
|
||||
<ion-header class="ion-no-border">
|
||||
<!-- <app-header > </app-header> -->
|
||||
</ion-header>
|
||||
|
||||
<ion-header class="ion-no-border header-2">
|
||||
<div class="main-header">
|
||||
<app-btn-modal-dismiss (click)="goBack()" ></app-btn-modal-dismiss>
|
||||
<div class="thetitle">
|
||||
<ion-label >{{environment.dispatchPR }}</ion-label>
|
||||
</div>
|
||||
<div class="theicon btn-refresh d-flex align-center">
|
||||
|
||||
<div class="d-flex" (click)="reorderList('old')" *ngIf="ordinance == 'recent' ">
|
||||
|
||||
<ion-icon class="mr-10" src="assets/images/theme/gov/crescente.svg" ></ion-icon>
|
||||
</div>
|
||||
|
||||
<div class="d-flex" (click)="reorderList('recent')" *ngIf="ordinance != 'recent' ">
|
||||
<ion-icon class="mr-10" src="assets/images/theme/gov/decrescente.svg" ></ion-icon>
|
||||
</div>
|
||||
|
||||
<mat-form-field class="task-filter-input" appearance="none" color="ion-color-secondary" placeholder="Selecione agenda">
|
||||
<mat-select [(value)]="filterName">
|
||||
|
||||
<mat-option value="Para hoje" >
|
||||
Para hoje
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Novos" >
|
||||
Novos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Lidos" >
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<button class="btn-no-color" (click)="doRefresh($event)">
|
||||
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div *ngIf="SessionStore.user.Profile =='MDGPR'" class="bottom-title d-flex">
|
||||
<h3 class="bottom-text">Presidente da República</h3>
|
||||
</div> -->
|
||||
<app-task-list-header
|
||||
[goBackButton] = true
|
||||
[headerName] = environment.dispatchPR
|
||||
[ordinance] = ordinance
|
||||
[loading] = skeletonLoader
|
||||
[loaderTop] = true
|
||||
(reorderList) = reorderList($event)
|
||||
(changeFilterName) = changeFilterName($event)
|
||||
(goBack) = goBack()
|
||||
></app-task-list-header>
|
||||
</ion-header>
|
||||
<ion-content>
|
||||
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
|
||||
@@ -69,82 +20,13 @@
|
||||
</ion-refresher-content>
|
||||
</ion-refresher>
|
||||
|
||||
<div class="main-content width-100 overflow-y-auto height-100">
|
||||
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
|
||||
|
||||
<div >
|
||||
<ion-list>
|
||||
<div
|
||||
class="ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of list; let i = index"
|
||||
(click)="goToDespachoPr(task.SerialNumber)"
|
||||
>
|
||||
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
|
||||
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
|
||||
<div class="exp-top-detail">
|
||||
<div class="subject d-flex align-center">
|
||||
<ion-label [class.gb-seen]="TaskService.seen(task)">{{ task.Folio }}</ion-label>
|
||||
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
|
||||
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskReceiveDate)">Nova</span>
|
||||
</div>
|
||||
<div class="exp-icon">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-attachment.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-expediente-attachment.svg"></ion-icon>
|
||||
<label *ngIf="task.DocumentsQty != 0">{{task.DocumentsQty}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="exp-bottom-detail">
|
||||
<div class="exp-remetente">
|
||||
<ion-label>{{task.Senders}}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="exp-middle-detail">
|
||||
<div class="exp-workflow">
|
||||
<span class="label">{{task.activityInstanceName}}</span>
|
||||
</div>
|
||||
<div class="exp-date">
|
||||
<ion-label>{{ task.CreateDate | date: 'dd-MM-yyyy HH:mm' }}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ion-list>
|
||||
|
||||
</div>
|
||||
|
||||
<div
|
||||
*ngIf="!skeletonLoader && despachoprstore.list.length == 0"
|
||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||
>
|
||||
<span>Lista vazia</span>
|
||||
</div>
|
||||
|
||||
<!-- <div *ngIf="skeletonLoader && despachoprstore.list.length == 0">
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
<ion-thumbnail slot="end">
|
||||
<ion-skeleton-text animated></ion-skeleton-text>
|
||||
</ion-thumbnail>
|
||||
<ion-label>
|
||||
<h3><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></h3>
|
||||
<p><ion-skeleton-text animated style="width: 80%"></ion-skeleton-text></p>
|
||||
<p><ion-skeleton-text animated style="width: 60%"></ion-skeleton-text></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-thumbnail slot="end">
|
||||
<ion-skeleton-text animated></ion-skeleton-text>
|
||||
</ion-thumbnail>
|
||||
<ion-label>
|
||||
<h3><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></h3>
|
||||
<p><ion-skeleton-text animated style="width: 80%"></ion-skeleton-text></p>
|
||||
<p><ion-skeleton-text animated style="width: 60%"></ion-skeleton-text></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div> -->
|
||||
|
||||
</div>
|
||||
<app-task-list
|
||||
[taskList] = list
|
||||
[skeletonLoader] = skeletonLoader
|
||||
(viewTaskDetail)="goToDespachoPr($event)"
|
||||
[filterName]="filterName"
|
||||
>
|
||||
</app-task-list>
|
||||
|
||||
</ion-content>
|
||||
|
||||
|
||||
@@ -6,11 +6,12 @@
|
||||
.header-2 {
|
||||
border-top-right-radius: 24px;
|
||||
border-top-left-radius: 24px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
ion-content, .header-2, .main-content{
|
||||
padding: 30px 20px 0 20px !important;
|
||||
ion-content, .main-content{
|
||||
background-color: white;
|
||||
padding: 30px 20px 0 20px !important;
|
||||
}
|
||||
.main-content {
|
||||
padding-top: 0px !important;
|
||||
|
||||
@@ -115,6 +115,10 @@ export class DespachosPrPage implements OnInit {
|
||||
this.dynamicSearch();
|
||||
}
|
||||
|
||||
changeFilterName(filterName) {
|
||||
this.filterName = filterName
|
||||
}
|
||||
|
||||
async dynamicSearch() {
|
||||
|
||||
if(this.showSearch && this.searchSubject) {
|
||||
@@ -138,8 +142,8 @@ export class DespachosPrPage implements OnInit {
|
||||
this.LoadList();
|
||||
}
|
||||
|
||||
goToDespachoPr(serialNumber: any) {
|
||||
this.router.navigate(['/home/gabinete-digital/despachos-pr', serialNumber, 'gabinete-digital']);
|
||||
goToDespachoPr({SerialNumber}) {
|
||||
this.router.navigate(['/home/gabinete-digital/despachos-pr', SerialNumber, 'gabinete-digital']);
|
||||
}
|
||||
|
||||
notImplemented() {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<ion-content class="container-wrapper">
|
||||
<div class="main-content d-flex height-100 overflow-hidden">
|
||||
<div class="content d-flex flex-column" *ngIf="task">
|
||||
<div class="content d-flex align-center flex-column" *ngIf="task">
|
||||
<div class="main-header">
|
||||
<div class="title-content width-100 d-flex justify-space-between">
|
||||
<div class="font-30 cursor-pointer" (click)="goBack()" defaultHref="#">
|
||||
<div class="title-content width-100 d-flex align-center justify-space-between">
|
||||
<div class="font-30 cursor-pointer d-flex align-center" (click)="goBack()" defaultHref="#">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " slot="end" src='assets/images/icons-arrow-arrow-left.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/doneIt/icons-calendar-arrow-left.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " slot="end" src='assets/images/theme/gov/icons-calendar-arrow-left.svg'></ion-icon>
|
||||
|
||||
@@ -23,6 +23,7 @@ import { ReactiveFormsModule } from '@angular/forms';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NgxMatMomentModule } from '@angular-material-components/moment-adapter';
|
||||
import { TaskListHeaderPageModule } from 'src/app/shared/gabinete-digital/generic/task-list-header/task-list-header.module';
|
||||
|
||||
|
||||
@NgModule({
|
||||
@@ -32,6 +33,7 @@ import { NgxMatMomentModule } from '@angular-material-components/moment-adapter'
|
||||
IonicModule,
|
||||
DiplomasPageRoutingModule,
|
||||
BtnModalDismissPageModule,
|
||||
TaskListHeaderPageModule,
|
||||
//
|
||||
MatInputModule,
|
||||
MatNativeDateModule,
|
||||
|
||||
@@ -2,90 +2,18 @@
|
||||
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
|
||||
<ion-refresher-content></ion-refresher-content>
|
||||
</ion-refresher>
|
||||
<div class="title">
|
||||
<app-btn-modal-dismiss (click)="goBack()" ></app-btn-modal-dismiss>
|
||||
<div class="thetitle"><ion-label >Diplomas</ion-label></div>
|
||||
<div class="theicon d-flex align-center">
|
||||
<!-- <div>
|
||||
<div title="Pesquisa" *ngIf="!hideSearchBtn" class="mr-20 d-flex align-center cursor-pointer">
|
||||
<div (click)="openSearch();showSearch=true" *ngIf="!showSearch" class="d-flex">
|
||||
<ion-icon title="Perfil" *ngIf="ThemeService.currentTheme == 'doneIt' " class="font-35" src="assets/images/theme/doneIt/icons-search.svg"></ion-icon>
|
||||
<ion-icon title="Perfil" *ngIf="ThemeService.currentTheme == 'default' " class="font-35" src='assets/images/icons-search.svg'></ion-icon>
|
||||
<ion-icon title="Perfil" *ngIf="ThemeService.currentTheme == 'gov' " class="font-35" src='assets/images/theme/gov/icons-search.svg'></ion-icon>
|
||||
</div>
|
||||
<button title="Fechar" class="btn-no-color d-flex" (click)="closeSearch();showSearch=false;searchSubject=''" *ngIf="showSearch">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' || ThemeService.currentTheme == 'doneIt' " class="font-35" name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-35" name="restaurant-outline" src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
</button>
|
||||
|
||||
<div *ngIf="showSearch">
|
||||
<div class="d-flex search-input-container ml-10 justify-between" *ngIf="showSearch">
|
||||
|
||||
<div class="input-text d-flex ion-align-items-center">
|
||||
<ion-input (keyup.enter)="basicSearch()" [(ngModel)]='searchSubject' (ngModelChange)="dynamicSearch()"
|
||||
class="search-input text-black" type="search" placeholder="Pesquisar"></ion-input>
|
||||
</div>
|
||||
|
||||
<app-task-list-header
|
||||
[goBackButton] = true
|
||||
[headerName] = "headerName"
|
||||
[ordinance] = ordinance
|
||||
[loading] = skeletonLoader
|
||||
[loaderTop] = true
|
||||
(reorderList) = reorderList($event)
|
||||
(changeFilterName) = changeFilterName($event)
|
||||
(goBack) = goBack()
|
||||
></app-task-list-header>
|
||||
|
||||
<div (click)="basicSearch()" class="d-flex align-center icon">
|
||||
|
||||
<ion-icon class="icon-z" slot="end" src="assets/images/theme/gov/search.svg"></ion-icon>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<div>
|
||||
<div class="d-flex" (click)="reorderList('old')" *ngIf="ordinance == 'recent' ">
|
||||
|
||||
<ion-icon class="mr-10" src="assets/images/theme/gov/crescente.svg" ></ion-icon>
|
||||
</div>
|
||||
|
||||
<div class="d-flex" (click)="reorderList('recent')" *ngIf="ordinance != 'recent' ">
|
||||
<ion-icon class="mr-10" src="assets/images/theme/gov/decrescente.svg" ></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<mat-form-field class="task-filter-input" appearance="none" color="ion-color-secondary" placeholder="Selecione agenda">
|
||||
<mat-select [(value)]="filterName">
|
||||
|
||||
<mat-option value="Para hoje" >
|
||||
Para hoje
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Novos" >
|
||||
Novos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Lidos" >
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<!-- <button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
|
||||
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
|
||||
</button> -->
|
||||
</div>
|
||||
</div>
|
||||
<ion-toolbar>
|
||||
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
|
||||
<ion-segment-button value="validar" *ngIf="p.userPermission([p.permissionList.Gabinete.md_tasks])">
|
||||
@@ -116,7 +44,7 @@
|
||||
(click)="goToDiploma(task.SerialNumber)"
|
||||
lines="none"
|
||||
>
|
||||
<div class="item width-100 expediente">
|
||||
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
|
||||
<div class="exp-top-detail">
|
||||
<div class="subject d-flex align-center">
|
||||
<ion-label [class.gb-seen]="TaskService.seen(task)">{{ task.Folio }}</ion-label>
|
||||
@@ -183,12 +111,12 @@
|
||||
<ion-list *ngSwitchCase="'assinados'">
|
||||
<div *ngIf="listDiplomasAssinadosPR.length >= 1">
|
||||
<ion-item
|
||||
class="expediente ion-no-padding cursor-pointer"
|
||||
class=" ion-no-padding cursor-pointer"
|
||||
*ngFor = "let task of listDiplomasAssinadosPR"
|
||||
(click)="goToDiploma(task.SerialNumber)"
|
||||
lines="none"
|
||||
>
|
||||
<div class="item width-100">
|
||||
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
|
||||
<div class="exp-top-detail">
|
||||
<div class="subject d-flex">
|
||||
<ion-label [class.gb-seen]="TaskService.seen(task)">{{ task.Folio }}</ion-label>
|
||||
|
||||
@@ -7,9 +7,10 @@
|
||||
.header-2 {
|
||||
border-top-right-radius: 24px;
|
||||
border-top-left-radius: 24px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
ion-content, .header-2, .main-content{
|
||||
ion-content, .main-content{
|
||||
padding: 30px 20px 0 20px !important;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ export class DiplomasPage implements OnInit, OnDestroy {
|
||||
showLoader: boolean;
|
||||
totalDocs: any;
|
||||
serialNumber: string;
|
||||
headerName = "Diplomas"
|
||||
|
||||
segment: string;
|
||||
|
||||
@@ -114,6 +115,10 @@ export class DiplomasPage implements OnInit, OnDestroy {
|
||||
this.dynamicSearch();
|
||||
}
|
||||
|
||||
changeFilterName(filterName) {
|
||||
this.filterName = filterName
|
||||
}
|
||||
|
||||
async dynamicSearch() {
|
||||
|
||||
if(this.showSearch && this.searchSubject) {
|
||||
|
||||
@@ -21,6 +21,8 @@ import { ReactiveFormsModule } from '@angular/forms';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NgxMatMomentModule } from '@angular-material-components/moment-adapter';
|
||||
import { TaskListPageModule } from 'src/app/shared/gabinete-digital/generic/task-list/task-list.module'
|
||||
|
||||
|
||||
|
||||
@NgModule({
|
||||
@@ -28,6 +30,7 @@ import { NgxMatMomentModule } from '@angular-material-components/moment-adapter'
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
TaskListPageModule,
|
||||
//
|
||||
MatInputModule,
|
||||
MatNativeDateModule,
|
||||
|
||||
@@ -8,6 +8,7 @@ import { ExpedientesPrPageRoutingModule } from './expedientes-pr-routing.module'
|
||||
|
||||
import { ExpedientesPrPage } from './expedientes-pr.page';
|
||||
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
|
||||
import { TaskListPageModule } from 'src/app/shared/gabinete-digital/generic/task-list/task-list.module'
|
||||
|
||||
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
@@ -23,6 +24,7 @@ import { ReactiveFormsModule } from '@angular/forms';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NgxMatMomentModule } from '@angular-material-components/moment-adapter';
|
||||
import { TaskListHeaderPageModule } from 'src/app/shared/gabinete-digital/generic/task-list-header/task-list-header.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -31,7 +33,9 @@ import { NgxMatMomentModule } from '@angular-material-components/moment-adapter'
|
||||
IonicModule,
|
||||
ExpedientesPrPageRoutingModule,
|
||||
BtnModalDismissPageModule,
|
||||
//
|
||||
TaskListPageModule,
|
||||
TaskListHeaderPageModule,
|
||||
//
|
||||
MatInputModule,
|
||||
MatNativeDateModule,
|
||||
NgxMatDatetimePickerModule,
|
||||
|
||||
@@ -1,142 +1,33 @@
|
||||
<ion-header class="ion-no-border">
|
||||
<!-- <app-header > </app-header> -->
|
||||
</ion-header>
|
||||
|
||||
<ion-header class="ion-no-border header-2">
|
||||
<app-task-list-header
|
||||
[goBackButton] = true
|
||||
[headerName] = "headerName"
|
||||
[ordinance] = ordinance
|
||||
[loading] = skeletonLoader
|
||||
[loaderTop] = true
|
||||
(reorderList) = reorderList($event)
|
||||
(changeFilterName) = changeFilterName($event)
|
||||
(goBack) = goBack()
|
||||
></app-task-list-header>
|
||||
|
||||
<app-btn-modal-dismiss (click)="goBack()" ></app-btn-modal-dismiss>
|
||||
|
||||
<div class="title">
|
||||
<div class="thetitle"><ion-label >Expediente</ion-label></div>
|
||||
<div class="theicon btn-refresh d-flex align-center">
|
||||
|
||||
<div class="d-flex" (click)="reorderList('old')" *ngIf="ordinance == 'recent' ">
|
||||
|
||||
<ion-icon class="mr-10" src="assets/images/theme/gov/crescente.svg" ></ion-icon>
|
||||
</div>
|
||||
|
||||
<div class="d-flex" (click)="reorderList('recent')" *ngIf="ordinance != 'recent' ">
|
||||
<ion-icon class="mr-10" src="assets/images/theme/gov/decrescente.svg" ></ion-icon>
|
||||
</div>
|
||||
|
||||
<mat-form-field class="task-filter-input" appearance="none" color="ion-color-secondary" placeholder="Selecione agenda">
|
||||
<mat-select [(value)]="filterName">
|
||||
|
||||
<mat-option value="Para hoje" >
|
||||
Para hoje
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Novos" >
|
||||
Novos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Lidos" >
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<button class="btn-no-color" (click)="refreshing()">
|
||||
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</ion-header>
|
||||
<ion-content>
|
||||
|
||||
<div class="main-content width-100 overflow-y-auto height-100">
|
||||
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
|
||||
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
|
||||
<ion-refresher-content>
|
||||
</ion-refresher-content>
|
||||
</ion-refresher>
|
||||
|
||||
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
|
||||
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
|
||||
<ion-refresher-content>
|
||||
</ion-refresher-content>
|
||||
</ion-refresher>
|
||||
|
||||
<div class="width-100" >
|
||||
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
|
||||
<ion-list>
|
||||
<div
|
||||
class=" ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of expedienteGdStore.list"
|
||||
(click)="goToExpediente(task.SerialNumber)"
|
||||
>
|
||||
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
|
||||
<div class="exp-top-detail">
|
||||
<div class="subject d-flex align-center">
|
||||
<ion-label [class.gb-seen]="TaskService.seen(task)">{{ task.Subject }}</ion-label>
|
||||
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
|
||||
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskReceiveDate)">Nova</span>
|
||||
</div>
|
||||
<div class="exp-icon">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "src="assets/images/icons-expediente-attachment.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-expediente-attachment.svg"></ion-icon>
|
||||
<label *ngIf="task.DocumentsQty != 0">{{task.DocumentsQty}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="exp-bottom-detail">
|
||||
<div class="exp-remetente">
|
||||
<ion-label>{{task.Senders}}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="exp-middle-detail">
|
||||
<div class="exp-workflow">
|
||||
<span class="label">{{task.activityInstanceName}}</span>
|
||||
</div>
|
||||
<div class="exp-date">
|
||||
<ion-label>{{ task.CreateDate | date: 'dd-MM-yyyy HH:mm' }}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ion-list>
|
||||
</div>
|
||||
|
||||
<div
|
||||
*ngIf="!skeletonLoader && expedienteGdStore.list.length == 0 && expedienteGdStore.list.length == 0"
|
||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||
>
|
||||
<span>Lista vazia</span>
|
||||
</div>
|
||||
|
||||
<!-- Skeleton loader -->
|
||||
<div *ngIf="skeletonLoader && expedienteGdStore.list.length == 0">
|
||||
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
<ion-thumbnail slot="end">
|
||||
<ion-skeleton-text animated></ion-skeleton-text>
|
||||
</ion-thumbnail>
|
||||
<ion-label>
|
||||
<h3><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></h3>
|
||||
<p><ion-skeleton-text animated style="width: 80%"></ion-skeleton-text></p>
|
||||
<p><ion-skeleton-text animated style="width: 60%"></ion-skeleton-text></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-thumbnail slot="end">
|
||||
<ion-skeleton-text animated></ion-skeleton-text>
|
||||
</ion-thumbnail>
|
||||
<ion-label>
|
||||
<h3><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></h3>
|
||||
<p><ion-skeleton-text animated style="width: 80%"></ion-skeleton-text></p>
|
||||
<p><ion-skeleton-text animated style="width: 60%"></ion-skeleton-text></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div>
|
||||
</div>
|
||||
<app-task-list
|
||||
[taskList] = list
|
||||
[skeletonLoader] = skeletonLoader
|
||||
(viewTaskDetail)="goToExpediente($event)"
|
||||
[filterName]="filterName"
|
||||
>
|
||||
|
||||
</app-task-list>
|
||||
|
||||
</ion-content>
|
||||
|
||||
|
||||
@@ -7,9 +7,10 @@
|
||||
.header-2 {
|
||||
border-top-right-radius: 24px;
|
||||
border-top-left-radius: 24px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
ion-content, .header-2, .main-content{
|
||||
ion-content, .main-content{
|
||||
padding: 30px 20px 0 20px !important;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
@@ -41,7 +41,8 @@ export class ExpedientesPrPage implements OnInit {
|
||||
searchSubject = ''
|
||||
list = []
|
||||
ordinance: string = 'old'
|
||||
|
||||
headerName = "Expediente"
|
||||
|
||||
constructor(
|
||||
private processes:ProcessesService,
|
||||
private modalController: ModalController,
|
||||
@@ -85,6 +86,11 @@ export class ExpedientesPrPage implements OnInit {
|
||||
this.dynamicSearch();
|
||||
}
|
||||
|
||||
|
||||
changeFilterName(filterName) {
|
||||
this.filterName = filterName
|
||||
}
|
||||
|
||||
async dynamicSearch() {
|
||||
|
||||
if(this.showSearch && this.searchSubject) {
|
||||
@@ -136,9 +142,9 @@ export class ExpedientesPrPage implements OnInit {
|
||||
}, 2000);
|
||||
}
|
||||
|
||||
goToExpediente(serialNumber:any){
|
||||
goToExpediente({SerialNumber}){
|
||||
//this.router.navigate(['/home/gabinete-digital/expedientes-pr',serialNumber,'gabinete-digital']);
|
||||
this.router.navigate(['/home/gabinete-digital/expediente', serialNumber, 'gabinete-digital']);
|
||||
this.router.navigate(['/home/gabinete-digital/expediente', SerialNumber, 'gabinete-digital']);
|
||||
}
|
||||
|
||||
async viewExpedientDetail(serialNumber:any) {
|
||||
@@ -159,13 +165,7 @@ export class ExpedientesPrPage implements OnInit {
|
||||
}
|
||||
|
||||
goBack() {
|
||||
// let navigationExtras: NavigationExtras = {
|
||||
// queryParams: {
|
||||
// "expedientes-pr": true,
|
||||
// }
|
||||
// };
|
||||
// this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
||||
|
||||
|
||||
this.RouteService.goBack();
|
||||
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@ import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NgxMatMomentModule } from '@angular-material-components/moment-adapter';
|
||||
|
||||
import { TaskListHeaderPageModule } from 'src/app/shared/gabinete-digital/generic/task-list-header/task-list-header.module';
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
|
||||
@@ -3,18 +3,27 @@
|
||||
</ion-header>
|
||||
|
||||
<ion-header class="ion-no-border header-2">
|
||||
<app-btn-modal-dismiss (click)="goBack()"></app-btn-modal-dismiss>
|
||||
<div class="title">
|
||||
<div class="thetitle"><ion-label >Pedidos</ion-label></div>
|
||||
<div class="theicon btn-refresh d-flex align-center">
|
||||
|
||||
<div class="d-flex" (click)="reorderList('old')" *ngIf="ordinance == 'recent' ">
|
||||
|
||||
<ion-icon class="mr-10" src="assets/images/theme/gov/crescente.svg" ></ion-icon>
|
||||
|
||||
<div class="title d-flex justify-space-between">
|
||||
<div class="d-flex align-center" (click)="goBack()">
|
||||
<div class="d-flex align-center font-35">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " slot="end" src='assets/images/icons-arrow-arrow-left.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " slot="end" src='assets/images/theme/gov/icons-calendar-arrow-left.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " slot="end" src='assets/images/theme/{{ThemeService.currentTheme}}/icons-calendar-arrow-left.svg'></ion-icon>
|
||||
</div>
|
||||
<div class="thetitle"><ion-label >Pedidos</ion-label></div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex" (click)="reorderList('recent')" *ngIf="ordinance != 'recent' ">
|
||||
<ion-icon class="mr-10" src="assets/images/theme/gov/decrescente.svg" ></ion-icon>
|
||||
<div class="theicon btn-refresh d-flex">
|
||||
|
||||
<div>
|
||||
<div class="d-flex" (click)="reorderList('old')" *ngIf="ordinance == 'recent' ">
|
||||
<ion-icon class="mr-10 font-25" src="assets/images/theme/gov/crescente.svg" ></ion-icon>
|
||||
</div>
|
||||
|
||||
<div class="d-flex" (click)="reorderList('recent')" *ngIf="ordinance != 'recent' ">
|
||||
<ion-icon class="mr-10 font-25" src="assets/images/theme/gov/decrescente.svg" ></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<mat-form-field class="task-filter-input" appearance="none" color="ion-color-secondary" placeholder="Selecione agenda">
|
||||
@@ -53,6 +62,7 @@
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ion-toolbar>
|
||||
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)" >
|
||||
<ion-segment-button value="parecer">
|
||||
@@ -77,40 +87,15 @@
|
||||
</ion-refresher-content>
|
||||
</ion-refresher>
|
||||
|
||||
<div class="d-flex ion-justify-content-between ion-align-items-center" style="
|
||||
width: 300px;
|
||||
margin: 0px auto;
|
||||
">
|
||||
|
||||
<div class="d-flex sort-by ion-justify-content-center">
|
||||
<p>
|
||||
<span class="order">Order por:</span>
|
||||
<span *ngIf="ordinance == 'recent'" class="order-labal">Mais Recentes</span>
|
||||
<span *ngIf="ordinance == 'old'" class="order-labal">Mais Antigos</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<div *ngIf="ordinance == 'old'" (click)="reorderList('recent')">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-arrow-arrow-up.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-arrow-arrow-up.svg"></ion-icon>
|
||||
</div>
|
||||
|
||||
<div *ngIf="ordinance == 'recent'" (click)="reorderList('old')">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-arrow-arrow-down-25.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-arrow-arrow-down.svg"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="width-100" [ngSwitch]="segment">
|
||||
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
|
||||
<div *ngIf="listPedidosParecer">
|
||||
<div *ngIf="pedidosstorage.listparecer">
|
||||
<ion-list *ngSwitchCase="'parecer'">
|
||||
<!-- *ngFor = "let task of listPedidosParecer; let i = index"
|
||||
<!-- *ngFor = "let task of pedidosstorage.listparecer; let i = index"
|
||||
(click)="viewExpedientDetail(task.SerialNumber)" -->
|
||||
<div
|
||||
class="ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of listPedidosParecer"
|
||||
*ngFor = "let task of pedidosstorage.listparecer"
|
||||
(click)="goToPedido(task.SerialNumber)"
|
||||
>
|
||||
<!-- (click)="viewExpedientDetail(task.SerialNumber)" -->
|
||||
@@ -146,11 +131,11 @@
|
||||
</ion-list>
|
||||
|
||||
</div>
|
||||
<div *ngIf="listPedidosDeferimento">
|
||||
<div *ngIf="pedidosstorage.listdeferimento">
|
||||
<ion-list *ngSwitchCase="'deferimento'">
|
||||
<div
|
||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of listPedidosDeferimento"
|
||||
*ngFor = "let task of pedidosstorage.listdeferimento"
|
||||
(click)="goToPedido(task.SerialNumber)"
|
||||
>
|
||||
<!-- (click)="viewExpedientDetail(task.SerialNumber)" -->
|
||||
@@ -190,7 +175,7 @@
|
||||
<div [ngSwitch]="segment">
|
||||
<div *ngSwitchCase="'parecer'" class="centered-div d-flex height-100 align-center justify-content-center" >
|
||||
<div
|
||||
*ngIf="listPedidosParecer.length == 0"
|
||||
*ngIf="pedidosstorage.listparecer.length == 0"
|
||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||
>
|
||||
<span>Lista vazia</span>
|
||||
@@ -199,7 +184,7 @@
|
||||
|
||||
<div *ngSwitchCase="'deferimento'" class="centered-div d-flex height-100 align-center justify-content-center">
|
||||
<div
|
||||
*ngIf="listPedidosDeferimento.length == 0"
|
||||
*ngIf="pedidosstorage.listdeferimento.length == 0"
|
||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||
>
|
||||
<span>Lista vazia</span>
|
||||
@@ -207,7 +192,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="skeletonLoader && listPedidosDeferimento.length == 0 && skeletonLoader && listPedidosParecer.length == 0">
|
||||
<div *ngIf="skeletonLoader && pedidosstorage.listdeferimento.length == 0 && skeletonLoader && pedidosstorage.listparecer.length == 0">
|
||||
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
|
||||
@@ -121,7 +121,6 @@ export class PedidosPage implements OnInit {
|
||||
|
||||
this.listPedidosParecer = this.TaskService.reorderList(this.ordinance, listPedidosParecer)
|
||||
|
||||
|
||||
const listPedidosDeferimento = this.pedidosstorage.listdeferimento.filter((task) => {
|
||||
let subject = task.Folio || task.Subject || task.workflowInstanceDataFields.Subject
|
||||
subject = subject.toLowerCase();
|
||||
|
||||
@@ -24,6 +24,7 @@ import { ReactiveFormsModule } from '@angular/forms';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NgxMatMomentModule } from '@angular-material-components/moment-adapter';
|
||||
import { TaskListHeaderPageModule } from 'src/app/shared/gabinete-digital/generic/task-list-header/task-list-header.module';
|
||||
|
||||
|
||||
@NgModule({
|
||||
@@ -35,6 +36,7 @@ import { NgxMatMomentModule } from '@angular-material-components/moment-adapter'
|
||||
BtnModalDismissPageModule,
|
||||
// entryComponents
|
||||
TaskListPageModule,
|
||||
TaskListHeaderPageModule,
|
||||
//
|
||||
MatInputModule,
|
||||
MatNativeDateModule,
|
||||
|
||||
@@ -1,59 +1,14 @@
|
||||
<ion-header class="ion-no-border">
|
||||
<!-- <app-header > </app-header> -->
|
||||
</ion-header>
|
||||
|
||||
|
||||
<ion-header class="ion-no-border header-2">
|
||||
<app-btn-modal-dismiss (click)="goBack()" ></app-btn-modal-dismiss>
|
||||
<div class="title">
|
||||
<div class="thetitle"><ion-label >Pendentes</ion-label></div>
|
||||
<div class="theicon btn-refresh d-flex align-center">
|
||||
|
||||
<div class="d-flex" (click)="reorderList('old')" *ngIf="ordinance == 'recent' ">
|
||||
|
||||
<ion-icon class="mr-10" src="assets/images/theme/gov/crescente.svg" ></ion-icon>
|
||||
</div>
|
||||
|
||||
<div class="d-flex" (click)="reorderList('recent')" *ngIf="ordinance != 'recent' ">
|
||||
<ion-icon class="mr-10" src="assets/images/theme/gov/decrescente.svg" ></ion-icon>
|
||||
</div>
|
||||
|
||||
<mat-form-field class="task-filter-input" appearance="none" color="ion-color-secondary" placeholder="Selecione agenda">
|
||||
<mat-select [(value)]="filterName">
|
||||
|
||||
<mat-option value="Para hoje" >
|
||||
Para hoje
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Novos" >
|
||||
Novos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Lidos" >
|
||||
Lidos
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Não lidos" >
|
||||
Não lidos
|
||||
</mat-option>
|
||||
|
||||
|
||||
<mat-option value="OverdueTasks">
|
||||
Em atraso
|
||||
</mat-option>
|
||||
|
||||
<mat-option value="Todos" >
|
||||
Todos
|
||||
</mat-option>
|
||||
|
||||
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<button class="btn-no-color" (click)="doRefresh($event)">
|
||||
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<app-task-list-header
|
||||
[goBackButton] = true
|
||||
[headerName] = "headerName"
|
||||
[ordinance] = ordinance
|
||||
[loading] = skeletonLoader
|
||||
[loaderTop] = true
|
||||
(reorderList) = reorderList($event)
|
||||
(changeFilterName) = changeFilterName($event)
|
||||
(goBack) = goBack()
|
||||
></app-task-list-header>
|
||||
</ion-header>
|
||||
|
||||
<ion-content style="background-color: white;">
|
||||
@@ -71,6 +26,7 @@
|
||||
<app-task-list class="height-100"
|
||||
[taskList] = list
|
||||
[skeletonLoader] = skeletonLoader
|
||||
[filterName] = "filterName"
|
||||
(viewTaskDetail)="viewTaskDetails($event)"
|
||||
> </app-task-list>
|
||||
|
||||
|
||||
@@ -7,11 +7,7 @@
|
||||
.header-2 {
|
||||
border-top-right-radius: 24px;
|
||||
border-top-left-radius: 24px;
|
||||
}
|
||||
|
||||
.header-2{
|
||||
padding: 30px 20px 0 20px !important;
|
||||
background-color: white;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.main-content {
|
||||
|
||||
@@ -46,6 +46,7 @@ export class PendentesPage implements OnInit {
|
||||
searchSubject = ''
|
||||
list = []
|
||||
ordinance: string = 'old'
|
||||
headerName = "Pendentes"
|
||||
|
||||
constructor(
|
||||
private processes: ProcessesService,
|
||||
@@ -99,6 +100,11 @@ export class PendentesPage implements OnInit {
|
||||
this.dynamicSearch();
|
||||
}
|
||||
|
||||
changeFilterName(filterName) {
|
||||
this.filterName = filterName
|
||||
}
|
||||
|
||||
|
||||
async dynamicSearch() {
|
||||
|
||||
if(this.showSearch && this.searchSubject) {
|
||||
|
||||
Reference in New Issue
Block a user