pemp.component.html 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668
  1. <div *ngIf="!summary">
  2. <h4 class="card-title">
  3. Préstamo empresarial
  4. </h4>
  5. <form
  6. class="form-auth-small ng-untouched ng-pristine ng-valid"
  7. [formGroup]="investmentProposalForm"
  8. >
  9. <div class="row">
  10. <!-- Monto préstamo -->
  11. <div class="col-lg-6 col-sm-12 pr-xl-3">
  12. <div class="form-group">
  13. <label for="monto_prestamo">Monto préstamo: </label>
  14. <div class="input-box-container">
  15. <p>
  16. <i class="fas fa-dollar-sign"></i>
  17. </p>
  18. <input
  19. type="text"
  20. formControlName="monto_prestamo"
  21. class="form-control"
  22. [ngClass]="{
  23. 'is-invalid': submitted && f.monto_prestamo.errors
  24. }"
  25. />
  26. <div
  27. *ngIf="submitted && f.monto_prestamo.errors"
  28. class="invalid-feedback"
  29. >
  30. <div *ngIf="f.monto_prestamo.errors.required">
  31. Campo requerido
  32. </div>
  33. <div *ngIf="f.monto_prestamo.errors.pattern">
  34. Debe ingresar una cifra válida
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. <!-- Tasa -->
  41. <div class="col-lg-6 col-sm-12 pr-xl-3">
  42. <div class="form-group">
  43. <label for="tasa_porcentaje">Tasa: </label>
  44. <div class="input-box-container">
  45. <p>
  46. <i class="fas fa-percent" aria-hidden="true"></i>
  47. </p>
  48. <input
  49. type="text"
  50. formControlName="tasa_porcentaje"
  51. class="form-control"
  52. [ngClass]="{
  53. 'is-invalid': submitted && f.tasa_porcentaje.errors
  54. }"
  55. />
  56. <div
  57. *ngIf="submitted && f.tasa_porcentaje.errors"
  58. class="invalid-feedback"
  59. >
  60. <div *ngIf="f.tasa_porcentaje.errors.required">
  61. Campo requerido
  62. </div>
  63. <div *ngIf="f.tasa_porcentaje.errors.pattern">
  64. Debe ingresar una cifra válida
  65. </div>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. <!-- IVA -->
  71. <div class="col-lg-6 col-sm-12 pr-xl-3">
  72. <div class="form-group">
  73. <label for="iva_porcentaje">IVA: </label>
  74. <div class="input-box-container">
  75. <p>
  76. <i class="fas fa-percent" aria-hidden="true"></i>
  77. </p>
  78. <input
  79. type="text"
  80. formControlName="iva_porcentaje"
  81. class="form-control"
  82. [ngClass]="{
  83. 'is-invalid': submitted && f.iva_porcentaje.errors
  84. }"
  85. />
  86. <div
  87. *ngIf="submitted && f.iva_porcentaje.errors"
  88. class="invalid-feedback"
  89. >
  90. <div *ngIf="f.iva_porcentaje.errors.required">
  91. Campo requerido
  92. </div>
  93. <div *ngIf="f.iva_porcentaje.errors.pattern">
  94. Debe ingresar una cifra válida
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. <!-- Comisián desembolso -->
  101. <div class="col-lg-6 col-sm-12 pr-xl-3">
  102. <div class="form-group">
  103. <label for="comision_desembolso_porcentaje"
  104. >Comisión desembolso:
  105. </label>
  106. <div class="input-box-container">
  107. <p>
  108. <i class="fas fa-percent" aria-hidden="true"></i>
  109. </p>
  110. <input
  111. type="text"
  112. formControlName="comision_desembolso_porcentaje"
  113. class="form-control"
  114. [ngClass]="{
  115. 'is-invalid':
  116. submitted && f.comision_desembolso_porcentaje.errors
  117. }"
  118. />
  119. <div
  120. *ngIf="submitted && f.comision_desembolso_porcentaje.errors"
  121. class="invalid-feedback"
  122. >
  123. <div *ngIf="f.comision_desembolso_porcentaje.errors.required">
  124. Campo requerido
  125. </div>
  126. <div *ngIf="f.comision_desembolso_porcentaje.errors.pattern">
  127. Debe ingresar una cifra válida
  128. </div>
  129. </div>
  130. </div>
  131. </div>
  132. </div>
  133. <!-- Fecha operación -->
  134. <div class="col-lg-6 col-sm-12 pr-xl-3">
  135. <div class="form-group">
  136. <label for="fecha_operacion">Fecha operación: </label>
  137. <div class="input-box-container">
  138. <p>
  139. <i class="far fa-calendar" aria-hidden="true"></i>
  140. </p>
  141. <input
  142. class="input-box form-control"
  143. placeholder="Seleccione una fecha"
  144. angular-mydatepicker
  145. formControlName="fecha_operacion"
  146. (click)="dp.toggleCalendar()"
  147. [options]="myDpOptions"
  148. #dp="angular-mydatepicker"
  149. [ngClass]="{
  150. 'is-invalid': submitted && f.fecha_operacion.errors
  151. }"
  152. />
  153. </div>
  154. <div
  155. *ngIf="submitted && f.fecha_operacion.errors"
  156. class="invalid-feedback"
  157. >
  158. <div *ngIf="f.fecha_operacion.errors.required">
  159. Campo requerido
  160. </div>
  161. </div>
  162. </div>
  163. </div>
  164. <!-- Fecha vencimiento -->
  165. <div class="col-lg-6 col-sm-12 pr-xl-3">
  166. <div class="form-group">
  167. <label for="fecha_vencimiento">Fecha vencimiento: </label>
  168. <div class="input-box-container">
  169. <div>
  170. <p>
  171. <i class="far fa-calendar" aria-hidden="true"></i>
  172. </p>
  173. <input
  174. class="input-box form-control"
  175. placeholder="Seleccione una fecha"
  176. angular-mydatepicker
  177. formControlName="fecha_vencimiento"
  178. (click)="dp1.toggleCalendar()"
  179. [options]="myDpOptions"
  180. #dp1="angular-mydatepicker"
  181. [ngClass]="{
  182. 'is-invalid': submitted && f.fecha_vencimiento.errors
  183. }"
  184. />
  185. </div>
  186. </div>
  187. <div
  188. *ngIf="submitted && f.fecha_vencimiento.errors"
  189. class="invalid-feedback"
  190. >
  191. <div *ngIf="f.fecha_vencimiento.errors.required">
  192. Campo requerido
  193. </div>
  194. </div>
  195. </div>
  196. </div>
  197. <div class="col-lg-12 col-sm-12 pr-xl-12">
  198. <div class="form-group text-right">
  199. <br />
  200. <button
  201. type="button"
  202. class="btn btn-success center-component"
  203. (click)="getCalculations(investmentProposalForm, false)"
  204. >
  205. Realizar cálculos
  206. </button>
  207. </div>
  208. </div>
  209. </div>
  210. <br />
  211. <!-- Calculos del instrumento-->
  212. <div class="instrument-calcs">
  213. <div class="row">
  214. <div class="col-12">
  215. <span class="badge badge-success badge-custom"
  216. >Cálculos del instrumento</span
  217. >
  218. </div>
  219. <div class="col-sm-6">
  220. <h4>Monto préstamo:</h4>
  221. <div class="field">$USD {{ monto_prestamo | number: "1.2-4" }}</div>
  222. </div>
  223. <div class="col-sm-6">
  224. <h4>Tasa (%):</h4>
  225. <div class="field">{{ tasa_porcentaje | number: "1.2-4" }}%</div>
  226. </div>
  227. <div class="col-sm-6">
  228. <h4>IVA (%):</h4>
  229. <div class="field">{{ iva_porcentaje | number: "1.2-4" }}%</div>
  230. </div>
  231. <div class="col-sm-6">
  232. <h4>IVA ($):</h4>
  233. <div class="field">$USD {{ iva | number: "1.2-4" }}</div>
  234. </div>
  235. <div class="col-sm-6">
  236. <h4>Comisión desembolso (%):</h4>
  237. <div class="field">
  238. {{ comision_desembolso_porcentaje | number: "1.2-4" }}%
  239. </div>
  240. </div>
  241. <div class="col-sm-6">
  242. <h4>Comisión desembolso ($):</h4>
  243. <div class="field">
  244. $USD {{ comision_desembolso | number: "1.2-4" }}
  245. </div>
  246. </div>
  247. <div class="col-sm-6">
  248. <h4>Plazo:</h4>
  249. <div class="field">{{ plazo | number: "1.2-4" }}</div>
  250. </div>
  251. <div class="col-sm-6">
  252. <h4>Fecha de operacion:</h4>
  253. <div class="field">{{ fecha_operacion }}</div>
  254. </div>
  255. <div class="col-sm-6">
  256. <h4>Fecha de vencimiento:</h4>
  257. <div class="field">{{ fecha_vencimiento }}</div>
  258. </div>
  259. </div>
  260. </div>
  261. <br />
  262. <!-- Tabla de proyecciones del instrumento-->
  263. <div class="instrument-calcs">
  264. <div class="row">
  265. <div class="col-12">
  266. <span class="badge badge-success badge-custom"
  267. >Proyecciones del instrumento</span
  268. >
  269. </div>
  270. <div *ngIf="hasProjections" class="cete-table-container">
  271. <table mat-table [dataSource]="dataSource" class="example-table">
  272. <ng-container matColumnDef="posicion">
  273. <th mat-header-cell *matHeaderCellDef>#</th>
  274. <td mat-cell *matCellDef="let row">
  275. {{ row.posicion }}
  276. </td>
  277. <td mat-footer-cell *matFooterCellDef>TOTAL</td>
  278. </ng-container>
  279. <ng-container matColumnDef="plazo">
  280. <th mat-header-cell *matHeaderCellDef>Plazo</th>
  281. <td mat-cell *matCellDef="let row">
  282. {{ row.plazo }}
  283. </td>
  284. <td mat-footer-cell *matFooterCellDef></td>
  285. </ng-container>
  286. <ng-container matColumnDef="fecha_pago">
  287. <th mat-header-cell *matHeaderCellDef>Fecha pago</th>
  288. <td mat-cell *matCellDef="let row">
  289. {{
  290. row.fecha_pago == "" || row.fecha_pago == undefined
  291. ? "-"
  292. : row.fecha_pago
  293. }}
  294. </td>
  295. <td mat-footer-cell *matFooterCellDef></td>
  296. </ng-container>
  297. <ng-container matColumnDef="tasa_porcentaje">
  298. <th mat-header-cell *matHeaderCellDef>Tasa (%)</th>
  299. <td mat-cell *matCellDef="let row">
  300. {{
  301. row.tasa_porcentaje == "" || row.tasa_porcentaje == undefined
  302. ? "0"
  303. : row.tasa_porcentaje | number: "1.2-4"
  304. }}%
  305. </td>
  306. <td mat-footer-cell *matFooterCellDef>
  307. {{
  308. consolidado_proyeccion.total_tasa_porcentaje
  309. | number: "1.2-4"
  310. }}%
  311. </td>
  312. </ng-container>
  313. <ng-container matColumnDef="ingreso_bruto">
  314. <th mat-header-cell *matHeaderCellDef>Ingreso bruto</th>
  315. <td mat-cell *matCellDef="let row">
  316. ${{
  317. row.ingreso_bruto == "" || row.ingreso_bruto == undefined
  318. ? "0"
  319. : row.ingreso_bruto | number: "1.2-4"
  320. }}
  321. </td>
  322. <td mat-footer-cell *matFooterCellDef>
  323. ${{
  324. consolidado_proyeccion.total_ingreso_bruto | number: "1.2-4"
  325. }}
  326. </td>
  327. </ng-container>
  328. <ng-container matColumnDef="ingreso_neto">
  329. <th mat-header-cell *matHeaderCellDef>Ingreso neto</th>
  330. <td mat-cell *matCellDef="let row">
  331. ${{
  332. row.ingreso_neto == "" || row.ingreso_neto == undefined
  333. ? "0"
  334. : row.ingreso_neto | number: "1.2-4"
  335. }}
  336. </td>
  337. <td mat-footer-cell *matFooterCellDef>
  338. ${{
  339. consolidado_proyeccion.total_ingreso_neto | number: "1.2-4"
  340. }}
  341. </td>
  342. </ng-container>
  343. <ng-container matColumnDef="iva">
  344. <th mat-header-cell *matHeaderCellDef>IVA</th>
  345. <td mat-cell *matCellDef="let row">
  346. ${{ row.iva == "" || row.iva == undefined ? "0" : row.iva | number: "1.2-4"}}
  347. </td>
  348. <td mat-footer-cell *matFooterCellDef>
  349. ${{ consolidado_proyeccion.total_iva | number: "1.2-4" }}
  350. </td>
  351. </ng-container>
  352. <ng-container matColumnDef="amortizacion_capital">
  353. <th mat-header-cell *matHeaderCellDef>Amortización capital</th>
  354. <td mat-cell *matCellDef="let row">
  355. ${{
  356. row.amortizacion_capital == "" ||
  357. row.amortizacion_capital == undefined
  358. ? "0"
  359. : (row.amortizacion_capital | number: "1.2-4")
  360. }}
  361. </td>
  362. <td mat-footer-cell *matFooterCellDef>
  363. ${{
  364. consolidado_proyeccion.total_amortizacion_capital
  365. | number: "1.2-4"
  366. }}
  367. </td>
  368. </ng-container>
  369. <ng-container matColumnDef="monto_recibir">
  370. <th mat-header-cell *matHeaderCellDef>Monto a recibir</th>
  371. <td mat-cell *matCellDef="let row">
  372. ${{
  373. row.monto_recibir == "" || row.monto_recibir == undefined
  374. ? "0"
  375. : row.monto_recibir | number: "1.2-4"
  376. }}
  377. </td>
  378. <td mat-footer-cell *matFooterCellDef>
  379. ${{
  380. consolidado_proyeccion.total_monto_recibir | number: "1.2-4"
  381. }}
  382. </td>
  383. </ng-container>
  384. <ng-container matColumnDef="capital_restante">
  385. <th mat-header-cell *matHeaderCellDef>Monto a recibir</th>
  386. <td mat-cell *matCellDef="let row">
  387. ${{
  388. row.capital_restante == "" ||
  389. row.capital_restante == undefined
  390. ? "0"
  391. : row.capital_restante | number: "1.2-4"
  392. }}
  393. </td>
  394. <td mat-footer-cell *matFooterCellDef>
  395. ${{
  396. consolidado_proyeccion.total_capital_restante
  397. | number: "1.2-4"
  398. }}
  399. </td>
  400. </ng-container>
  401. <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
  402. <tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
  403. <tr mat-footer-row *matFooterRowDef="displayedColumns"></tr>
  404. </table>
  405. </div>
  406. </div>
  407. </div>
  408. <br />
  409. <div class="form-group text-center space-20">
  410. <button
  411. type="button"
  412. class="btn btn-default center-component margin-right"
  413. (click)="goToPrevious()"
  414. >
  415. Anterior
  416. </button>
  417. <button
  418. type="submit"
  419. class="btn btn-primary center-component margin-right"
  420. (click)="goToNext(investmentProposalForm)"
  421. >
  422. Siguiente
  423. </button>
  424. </div>
  425. </form>
  426. </div>
  427. <div *ngIf="summary">
  428. <div class="timeline-body">
  429. <div class="row">
  430. <div class="col-lg-3 col-md-4 col-sm-6">
  431. <h4>Valor nominal:</h4>
  432. <div class="field">
  433. $USD {{ instrument_work.monto_prestamo | number: "1.2-4" }}
  434. </div>
  435. </div>
  436. <div class="col-lg-3 col-md-4 col-sm-6">
  437. <h4>Monto préstamo:</h4>
  438. <div class="field">
  439. $USD {{ instrument_work.monto_prestamo | number: "1.2-4" }}
  440. </div>
  441. </div>
  442. <div class="col-lg-3 col-md-4 col-sm-6">
  443. <h4>Tasa (%):</h4>
  444. <div class="field">
  445. {{ instrument_work.tasa_porcentaje | number: "1.2-4" }}%
  446. </div>
  447. </div>
  448. <div class="col-lg-3 col-md-4 col-sm-6">
  449. <h4>IVA (%):</h4>
  450. <div class="field">
  451. {{ instrument_work.iva_porcentaje | number: "1.2-4" }}%
  452. </div>
  453. </div>
  454. <div class="col-lg-3 col-md-4 col-sm-6">
  455. <h4>IVA ($):</h4>
  456. <div class="field">
  457. $USD {{ instrument_work.iva | number: "1.2-4" }}
  458. </div>
  459. </div>
  460. <div class="col-lg-3 col-md-4 col-sm-6">
  461. <h4>Comisión desembolso (%):</h4>
  462. <div class="field">
  463. {{
  464. instrument_work.comision_desembolso_porcentaje | number: "1.2-4"
  465. }}%
  466. </div>
  467. </div>
  468. <div class="col-lg-3 col-md-4 col-sm-6">
  469. <h4>Comisión desembolso ($):</h4>
  470. <div class="field">
  471. $USD {{ instrument_work.comision_desembolso | number: "1.2-4" }}
  472. </div>
  473. </div>
  474. <div class="col-lg-3 col-md-4 col-sm-6">
  475. <h4>Plazo:</h4>
  476. <div class="field">{{ instrument_work.plazo | number: "1.2-4" }}</div>
  477. </div>
  478. <div class="col-lg-3 col-md-4 col-sm-6">
  479. <h4>Fecha de operacion:</h4>
  480. <div class="field">{{ instrument_work.fecha_operacion }}</div>
  481. </div>
  482. <div class="col-lg-3 col-md-4 col-sm-6">
  483. <h4>Fecha de vencimiento:</h4>
  484. <div class="field">{{ instrument_work.fecha_vencimiento }}</div>
  485. </div>
  486. </div>
  487. <br />
  488. <div *ngIf="hasProjections" class="instrument-calcs-summary">
  489. <div class="row">
  490. <div class="col-12">
  491. <span class="badge-warning badge-custom-instrument"
  492. >Proyecciones del instrumento</span
  493. >
  494. </div>
  495. <div class="cete-table-container">
  496. <table mat-table [dataSource]="dataSource2" class="example-table">
  497. <ng-container matColumnDef="posicion">
  498. <th mat-header-cell *matHeaderCellDef>#</th>
  499. <td mat-cell *matCellDef="let row">
  500. {{ row.posicion }}
  501. </td>
  502. <td mat-footer-cell *matFooterCellDef>TOTAL</td>
  503. </ng-container>
  504. <ng-container matColumnDef="plazo">
  505. <th mat-header-cell *matHeaderCellDef>Plazo</th>
  506. <td mat-cell *matCellDef="let row">
  507. {{ row.plazo }}
  508. </td>
  509. <td mat-footer-cell *matFooterCellDef></td>
  510. </ng-container>
  511. <ng-container matColumnDef="fecha_pago">
  512. <th mat-header-cell *matHeaderCellDef>Fecha pago</th>
  513. <td mat-cell *matCellDef="let row">
  514. {{
  515. row.fecha_pago == "" || row.fecha_pago == undefined
  516. ? "-"
  517. : row.fecha_pago
  518. }}
  519. </td>
  520. <td mat-footer-cell *matFooterCellDef></td>
  521. </ng-container>
  522. <ng-container matColumnDef="tasa_porcentaje">
  523. <th mat-header-cell *matHeaderCellDef>Tasa (%)</th>
  524. <td mat-cell *matCellDef="let row">
  525. {{
  526. row.tasa_porcentaje == "" || row.tasa_porcentaje == undefined
  527. ? "0"
  528. : row.tasa_porcentaje | number: "1.2-4"
  529. }}%
  530. </td>
  531. <td mat-footer-cell *matFooterCellDef></td>
  532. </ng-container>
  533. <ng-container matColumnDef="ingreso_bruto">
  534. <th mat-header-cell *matHeaderCellDef>Ingreso bruto</th>
  535. <td mat-cell *matCellDef="let row">
  536. ${{
  537. row.ingreso_bruto == "" || row.ingreso_bruto == undefined
  538. ? "0"
  539. : row.ingreso_bruto | number: "1.2-4"
  540. }}
  541. </td>
  542. <td mat-footer-cell *matFooterCellDef>
  543. ${{
  544. consolidado_proyeccion.total_ingreso_bruto | number: "1.2-4"
  545. }}
  546. </td>
  547. </ng-container>
  548. <ng-container matColumnDef="ingreso_neto">
  549. <th mat-header-cell *matHeaderCellDef>Ingreso neto</th>
  550. <td mat-cell *matCellDef="let row">
  551. ${{
  552. row.ingreso_neto == "" || row.ingreso_neto == undefined
  553. ? "0"
  554. : row.ingreso_neto | number: "1.2-4"
  555. }}
  556. </td>
  557. <td mat-footer-cell *matFooterCellDef>
  558. ${{
  559. consolidado_proyeccion.total_ingreso_neto | number: "1.2-4"
  560. }}
  561. </td>
  562. </ng-container>
  563. <ng-container matColumnDef="iva">
  564. <th mat-header-cell *matHeaderCellDef>IVA</th>
  565. <td mat-cell *matCellDef="let row">
  566. ${{ row.iva == "" || row.iva == undefined ? "0" : row.iva | number: "1.2-4"}}
  567. </td>
  568. <td mat-footer-cell *matFooterCellDef>
  569. ${{ consolidado_proyeccion.total_iva | number: "1.2-4" }}
  570. </td>
  571. </ng-container>
  572. <ng-container matColumnDef="amortizacion_capital">
  573. <th mat-header-cell *matHeaderCellDef>Amortización capital</th>
  574. <td mat-cell *matCellDef="let row">
  575. ${{
  576. row.amortizacion_capital == "" ||
  577. row.amortizacion_capital == undefined
  578. ? "0"
  579. : (row.amortizacion_capital | number: "1.2-4")
  580. }}
  581. </td>
  582. <td mat-footer-cell *matFooterCellDef>
  583. ${{
  584. consolidado_proyeccion.total_amortizacion_capital
  585. | number: "1.2-4"
  586. }}
  587. </td>
  588. </ng-container>
  589. <ng-container matColumnDef="monto_recibir">
  590. <th mat-header-cell *matHeaderCellDef>Monto a recibir</th>
  591. <td mat-cell *matCellDef="let row">
  592. ${{
  593. row.monto_recibir == "" || row.monto_recibir == undefined
  594. ? "0"
  595. : row.monto_recibir | number: "1.2-4"
  596. }}
  597. </td>
  598. <td mat-footer-cell *matFooterCellDef>
  599. ${{
  600. consolidado_proyeccion.total_monto_recibir | number: "1.2-4"
  601. }}
  602. </td>
  603. </ng-container>
  604. <ng-container matColumnDef="capital_restante">
  605. <th mat-header-cell *matHeaderCellDef>Monto a recibir</th>
  606. <td mat-cell *matCellDef="let row">
  607. ${{
  608. row.capital_restante == "" ||
  609. row.capital_restante == undefined
  610. ? "0"
  611. : row.capital_restante | number: "1.2-4"
  612. }}
  613. </td>
  614. <td mat-footer-cell *matFooterCellDef>
  615. ${{
  616. consolidado_proyeccion.total_capital_restante
  617. | number: "1.2-4"
  618. }}
  619. </td>
  620. </ng-container>
  621. <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
  622. <tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
  623. <tr mat-footer-row *matFooterRowDef="displayedColumns"></tr>
  624. </table>
  625. </div>
  626. </div>
  627. </div>
  628. </div>
  629. </div>