mesmpr.component.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <div class="centre text-card">
  2. <h1 class="display-1">Bienvenido(a)</h1>
  3. <span class="display-text">{{ usuario }}</span>
  4. </div>
  5. <mat-grid-list cols="12" rowHeight="600px" class="card-title" *ngIf="loading">
  6. <mat-grid-tile colspan="12">
  7. <mat-spinner class="text-secondary"></mat-spinner>
  8. </mat-grid-tile>
  9. </mat-grid-list>
  10. <!-- EASYG -->
  11. <mat-card class="card-normal-text mat-card-text mat-elevation-z8 animated fadeIn fast" *ngIf="!loading && casoEAYG">
  12. <mat-grid-list cols="12" rowHeight="100px">
  13. <!-- Fila 1 | Periodo | Días disponibles (título) -->
  14. <mat-grid-tile colspan="12">
  15. <!-- Periodo Actual -->
  16. <div class="ml-5" style="position: absolute; left: 0">
  17. <mat-card-title style="margin-left: auto">
  18. <b>{{ periodoEAYG }}</b>
  19. </mat-card-title>
  20. <span class="display-text">Periodo EAYG</span><br>
  21. <span style="margin-top: 5px;"><b>Vencimiento:</b> {{ fechaVencimientoEAYG }}</span>
  22. </div>
  23. <div>
  24. <span class="display-0">Días disponibles</span>
  25. </div>
  26. <div class="mr-5" class="position-right" style="width: 210px">
  27. <mat-card-title class="display-text">Días por periodo</mat-card-title>
  28. <span class="display-text-small text-secondary"><b>{{ diasPeriodoEAYG }}</b></span>
  29. </div>
  30. </mat-grid-tile>
  31. <!-- Fila 2 | Días Tomados | Días disponibles (Dato) -->
  32. <mat-grid-tile colspan="12">
  33. <h1 class="display-4 text-secondary">
  34. {{ diasDisponiblesEAYG }}
  35. </h1>
  36. <div class="mr-5" class="position-right" style="margin-right: 1%; width: 180px">
  37. <mat-card-title class="display-text">Días tomados</mat-card-title>
  38. <span class="display-text-small text-secondary"><b> {{ diasTomadosEAYG }} </b></span>
  39. </div>
  40. </mat-grid-tile>
  41. </mat-grid-list>
  42. <div align="right" style="right: 0; display: flex; align-items: center">
  43. <div style="width: 100%; margin-left: 150px;">
  44. <mat-accordion class="headers-align" style="width: 100%; margin-top: 1%;" *ngIf="!casoActual && !casoAnterior">
  45. <mat-expansion-panel class="expansion-panel" [disabled]="detalles.length === 0">
  46. <mat-expansion-panel-header style="margin: auto;">
  47. <mat-panel-title>
  48. <mat-icon>calendar_month</mat-icon>
  49. </mat-panel-title>
  50. <mat-panel-description><b>Vacaciones tomadas</b></mat-panel-description>
  51. </mat-expansion-panel-header>
  52. <div class="vacaciones-panel" *ngFor="let periodos of periodos">
  53. <div class="periodo-flex">
  54. <span>Periodo {{ formatoPeriodo(periodos.PERIODO) }}</span>
  55. </div>
  56. <div>
  57. <div *ngFor="let detallePeriodo of formatoDetalles(periodos.DETALLES)">
  58. <mat-divider></mat-divider>
  59. <div class="panel-flex">
  60. <span><b> Fecha inicio: </b>{{ formatoFecha(detallePeriodo.fecha_inicio) }}</span>
  61. <span><b> Fecha fin: </b>{{ formatoFecha(detallePeriodo.fecha_fin) }}</span>
  62. <span><b> Días tomados: </b>{{ detallePeriodo.dias_tomados }}</span>
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. </mat-expansion-panel>
  68. </mat-accordion>
  69. </div>
  70. <div style="width: 180px; text-align: center; margin-right: 30px;">
  71. <mat-card-title class="display-text">Días solicitados</mat-card-title>
  72. <span class="display-text-small text-secondary"><b> {{ diasSolicitadosEAYG }} </b></span>
  73. </div>
  74. </div>
  75. </mat-card>
  76. <!-- Periodo Actual -->
  77. <mat-card class="card-normal-text mat-card-text mat-elevation-z8 animated fadeIn fast" [style.margin-bottom]="!casoAnterior ? '100px' : ''"
  78. *ngIf="!loading && casoActual">
  79. <mat-grid-list cols="12" rowHeight="100px">
  80. <!-- Fila 1 | Periodo | Días disponibles (título) -->
  81. <mat-grid-tile colspan="12">
  82. <!-- Periodo Actual -->
  83. <div class="ml-5" style="position: absolute; left: 0">
  84. <mat-card-title style="margin-left: auto">
  85. <b>{{ periodoActual }}</b>
  86. </mat-card-title>
  87. <span class="display-text">Periodo actual</span><br>
  88. <span style="margin-top: 5px;"><b>Vencimiento:</b> {{ fechaVencimientoActual }}</span>
  89. </div>
  90. <div>
  91. <span class="display-0">Días disponibles</span>
  92. </div>
  93. <div class="mr-5" class="position-right" style="width: 210px">
  94. <mat-card-title class="display-text">Días por periodo</mat-card-title>
  95. <span class="display-text-small text-secondary"><b>{{ diasPeriodoActual }}</b></span>
  96. </div>
  97. </mat-grid-tile>
  98. <!-- Fila 2 | Días Tomados | Días disponibles (Dato) -->
  99. <mat-grid-tile colspan="12">
  100. <h1 class="display-4 text-secondary">
  101. {{ diasDisponiblesActual }}
  102. </h1>
  103. <div class="mr-5" class="position-right" style="margin-right: 1%; width: 180px">
  104. <mat-card-title class="display-text">Días tomados</mat-card-title>
  105. <span class="display-text-small text-secondary"><b> {{ diasTomadosActual }} </b></span>
  106. </div>
  107. </mat-grid-tile>
  108. </mat-grid-list>
  109. <div align="right" style="right: 0; display: flex; align-items: center">
  110. <div style="width: 100%; margin-left: 150px;">
  111. <mat-accordion class="headers-align" style="width: 100%; margin-top: 1%;">
  112. <mat-expansion-panel class="expansion-panel" [disabled]="detalles.length === 0">
  113. <mat-expansion-panel-header style="margin: auto;">
  114. <mat-panel-title>
  115. <mat-icon>calendar_month</mat-icon>
  116. </mat-panel-title>
  117. <mat-panel-description><b>Vacaciones tomadas</b></mat-panel-description>
  118. </mat-expansion-panel-header>
  119. <div class="vacaciones-panel" *ngFor="let periodos of periodos">
  120. <div class="periodo-flex">
  121. <span>Periodo {{ formatoPeriodo(periodos.PERIODO) }}</span>
  122. </div>
  123. <div>
  124. <div *ngFor="let detallePeriodo of formatoDetalles(periodos.DETALLES)">
  125. <mat-divider></mat-divider>
  126. <div class="panel-flex">
  127. <span><b> Fecha inicio: </b>{{ formatoFecha(detallePeriodo.fecha_inicio) }}</span>
  128. <span><b> Fecha fin: </b>{{ formatoFecha(detallePeriodo.fecha_fin) }}</span>
  129. <span><b> Días tomados: </b>{{ detallePeriodo.dias_tomados }}</span>
  130. </div>
  131. </div>
  132. </div>
  133. </div>
  134. </mat-expansion-panel>
  135. </mat-accordion>
  136. </div>
  137. <div style="width: 180px; text-align: center; margin-right: 30px;">
  138. <mat-card-title class="display-text">Días solicitados</mat-card-title>
  139. <span class="display-text-small text-secondary"><b> {{ diasSolicitadosActual }} </b></span>
  140. </div>
  141. </div>
  142. </mat-card>
  143. <!-- Periodo Anterior -->
  144. <mat-card class="card-normal-text mat-card-text mat-elevation-z8 animated fadeIn fast" style="margin-bottom: 100px;"
  145. *ngIf="!loading && casoAnterior">
  146. <mat-grid-list cols="12">
  147. <!-- Fila 1 | Periodo | Días disponibles (título) -->
  148. <mat-grid-tile colspan="12">
  149. <div class="ml-5" style="position: absolute; left: 0">
  150. <mat-card-title style="margin-left: auto">
  151. <b>{{ periodoAnterior }}</b>
  152. </mat-card-title>
  153. <span class="display-text">Periodo anterior</span><br>
  154. <span style="margin-top: 5px;"><b>Vencimiento:</b> {{ fechaVencimientoAnterior }}</span>
  155. </div>
  156. <div>
  157. <span class="display-0">Días disponibles</span>
  158. </div>
  159. <div class="mr-5" class="position-right" style="width: 210px">
  160. <mat-card-title class="display-text">Días por periodo</mat-card-title>
  161. <span class="display-text-small text-secondary"><b>{{ diasPeriodoAnterior }}</b></span>
  162. </div>
  163. </mat-grid-tile>
  164. <!-- Fila 2 | Días Tomados | Días disponibles (Dato) -->
  165. <mat-grid-tile colspan="12">
  166. <h1 class="display-4 text-secondary">
  167. {{ diasDisponiblesAnterior }}
  168. </h1>
  169. <div class="mr-5" class="position-right" style="margin-right: 1%; width: 180px; ">
  170. <mat-card-title class="display-text">Días tomados</mat-card-title>
  171. <span class="display-text-small text-secondary"><b>{{ diasTomadosAnterior }}</b></span>
  172. </div>
  173. </mat-grid-tile>
  174. </mat-grid-list>
  175. <div align="right" style="right: 0; display: flex; align-items: center">
  176. <div style="width: 100%; margin-left: 150px;">
  177. </div>
  178. <div style="width: 180px; text-align: center; margin-right: 30px;">
  179. <mat-card-title class="display-text">Días solicitados</mat-card-title>
  180. <span class="display-text-small text-secondary"><b> {{ diasSolicitadosAnterior }} </b></span>
  181. </div>
  182. </div>
  183. </mat-card>
  184. <div *ngIf="caso0 && !loading" class="centre">
  185. <h2>Aún no existen periodos vacaciones para este usuario</h2>
  186. </div>