| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- <main class="main-container animated fadeIn prevent-select" (window:resize)="onResize()">
- <header id="navigation" class="btn-navigate mb-8">
- <div class="prev-page prevent-select raised-button-background mat-elevation-z8" (click)="goBack(1)" matRipple>
- <mat-icon style="color: white;">arrow_back</mat-icon>
- <div class="page-name ml-4">Gestión de mantenimiento preventivo</div>
- </div>
- </header>
- <mat-card class="override-card override-elevation-z8">
- <section class="override-section">
- <nav class="override-nav">
- <mat-card-title class="mat-card-title centre">Visitas técnicas no programadas</mat-card-title>
- <div class="override-actions">
- <mat-form-field appearance="outline" class="w-300p mr-8">
- <mat-label>Buscador</mat-label>
- <input matInput [(ngModel)]="txtBuscador" (keyup)="applyFilter($event,'INP')"
- placeholder="Ingrese la palabra a buscar" />
- <mat-icon *ngIf="txtBuscador.length === 0" matSuffix>search</mat-icon>
- <mat-icon *ngIf="txtBuscador.length > 0" class="clickable" matTooltip="Eliminar filtro"
- (click)="applyFilter('', 'EST')" matSuffix>close</mat-icon>
- </mat-form-field>
- <div class="override-buttons ">
- <button mat-flat-button class="mr-10 animated fadeIn " color="primary" (click)="registerVisit()" *ngIf="!btnSmall ">
- <mat-icon>add</mat-icon> Registrar visita no programada
- </button>
- <button mat-mini-fab class="override_no_shadow mr-10 animated fadeIn " color="primary" (click)="registerVisit()" *ngIf="btnSmall" class="override_no_shadow raised-button-background mr-4"
- matTooltip="Registrar visita no programada">
- <mat-icon>add</mat-icon>
- </button>
- <button mat-mini-fab class="orange_primary_background white_font override_no_shadow mr-10" matTooltip="Actualizar datos" (click)="getUnprogrammedVisits()">
- <mat-icon>refresh</mat-icon>
- </button>
- </div>
- </div>
- </nav>
- <div class="is-loading animated fadeIn fast" *ngIf="isLoading">
- <mat-spinner align="center"></mat-spinner>
- <h3>Cargando datos ...</h3>
- </div>
- <div class="has-error animated fadeIn fast" *ngIf="!isLoading && hasError">
- <mat-icon class="red_primary_font">error</mat-icon>
- <h3>{{ errorStr }}</h3>
- </div>
- <div class="override-table" [ngClass]="{ hidden: isLoading || hasError }">
- <table mat-table [dataSource]="dataSource!" matSort class="animated fadeIn"
- [style.display]="!isLoading && !hasError ? 'revert' : 'none'">
- <ng-container matColumnDef="ID">
- <th mat-header-cell *matHeaderCellDef mat-sort-header>ID</th>
- <td mat-cell *matCellDef="let row">{{ row.IDVISITA }}</td>
- </ng-container>
-
- <ng-container matColumnDef="EQUIP">
- <th mat-header-cell *matHeaderCellDef mat-sort-header>Equipamiento</th>
- <td mat-cell *matCellDef="let row" style="width: 40%;">{{ row.TIPO_EQUIPAMIENTO }} - {{ row.MODELO_EQUIPAMIENTO }}</td>
- </ng-container>
-
- <ng-container matColumnDef="ESTA" style="width: 30%;">
- <th mat-header-cell *matHeaderCellDef mat-sort-header>Estado</th>
- <td mat-cell *matCellDef="let row">{{ statusMap.get(row.ESTATUS) }}</td>
- </ng-container>
-
- <ng-container matColumnDef="ACCONES">
- <th mat-header-cell *matHeaderCellDef mat-sort-header>Acciones</th>
- <td mat-cell *matCellDef="let row">
- <button mat-mini-fab color="primary" class="mr-4 override_no_shadow animated fadeIn white_font pink_primary_background" matTooltip="Ver detalles" (click)="openVisitDetails(row.IDVISITA)"
- *ngIf="!btnSmall && row.ESTATUS == 'P'" >
- <mat-icon>visibility</mat-icon>
- </button>
- <button mat-mini-fab #toolTip="matTooltip" matTooltip="Aprobar visita"
- [ngClass]="{green_primary_background: !isLoading && row.ESTATUS == 'P', white_font: !isLoading && row.ESTATUS == 'P', hidden : row.ESTATUS == 'A' || row.ESTATUS == 'R'
- }" class="no_shadow" (click)="openCommentsDialog(row.IDVISITA, 'auth')"
- [disabled]="row.ESTATUS =='F' || row.ESTATUS == 'C'"
- *ngIf="!btnSmall">
- <mat-icon>done</mat-icon>
- </button>
- <button mat-mini-fab class="ml-4 no_shadow" matTooltip="Rechazar visita"
- [ngClass]="{red_primary_background: row.ESTATUS == 'P', white_font: row.ESTATUS == 'P', hidden : row.ESTATUS == 'A' || row.ESTATUS == 'R'}" (click)="openCommentsDialog(row.IDVISITA, 'decline')"
- [disabled]="row.ESTATUS == 'C' || row.ESTATUS == 'F'"
- *ngIf="!btnSmall">
- <mat-icon>close</mat-icon>
- </button>
- <button mat-mini-fab class="mt-4 white_font green_primary_background mr-4 override_no_shadow animated fadeIn" matTooltip="Finalizar visita"
- *ngIf="row.ESTATUS == 'A' && !btnSmall" (click)="openCommentsDialog(row.IDVISITA, 'end')">
- <mat-icon>check_circle</mat-icon>
- </button>
- <button mat-mini-fab class="mt-4 white_font red_primary_background mr-4 override_no_shadow animated fadeIn" matTooltip="Cancelar visita"
- *ngIf="row.ESTATUS == 'A' && !btnSmall" (click)="openCommentsDialog(row.IDVISITA, 'cancel')">
- <mat-icon>cancel</mat-icon>
- </button>
- <button mat-mini-fab color="primary" class="override_no_shadow animated fadeIn gray_dark_font transparent_background" *ngIf="btnSmall" [matMenuTriggerFor]="menu">
- <mat-icon>more_vert</mat-icon>
- </button>
- <button mat-mini-fab class="white_font green_primary_background mr-4 override_no_shadow animated fadeIn" matTooltip="Aprobar visita"
- [ngClass]="{hidden: row.ESTATUS == 'A' || row.ESTATUS == 'P' || row.ESTATUS == 'C' || row.ESTATUS == 'R'|| row.ESTATUS == 'F' }" (click)="openCommentsDialog(row.IDVISITA, 'cancel')">
- </button>
- <mat-menu #menu>
- <button mat-menu-item (click)="openVisitDetails(row.IDVISITA)">
- <mat-icon>visibility</mat-icon>
- <span>Ver detalles</span>
- </button>
- <button mat-menu-item *ngIf="row.ESTATUS == 'P'" (click)="openCommentsDialog(row.IDVISITA, 'auth')">
- <mat-icon>done</mat-icon>
- <span>Aprobar visita</span>
- </button>
- <button mat-menu-item *ngIf="row.ESTATUS == 'P'" (click)="openCommentsDialog(row.IDVISITA, 'decline')">
- <mat-icon>close</mat-icon>
- <span>Rechazar visita</span>
- </button>
- <button mat-menu-item *ngIf="row.ESTATUS == 'A'" (click)="openCommentsDialog(row.IDVISITA, 'end')">
- <mat-icon>check_circle</mat-icon>
- <span>Finalizar visita</span>
- </button>
- <button mat-menu-item *ngIf="row.ESTATUS == 'A'" (click)="openCommentsDialog(row.IDVISITA, 'cancel')">
- <mat-icon>cancel</mat-icon>
- <span>Cancelar visita</span>
- </button>
- </mat-menu>
- </td>
- </ng-container>
- <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
- <tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
- <tr class="mat-row" *matNoDataRow>
- <td class="mat-cell p-80 centre" colspan="100%">
- <object data="assets/img/empty_data.svg" width="300"></object>
- <h2>Sin datos</h2>
- </td>
- </tr>
- </table>
- </div>
- </section>
- <mat-paginator [pageSizeOptions]="[10, 50, 100]" class="override-paginator"></mat-paginator>
- </mat-card>
- </main>
|