dashboard.component.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. <h2 class="floating-title">{{ title }}</h2>
  2. <div class="main-content">
  3. <div class="container-fluid">
  4. <div class="row">
  5. <div class="col-lg-12">
  6. <a href="#!" class="btn btn-sm btn-warning pull-right"
  7. >Actualizar a usuario pro</a
  8. >
  9. </div>
  10. </div>
  11. <br />
  12. <div class="row">
  13. <div class="col-lg-12">
  14. <div class="card white-skin bg-gradient-danger card-img-holder">
  15. <div class="card-body">
  16. <img
  17. alt="circle-image"
  18. class="card-img-absolute"
  19. src="assets/img/money-rate.png"
  20. />
  21. <h4 class="font-weight-normal mb-3">
  22. Tarifa por distribuidora y código
  23. <i class="mdi mdi-chart-line mdi-24px float-right"></i>
  24. </h4>
  25. <div class="row no-gutters">
  26. <div class="col-sm-12 col-md-6">
  27. <h3 class="mb-3">
  28. Distribuidora:
  29. <strong>
  30. {{ rates.distribuidora }}
  31. </strong>
  32. </h3>
  33. <div>
  34. <h3>
  35. Vigencia:
  36. <strong *ngIf="rates.tarifa_actual.dateMin">
  37. {{ rates.tarifa_actual.dateMin | date: "dd/MM/yyyy" }} -
  38. {{ rates.tarifa_actual.dateMax | date: "dd/MM/yyyy" }}
  39. </strong>
  40. </h3>
  41. </div>
  42. </div>
  43. <div class="col-sm-12 col-md-6">
  44. <h4>Tarifa actual (USD$/kWh):</h4>
  45. <div *ngIf="rates.tarifa_actual.cargo_energia">
  46. Cargo de energia:
  47. <strong>
  48. {{ rates.tarifa_actual.cargo_energia | number: "1.2-4" }}
  49. USD$/kWh
  50. </strong>
  51. </div>
  52. <div *ngIf="rates.tarifa_actual.cargo_energia_b1">
  53. Cargo de energia por bloque 1:
  54. <strong>
  55. {{ rates.tarifa_actual.cargo_energia_b1 | number: "1.2-4" }}
  56. USD$/kWh
  57. </strong>
  58. </div>
  59. <div *ngIf="rates.tarifa_actual.cargo_energia_b2">
  60. Cargo de energia por bloque 2:
  61. <strong>
  62. {{ rates.tarifa_actual.cargo_energia_b2 | number: "1.2-4" }}
  63. USD$/kWh
  64. </strong>
  65. </div>
  66. <div *ngIf="rates.tarifa_actual.cargo_energia_b3">
  67. Cargo de energia por bloque 3:
  68. <strong>
  69. {{ rates.tarifa_actual.cargo_energia_b3 | number: "1.2-4" }}
  70. USD$/kWh
  71. </strong>
  72. </div>
  73. <div *ngIf="rates.tarifa_actual.cargo_energia_punta">
  74. Cargo de energia punta:
  75. <strong>
  76. {{
  77. rates.tarifa_actual.cargo_energia_punta | number: "1.2-4"
  78. }}
  79. USD$/kWh
  80. </strong>
  81. </div>
  82. <div *ngIf="rates.tarifa_actual.cargo_energia_resto">
  83. Cargo de energia resto:
  84. <strong>
  85. {{
  86. rates.tarifa_actual.cargo_energia_resto | number: "1.2-4"
  87. }}
  88. USD$/kWh
  89. </strong>
  90. </div>
  91. <div *ngIf="rates.tarifa_actual.cargo_energia_valle">
  92. Cargo de energia valle:
  93. <strong>
  94. {{
  95. rates.tarifa_actual.cargo_energia_valle | number: "1.2-4"
  96. }}
  97. USD$/kWh
  98. </strong>
  99. </div>
  100. <br />
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. <!--
  107. <div class="col-lg-6">
  108. <div class="card cream-skin bg-gradient-danger card-img-holder">
  109. <div class="card-body">
  110. <img
  111. alt="circle-image"
  112. class="card-img-absolute"
  113. src="assets/img/money-rate.png"
  114. />
  115. <h4 class="font-weight-normal mb-3">
  116. Historico de tarifa por distribuidora y código
  117. <i class="mdi mdi-chart-line mdi-24px float-right"></i>
  118. </h4>
  119. <h3 class="mb-3" *ngIf="listAssets">
  120. Distribuidora {{ rates.distribuidora }}
  121. </h3>
  122. <div *ngIf="rates.tarifa_actual.cargo_energia">
  123. Cargo de energia: {{ rates.tarifa_actual.cargo_energia }}
  124. </div>
  125. <div *ngIf="rates.tarifa_actual.cargo_energia_b1">
  126. Cargo de energia por bloque 1:
  127. {{ rates.tarifa_actual.cargo_energia_b1 }}
  128. </div>
  129. <div *ngIf="rates.tarifa_actual.cargo_energia_b2">
  130. Cargo de energia por bloque 2:
  131. {{ rates.tarifa_actual.cargo_energia_b2 }}
  132. </div>
  133. <div *ngIf="rates.tarifa_actual.cargo_energia_b3">
  134. Cargo de energia por bloque 3:
  135. {{ rates.tarifa_actual.cargo_energia_b3 }}
  136. </div>
  137. <div *ngIf="rates.tarifa_actual.cargo_energia_punta">
  138. Cargo de energia punta:
  139. {{ rates.tarifa_actual.cargo_energia_punta }}
  140. </div>
  141. <div *ngIf="rates.tarifa_actual.cargo_energia_resto">
  142. Cargo de energia resto:
  143. {{ rates.tarifa_actual.cargo_energia_resto }}
  144. </div>
  145. <div *ngIf="rates.tarifa_actual.cargo_energia_valle">
  146. Cargo de energia valle:
  147. {{ rates.tarifa_actual.cargo_energia_valle }}
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. --></div>
  153. </div>
  154. <br />
  155. <div class="container-fluid" *ngIf="listAssets">
  156. <div class="row">
  157. <div class="col-lg-6 col-md-6 col-sm-6">
  158. <div
  159. class="card dark-yellow-skin bg-gradient-danger card-img-holder text-white"
  160. >
  161. <div class="card-body">
  162. <img
  163. alt="circle-image"
  164. class="card-img-absolute"
  165. src="assets/img/waves-opt.png"
  166. />
  167. <h4 class="font-weight-normal mb-3">
  168. Total de plantas instaladas
  169. <i class="mdi mdi-chart-line mdi-24px float-right"></i>
  170. </h4>
  171. <h2 class="mb-3">{{ totalAssetsInstalled }}</h2>
  172. </div>
  173. </div>
  174. </div>
  175. <div class="col-lg-6 col-md-6 col-sm-6">
  176. <div
  177. class="card sky-skin bg-gradient-danger card-img-holder text-white"
  178. >
  179. <div class="card-body">
  180. <img
  181. alt="circle-image"
  182. class="card-img-absolute"
  183. src="assets/img/waves-opt.png"
  184. />
  185. <h4 class="font-weight-normal mb-3">
  186. Capacidad instalada total
  187. <i class="mdi mdi-chart-line mdi-24px float-right"></i>
  188. </h4>
  189. <h2 class="mb-3">{{ sumarize }} kW</h2>
  190. </div>
  191. </div>
  192. </div>
  193. </div>
  194. <div class="row">
  195. <div *ngIf="error; then showAlert"></div>
  196. <ng-template #showAlert>
  197. <div class="col-lg-12">
  198. <div class="card border-danger">
  199. <div class="card-body">
  200. Error en el servidor, no se pudo obtener el listado de plantas
  201. </div>
  202. </div>
  203. </div>
  204. </ng-template>
  205. </div>
  206. <br />
  207. <div class="row">
  208. <div class="col-md-8">
  209. <div class="card border-success">
  210. <div class="card-body">
  211. <div
  212. style="height: 350px;"
  213. leaflet
  214. [leafletOptions]="options"
  215. [leafletLayers]="markers"
  216. (leafletMapReady)="onMapReady($event)"
  217. ></div>
  218. </div>
  219. </div>
  220. </div>
  221. <div class="col-md-4">
  222. <div class="plant-detail" *ngIf="selectedPlant">
  223. <div class="card border-success" style="height: 390px;">
  224. <div class="card-body">
  225. <h3><i class="fa fa-bolt"></i> {{ selectedPlant.name }}</h3>
  226. <p class="h4">País: {{ selectedPlant.country }}</p>
  227. <p class="h4">Ciudad: {{ selectedPlant.city }}</p>
  228. <p class="h4">Dirección: {{ selectedPlant.address }}</p>
  229. <p class="h4">Capacidad Instalada: {{ totalInstalled }} kW</p>
  230. <button
  231. class="btn bg-yellow btn-flat"
  232. (click)="goToAsset(selectedPlant.id)"
  233. >
  234. Ir a Planta
  235. </button>
  236. </div>
  237. </div>
  238. </div>
  239. </div>
  240. </div>
  241. <br />
  242. <div class="row">
  243. <div class="col-12">
  244. <div class="example-container mat-elevation-z8">
  245. <div class="example-table-container">
  246. <table mat-table [dataSource]="dataSource" class="example-table">
  247. <!-- Name Column -->
  248. <ng-container matColumnDef="name">
  249. <th mat-header-cell *matHeaderCellDef>Planta</th>
  250. <td mat-cell *matCellDef="let row">
  251. {{ userLevel == 0 ? "PLANTA INVERLEC" : row.name }}
  252. </td>
  253. </ng-container>
  254. <!-- Country Column -->
  255. <ng-container matColumnDef="country">
  256. <th mat-header-cell *matHeaderCellDef>País</th>
  257. <td mat-cell *matCellDef="let row">
  258. {{ userLevel == 0 ? "El Salvador" : row.country }}
  259. </td>
  260. </ng-container>
  261. <!-- Country Column -->
  262. <ng-container matColumnDef="city">
  263. <th mat-header-cell *matHeaderCellDef>Ciudad</th>
  264. <td mat-cell *matCellDef="let row">
  265. {{ userLevel == 0 ? "La Libertad" : row.city }}
  266. </td>
  267. </ng-container>
  268. <!-- Column -->
  269. <ng-container matColumnDef="id">
  270. <th mat-header-cell *matHeaderCellDef>&nbsp;</th>
  271. <td mat-cell *matCellDef="let row">
  272. <div class="action-buttons">
  273. <a
  274. class="btn btn-primary btn-sm"
  275. (click)="goToAsset(row.id)"
  276. href="javascript:void(0)"
  277. >
  278. Ir a planta
  279. </a>
  280. </div>
  281. </td>
  282. </ng-container>
  283. <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
  284. <tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
  285. </table>
  286. <mat-paginator
  287. [pageSizeOptions]="[5, 10, 20]"
  288. [pageIndex]="0"
  289. [pageSize]="5"
  290. ></mat-paginator>
  291. </div>
  292. </div>
  293. </div>
  294. </div>
  295. </div>
  296. <br />
  297. </div>