mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
217 lines
9.9 KiB
HTML
217 lines
9.9 KiB
HTML
<ion-header class="ion-no-border">
|
|
<!-- <ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar> -->
|
|
<div class="title">
|
|
<div class="thetitle"><ion-label>Todas as tarefas</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-rem"
|
|
src="assets/images/theme/doneIt/icons-search.svg"></ion-icon>
|
|
<ion-icon title="Perfil" *ngIf="ThemeService.currentTheme == 'default' " class="font-35-rem"
|
|
src='assets/images/icons-search.svg'></ion-icon>
|
|
<ion-icon title="Perfil" *ngIf="ThemeService.currentTheme == 'gov' " class="font-35-rem"
|
|
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-rem" name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
|
|
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-35-rem" 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="icon" (click)="basicSearch()">
|
|
<ion-icon class="icon-z" slot="end" name="search"></ion-icon>
|
|
</div> -->
|
|
<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>
|
|
|
|
<!-- <div class="icon" (click)="clearSearchInput()">
|
|
<ion-icon title="Limpar" *ngIf="ThemeService.currentTheme == 'default' "name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
|
|
<ion-icon title="Limpar" *ngIf="ThemeService.currentTheme == 'doneIt' "name="restaurant-outline" src="assets/images/theme/doneIt/icons-search.svg"></ion-icon>
|
|
<ion-icon title="Limpar" *ngIf="ThemeService.currentTheme == 'gov' " name="restaurant-outline" src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
|
</div> -->
|
|
<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 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>
|
|
|
|
<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">
|
|
Novas
|
|
</mat-option>
|
|
|
|
<mat-option value="Lidos">
|
|
Lidas
|
|
</mat-option>
|
|
|
|
<mat-option value="Não lidos">
|
|
Não lidas
|
|
</mat-option>
|
|
|
|
<mat-option value="OverdueTasks">
|
|
Em atraso
|
|
</mat-option>
|
|
|
|
<mat-option value="Todos">
|
|
Todas
|
|
</mat-option>
|
|
|
|
</mat-select>
|
|
</mat-form-field>
|
|
</div>
|
|
<!-- <button title="Atualizar" 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>
|
|
<!--
|
|
<ion-refresher name="refresher" slot="fixed" >
|
|
<ion-refresher-content
|
|
pullingIcon="chevron-down-circle-outline"
|
|
pullingText="deslize para actualizar"
|
|
refreshingSpinner="circles"
|
|
refreshingText="A actualizar...">
|
|
</ion-refresher-content>
|
|
|
|
</ion-refresher> -->
|
|
|
|
<div class="overflow-y-auto height-100 width-100">
|
|
|
|
<div *ngIf="AllProcess.length >= 0">
|
|
<ion-item-sliding class="overflow-y-auto height-100">
|
|
<div class="listview">
|
|
<ion-list *ngIf="AllProcess">
|
|
<div class="item-hover ion-no-padding cursor-pointer" *ngFor="let task of AllProcess"
|
|
(click)="goToProcess(task.SerialNumber || task.serialNumber, task.WorkflowName || task.workflowName|| task.workflowDisplayName , task.activityInstanceName)">
|
|
<div class="item-wrapper" *ngIf="TaskService.filter(task, filterName)">
|
|
<div class="item width-100 ">
|
|
<div class="item-top-detail">
|
|
<div class="item-subject d-flex">
|
|
|
|
<!-- {{ task.SerialNumber || task.serialNumber}} {{ task.WorkflowName || task.workflowName || task.workflowDisplayName }} {{ task.activityInstanceName }} -->
|
|
|
|
<ion-label [class.gb-seen]="TaskService.seen(task)">{{ task.Folio || task.Subject ||
|
|
task.workflowInstanceDataFields.Subject}}</ion-label>
|
|
<span class="dead-line ml-10"
|
|
*ngIf="TaskService.deadlineIsToday(task.Deadline || task.deadline)">Para hoje</span>
|
|
<span class="new-task ml-10"
|
|
*ngIf="TaskService.lessThen24Hours(task.TaskReceiveDate || task.taskReceiveDate)">Nova</span>
|
|
</div>
|
|
<div *ngIf="task.DocumentsQty != 0" class="item-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>{{task.DocumentsQty || task.totalDocuments}}</label>
|
|
</div>
|
|
</div>
|
|
<div class="item-middle-detail">
|
|
<div class="item-remetente">
|
|
<ion-label class="sender" *ngIf="task.Senders">{{task.Senders }}</ion-label>
|
|
<ion-label class="sender" *ngIf="task.workflowInstanceDataFields">{{
|
|
task.workflowInstanceDataFields.Sender }}</ion-label>
|
|
</div>
|
|
</div>
|
|
<div *ngIf="task.Agenda" class="item-middle-detail">
|
|
<div class="item-remetente">
|
|
<ion-label>{{task.customDate}}</ion-label>
|
|
</div>
|
|
</div>
|
|
<div *ngIf="task.Agenda" class="item-middle-detail-extra">
|
|
<div class="item-middle-detail-extra-text">
|
|
<ion-label
|
|
*ngIf=" task.WorkflowName == 'Agenda Oficial PR' || task.WorkflowName == 'Agenda Pessoal PR'">
|
|
<!-- Agenda {{task.Agenda}} do Presidente da República -->
|
|
Agenda {{task.Agenda}} do Titular
|
|
</ion-label>
|
|
<ion-label
|
|
*ngIf=" task.WorkflowName == 'Agenda Oficial MDGPR' || task.WorkflowName == 'Agenda Pessoal MDGPR'">
|
|
A sua agenda {{task.Agenda}}
|
|
</ion-label>
|
|
</div>
|
|
</div>
|
|
<div class="item-bottom-detail d-flex align-items-center">
|
|
<div class="item-workflow">
|
|
<span class="label">{{task.WorkflowName}}</span>
|
|
</div>
|
|
<div class="item-date">
|
|
<ion-label>{{ task.taskStartDate || task.TaskStartDate | date: 'dd-MM-yyyy HH:mm' }}</ion-label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</ion-list>
|
|
</div>
|
|
</ion-item-sliding>
|
|
</div>
|
|
|
|
<div *ngIf="TaskService.showLoaderNum == 0 && AllProcess.length == 0"
|
|
class="empty-list d-flex height-100 align-center justify-content-center">
|
|
<span>Lista vazia</span>
|
|
</div>
|
|
|
|
<div *ngIf="TaskService.showLoaderNum != 0 && AllProcess.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>
|
|
|
|
|
|
</ion-content> |