pper.costs.component.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  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-12 align-right">
  6. <div class="align-container">
  7. <nav aria-label="breadcrumb">
  8. <ol class="breadcrumb">
  9. <li class="breadcrumb-item">
  10. <a [routerLink]="['/']">Dashboard</a>
  11. </li>
  12. <li class="breadcrumb-item">
  13. <a [routerLink]="['/investments']">
  14. Inversiones activas
  15. </a>
  16. </li>
  17. <li class="breadcrumb-item">Préstamos personales</li>
  18. </ol>
  19. </nav>
  20. </div>
  21. </div>
  22. <div class="col-12">
  23. <div class="align-container">
  24. <div class="card borderless card-wrapper">
  25. <div class="wrapper-costs">
  26. <h4 class="card-title">
  27. Detalle de proyecciones para el préstamo personal
  28. </h4>
  29. <br />
  30. <div class="align-container">
  31. <div>
  32. <div class="costs-summary" *ngIf="instrument_exists">
  33. <div class="row">
  34. <div class="col-lg-3 col-md-4 col-sm-6">
  35. <h4>Nombre deudor:</h4>
  36. <div class="field">
  37. {{ instrument_work.nombre_deudor }}
  38. </div>
  39. </div>
  40. <div class="col-lg-3 col-md-4 col-sm-6">
  41. <h4>Número deudor:</h4>
  42. <div class="field">
  43. {{ instrument_work.numero_deudor }}
  44. </div>
  45. </div>
  46. <div class="col-lg-3 col-md-4 col-sm-6">
  47. <h4>Monto préstamo:</h4>
  48. <div class="field">
  49. $USD
  50. {{ instrument_work.monto_prestamo | number: "1.2-4" }}
  51. </div>
  52. </div>
  53. <div class="col-lg-3 col-md-4 col-sm-6">
  54. <h4>Cuota sin seguros:</h4>
  55. <div class="field">
  56. $USD
  57. {{ instrument_work.cuota_sin_seguros | number: "1.2-4" }}
  58. </div>
  59. </div>
  60. <div class="col-lg-3 col-md-4 col-sm-6">
  61. <h4>Tasa (%):</h4>
  62. <div class="field">
  63. {{
  64. instrument_work.tasa_porcentaje | number: "1.2-4"
  65. }}%
  66. </div>
  67. </div>
  68. <div class="col-lg-3 col-md-4 col-sm-6">
  69. <h4>IVA (%):</h4>
  70. <div class="field">
  71. {{
  72. instrument_work.iva_porcentaje | number: "1.2-4"
  73. }}%
  74. </div>
  75. </div>
  76. <div class="col-lg-3 col-md-4 col-sm-6">
  77. <h4>Plazo gracia:</h4>
  78. <div class="field">
  79. {{ instrument_work.plazo_gracia | number: "1.2-4" }}
  80. </div>
  81. </div>
  82. <div class="col-lg-3 col-md-4 col-sm-6">
  83. <h4>Fecha de otorgamiento:</h4>
  84. <div class="field">
  85. {{ instrument_work.fecha_otorgamiento }}
  86. </div>
  87. </div>
  88. <div class="col-lg-3 col-md-4 col-sm-6">
  89. <h4>Fecha de gracia:</h4>
  90. <div class="field">
  91. {{ instrument_work.fecha_gracia }}
  92. </div>
  93. </div>
  94. <div class="col-lg-3 col-md-4 col-sm-6">
  95. <h4>Fecha de vencimiento:</h4>
  96. <div class="field">
  97. {{ instrument_work.fecha_fin_otorgamiento }}
  98. </div>
  99. </div>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. <br />
  105. <br />
  106. <div class="align-container">
  107. <form *ngIf="dataRetrieved" [formGroup]="form">
  108. <div *ngFor="let group of form.controls; let i = index">
  109. <div class="wrapper-form" [formGroup]="group">
  110. <div class="costs-input-small-container">
  111. <div class="form-group">
  112. <label for="posicion">Posicion: </label>
  113. <div class="input-box-container">
  114. <input
  115. type="text"
  116. formControlName="posicion"
  117. class="form-control"
  118. readonly
  119. />
  120. </div>
  121. </div>
  122. </div>
  123. <div class="costs-input-small-container">
  124. <div class="form-group">
  125. <label for="plazo">Plazo: </label>
  126. <div class="input-box-container">
  127. <div>
  128. <p>
  129. <i class="far fa-clock" aria-hidden="true"></i>
  130. </p>
  131. <input
  132. type="text"
  133. formControlName="plazo"
  134. class="form-control"
  135. readonly
  136. />
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. <div class="costs-input-normal-container">
  142. <div class="form-group">
  143. <label for="fecha_pago">Fecha pago: </label>
  144. <div class="input-box-container">
  145. <div>
  146. <p>
  147. <i
  148. class="far fa-calendar"
  149. aria-hidden="true"
  150. ></i>
  151. </p>
  152. <input
  153. type="text"
  154. formControlName="fecha_pago"
  155. class="form-control"
  156. readonly
  157. />
  158. </div>
  159. </div>
  160. </div>
  161. </div>
  162. <div class="costs-input-normal-container">
  163. <div class="form-group">
  164. <label for="tasa_porcentaje">Tasa: </label>
  165. <div class="input-box-container">
  166. <div>
  167. <p>
  168. <i class="fas fa-percent"></i>
  169. </p>
  170. <input
  171. type="text"
  172. formControlName="tasa_porcentaje"
  173. [value]="group.get('tasa_porcentaje').value | numberPipe"
  174. class="form-control"
  175. (input)="inputValidator($event)"
  176. />
  177. </div>
  178. </div>
  179. </div>
  180. </div>
  181. <div class="costs-input-normal-container">
  182. <div class="form-group">
  183. <label for="saldo_inicial">Saldo inicial: </label>
  184. <div class="input-box-container">
  185. <div>
  186. <p>
  187. <i class="fas fa-dollar-sign"></i>
  188. </p>
  189. <input
  190. type="text"
  191. formControlName="saldo_inicial"
  192. [value]="group.get('saldo_inicial').value | number: '1.2-4'"
  193. class="form-control"
  194. readonly
  195. />
  196. </div>
  197. </div>
  198. </div>
  199. </div>
  200. <div class="costs-input-normal-container">
  201. <div class="form-group">
  202. <label for="pago_cuota">Pago cuota: </label>
  203. <div class="input-box-container">
  204. <div>
  205. <p>
  206. <i class="fas fa-dollar-sign"></i>
  207. </p>
  208. <input
  209. type="text"
  210. formControlName="pago_cuota"
  211. [value]="group.get('pago_cuota').value | number: '1.2-4'"
  212. class="form-control"
  213. readonly
  214. />
  215. </div>
  216. </div>
  217. </div>
  218. </div>
  219. <div class="costs-input-normal-container">
  220. <div class="form-group">
  221. <label for="ingreso_bruto">Ingreso bruto: </label>
  222. <div class="input-box-container">
  223. <div>
  224. <p>
  225. <i class="fas fa-dollar-sign"></i>
  226. </p>
  227. <input
  228. type="text"
  229. formControlName="ingreso_bruto"
  230. [value]="group.get('ingreso_bruto').value | number: '1.2-4'"
  231. class="form-control"
  232. readonly
  233. />
  234. </div>
  235. </div>
  236. </div>
  237. </div>
  238. <div class="costs-input-normal-container">
  239. <div class="form-group">
  240. <label for="iva_interes">IVA ($): </label>
  241. <div class="input-box-container">
  242. <div>
  243. <p>
  244. <i class="fas fa-dollar-sign"></i>
  245. </p>
  246. <input
  247. type="text"
  248. formControlName="iva_interes"
  249. [value]="group.get('iva_interes').value | number: '1.2-4'"
  250. class="form-control"
  251. readonly
  252. />
  253. </div>
  254. </div>
  255. </div>
  256. </div>
  257. <div class="costs-input-normal-container">
  258. <div class="form-group">
  259. <label for="ingreso_neto">Ingreso neto: </label>
  260. <div class="input-box-container">
  261. <div>
  262. <p>
  263. <i class="fas fa-dollar-sign"></i>
  264. </p>
  265. <input
  266. type="text"
  267. formControlName="ingreso_neto"
  268. [value]="group.get('ingreso_neto').value | number: '1.2-4'"
  269. class="form-control"
  270. readonly
  271. />
  272. </div>
  273. </div>
  274. </div>
  275. </div>
  276. <div class="costs-input-normal-container">
  277. <div class="form-group">
  278. <label for="abono_capital">Abono capital: </label>
  279. <div class="input-box-container">
  280. <div>
  281. <p>
  282. <i class="fas fa-dollar-sign"></i>
  283. </p>
  284. <input
  285. type="text"
  286. formControlName="abono_capital"
  287. [value]="group.get('abono_capital').value | number: '1.2-4'"
  288. class="form-control"
  289. readonly
  290. />
  291. </div>
  292. </div>
  293. </div>
  294. </div>
  295. <div class="costs-input-normal-container">
  296. <div class="form-group">
  297. <label for="capital_restante"
  298. >Capital restante:
  299. </label>
  300. <div class="input-box-container">
  301. <div>
  302. <p>
  303. <i class="fas fa-dollar-sign"></i>
  304. </p>
  305. <input
  306. type="text"
  307. formControlName="capital_restante"
  308. [value]="group.get('capital_restante').value | number: '1.2-4'"
  309. class="form-control"
  310. readonly
  311. />
  312. </div>
  313. </div>
  314. </div>
  315. </div>
  316. <div class="costs-input-normal-container">
  317. <div class="form-group">
  318. <label for="pago_seguro_dano"
  319. >Pago seguro daño:
  320. </label>
  321. <div class="input-box-container">
  322. <div>
  323. <p>
  324. <i class="fas fa-dollar-sign"></i>
  325. </p>
  326. <input
  327. type="text"
  328. formControlName="pago_seguro_dano"
  329. [value]="group.get('pago_seguro_dano').value | numberPipe"
  330. class="form-control"
  331. (input)="inputValidator($event)"
  332. class="form-control"
  333. />
  334. </div>
  335. </div>
  336. </div>
  337. </div>
  338. <div class="costs-input-normal-container">
  339. <div class="form-group">
  340. <label for="pago_seguro_vivienda"
  341. >Pago seguro vivienda:
  342. </label>
  343. <div class="input-box-container">
  344. <div>
  345. <p>
  346. <i class="fas fa-dollar-sign"></i>
  347. </p>
  348. <input
  349. type="text"
  350. formControlName="pago_seguro_vivienda"
  351. [value]="group.get('pago_seguro_vivienda').value | numberPipe"
  352. class="form-control"
  353. (input)="inputValidator($event)"
  354. class="form-control"
  355. />
  356. </div>
  357. </div>
  358. </div>
  359. </div>
  360. <div class="costs-input-normal-container">
  361. <div class="form-group">
  362. <label for="total_cuota">Total cuota: </label>
  363. <div class="input-box-container">
  364. <div>
  365. <p>
  366. <i class="fas fa-dollar-sign"></i>
  367. </p>
  368. <input
  369. type="text"
  370. formControlName="total_cuota"
  371. [value]="group.get('total_cuota').value | number: '1.2-4'"
  372. class="form-control"
  373. readonly
  374. />
  375. </div>
  376. </div>
  377. </div>
  378. </div>
  379. <div class="costs-input-normal-container">
  380. <div class="form-group">
  381. <label for="amortizacion_capital"
  382. >Amortización capital:
  383. </label>
  384. <div class="input-box-container">
  385. <div>
  386. <p>
  387. <i class="fas fa-dollar-sign"></i>
  388. </p>
  389. <input
  390. type="text"
  391. formControlName="amortizacion_capital"
  392. [value]="group.get('amortizacion_capital').value | numberPipe"
  393. class="form-control"
  394. (input)="inputValidator($event)"
  395. />
  396. </div>
  397. </div>
  398. </div>
  399. </div>
  400. <div class="costs-input-normal-container">
  401. <div class="form-group">
  402. <label for="total_recibir">Total a recibir: </label>
  403. <div class="input-box-container">
  404. <div>
  405. <p>
  406. <i class="fas fa-dollar-sign"></i>
  407. </p>
  408. <input
  409. type="text"
  410. formControlName="total_recibir"
  411. [value]="group.get('total_recibir').value | number: '1.2-4'"
  412. class="form-control"
  413. readonly
  414. />
  415. </div>
  416. </div>
  417. </div>
  418. </div>
  419. <input
  420. type="hidden"
  421. formControlName="id_proyeccion_ingreso"
  422. />
  423. <div class="clear"></div>
  424. </div>
  425. </div>
  426. <br />
  427. <div class="form-group text-right space-20">
  428. <button
  429. type="button"
  430. class="btn btn-success center-component float-left"
  431. (click)="saveProjection()"
  432. >
  433. Guardar información de proyecciones
  434. </button>
  435. <button
  436. type="button"
  437. class="btn btn-primary center-component float-right"
  438. (click)="recalculateProjectionChanges()"
  439. >
  440. Recalcular proyecciones
  441. </button>
  442. </div>
  443. <br />
  444. </form>
  445. </div>
  446. </div>
  447. </div>
  448. </div>
  449. </div>
  450. <br />
  451. </div>
  452. </div>
  453. </div>