search-equipment.component.html 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <h1 mat-dialog-title class="prevent-select">Buscar equipamiento</h1>
  2. <div mat-dialog-content class="prevent-select">
  3. <div class="is-loading animated fadeIn fast" *ngIf="isLoading">
  4. <mat-spinner align="center"></mat-spinner>
  5. <h3>Cargando datos ...</h3>
  6. </div>
  7. <div class="has-error animated fadeIn pt-64" *ngIf="!isLoading && hasError">
  8. <mat-icon class="red_primary_font">error</mat-icon>
  9. <h2>{{ errorStr }}</h2>
  10. </div>
  11. <mat-form-field class="w-100 mt-8" appearance="outline" *ngIf="!isLoading && !hasError">
  12. <mat-label>Buscador</mat-label>
  13. <input matInput [(ngModel)]="txtBuscador" (keyup)="applyFilter($event,'INP')" placeholder="Ingrese la palabra a buscar" />
  14. <mat-icon *ngIf="txtBuscador.length === 0" matSuffix>search</mat-icon>
  15. <mat-icon *ngIf="txtBuscador.length> 0" class="clickable" matTooltip="Eliminar filtro"
  16. (click)="applyFilter('', 'EST')" matSuffix>close</mat-icon>
  17. </mat-form-field>
  18. <div class="animated fadeIn" [ngClass]="{ table_dialog_details_column: !isLoading && !hasError, hidden: isLoading }">
  19. <table mat-table [dataSource]="dataSource" matSort class="animated fadeIn">
  20. <ng-container matColumnDef="CODIGO">
  21. <th mat-header-cell *matHeaderCellDef mat-sort-header>Código</th>
  22. <td mat-cell *matCellDef="let element" style="overflow-wrap: anywhere;">{{ element.CODIGO }}</td>
  23. </ng-container>
  24. <ng-container matColumnDef="TIPO">
  25. <th mat-header-cell *matHeaderCellDef mat-sort-header>Tipo</th>
  26. <td mat-cell *matCellDef="let element">{{ element.TIPO }}</td>
  27. </ng-container>
  28. <ng-container matColumnDef="MODELO">
  29. <th mat-header-cell *matHeaderCellDef mat-sort-header>Modelo</th>
  30. <td mat-cell *matCellDef="let element">{{ element.MODELO }}</td>
  31. </ng-container>
  32. <ng-container matColumnDef="ID_EQUIPO">
  33. <th mat-header-cell *matHeaderCellDef mat-sort-header>ID</th>
  34. <td mat-cell *matCellDef="let element">{{ element.ID_EQUIPO }}</td>
  35. </ng-container>
  36. <ng-container matColumnDef="ELEMENTO_ORIGEN">
  37. <th mat-header-cell *matHeaderCellDef mat-sort-header>Elemento</th>
  38. <td mat-cell *matCellDef="let element">{{ element.ELEMENTO_ORIGEN }}</td>
  39. </ng-container>
  40. <ng-container matColumnDef="ACCIONES">
  41. <th mat-header-cell *matHeaderCellDef mat-sort-header>Acciones</th>
  42. <td mat-cell *matCellDef="let element">
  43. <button mat-mini-fab color="primary" class="override_no_shadow" [matMenuTriggerFor]="menu">
  44. <mat-icon>settings</mat-icon>
  45. </button>
  46. <mat-menu #menu>
  47. <button mat-menu-item (click)="getEquipmentDetails(element.CODIGO)">
  48. <mat-icon>visibility</mat-icon>
  49. <span>Ver detalles</span>
  50. </button>
  51. <button mat-menu-item (click)="assignEquipment(element.CODIGO)">
  52. <mat-icon>done</mat-icon>
  53. <span>Asignar</span>
  54. </button>
  55. </mat-menu>
  56. </td>
  57. </ng-container>
  58. <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
  59. <tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
  60. <tr class="mat-row" *matNoDataRow>
  61. <td class="mat-cell p-20 align-center" colspan="12">
  62. <object data="assets/img/empty_data.svg" width="300"></object>
  63. <h2>Sin datos</h2>
  64. </td>
  65. </tr>
  66. </table>
  67. </div>
  68. <mat-paginator [pageSizeOptions]="[10, 50, 100]" class="override-paginator" [ngClass]="{ hidden: isLoading }"></mat-paginator>
  69. </div>
  70. <div mat-dialog-actions align="end">
  71. <button mat-button mat-dialog-close>Cerrar</button>
  72. </div>