general-library-union 2.8.18 → 2.8.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (840) hide show
  1. package/.browserslistrc +15 -15
  2. package/.editorconfig +16 -16
  3. package/.vscode/extensions.json +4 -4
  4. package/.vscode/launch.json +20 -20
  5. package/.vscode/tasks.json +42 -42
  6. package/README.md +27 -27
  7. package/angular.json +143 -143
  8. package/karma.conf.js +44 -44
  9. package/ng-package.json +21 -21
  10. package/package.json +73 -73
  11. package/public-api.ts +200 -200
  12. package/src/app/app.component.html +11 -11
  13. package/src/app/app.component.spec.ts +29 -29
  14. package/src/app/app.component.ts +34 -34
  15. package/src/app/app.config.ts +43 -43
  16. package/src/app/app.module.ts +10 -10
  17. package/src/app/app.routes.ts +88 -88
  18. package/src/app/core/componentes/breadcrumb/breadcrumb.component.html +6 -6
  19. package/src/app/core/componentes/breadcrumb/breadcrumb.component.ts +39 -39
  20. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.html +1 -1
  21. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.ts +31 -31
  22. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.html +9 -9
  23. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.scss +28 -28
  24. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.ts +32 -32
  25. package/src/app/core/componentes/filtro-general/filtro-general.component.html +34 -34
  26. package/src/app/core/componentes/filtro-general/filtro-general.component.scss +3 -3
  27. package/src/app/core/componentes/filtro-general/filtro-general.component.ts +202 -202
  28. package/src/app/core/componentes/footer/footer.component.html +13 -13
  29. package/src/app/core/componentes/footer/footer.component.scss +3 -3
  30. package/src/app/core/componentes/footer/footer.component.ts +20 -20
  31. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.html +266 -266
  32. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.scss +20 -20
  33. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.ts +275 -275
  34. package/src/app/core/componentes/formulariodinamico/objetosformulario/Cambio.ts +12 -12
  35. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.ts +117 -117
  36. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.ts +75 -75
  37. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.ts +66 -66
  38. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.ts +10 -10
  39. package/src/app/core/componentes/inicio-component/inicio-component.component.html +29 -29
  40. package/src/app/core/componentes/inicio-component/inicio-component.component.scss +69 -69
  41. package/src/app/core/componentes/inicio-component/inicio-component.component.ts +65 -65
  42. package/src/app/core/componentes/menu/menu.component.html +13 -13
  43. package/src/app/core/componentes/menu/menu.component.scss +36 -36
  44. package/src/app/core/componentes/menu/menu.component.ts +35 -35
  45. package/src/app/core/componentes/tabla-general/tabla-general.component.html +90 -90
  46. package/src/app/core/componentes/tabla-general/tabla-general.component.ts +96 -96
  47. package/src/app/core/core.module.ts +22 -22
  48. package/src/app/core/errores/authentication.error.ts +6 -6
  49. package/src/app/core/modelos/error-response.model.ts +9 -9
  50. package/src/app/core/modelos/table-column.model.ts +10 -10
  51. package/src/app/core/modelos/user.model.ts +6 -6
  52. package/src/app/core/plantilla-general/plantilla-general.template.html +139 -139
  53. package/src/app/core/plantilla-general/plantilla-general.template.scss +37 -37
  54. package/src/app/core/plantilla-general/plantilla-general.template.ts +233 -233
  55. package/src/app/core/servicios/auth.service.ts +188 -188
  56. package/src/app/core/servicios/cargar-control-funcionalidad.service.ts +49 -49
  57. package/src/app/core/servicios/data-exporter-table.utils.ts +78 -78
  58. package/src/app/core/servicios/error-interceptor.service.ts +208 -208
  59. package/src/app/core/servicios/guardias/auth.guard.ts +51 -51
  60. package/src/app/core/servicios/guardias/publico.guard.ts +26 -26
  61. package/src/app/core/servicios/interceptores/loading-interceptor.ts +36 -36
  62. package/src/app/core/servicios/interceptores/token-interceptor.service.ts +177 -177
  63. package/src/app/core/servicios/loading.service.ts +48 -48
  64. package/src/app/core/servicios/menu.service.ts +153 -153
  65. package/src/app/core/servicios/spinner-service.ts +18 -18
  66. package/src/app/core/servicios/storage.service.ts +68 -68
  67. package/src/app/core/servicios/template.service.ts +91 -91
  68. package/src/app/core/servicios/toast.service.ts +114 -114
  69. package/src/app/core/servicios/utils.service.ts +361 -361
  70. package/src/app/core/sharedlib.module.ts +11 -11
  71. package/src/app/core/utilidades/color.util.ts +197 -197
  72. package/src/app/layout/api/menuchangeevent.ts +3 -3
  73. package/src/app/layout/app.breadcrumb.component.html +20 -20
  74. package/src/app/layout/app.breadcrumb.component.ts +78 -78
  75. package/src/app/layout/app.footer.component.html +18 -18
  76. package/src/app/layout/app.footer.component.ts +15 -15
  77. package/src/app/layout/app.layout.component.html +20 -20
  78. package/src/app/layout/app.layout.component.ts +201 -201
  79. package/src/app/layout/app.layout.module.ts +9 -9
  80. package/src/app/layout/app.menu.component.html +5 -5
  81. package/src/app/layout/app.menu.component.ts +51 -51
  82. package/src/app/layout/app.menu.service.ts +23 -23
  83. package/src/app/layout/app.menuitem.component.ts +252 -252
  84. package/src/app/layout/app.menuprofile.component.html +35 -35
  85. package/src/app/layout/app.menuprofile.component.ts +60 -60
  86. package/src/app/layout/app.rightmenu.component.html +72 -72
  87. package/src/app/layout/app.rightmenu.component.ts +24 -24
  88. package/src/app/layout/app.sidebar.component.html +40 -40
  89. package/src/app/layout/app.sidebar.component.ts +81 -81
  90. package/src/app/layout/app.topbar.component.html +214 -214
  91. package/src/app/layout/app.topbar.component.ts +335 -335
  92. package/src/app/layout/config/app.config.component.html +124 -124
  93. package/src/app/layout/config/app.config.component.ts +206 -206
  94. package/src/app/layout/config/app.config.module.ts +11 -11
  95. package/src/app/layout/service/app.layout.service.ts +191 -191
  96. package/src/app/publico/pages/login/login.page.html +53 -53
  97. package/src/app/publico/pages/login/login.page.scss +166 -166
  98. package/src/app/publico/pages/login/login.page.ts +128 -128
  99. package/src/app/publico/pages/not-found/not-found.page.html +35 -35
  100. package/src/app/publico/pages/not-found/not-found.page.scss +2 -2
  101. package/src/app/publico/pages/not-found/not-found.page.ts +46 -46
  102. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.html +57 -57
  103. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.scss +48 -48
  104. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.ts +175 -175
  105. package/src/app/publico/pages/timeout/timeout.page.html +24 -24
  106. package/src/app/publico/pages/timeout/timeout.page.scss +2 -2
  107. package/src/app/publico/pages/timeout/timeout.page.ts +18 -18
  108. package/src/app/seguridad/constantes/ConstantesGenerales.ts +29 -29
  109. package/src/app/seguridad/constantes/ReporteEntradaConstantes.ts +18 -18
  110. package/src/app/seguridad/constantes/ReporteFuenteConstantes.ts +13 -13
  111. package/src/app/seguridad/modelos/AplicacionModel.ts +11 -11
  112. package/src/app/seguridad/modelos/ArchivoPortalModel.ts +16 -16
  113. package/src/app/seguridad/modelos/AtributoPuntoModel.ts +8 -8
  114. package/src/app/seguridad/modelos/AtributoSSOportalModel.ts +22 -22
  115. package/src/app/seguridad/modelos/AuditoriaArchivoModel.ts +12 -12
  116. package/src/app/seguridad/modelos/CargueLineaModel.ts +16 -16
  117. package/src/app/seguridad/modelos/ColoresRGB.ts +16 -16
  118. package/src/app/seguridad/modelos/ColumnaFuenteModel.ts +8 -8
  119. package/src/app/seguridad/modelos/ColumnaWraperModel.ts +6 -6
  120. package/src/app/seguridad/modelos/ComplementoModel.ts +10 -10
  121. package/src/app/seguridad/modelos/ComponentePaginaModel.ts +22 -22
  122. package/src/app/seguridad/modelos/ConexionModel.ts +15 -15
  123. package/src/app/seguridad/modelos/ContenidoHtmlPortalModel.ts +24 -24
  124. package/src/app/seguridad/modelos/ControlFuncionModel.ts +9 -9
  125. package/src/app/seguridad/modelos/CorreoModel.ts +45 -45
  126. package/src/app/seguridad/modelos/CorreoWSModel.ts +49 -49
  127. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.ts +13 -13
  128. package/src/app/seguridad/modelos/DatoInicioModel.ts +6 -6
  129. package/src/app/seguridad/modelos/EjecucionReporteDataModel.ts +20 -20
  130. package/src/app/seguridad/modelos/EmpresaModel.ts +25 -25
  131. package/src/app/seguridad/modelos/EmpresaSeguridadModel.ts +19 -19
  132. package/src/app/seguridad/modelos/EntradaComplementoModel.ts +8 -8
  133. package/src/app/seguridad/modelos/EtiquetaModel.ts +3 -3
  134. package/src/app/seguridad/modelos/Etiquetas.ts +13 -13
  135. package/src/app/seguridad/modelos/ForeingWraperModel.ts +8 -8
  136. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.ts +20 -20
  137. package/src/app/seguridad/modelos/FuenteCampoModel.ts +19 -19
  138. package/src/app/seguridad/modelos/FuenteDato.ts +18 -18
  139. package/src/app/seguridad/modelos/FuenteEntradaModel.ts +8 -8
  140. package/src/app/seguridad/modelos/FuenteGeneralModel.ts +54 -54
  141. package/src/app/seguridad/modelos/FuenteLineaServicioModel.ts +18 -18
  142. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.ts +13 -13
  143. package/src/app/seguridad/modelos/FuenteServicioModel.ts +60 -60
  144. package/src/app/seguridad/modelos/FuncionalidadModel.ts +12 -12
  145. package/src/app/seguridad/modelos/GeneralModel.ts +16 -16
  146. package/src/app/seguridad/modelos/GrupoAccesoModel.ts +8 -8
  147. package/src/app/seguridad/modelos/GrupoControlFuncionModel.ts +11 -11
  148. package/src/app/seguridad/modelos/GrupoFuenteModel.ts +16 -16
  149. package/src/app/seguridad/modelos/GrupoPermisoModel.ts +15 -15
  150. package/src/app/seguridad/modelos/JoinFromModel.ts +3 -3
  151. package/src/app/seguridad/modelos/ListaServicioModel.ts +17 -17
  152. package/src/app/seguridad/modelos/LlaveForaneaModel.ts +5 -5
  153. package/src/app/seguridad/modelos/LoginModel.ts +18 -18
  154. package/src/app/seguridad/modelos/MensajeSistemaModel.ts +10 -10
  155. package/src/app/seguridad/modelos/MenuPortalModel.ts +5 -5
  156. package/src/app/seguridad/modelos/ModulosModel.ts +16 -16
  157. package/src/app/seguridad/modelos/ObjetoReporteModel.ts +5 -5
  158. package/src/app/seguridad/modelos/PaginaPortalModel.ts +23 -23
  159. package/src/app/seguridad/modelos/ParametroComponenteModel.ts +9 -9
  160. package/src/app/seguridad/modelos/ParametrosGeneralModel.ts +15 -15
  161. package/src/app/seguridad/modelos/PermisoFuncionModel.ts +10 -10
  162. package/src/app/seguridad/modelos/PermisocontenidoModel.ts +19 -19
  163. package/src/app/seguridad/modelos/PeticionModel.ts +20 -20
  164. package/src/app/seguridad/modelos/PreguntaSeguridadModel.ts +9 -9
  165. package/src/app/seguridad/modelos/PropiedadModel.ts +12 -12
  166. package/src/app/seguridad/modelos/PublicacionWebModel.ts +28 -28
  167. package/src/app/seguridad/modelos/PuntoProcesoModel.ts +6 -6
  168. package/src/app/seguridad/modelos/RecursoPunto.ts +12 -12
  169. package/src/app/seguridad/modelos/RecursoPuntoModel.ts +12 -12
  170. package/src/app/seguridad/modelos/ReporteBanda.ts +8 -8
  171. package/src/app/seguridad/modelos/ReporteColumna.ts +33 -33
  172. package/src/app/seguridad/modelos/ReporteColumnario.ts +81 -81
  173. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.ts +30 -30
  174. package/src/app/seguridad/modelos/ReporteEntradaModel.ts +20 -20
  175. package/src/app/seguridad/modelos/ReporteFuenteModel.ts +140 -140
  176. package/src/app/seguridad/modelos/ReporteMarcador.ts +39 -39
  177. package/src/app/seguridad/modelos/ReporteSoporte.ts +9 -9
  178. package/src/app/seguridad/modelos/ReporteTabla.ts +13 -13
  179. package/src/app/seguridad/modelos/RespuestaModel.ts +10 -10
  180. package/src/app/seguridad/modelos/RolModel.ts +40 -40
  181. package/src/app/seguridad/modelos/ServidorCorreoModel.ts +30 -30
  182. package/src/app/seguridad/modelos/SistemaMensajeModel.ts +10 -10
  183. package/src/app/seguridad/modelos/SitioPortalModel.ts +29 -29
  184. package/src/app/seguridad/modelos/TablaFromModel.ts +4 -4
  185. package/src/app/seguridad/modelos/TareasModel.ts +53 -53
  186. package/src/app/seguridad/modelos/TextoModel.ts +10 -10
  187. package/src/app/seguridad/modelos/TipoEtiqueta.ts +7 -7
  188. package/src/app/seguridad/modelos/UnionModel.ts +14 -14
  189. package/src/app/seguridad/modelos/UsuarioModel.ts +59 -59
  190. package/src/app/seguridad/modelos/UsuariogrupoModel.ts +26 -26
  191. package/src/app/seguridad/modelos/aplicacion-propiedad-model.ts +16 -16
  192. package/src/app/seguridad/modelos/contenidoCorreoModel.ts +13 -13
  193. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.html +47 -47
  194. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.scss +7 -7
  195. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.ts +144 -144
  196. package/src/app/shared/servicios/cargar-archivos.service.ts +51 -51
  197. package/src/app/shared/servicios/cargar-mapas.service.ts +42 -42
  198. package/src/app/shared/servicios/encriptado-basico.service.ts +54 -54
  199. package/src/app/shared/servicios/encriptador-simetrico.service.ts +29 -29
  200. package/src/app/shared/servicios/general.service.ts +124 -124
  201. package/src/app/shared/servicios/parametros-navegacion.service.ts +20 -20
  202. package/src/app/shared/servicios/plantillas.service.ts +22 -22
  203. package/src/app/shared/servicios/tarea.service.ts +71 -71
  204. package/src/app/shared/utilidades/translate-loader.util.ts +44 -44
  205. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.html +166 -166
  206. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.scss +10 -10
  207. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.ts +425 -425
  208. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.html +86 -86
  209. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.ts +189 -189
  210. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.html +116 -116
  211. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.ts +87 -87
  212. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.html +157 -157
  213. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.scss +6 -6
  214. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.ts +345 -345
  215. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.html +131 -131
  216. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.ts +198 -198
  217. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.html +205 -205
  218. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.scss +2 -2
  219. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.ts +329 -329
  220. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.html +2113 -2113
  221. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.scss +240 -240
  222. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.ts +1676 -1676
  223. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.html +32 -32
  224. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.ts +95 -95
  225. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.html +53 -53
  226. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.ts +111 -111
  227. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.html +394 -394
  228. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.scss +9 -9
  229. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.ts +599 -599
  230. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.html +129 -129
  231. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.ts +171 -171
  232. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.html +375 -375
  233. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.scss +5 -5
  234. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.ts +749 -749
  235. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.html +144 -144
  236. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.ts +302 -302
  237. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.html +18 -18
  238. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.ts +89 -89
  239. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.html +713 -713
  240. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.ts +688 -688
  241. package/src/app/webcommon/pipes/dashboard.pipe.ts +78 -78
  242. package/src/app/webcommon/pipes/fuente.pipe.ts +206 -206
  243. package/src/app/webcommon/pipes/general.pipe.ts +1043 -1043
  244. package/src/app/webcommon/pipes/reporte-columnario.pipe.ts +101 -101
  245. package/src/app/webcommon/pipes/reporte-fuente.pipe.ts +306 -306
  246. package/src/app/webcommon/pipes/sara-general.pipe.ts +289 -289
  247. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.html +90 -90
  248. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.ts +262 -262
  249. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.html +49 -49
  250. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.ts +135 -135
  251. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.html +40 -40
  252. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.ts +283 -283
  253. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.html +179 -179
  254. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.scss +3 -3
  255. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.ts +266 -266
  256. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.html +260 -260
  257. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.scss +13 -13
  258. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.ts +519 -519
  259. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.html +9 -9
  260. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.scss +5 -5
  261. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.ts +58 -58
  262. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.html +71 -71
  263. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.ts +151 -151
  264. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.html +10 -10
  265. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.ts +81 -81
  266. package/src/app/webcommon/services/carguelinea.service.ts +71 -71
  267. package/src/app/webcommon/services/dashboard.service.ts +257 -257
  268. package/src/app/webcommon/services/ejecucionreporte.service.ts +159 -159
  269. package/src/app/webcommon/services/fechaUtils.service.ts +116 -116
  270. package/src/app/webcommon/services/fuentegeneral.service.ts +74 -74
  271. package/src/app/webcommon/services/homologacion.service.ts +49 -49
  272. package/src/app/webcommon/services/plantillas.service.ts +165 -165
  273. package/src/app/webcommon/services/reportes.service.ts +132 -132
  274. package/src/app/webcommon/webcommon.module.ts +11 -11
  275. package/src/assets/demo/customers-large.json +3604 -3604
  276. package/src/assets/demo/data/chat.json +123 -123
  277. package/src/assets/demo/data/countries.json +246 -246
  278. package/src/assets/demo/data/customers-large.json +3604 -3604
  279. package/src/assets/demo/data/customers-medium.json +904 -904
  280. package/src/assets/demo/data/customers-small.json +164 -164
  281. package/src/assets/demo/data/file-management.json +200 -200
  282. package/src/assets/demo/data/files-lazy.json +25 -25
  283. package/src/assets/demo/data/files.json +54 -54
  284. package/src/assets/demo/data/filesystem-lazy.json +20 -20
  285. package/src/assets/demo/data/filesystem.json +312 -312
  286. package/src/assets/demo/data/kanban.json +195 -195
  287. package/src/assets/demo/data/mail.json +364 -364
  288. package/src/assets/demo/data/members.json +49 -49
  289. package/src/assets/demo/data/photos.json +94 -94
  290. package/src/assets/demo/data/products-mixed.json +364 -364
  291. package/src/assets/demo/data/products-orders-small.json +340 -340
  292. package/src/assets/demo/data/products-orders.json +833 -833
  293. package/src/assets/demo/data/products-small.json +123 -123
  294. package/src/assets/demo/data/products.json +394 -394
  295. package/src/assets/demo/data/scheduleevents.json +64 -64
  296. package/src/assets/demo/data/tasks.json +204 -204
  297. package/src/assets/demo/images/blocks/ad/icon-blocks.svg +18 -18
  298. package/src/assets/demo/images/blocks/logos/hyper.svg +2 -2
  299. package/src/assets/demo/images/contact/map-dark.svg +9 -9
  300. package/src/assets/demo/images/contact/map-light.svg +9 -9
  301. package/src/assets/demo/images/landing/icon-accessibility.svg +3 -3
  302. package/src/assets/demo/images/landing/icon-community.svg +3 -3
  303. package/src/assets/demo/images/landing/icon-components.svg +4 -4
  304. package/src/assets/demo/images/landing/icon-mobile.svg +3 -3
  305. package/src/assets/demo/images/landing/icon-productivity.svg +3 -3
  306. package/src/assets/demo/images/landing/icon-support.svg +3 -3
  307. package/src/assets/demo/images/landing/icon-theme.svg +3 -3
  308. package/src/assets/demo/images/landing/icon-ts.svg +11 -11
  309. package/src/assets/demo/images/product/product-placeholder.svg +9 -9
  310. package/src/assets/demo/styles/badges.css +93 -93
  311. package/src/assets/demo/styles/badges.scss +109 -109
  312. package/src/assets/demo/styles/code.css +14 -14
  313. package/src/assets/demo/styles/code.scss +14 -14
  314. package/src/assets/demo/styles/flags/flags.css +1 -1
  315. package/src/assets/glyphicons/css/boton-icon.css +547 -547
  316. package/src/assets/glyphicons/css/glyphicons-basic.css +3317 -3317
  317. package/src/assets/glyphicons/css/glyphicons-filetypes.css +649 -649
  318. package/src/assets/glyphicons/css/glyphicons-halflings.css +101 -101
  319. package/src/assets/glyphicons/css/glyphicons-social.css +88 -88
  320. package/src/assets/glyphicons/css/glyphicons.css +4 -4
  321. package/src/assets/glyphicons/fonts/filetypes/glyphicons-filetypes-regular.svg +167 -167
  322. package/src/assets/glyphicons/fonts/halflings/glyphicons-halflings-regular.svg +327 -327
  323. package/src/assets/glyphicons/fonts/regular/glyphicons-regular.svg +827 -827
  324. package/src/assets/glyphicons/fonts/social/glyphicons-social-regular.svg +97 -97
  325. package/src/assets/layout/images/401.svg +11 -11
  326. package/src/assets/layout/images/extensions/asset-amex.svg +22 -22
  327. package/src/assets/layout/images/extensions/asset-mastercard.svg +16 -16
  328. package/src/assets/layout/images/extensions/asset-paypal.svg +17 -17
  329. package/src/assets/layout/images/extensions/asset-visa.svg +16 -16
  330. package/src/assets/layout/images/extensions/prime-logo.svg +17 -17
  331. package/src/assets/layout/images/footer-ultima-dark.svg +4 -4
  332. package/src/assets/layout/images/footer-ultima.svg +4 -4
  333. package/src/assets/layout/images/logo-ultima.svg +13 -13
  334. package/src/assets/layout/images/widgets/feature-faq.svg +59 -59
  335. package/src/assets/layout/images/widgets/feature-onboarding.svg +36 -36
  336. package/src/assets/layout/images/widgets/feature-security.svg +47 -47
  337. package/src/assets/layout/styles/layout/_animation.scss +52 -52
  338. package/src/assets/layout/styles/layout/_breadcrumb.scss +43 -43
  339. package/src/assets/layout/styles/layout/_config.scss +12 -12
  340. package/src/assets/layout/styles/layout/_content.scss +9 -9
  341. package/src/assets/layout/styles/layout/_fonts.scss +29 -29
  342. package/src/assets/layout/styles/layout/_footer.scss +15 -15
  343. package/src/assets/layout/styles/layout/_invoice.scss +19 -19
  344. package/src/assets/layout/styles/layout/_landing.scss +10 -10
  345. package/src/assets/layout/styles/layout/_main.scss +27 -27
  346. package/src/assets/layout/styles/layout/_megamenu.scss +6 -6
  347. package/src/assets/layout/styles/layout/_menuprofile.scss +75 -75
  348. package/src/assets/layout/styles/layout/_responsive.scss +243 -243
  349. package/src/assets/layout/styles/layout/_rightmenu.scss +57 -57
  350. package/src/assets/layout/styles/layout/_typography.scss +90 -90
  351. package/src/assets/layout/styles/layout/_utils.scss +77 -77
  352. package/src/assets/layout/styles/layout/layout.css +1802 -1802
  353. package/src/assets/layout/styles/layout/layout.scss +18 -18
  354. package/src/assets/layout/styles/layout/preloading.css +65 -65
  355. package/src/assets/layout/styles/layout/preloading.scss +59 -59
  356. package/src/assets/layout/styles/layout/sidebar/_sidebar.scss +17 -17
  357. package/src/assets/layout/styles/layout/sidebar/_sidebar_drawer.scss +282 -282
  358. package/src/assets/layout/styles/layout/sidebar/_sidebar_horizontal.scss +210 -210
  359. package/src/assets/layout/styles/layout/sidebar/_sidebar_reveal.scss +186 -186
  360. package/src/assets/layout/styles/layout/sidebar/_sidebar_slim.scss +201 -201
  361. package/src/assets/layout/styles/layout/sidebar/_sidebar_slim_plus.scss +215 -215
  362. package/src/assets/layout/styles/layout/sidebar/_sidebar_vertical.scss +183 -183
  363. package/src/assets/layout/styles/layout/sidebar/themes/_menu_bluegrey.scss +10 -10
  364. package/src/assets/layout/styles/layout/sidebar/themes/_menu_brown.scss +9 -9
  365. package/src/assets/layout/styles/layout/sidebar/themes/_menu_cyan.scss +9 -9
  366. package/src/assets/layout/styles/layout/sidebar/themes/_menu_dark.scss +8 -8
  367. package/src/assets/layout/styles/layout/sidebar/themes/_menu_deeporange.scss +9 -9
  368. package/src/assets/layout/styles/layout/sidebar/themes/_menu_deeppurple.scss +9 -9
  369. package/src/assets/layout/styles/layout/sidebar/themes/_menu_green.scss +9 -9
  370. package/src/assets/layout/styles/layout/sidebar/themes/_menu_indigo.scss +9 -9
  371. package/src/assets/layout/styles/layout/sidebar/themes/_menu_light.scss +8 -8
  372. package/src/assets/layout/styles/layout/sidebar/themes/_menu_pink.scss +9 -9
  373. package/src/assets/layout/styles/layout/sidebar/themes/_menu_purple.scss +9 -9
  374. package/src/assets/layout/styles/layout/sidebar/themes/_menu_teal.scss +9 -9
  375. package/src/assets/layout/styles/layout/topbar/_topbar.scss +21 -21
  376. package/src/assets/layout/styles/layout/topbar/_topbar_main.scss +235 -235
  377. package/src/assets/layout/styles/layout/topbar/themes/_topbar_amber.scss +9 -9
  378. package/src/assets/layout/styles/layout/topbar/themes/_topbar_blue.scss +9 -9
  379. package/src/assets/layout/styles/layout/topbar/themes/_topbar_bluegrey.scss +9 -9
  380. package/src/assets/layout/styles/layout/topbar/themes/_topbar_brown.scss +9 -9
  381. package/src/assets/layout/styles/layout/topbar/themes/_topbar_cyan.scss +9 -9
  382. package/src/assets/layout/styles/layout/topbar/themes/_topbar_dark.scss +9 -9
  383. package/src/assets/layout/styles/layout/topbar/themes/_topbar_deeporange.scss +9 -9
  384. package/src/assets/layout/styles/layout/topbar/themes/_topbar_deeppurple.scss +9 -9
  385. package/src/assets/layout/styles/layout/topbar/themes/_topbar_green.scss +8 -8
  386. package/src/assets/layout/styles/layout/topbar/themes/_topbar_grey.scss +9 -9
  387. package/src/assets/layout/styles/layout/topbar/themes/_topbar_indigo.scss +9 -9
  388. package/src/assets/layout/styles/layout/topbar/themes/_topbar_lightblue.scss +9 -9
  389. package/src/assets/layout/styles/layout/topbar/themes/_topbar_lightgreen.scss +9 -9
  390. package/src/assets/layout/styles/layout/topbar/themes/_topbar_lime.scss +9 -9
  391. package/src/assets/layout/styles/layout/topbar/themes/_topbar_orange.scss +9 -9
  392. package/src/assets/layout/styles/layout/topbar/themes/_topbar_pink.scss +9 -9
  393. package/src/assets/layout/styles/layout/topbar/themes/_topbar_purple.scss +9 -9
  394. package/src/assets/layout/styles/layout/topbar/themes/_topbar_teal.scss +9 -9
  395. package/src/assets/layout/styles/layout/topbar/themes/_topbar_white.scss +9 -9
  396. package/src/assets/layout/styles/layout/topbar/themes/_topbar_yellow.scss +9 -9
  397. package/src/assets/layout/styles/theme/_compact.scss +88 -88
  398. package/src/assets/layout/styles/theme/designer/_colors.scss +18 -18
  399. package/src/assets/layout/styles/theme/designer/_common.scss +74 -74
  400. package/src/assets/layout/styles/theme/designer/_components.scss +102 -102
  401. package/src/assets/layout/styles/theme/designer/_mixins.scss +203 -203
  402. package/src/assets/layout/styles/theme/designer/components/button/_button.scss +604 -604
  403. package/src/assets/layout/styles/theme/designer/components/button/_speeddial.scss +80 -80
  404. package/src/assets/layout/styles/theme/designer/components/button/_splitbutton.scss +381 -381
  405. package/src/assets/layout/styles/theme/designer/components/data/_carousel.scss +37 -37
  406. package/src/assets/layout/styles/theme/designer/components/data/_datatable.scss +340 -340
  407. package/src/assets/layout/styles/theme/designer/components/data/_dataview.scss +55 -55
  408. package/src/assets/layout/styles/theme/designer/components/data/_filter.scss +137 -137
  409. package/src/assets/layout/styles/theme/designer/components/data/_fullcalendar.scss +329 -329
  410. package/src/assets/layout/styles/theme/designer/components/data/_orderlist.scss +102 -102
  411. package/src/assets/layout/styles/theme/designer/components/data/_organizationchart.scss +59 -59
  412. package/src/assets/layout/styles/theme/designer/components/data/_paginator.scss +120 -120
  413. package/src/assets/layout/styles/theme/designer/components/data/_picklist.scss +102 -102
  414. package/src/assets/layout/styles/theme/designer/components/data/_timeline.scss +38 -38
  415. package/src/assets/layout/styles/theme/designer/components/data/_tree.scss +148 -148
  416. package/src/assets/layout/styles/theme/designer/components/data/_treetable.scss +250 -250
  417. package/src/assets/layout/styles/theme/designer/components/data/_virtualscroller.scss +28 -28
  418. package/src/assets/layout/styles/theme/designer/components/file/_fileupload.scss +58 -58
  419. package/src/assets/layout/styles/theme/designer/components/input/_autocomplete.scss +117 -117
  420. package/src/assets/layout/styles/theme/designer/components/input/_calendar.scss +271 -271
  421. package/src/assets/layout/styles/theme/designer/components/input/_cascadeselect.scss +125 -125
  422. package/src/assets/layout/styles/theme/designer/components/input/_checkbox.scss +85 -85
  423. package/src/assets/layout/styles/theme/designer/components/input/_chips.scss +54 -54
  424. package/src/assets/layout/styles/theme/designer/components/input/_colorpicker.scss +19 -19
  425. package/src/assets/layout/styles/theme/designer/components/input/_dropdown.scss +149 -149
  426. package/src/assets/layout/styles/theme/designer/components/input/_editor.scss +122 -122
  427. package/src/assets/layout/styles/theme/designer/components/input/_inputgroup.scss +77 -77
  428. package/src/assets/layout/styles/theme/designer/components/input/_inputmask.scss +15 -15
  429. package/src/assets/layout/styles/theme/designer/components/input/_inputnumber.scss +27 -27
  430. package/src/assets/layout/styles/theme/designer/components/input/_inputswitch.scss +59 -59
  431. package/src/assets/layout/styles/theme/designer/components/input/_inputtext.scss +116 -116
  432. package/src/assets/layout/styles/theme/designer/components/input/_listbox.scss +81 -81
  433. package/src/assets/layout/styles/theme/designer/components/input/_multiselect.scss +173 -173
  434. package/src/assets/layout/styles/theme/designer/components/input/_password.scss +51 -51
  435. package/src/assets/layout/styles/theme/designer/components/input/_radiobutton.scss +77 -77
  436. package/src/assets/layout/styles/theme/designer/components/input/_rating.scss +48 -48
  437. package/src/assets/layout/styles/theme/designer/components/input/_selectbutton.scss +49 -49
  438. package/src/assets/layout/styles/theme/designer/components/input/_slider.scss +71 -71
  439. package/src/assets/layout/styles/theme/designer/components/input/_togglebutton.scss +47 -47
  440. package/src/assets/layout/styles/theme/designer/components/input/_treeselect.scss +138 -138
  441. package/src/assets/layout/styles/theme/designer/components/menu/_breadcrumb.scss +42 -42
  442. package/src/assets/layout/styles/theme/designer/components/menu/_contextmenu.scss +56 -56
  443. package/src/assets/layout/styles/theme/designer/components/menu/_dock.scss +86 -86
  444. package/src/assets/layout/styles/theme/designer/components/menu/_megamenu.scss +106 -106
  445. package/src/assets/layout/styles/theme/designer/components/menu/_menu.scss +45 -45
  446. package/src/assets/layout/styles/theme/designer/components/menu/_menubar.scss +183 -183
  447. package/src/assets/layout/styles/theme/designer/components/menu/_panelmenu.scss +142 -142
  448. package/src/assets/layout/styles/theme/designer/components/menu/_slidemenu.scss +59 -59
  449. package/src/assets/layout/styles/theme/designer/components/menu/_steps.scss +56 -56
  450. package/src/assets/layout/styles/theme/designer/components/menu/_tabmenu.scss +76 -76
  451. package/src/assets/layout/styles/theme/designer/components/menu/_tieredmenu.scss +82 -82
  452. package/src/assets/layout/styles/theme/designer/components/messages/_inlinemessage.scss +64 -64
  453. package/src/assets/layout/styles/theme/designer/components/messages/_message.scss +102 -102
  454. package/src/assets/layout/styles/theme/designer/components/messages/_toast.scss +102 -102
  455. package/src/assets/layout/styles/theme/designer/components/misc/_avatar.scss +29 -29
  456. package/src/assets/layout/styles/theme/designer/components/misc/_badge.scss +47 -47
  457. package/src/assets/layout/styles/theme/designer/components/misc/_chip.scss +37 -37
  458. package/src/assets/layout/styles/theme/designer/components/misc/_inplace.scss +17 -17
  459. package/src/assets/layout/styles/theme/designer/components/misc/_progressbar.scss +17 -17
  460. package/src/assets/layout/styles/theme/designer/components/misc/_scrolltop.scss +19 -19
  461. package/src/assets/layout/styles/theme/designer/components/misc/_skeleton.scss +7 -7
  462. package/src/assets/layout/styles/theme/designer/components/misc/_tag.scss +34 -34
  463. package/src/assets/layout/styles/theme/designer/components/misc/_terminal.scss +11 -11
  464. package/src/assets/layout/styles/theme/designer/components/multimedia/_galleria.scss +139 -139
  465. package/src/assets/layout/styles/theme/designer/components/multimedia/_image.scss +44 -44
  466. package/src/assets/layout/styles/theme/designer/components/overlay/_confirmpopup.scss +68 -68
  467. package/src/assets/layout/styles/theme/designer/components/overlay/_dialog.scss +89 -89
  468. package/src/assets/layout/styles/theme/designer/components/overlay/_overlaypanel.scss +84 -84
  469. package/src/assets/layout/styles/theme/designer/components/overlay/_sidebar.scss +27 -27
  470. package/src/assets/layout/styles/theme/designer/components/overlay/_tooltip.scss +37 -37
  471. package/src/assets/layout/styles/theme/designer/components/panel/_accordion.scss +146 -146
  472. package/src/assets/layout/styles/theme/designer/components/panel/_card.scss +30 -30
  473. package/src/assets/layout/styles/theme/designer/components/panel/_divider.scss +31 -31
  474. package/src/assets/layout/styles/theme/designer/components/panel/_fieldset.scss +52 -52
  475. package/src/assets/layout/styles/theme/designer/components/panel/_panel.scss +59 -59
  476. package/src/assets/layout/styles/theme/designer/components/panel/_scrollpanel.scss +5 -5
  477. package/src/assets/layout/styles/theme/designer/components/panel/_splitter.scss +18 -18
  478. package/src/assets/layout/styles/theme/designer/components/panel/_toolbar.scss +11 -11
  479. package/src/assets/layout/styles/theme/extensions/_accordion.scss +55 -55
  480. package/src/assets/layout/styles/theme/extensions/_autocomplete.scss +67 -67
  481. package/src/assets/layout/styles/theme/extensions/_breadcrumb.scss +9 -9
  482. package/src/assets/layout/styles/theme/extensions/_button.scss +217 -217
  483. package/src/assets/layout/styles/theme/extensions/_calendar.scss +154 -154
  484. package/src/assets/layout/styles/theme/extensions/_carousel.scss +13 -13
  485. package/src/assets/layout/styles/theme/extensions/_cascadeselect.scss +73 -73
  486. package/src/assets/layout/styles/theme/extensions/_checkbox.scss +85 -85
  487. package/src/assets/layout/styles/theme/extensions/_chips.scss +55 -55
  488. package/src/assets/layout/styles/theme/extensions/_datatable.scss +38 -38
  489. package/src/assets/layout/styles/theme/extensions/_dropdown.scss +48 -48
  490. package/src/assets/layout/styles/theme/extensions/_fieldset.scss +15 -15
  491. package/src/assets/layout/styles/theme/extensions/_float_label.scss +51 -51
  492. package/src/assets/layout/styles/theme/extensions/_fullcalendar.scss +84 -84
  493. package/src/assets/layout/styles/theme/extensions/_galleria.scss +26 -26
  494. package/src/assets/layout/styles/theme/extensions/_input.scss +14 -14
  495. package/src/assets/layout/styles/theme/extensions/_inputgroup.scss +32 -32
  496. package/src/assets/layout/styles/theme/extensions/_inputmask.scss +14 -14
  497. package/src/assets/layout/styles/theme/extensions/_inputnumber.scss +14 -14
  498. package/src/assets/layout/styles/theme/extensions/_inputswitch.scss +32 -32
  499. package/src/assets/layout/styles/theme/extensions/_listbox.scss +17 -17
  500. package/src/assets/layout/styles/theme/extensions/_megamenu.scss +9 -9
  501. package/src/assets/layout/styles/theme/extensions/_menu.scss +9 -9
  502. package/src/assets/layout/styles/theme/extensions/_menubar.scss +9 -9
  503. package/src/assets/layout/styles/theme/extensions/_mixins.scss +108 -108
  504. package/src/assets/layout/styles/theme/extensions/_multiselect.scss +104 -104
  505. package/src/assets/layout/styles/theme/extensions/_orderlist.scss +13 -13
  506. package/src/assets/layout/styles/theme/extensions/_overlaypanel.scss +20 -20
  507. package/src/assets/layout/styles/theme/extensions/_paginator.scss +20 -20
  508. package/src/assets/layout/styles/theme/extensions/_panel.scss +28 -28
  509. package/src/assets/layout/styles/theme/extensions/_panelmenu.scss +49 -49
  510. package/src/assets/layout/styles/theme/extensions/_picklist.scss +13 -13
  511. package/src/assets/layout/styles/theme/extensions/_progressbar.scss +6 -6
  512. package/src/assets/layout/styles/theme/extensions/_radiobutton.scss +49 -49
  513. package/src/assets/layout/styles/theme/extensions/_rating.scss +35 -35
  514. package/src/assets/layout/styles/theme/extensions/_selectbutton.scss +12 -12
  515. package/src/assets/layout/styles/theme/extensions/_slidemenu.scss +7 -7
  516. package/src/assets/layout/styles/theme/extensions/_slider.scss +15 -15
  517. package/src/assets/layout/styles/theme/extensions/_steps.scss +65 -65
  518. package/src/assets/layout/styles/theme/extensions/_tabmenu.scss +37 -37
  519. package/src/assets/layout/styles/theme/extensions/_tabview.scss +31 -31
  520. package/src/assets/layout/styles/theme/extensions/_tieredmenu.scss +7 -7
  521. package/src/assets/layout/styles/theme/extensions/_timeline.scss +8 -8
  522. package/src/assets/layout/styles/theme/extensions/_togglebutton.scss +10 -10
  523. package/src/assets/layout/styles/theme/extensions/_toolbar.scss +2 -2
  524. package/src/assets/layout/styles/theme/extensions/_tooltip.scss +9 -9
  525. package/src/assets/layout/styles/theme/extensions/_tree.scss +15 -15
  526. package/src/assets/layout/styles/theme/extensions/_treeselect.scss +84 -84
  527. package/src/assets/layout/styles/theme/extensions/_treetable.scss +18 -18
  528. package/src/assets/layout/styles/theme/extensions/_vendor_extensions.scss +50 -50
  529. package/src/assets/layout/styles/theme/theme-dark/_variables.scss +869 -869
  530. package/src/assets/layout/styles/theme/theme-dark/amber/theme.css +7731 -7731
  531. package/src/assets/layout/styles/theme/theme-dark/amber/theme.scss +10 -10
  532. package/src/assets/layout/styles/theme/theme-dark/blue/theme.css +7724 -7724
  533. package/src/assets/layout/styles/theme/theme-dark/blue/theme.scss +9 -9
  534. package/src/assets/layout/styles/theme/theme-dark/bluegrey/theme.css +7723 -7723
  535. package/src/assets/layout/styles/theme/theme-dark/bluegrey/theme.scss +10 -10
  536. package/src/assets/layout/styles/theme/theme-dark/brown/theme.css +7731 -7731
  537. package/src/assets/layout/styles/theme/theme-dark/brown/theme.scss +10 -10
  538. package/src/assets/layout/styles/theme/theme-dark/cyan/theme.css +7731 -7731
  539. package/src/assets/layout/styles/theme/theme-dark/cyan/theme.scss +10 -10
  540. package/src/assets/layout/styles/theme/theme-dark/deeporange/theme.css +7731 -7731
  541. package/src/assets/layout/styles/theme/theme-dark/deeporange/theme.scss +11 -11
  542. package/src/assets/layout/styles/theme/theme-dark/deeppurple/theme.css +7731 -7731
  543. package/src/assets/layout/styles/theme/theme-dark/deeppurple/theme.scss +9 -9
  544. package/src/assets/layout/styles/theme/theme-dark/green/theme.css +7731 -7731
  545. package/src/assets/layout/styles/theme/theme-dark/green/theme.scss +10 -10
  546. package/src/assets/layout/styles/theme/theme-dark/indigo/theme.css +7731 -7731
  547. package/src/assets/layout/styles/theme/theme-dark/indigo/theme.scss +10 -10
  548. package/src/assets/layout/styles/theme/theme-dark/lightblue/theme.css +7731 -7731
  549. package/src/assets/layout/styles/theme/theme-dark/lightblue/theme.scss +9 -9
  550. package/src/assets/layout/styles/theme/theme-dark/lightgreen/theme.css +7731 -7731
  551. package/src/assets/layout/styles/theme/theme-dark/lightgreen/theme.scss +10 -10
  552. package/src/assets/layout/styles/theme/theme-dark/lime/theme.css +7731 -7731
  553. package/src/assets/layout/styles/theme/theme-dark/lime/theme.scss +10 -10
  554. package/src/assets/layout/styles/theme/theme-dark/orange/theme.css +7731 -7731
  555. package/src/assets/layout/styles/theme/theme-dark/orange/theme.scss +10 -10
  556. package/src/assets/layout/styles/theme/theme-dark/pink/theme.css +7731 -7731
  557. package/src/assets/layout/styles/theme/theme-dark/pink/theme.scss +9 -9
  558. package/src/assets/layout/styles/theme/theme-dark/purple/theme.css +7731 -7731
  559. package/src/assets/layout/styles/theme/theme-dark/purple/theme.scss +10 -10
  560. package/src/assets/layout/styles/theme/theme-dark/teal/theme.css +7731 -7731
  561. package/src/assets/layout/styles/theme/theme-dark/teal/theme.scss +9 -9
  562. package/src/assets/layout/styles/theme/theme-dark/yellow/theme.css +7731 -7731
  563. package/src/assets/layout/styles/theme/theme-dark/yellow/theme.scss +10 -10
  564. package/src/assets/layout/styles/theme/theme-light/_variables.scss +868 -868
  565. package/src/assets/layout/styles/theme/theme-light/amber/theme.css +7731 -7731
  566. package/src/assets/layout/styles/theme/theme-light/amber/theme.scss +11 -11
  567. package/src/assets/layout/styles/theme/theme-light/blue/theme.css +7731 -7731
  568. package/src/assets/layout/styles/theme/theme-light/blue/theme.scss +10 -10
  569. package/src/assets/layout/styles/theme/theme-light/bluegrey/theme.css +7731 -7731
  570. package/src/assets/layout/styles/theme/theme-light/bluegrey/theme.scss +11 -11
  571. package/src/assets/layout/styles/theme/theme-light/brown/theme.css +7731 -7731
  572. package/src/assets/layout/styles/theme/theme-light/brown/theme.scss +11 -11
  573. package/src/assets/layout/styles/theme/theme-light/cyan/theme.css +7731 -7731
  574. package/src/assets/layout/styles/theme/theme-light/cyan/theme.scss +12 -12
  575. package/src/assets/layout/styles/theme/theme-light/deeporange/theme.css +7731 -7731
  576. package/src/assets/layout/styles/theme/theme-light/deeporange/theme.scss +11 -11
  577. package/src/assets/layout/styles/theme/theme-light/deeppurple/theme.css +7731 -7731
  578. package/src/assets/layout/styles/theme/theme-light/deeppurple/theme.scss +11 -11
  579. package/src/assets/layout/styles/theme/theme-light/green/theme.css +7731 -7731
  580. package/src/assets/layout/styles/theme/theme-light/green/theme.scss +11 -11
  581. package/src/assets/layout/styles/theme/theme-light/indigo/theme.css +7731 -7731
  582. package/src/assets/layout/styles/theme/theme-light/indigo/theme.scss +10 -10
  583. package/src/assets/layout/styles/theme/theme-light/lightblue/theme.css +7731 -7731
  584. package/src/assets/layout/styles/theme/theme-light/lightblue/theme.scss +11 -11
  585. package/src/assets/layout/styles/theme/theme-light/lightgreen/theme.css +7731 -7731
  586. package/src/assets/layout/styles/theme/theme-light/lightgreen/theme.scss +11 -11
  587. package/src/assets/layout/styles/theme/theme-light/lime/theme.css +7731 -7731
  588. package/src/assets/layout/styles/theme/theme-light/lime/theme.scss +11 -11
  589. package/src/assets/layout/styles/theme/theme-light/orange/theme.css +7731 -7731
  590. package/src/assets/layout/styles/theme/theme-light/orange/theme.scss +11 -11
  591. package/src/assets/layout/styles/theme/theme-light/pink/theme.css +7731 -7731
  592. package/src/assets/layout/styles/theme/theme-light/pink/theme.scss +11 -11
  593. package/src/assets/layout/styles/theme/theme-light/purple/theme.css +7731 -7731
  594. package/src/assets/layout/styles/theme/theme-light/purple/theme.scss +11 -11
  595. package/src/assets/layout/styles/theme/theme-light/teal/theme.css +7731 -7731
  596. package/src/assets/layout/styles/theme/theme-light/teal/theme.scss +11 -11
  597. package/src/assets/layout/styles/theme/theme-light/yellow/theme.css +7731 -7731
  598. package/src/assets/layout/styles/theme/theme-light/yellow/theme.scss +11 -11
  599. package/src/assets/theme/uniondinamic/layout-light.css +4923 -4923
  600. package/src/assets/theme/uniondinamic/theme-light.css +8137 -8137
  601. package/src/environments/environment.prod.ts +3 -3
  602. package/src/environments/environment.ts +25 -25
  603. package/src/index.html +14 -14
  604. package/src/main.ts +11 -11
  605. package/src/polyfills.ts +53 -53
  606. package/src/styles/primeflex/primeflex.scss +47 -47
  607. package/src/styles/primeng/layout/layout-dark.scss +1 -1
  608. package/src/styles/primeng/layout/layout-light.scss +1 -1
  609. package/src/styles/primeng/sass/_fonts.scss +45 -45
  610. package/src/styles/primeng/sass/layout/_animation.scss +70 -70
  611. package/src/styles/primeng/sass/layout/_breadcrumb.scss +23 -23
  612. package/src/styles/primeng/sass/layout/_config.scss +73 -73
  613. package/src/styles/primeng/sass/layout/_dashboard.scss +51 -51
  614. package/src/styles/primeng/sass/layout/_footer.scss +3 -3
  615. package/src/styles/primeng/sass/layout/_help.scss +25 -25
  616. package/src/styles/primeng/sass/layout/_invoice.scss +19 -19
  617. package/src/styles/primeng/sass/layout/_landing.scss +163 -163
  618. package/src/styles/primeng/sass/layout/_loader.scss +72 -72
  619. package/src/styles/primeng/sass/layout/_main.scss +220 -220
  620. package/src/styles/primeng/sass/layout/_megamenu.scss +6 -6
  621. package/src/styles/primeng/sass/layout/_mixins.scss +55 -55
  622. package/src/styles/primeng/sass/layout/_pages.scss +206 -206
  623. package/src/styles/primeng/sass/layout/_rightmenu.scss +43 -43
  624. package/src/styles/primeng/sass/layout/_rtl.scss +50 -50
  625. package/src/styles/primeng/sass/layout/_typography.scss +21 -21
  626. package/src/styles/primeng/sass/layout/_utils.scss +352 -352
  627. package/src/styles/primeng/sass/layout/_widgets.scss +466 -466
  628. package/src/styles/primeng/sass/layout/_wizard.scss +414 -414
  629. package/src/styles/primeng/sass/layout/core/_layout.scss +24 -24
  630. package/src/styles/primeng/sass/layout/core/_layout_dark.scss +2 -2
  631. package/src/styles/primeng/sass/layout/core/_layout_light.scss +2 -2
  632. package/src/styles/primeng/sass/layout/menu/_inline_menu.scss +44 -44
  633. package/src/styles/primeng/sass/layout/menu/_menu.scss +20 -20
  634. package/src/styles/primeng/sass/layout/menu/_menu_common.scss +116 -116
  635. package/src/styles/primeng/sass/layout/menu/_menu_exports.scss +4 -4
  636. package/src/styles/primeng/sass/layout/menu/_menu_horizontal.scss +75 -75
  637. package/src/styles/primeng/sass/layout/menu/_menu_overlay.scss +30 -30
  638. package/src/styles/primeng/sass/layout/menu/_menu_responsive.scss +35 -35
  639. package/src/styles/primeng/sass/layout/menu/_menu_slim.scss +76 -76
  640. package/src/styles/primeng/sass/layout/menu/_menu_static.scss +26 -26
  641. package/src/styles/primeng/sass/layout/menu/_menu_theme.scss +105 -105
  642. package/src/styles/primeng/sass/layout/menu/_rtl_menu.scss +155 -155
  643. package/src/styles/primeng/sass/layout/menu/themes/_menu_bluegrey.scss +16 -16
  644. package/src/styles/primeng/sass/layout/menu/themes/_menu_brown.scss +15 -15
  645. package/src/styles/primeng/sass/layout/menu/themes/_menu_cyan.scss +15 -15
  646. package/src/styles/primeng/sass/layout/menu/themes/_menu_dark.scss +15 -15
  647. package/src/styles/primeng/sass/layout/menu/themes/_menu_deeporange.scss +15 -15
  648. package/src/styles/primeng/sass/layout/menu/themes/_menu_deeppurple.scss +15 -15
  649. package/src/styles/primeng/sass/layout/menu/themes/_menu_green.scss +15 -15
  650. package/src/styles/primeng/sass/layout/menu/themes/_menu_indigo.scss +15 -15
  651. package/src/styles/primeng/sass/layout/menu/themes/_menu_light.scss +15 -15
  652. package/src/styles/primeng/sass/layout/menu/themes/_menu_pink.scss +16 -16
  653. package/src/styles/primeng/sass/layout/menu/themes/_menu_purple.scss +16 -16
  654. package/src/styles/primeng/sass/layout/menu/themes/_menu_teal.scss +16 -16
  655. package/src/styles/primeng/sass/layout/topbar/_rtl_topbar.scss +92 -92
  656. package/src/styles/primeng/sass/layout/topbar/_topbar.scss +24 -24
  657. package/src/styles/primeng/sass/layout/topbar/_topbar_common.scss +161 -161
  658. package/src/styles/primeng/sass/layout/topbar/_topbar_exports.scss +4 -4
  659. package/src/styles/primeng/sass/layout/topbar/_topbar_responsive.scss +90 -90
  660. package/src/styles/primeng/sass/layout/topbar/_topbar_theme.scss +115 -115
  661. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_amber.scss +13 -13
  662. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_blue.scss +13 -13
  663. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_bluegrey.scss +13 -13
  664. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_brown.scss +13 -13
  665. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_custom.scss +13 -13
  666. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_cyan.scss +13 -13
  667. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_dark.scss +13 -13
  668. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_deeporange.scss +13 -13
  669. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_deeppurple.scss +13 -13
  670. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_green.scss +13 -13
  671. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_grey.scss +13 -13
  672. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_indigo.scss +13 -13
  673. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_lightblue.scss +13 -13
  674. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_lightgreen.scss +13 -13
  675. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_lime.scss +13 -13
  676. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_orange.scss +13 -13
  677. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_pink.scss +13 -13
  678. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_purple.scss +13 -13
  679. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_teal.scss +13 -13
  680. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_white.scss +13 -13
  681. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_yellow.scss +13 -13
  682. package/src/styles/primeng/sass/overrides/_layout_styles.scss +30 -30
  683. package/src/styles/primeng/sass/overrides/_layout_variables.scss +3 -3
  684. package/src/styles/primeng/sass/overrides/_theme_styles.scss +4673 -4673
  685. package/src/styles/primeng/sass/overrides/_theme_styles_dark.scss +5747 -5747
  686. package/src/styles/primeng/sass/overrides/_theme_variables.scss +135 -135
  687. package/src/styles/primeng/sass/theme/_compact.scss +88 -88
  688. package/src/styles/primeng/sass/theme/_theme_dark.scss +6 -6
  689. package/src/styles/primeng/sass/theme/_theme_light.scss +5 -5
  690. package/src/styles/primeng/sass/theme/designer/_colors.scss +18 -18
  691. package/src/styles/primeng/sass/theme/designer/_common.scss +75 -75
  692. package/src/styles/primeng/sass/theme/designer/_components.scss +102 -102
  693. package/src/styles/primeng/sass/theme/designer/_mixins.scss +203 -203
  694. package/src/styles/primeng/sass/theme/designer/components/button/_button.scss +621 -621
  695. package/src/styles/primeng/sass/theme/designer/components/button/_speeddial.scss +80 -80
  696. package/src/styles/primeng/sass/theme/designer/components/button/_splitbutton.scss +381 -381
  697. package/src/styles/primeng/sass/theme/designer/components/data/_carousel.scss +37 -37
  698. package/src/styles/primeng/sass/theme/designer/components/data/_datatable.scss +357 -357
  699. package/src/styles/primeng/sass/theme/designer/components/data/_dataview.scss +55 -55
  700. package/src/styles/primeng/sass/theme/designer/components/data/_filter.scss +137 -137
  701. package/src/styles/primeng/sass/theme/designer/components/data/_fullcalendar.scss +329 -329
  702. package/src/styles/primeng/sass/theme/designer/components/data/_orderlist.scss +102 -102
  703. package/src/styles/primeng/sass/theme/designer/components/data/_organizationchart.scss +58 -58
  704. package/src/styles/primeng/sass/theme/designer/components/data/_paginator.scss +126 -126
  705. package/src/styles/primeng/sass/theme/designer/components/data/_picklist.scss +102 -102
  706. package/src/styles/primeng/sass/theme/designer/components/data/_timeline.scss +38 -38
  707. package/src/styles/primeng/sass/theme/designer/components/data/_tree.scss +154 -154
  708. package/src/styles/primeng/sass/theme/designer/components/data/_treetable.scss +246 -246
  709. package/src/styles/primeng/sass/theme/designer/components/data/_virtualscroller.scss +28 -28
  710. package/src/styles/primeng/sass/theme/designer/components/file/_fileupload.scss +58 -58
  711. package/src/styles/primeng/sass/theme/designer/components/input/_autocomplete.scss +117 -117
  712. package/src/styles/primeng/sass/theme/designer/components/input/_calendar.scss +271 -271
  713. package/src/styles/primeng/sass/theme/designer/components/input/_cascadeselect.scss +125 -125
  714. package/src/styles/primeng/sass/theme/designer/components/input/_checkbox.scss +92 -92
  715. package/src/styles/primeng/sass/theme/designer/components/input/_chips.scss +54 -54
  716. package/src/styles/primeng/sass/theme/designer/components/input/_colorpicker.scss +19 -19
  717. package/src/styles/primeng/sass/theme/designer/components/input/_dropdown.scss +173 -173
  718. package/src/styles/primeng/sass/theme/designer/components/input/_editor.scss +122 -122
  719. package/src/styles/primeng/sass/theme/designer/components/input/_inputgroup.scss +75 -75
  720. package/src/styles/primeng/sass/theme/designer/components/input/_inputmask.scss +15 -15
  721. package/src/styles/primeng/sass/theme/designer/components/input/_inputnumber.scss +27 -27
  722. package/src/styles/primeng/sass/theme/designer/components/input/_inputswitch.scss +59 -59
  723. package/src/styles/primeng/sass/theme/designer/components/input/_inputtext.scss +134 -134
  724. package/src/styles/primeng/sass/theme/designer/components/input/_listbox.scss +81 -81
  725. package/src/styles/primeng/sass/theme/designer/components/input/_multiselect.scss +173 -173
  726. package/src/styles/primeng/sass/theme/designer/components/input/_password.scss +51 -51
  727. package/src/styles/primeng/sass/theme/designer/components/input/_radiobutton.scss +77 -77
  728. package/src/styles/primeng/sass/theme/designer/components/input/_rating.scss +48 -48
  729. package/src/styles/primeng/sass/theme/designer/components/input/_selectbutton.scss +49 -49
  730. package/src/styles/primeng/sass/theme/designer/components/input/_slider.scss +71 -71
  731. package/src/styles/primeng/sass/theme/designer/components/input/_togglebutton.scss +47 -47
  732. package/src/styles/primeng/sass/theme/designer/components/input/_treeselect.scss +138 -138
  733. package/src/styles/primeng/sass/theme/designer/components/menu/_breadcrumb.scss +42 -42
  734. package/src/styles/primeng/sass/theme/designer/components/menu/_contextmenu.scss +56 -56
  735. package/src/styles/primeng/sass/theme/designer/components/menu/_dock.scss +86 -86
  736. package/src/styles/primeng/sass/theme/designer/components/menu/_megamenu.scss +106 -106
  737. package/src/styles/primeng/sass/theme/designer/components/menu/_menu.scss +45 -45
  738. package/src/styles/primeng/sass/theme/designer/components/menu/_menubar.scss +208 -208
  739. package/src/styles/primeng/sass/theme/designer/components/menu/_panelmenu.scss +142 -142
  740. package/src/styles/primeng/sass/theme/designer/components/menu/_slidemenu.scss +59 -59
  741. package/src/styles/primeng/sass/theme/designer/components/menu/_steps.scss +56 -56
  742. package/src/styles/primeng/sass/theme/designer/components/menu/_tabmenu.scss +77 -77
  743. package/src/styles/primeng/sass/theme/designer/components/menu/_tieredmenu.scss +91 -91
  744. package/src/styles/primeng/sass/theme/designer/components/messages/_inlinemessage.scss +64 -64
  745. package/src/styles/primeng/sass/theme/designer/components/messages/_message.scss +102 -102
  746. package/src/styles/primeng/sass/theme/designer/components/messages/_toast.scss +102 -102
  747. package/src/styles/primeng/sass/theme/designer/components/misc/_avatar.scss +29 -29
  748. package/src/styles/primeng/sass/theme/designer/components/misc/_badge.scss +47 -47
  749. package/src/styles/primeng/sass/theme/designer/components/misc/_chip.scss +37 -37
  750. package/src/styles/primeng/sass/theme/designer/components/misc/_inplace.scss +17 -17
  751. package/src/styles/primeng/sass/theme/designer/components/misc/_progressbar.scss +17 -17
  752. package/src/styles/primeng/sass/theme/designer/components/misc/_scrolltop.scss +19 -19
  753. package/src/styles/primeng/sass/theme/designer/components/misc/_skeleton.scss +7 -7
  754. package/src/styles/primeng/sass/theme/designer/components/misc/_tag.scss +34 -34
  755. package/src/styles/primeng/sass/theme/designer/components/misc/_terminal.scss +11 -11
  756. package/src/styles/primeng/sass/theme/designer/components/multimedia/_galleria.scss +139 -139
  757. package/src/styles/primeng/sass/theme/designer/components/multimedia/_image.scss +44 -44
  758. package/src/styles/primeng/sass/theme/designer/components/overlay/_confirmpopup.scss +77 -77
  759. package/src/styles/primeng/sass/theme/designer/components/overlay/_dialog.scss +91 -91
  760. package/src/styles/primeng/sass/theme/designer/components/overlay/_overlaypanel.scss +79 -79
  761. package/src/styles/primeng/sass/theme/designer/components/overlay/_sidebar.scss +27 -27
  762. package/src/styles/primeng/sass/theme/designer/components/overlay/_tooltip.scss +37 -37
  763. package/src/styles/primeng/sass/theme/designer/components/panel/_accordion.scss +180 -180
  764. package/src/styles/primeng/sass/theme/designer/components/panel/_card.scss +48 -48
  765. package/src/styles/primeng/sass/theme/designer/components/panel/_divider.scss +31 -31
  766. package/src/styles/primeng/sass/theme/designer/components/panel/_fieldset.scss +50 -50
  767. package/src/styles/primeng/sass/theme/designer/components/panel/_panel.scss +59 -59
  768. package/src/styles/primeng/sass/theme/designer/components/panel/_scrollpanel.scss +5 -5
  769. package/src/styles/primeng/sass/theme/designer/components/panel/_splitter.scss +18 -18
  770. package/src/styles/primeng/sass/theme/designer/components/panel/_tabview.scss +92 -92
  771. package/src/styles/primeng/sass/theme/designer/components/panel/_toolbar.scss +11 -11
  772. package/src/styles/primeng/sass/theme/extensions/_accordion.scss +73 -73
  773. package/src/styles/primeng/sass/theme/extensions/_autocomplete.scss +67 -67
  774. package/src/styles/primeng/sass/theme/extensions/_breadcrumb.scss +9 -9
  775. package/src/styles/primeng/sass/theme/extensions/_button.scss +243 -243
  776. package/src/styles/primeng/sass/theme/extensions/_calendar.scss +154 -154
  777. package/src/styles/primeng/sass/theme/extensions/_carousel.scss +13 -13
  778. package/src/styles/primeng/sass/theme/extensions/_cascadeselect.scss +73 -73
  779. package/src/styles/primeng/sass/theme/extensions/_checkbox.scss +85 -85
  780. package/src/styles/primeng/sass/theme/extensions/_chips.scss +55 -55
  781. package/src/styles/primeng/sass/theme/extensions/_datatable.scss +40 -40
  782. package/src/styles/primeng/sass/theme/extensions/_dropdown.scss +50 -50
  783. package/src/styles/primeng/sass/theme/extensions/_fieldset.scss +15 -15
  784. package/src/styles/primeng/sass/theme/extensions/_float_label.scss +51 -51
  785. package/src/styles/primeng/sass/theme/extensions/_fullcalendar.scss +84 -84
  786. package/src/styles/primeng/sass/theme/extensions/_galleria.scss +26 -26
  787. package/src/styles/primeng/sass/theme/extensions/_input.scss +17 -17
  788. package/src/styles/primeng/sass/theme/extensions/_inputgroup.scss +128 -128
  789. package/src/styles/primeng/sass/theme/extensions/_inputmask.scss +14 -14
  790. package/src/styles/primeng/sass/theme/extensions/_inputnumber.scss +14 -14
  791. package/src/styles/primeng/sass/theme/extensions/_inputswitch.scss +32 -32
  792. package/src/styles/primeng/sass/theme/extensions/_listbox.scss +17 -17
  793. package/src/styles/primeng/sass/theme/extensions/_megamenu.scss +9 -9
  794. package/src/styles/primeng/sass/theme/extensions/_menu.scss +9 -9
  795. package/src/styles/primeng/sass/theme/extensions/_menubar.scss +9 -9
  796. package/src/styles/primeng/sass/theme/extensions/_mixins.scss +110 -110
  797. package/src/styles/primeng/sass/theme/extensions/_multiselect.scss +104 -104
  798. package/src/styles/primeng/sass/theme/extensions/_orderlist.scss +13 -13
  799. package/src/styles/primeng/sass/theme/extensions/_overlaypanel.scss +24 -24
  800. package/src/styles/primeng/sass/theme/extensions/_paginator.scss +22 -22
  801. package/src/styles/primeng/sass/theme/extensions/_panel.scss +38 -38
  802. package/src/styles/primeng/sass/theme/extensions/_panelmenu.scss +49 -49
  803. package/src/styles/primeng/sass/theme/extensions/_picklist.scss +13 -13
  804. package/src/styles/primeng/sass/theme/extensions/_progressbar.scss +6 -6
  805. package/src/styles/primeng/sass/theme/extensions/_radiobutton.scss +49 -49
  806. package/src/styles/primeng/sass/theme/extensions/_rating.scss +35 -35
  807. package/src/styles/primeng/sass/theme/extensions/_selectbutton.scss +12 -12
  808. package/src/styles/primeng/sass/theme/extensions/_slidemenu.scss +7 -7
  809. package/src/styles/primeng/sass/theme/extensions/_slider.scss +15 -15
  810. package/src/styles/primeng/sass/theme/extensions/_steps.scss +67 -67
  811. package/src/styles/primeng/sass/theme/extensions/_tabmenu.scss +38 -38
  812. package/src/styles/primeng/sass/theme/extensions/_tabview.scss +31 -31
  813. package/src/styles/primeng/sass/theme/extensions/_tieredmenu.scss +7 -7
  814. package/src/styles/primeng/sass/theme/extensions/_timeline.scss +8 -8
  815. package/src/styles/primeng/sass/theme/extensions/_togglebutton.scss +10 -10
  816. package/src/styles/primeng/sass/theme/extensions/_toolbar.scss +2 -2
  817. package/src/styles/primeng/sass/theme/extensions/_tooltip.scss +9 -9
  818. package/src/styles/primeng/sass/theme/extensions/_tree.scss +15 -15
  819. package/src/styles/primeng/sass/theme/extensions/_treeselect.scss +84 -84
  820. package/src/styles/primeng/sass/theme/extensions/_treetable.scss +18 -18
  821. package/src/styles/primeng/sass/theme/extensions/_vendor_extensions.scss +50 -50
  822. package/src/styles/primeng/sass/variables/layout/_layout_common.scss +9 -9
  823. package/src/styles/primeng/sass/variables/layout/_layout_dark.scss +38 -38
  824. package/src/styles/primeng/sass/variables/layout/_layout_light.scss +38 -38
  825. package/src/styles/primeng/sass/variables/theme/_theme_dark.scss +871 -871
  826. package/src/styles/primeng/sass/variables/theme/_theme_light.scss +878 -878
  827. package/src/styles/primeng/theme/theme-dark.scss +8 -8
  828. package/src/styles/primeng/theme/theme-light.scss +11 -11
  829. package/src/styles/sass/_mixins.scss +2 -2
  830. package/src/styles/sass/_variables.scss +20 -20
  831. package/src/styles/sass/mixins/_breakpoints.scss +16 -16
  832. package/src/styles/sass/mixins/_colors.scss +34 -34
  833. package/src/styles/sass/pages/_general.scss +57 -57
  834. package/src/styles/sass/pages/_listado.scss +98 -98
  835. package/src/styles-dark.scss +32 -32
  836. package/src/styles.scss +32 -32
  837. package/src/test.ts +14 -14
  838. package/tsconfig.app.json +15 -15
  839. package/tsconfig.json +35 -35
  840. package/tsconfig.spec.json +18 -18
@@ -1,2114 +1,2114 @@
1
- <p-tabView (onChange)="cambiarTab($event)">
2
- <p-tabPanel header="{{'excel' | translate }}" [selected]="true">
3
- <div class="card col-md-12">
4
- <div class="Detallereporte mt-2">
5
- <p class="font-semibold">{{'debe' | translate}} {{'indicar' | translate}} {{'plantilla' | translate}} {{'y' | translate}}
6
- {{'hoja' | translate}} {{'para' | translate}} {{'que' | translate}} {{'esta' | translate}}
7
- {{'opcion' | translate}} {{'se' | translate}} {{'active' | translate}}
8
- </p>
9
- <div class="p-fluid p-formgrid grid">
10
- <div class="field col-12 md:col-4">
11
- <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
12
- [label]="reporteFuente.archivoTodo ? reporteFuente.archivoTodo: ''"
13
- [extensiones]="'xls;xlsx'" [mostraroblicargo]="true" [labelrar]="'plantilla' | translate"
14
- (onSelected)="obtenerArchivo($event)"></app-input-helper-seleccion-plantilla>
15
-
16
- </div>
17
-
18
- <div class="field col-12 md:col-4">
19
- <p-floatLabel>
20
- <input pInputText type="text" [(ngModel)]="reporteFuente.hojaExcel" size="25" maxlength="20">
21
- <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |
22
- translate }}</label>
23
- </p-floatLabel>
24
- </div>
25
-
26
- <div class="field col-12 md:col-4">
27
- <p-floatLabel>
28
- <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true"
29
- [(ngModel)]="reporteFuente.cifradoExcel" optionLabel="nombre"
30
- optionValue="llaveTabla"></p-dropdown>
31
- <label>{{'tipocifrado' | translate }}</label>
32
- </p-floatLabel>
33
- </div>
34
- </div>
35
-
36
- <!--BOTONES-->
37
- <div class="flex justify-content-end mb-3">
38
- <button pButton pRipple class="ml-2 p-button p-button-raised"
39
- icon="glyphicons glyphicons-refresh" label="{{'link_actualizar' | translate}}"
40
- (click)="actualizar()">
41
- </button>
42
- </div>
43
- </div>
44
- </div>
45
-
46
- <p-pickList [source]="listaExcel" [target]="listaNoExcel" sourceHeader="Asociado" sourceFilterPlaceholder="Asociado"
47
- targetHeader="Desasociado" [dragdrop]="true" [responsive]="true" targetFilterPlaceholder="Desasociado"
48
- filterBy="sintaxis" (onSourceReorder)="moverAAsociado($event)"
49
- (onMoveAllToTarget)="moverADesasociado($event)" (onMoveAllToSource)="moverAAsociado($event)"
50
- (onMoveToTarget)="moverADesasociado($event)" (onMoveToSource)="moverAAsociado($event)">
51
- <ng-template let-excel pTemplate="item">
52
- <div>
53
- <label>{{excel.nombre}}</label>
54
- </div>
55
- </ng-template>
56
- </p-pickList>
57
-
58
- <div class="mt-4">
59
- <div class="flex justify-content-between align-items-center mt-2 mb-2">
60
- <h1 class="text-xl">{{'marcadores' | translate}}</h1>
61
- <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
62
- (click)="nuevoMarcadorExcel()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoMarcadorExcel">
63
- </button>
64
- <div class="flex justify-content-end mb-1" *ngIf="verNuevoMarcadorExcel">
65
- <button pButton pRipple (click)="verNuevoMarcadorExcel = false" label= "{{'listado' | translate}} {{'marcadores' | translate}}"
66
- icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
67
- </div>
68
- </div>
69
- <p-table [value]="listaMarcadorExcel" responsiveLayout="scroll" [scrollable]="true"
70
- dataKey="llaveTabla" selectionMode="single" [selection]="reporteMarcadorExcel" [rows]="10"
71
- [totalRecords]="listaMarcadorExcel.length" [paginator]="listaMarcadorExcel.length > 10"
72
- (onRowSelect)="verDetalleMarcadorExcel($event)" (onRowUnselect)="verDetalleMarcadorExcel($event)" *ngIf="!verNuevoMarcadorExcel">
73
- <ng-template pTemplate="header">
74
-
75
- <tr class="fondoTablaPincipal">
76
- <th>{{'descripcion' | translate }}</th>
77
- </tr>
78
- </ng-template>
79
- <ng-template pTemplate="body" let-marcador>
80
- <tr [pSelectableRow]="marcador">
81
- <td>{{marcador.descripcion}}</td>
82
- </tr>
83
- </ng-template>
84
- <ng-template pTemplate="emptymessage">
85
- <tr>
86
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
87
- </tr>
88
- </ng-template>
89
- </p-table>
90
-
91
- <div class="card mt-3" *ngIf="verNuevoMarcadorExcel">
92
- <h5 class="mt-3"><i class="glyphicons glyphicons-book"></i>{{'detalle' | translate}}</h5>
93
- <div class="Detallereporte mt-4 ">
94
- <form [formGroup]="formMarcadorExcel" >
95
- <div class="col-md-12 p-fluid p-formgrid grid">
96
-
97
- <div class="field col-12 md:col-4">
98
- <p-floatLabel>
99
- <input pInputText type="text" formControlName="descripcion" size="25" maxlength="4000">
100
- <label>{{'descripcion' | translate }} *</label>
101
- </p-floatLabel>
102
- </div>
103
-
104
- <div class="field col-12 md:col-4">
105
- <p-floatLabel>
106
- <input pInputText type="text" formControlName="marcador" size="25" maxlength="4000">
107
- <label>{{'marcador' | translate }} *</label>
108
- </p-floatLabel>
109
- </div>
110
-
111
- <div class="field col-12 md:col-4">
112
- <p-floatLabel>
113
- <p-dropdown
114
- [options]="[{label: 'Imagen Fija', value: 'IF'}, {label: 'Marcador', value: 'MA'}]"
115
- [autoDisplayFirst]="false" formControlName="tipo" optionLabel="label"
116
- optionValue="value"></p-dropdown>
117
- <label>{{'tipo' | translate }} *</label>
118
- </p-floatLabel>
119
- </div>
120
-
121
- <div class="field col-12 md:col-12" [hidden]="esImagenFija">
122
- <p-floatLabel>
123
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="textoRegistro"></textarea>
124
- <label>{{'valor' | translate }} *</label>
125
- </p-floatLabel>
126
- </div>
127
-
128
- <div class="field col-12 md:col-4" [hidden]="esMarcador">
129
- <p-floatLabel>
130
- <p-dropdown
131
- [options]="[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]"
132
- [autoDisplayFirst]="false" formControlName="origen" optionLabel="label"
133
- optionValue="value"></p-dropdown>
134
- <label>{{'origen' | translate }} *</label>
135
- </p-floatLabel>
136
- </div>
137
-
138
- <div class="field col-12 md:col-4" [hidden]="esMarcador">
139
- <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
140
- formControlName="textoRegistro"
141
- [label]="reporteMarcadorExcel.textoRegistro ? reporteMarcadorExcel.textoRegistro: ''"
142
- [extensiones]="'jpg;png'" (onSelected)="obtenerArchivoMarcadorExcel($event)"
143
- [propiedad]="'ruta_recursos'" [labelrar]="('recursos' | translate)" [labelarch]="'recurso' | translate" [mostrarX]="true"
144
- [mostraroblicargo]="!(!utilsService.validarCampoObligatorio(reporteMarcadorExcel.textoRegistro) && clickGuardarMarcadorExcel)"
145
- [anexoPropiedad]="reporteMarcadorExcel.origen =='C' ? llaveEmpresa: ''"
146
- [propiedadDeSistema]="true"></app-input-helper-seleccion-plantilla>
147
- </div>
148
- </div>
149
- </form>
150
- <!--BOTONES-->
151
- <div class="flex justify-content-end mb-3" *ngIf="verNuevoMarcadorExcel">
152
- <button pButton pRipple class="ml-2 p-button-raised" icon="glyphicons {{reporteMarcadorExcel.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
153
- label="{{reporteMarcadorExcel.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarMarcadorExcel()">
154
- </button>
155
- <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
156
- *ngIf="reporteMarcadorExcel.llave != null" label="{{'link_eliminar' | translate}}"
157
- (click)="eliminarMarcadorExcel($event)">
158
- </button>
159
- </div>
160
- </div>
161
- </div>
162
- </div>
163
- </p-tabPanel>
164
- <p-tabPanel header="{{'plantilla' | translate }}">
165
- <div class="card col-md-12">
166
- <div class="Detallereporte mt-2">
167
- <div class="p-fluid p-formgrid grid">
168
-
169
- <div class="field col-12 md:col-4">
170
- <p-floatLabel>
171
- <p-dropdown [options]="listaSiNo" [(ngModel)]="reporteFuente.unicoArchivo" [autoDisplayFirst]="false" [showClear]="true"
172
- optionLabel="nombre" optionValue="codigo"></p-dropdown>
173
- <label>{{'soporte' | translate }} {{'unico' | translate }}</label>
174
- </p-floatLabel>
175
- </div>
176
-
177
- <div class="field col-12 md:col-4">
178
- <p-floatLabel>
179
- <p-dropdown [options]="listaSiNo" [(ngModel)]="reporteFuente.descargarFuente" [autoDisplayFirst]="false" [showClear]="true"
180
- optionLabel="nombre" optionValue="codigo"></p-dropdown>
181
- <label>{{'descargardoc' | translate }}</label>
182
- </p-floatLabel>
183
- </div>
184
-
185
- <div class="field col-12 md:col-4">
186
- <p-floatLabel>
187
- <p-dropdown [options]="listaSiNo" [(ngModel)]="reporteFuente.generarPin" [autoDisplayFirst]="false" [showClear]="true"
188
- optionLabel="nombre" optionValue="codigo"></p-dropdown>
189
- <label>{{'generarpin' | translate }}</label>
190
- </p-floatLabel>
191
- </div>
192
-
193
- <div class="field col-12 md:col-4">
194
- <p-floatLabel>
195
- <p-dropdown [options]="listaColumnas" [(ngModel)]="reporteFuente.campoAgrupacionPlanilla"
196
- [autoDisplayFirst]="false" [showClear]="true" optionLabel="nombre" optionValue="llaveTabla"></p-dropdown>
197
- <label>{{'agruparpor' | translate }}</label>
198
- </p-floatLabel>
199
- </div>
200
-
201
- <div class="field col-12 md:col-4">
202
- <p-floatLabel>
203
- <input pInputText type="text" [(ngModel)]="reporteFuente.nombreAgrupacionPlanilla" size="25"
204
- maxlength="100">
205
- <label>{{'nombrearchivoagrupacion' | translate }}</label>
206
- </p-floatLabel>
207
- </div>
208
-
209
- <div class="field col-12 md:col-4">
210
- <p-floatLabel>
211
- <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true"
212
- [(ngModel)]="reporteFuente.cifradoPlanilla" optionLabel="nombre"
213
- optionValue="llaveTabla"></p-dropdown>
214
- <label>{{'tipocifrado' | translate }}</label>
215
- </p-floatLabel>
216
- </div>
217
-
218
- <div class="field col-12 md:col-4" [hidden]="reporteFuente.unicoArchivo == 'N'">
219
- <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
220
- [label]="reporteFuente.archivoIndividual ? reporteFuente.archivoIndividual: ''"
221
- [labelrar]="'archivo' | translate" [labelarch]="'archivo' | translate" [mostraroblicargo]="true"
222
- (onSelected)="obtenerArchivoPlanilla($event)"></app-input-helper-seleccion-plantilla>
223
- </div>
224
-
225
- </div>
226
- <!--BOTONES-->
227
- <div class="flex justify-content-end mb-3">
228
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
229
- label="{{'link_actualizar' | translate}}" (click)="actualizar()">
230
- </button>
231
- </div>
232
- </div>
233
- </div>
234
-
235
- <p-tabView >
236
- <p-tabPanel header="{{'marcadores' | translate }}" [selected]="true">
237
-
238
- <div class="flex justify-content-end align-items-center mb-3">
239
- <button pButton pRipple class="p-button-secondary font-semibold mb-2" icon="pi pi-plus"
240
- (click)="nuevoMarcador()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoMarcador">
241
- </button>
242
- <div class="flex justify-content-end mb-1" *ngIf="verNuevoMarcador">
243
- <button pButton pRipple (click)="verNuevoMarcador = false" label= "{{'listado' | translate}} {{'marcadores' | translate}}"
244
- icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
245
- </div>
246
- </div>
247
- <p-table [value]="listaMarcadores" [scrollable]="true" responsiveLayout="scroll"
248
- dataKey="llaveTabla" selectionMode="single" [selection]="reporteMarcador"
249
- [rows]="10" [totalRecords]="listaMarcadores.length"
250
- [paginator]="listaMarcadores.length > 10" *ngIf="!verNuevoMarcador"
251
- (onRowSelect)="verDetalleMarcador($event)" (onRowUnselect)="verDetalleMarcador($event)">
252
- <ng-template pTemplate="header">
253
-
254
- <tr class="fondoTablaPincipal">
255
- <th>{{'descripcion' | translate }}</th>
256
- <th>{{'tipo' | translate }}</th>
257
- <th>{{'columna' | translate }}</th>
258
- <th>{{'marcador' | translate }}</th>
259
- </tr>
260
- <th>
261
- </ng-template>
262
- <ng-template pTemplate="body" let-marcador>
263
- <tr [pSelectableRow]="marcador">
264
- <td>{{marcador.descripcion}}</td>
265
- <td>{{marcador.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>
266
- <td>{{marcador.tipo == 'IF' ? marcador.textoRegistro : marcador.nombreColumna}}</td>
267
- <td>{{marcador.marcador}}</td>
268
- </tr>
269
- </ng-template>
270
- <ng-template pTemplate="emptymessage">
271
- <tr>
272
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
273
- </tr>
274
- </ng-template>
275
- </p-table>
276
-
277
- <div class="card col-md-12" *ngIf="verNuevoMarcador">
278
- <div class="Detallereporte mt-2">
279
- <form [formGroup]="formMarcador">
280
- <p class="font-semibold">{{'indique' | translate}} {{'en' | translate}} {{'que' | translate}} {{'columna' | translate}} {{'desea' | translate}} {{'que' | translate}} {{'aparezca' | translate}} {{'la' | translate}} {{'informacion' | translate}}. {{'la' | translate}} {{'primera' | translate}} {{'columna' | translate}} {{'es' | translate}} {{'la' | translate}} 1.</p>
281
- <div class="p-fluid p-formgrid grid" >
282
- <div class="field col-12 md:col-4">
283
- <p-floatLabel>
284
- <input pInputText type="text" formControlName="descripcion" size="25"
285
- maxlength="4000">
286
- <label>{{'descripcion' | translate }} *</label>
287
- </p-floatLabel>
288
- </div>
289
-
290
- <div class="field col-12 md:col-4">
291
- <p-floatLabel>
292
- <p-dropdown [options]="listaTipoMarcador" [autoDisplayFirst]="false"
293
- formControlName="tipo" optionLabel="nombre"
294
- optionValue="codigo"></p-dropdown>
295
- <label>{{'tipo' | translate }} *</label>
296
- </p-floatLabel>
297
- </div>
298
-
299
- <div class="field col-12 md:col-4"
300
- [hidden]="!(['MA','IM','MR','IF','QR','BC','G1'].includes(reporteMarcador.tipo))">
301
- <p-floatLabel>
302
- <input pInputText type="text" formControlName="marcador" size="25">
303
- <label>{{'marcador' | translate }}</label>
304
- </p-floatLabel>
305
- </div>
306
-
307
- <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'TB'">
308
- <p-floatLabel>
309
- <input pInputText type="text" formControlName="tabla" size="25">
310
- <label>{{'tabla' | translate }}</label>
311
- </p-floatLabel>
312
- </div>
313
-
314
- <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'IF'">
315
- <p-floatLabel>
316
- <p-dropdown
317
- [options]="[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]"
318
- [autoDisplayFirst]="false" [showClear]="true" formControlName="origen" optionLabel="label"
319
- optionValue="value"></p-dropdown>
320
- <label>{{'origen' | translate }}</label>
321
- </p-floatLabel>
322
- </div>
323
-
324
- <div class="field col-12 md:col-4"
325
- [hidden]="reporteMarcador.tipo != 'IF' || !reporteMarcador.origen">
326
- <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
327
- formControlName="textoRegistro"
328
- [label]="reporteMarcador.textoRegistro ? reporteMarcador.textoRegistro: ''"
329
- [extensiones]="'jpg;png'" (onSelected)="obtenerArchivoMarcador($event)"
330
- [propiedad]="'ruta_recursos'" [labelrar]="'recursos' | translate"
331
- [anexoPropiedad]="reporteMarcador.origen =='C' ? llaveEmpresa: ''"
332
- [propiedadDeSistema]="true"></app-input-helper-seleccion-plantilla>
333
- </div>
334
-
335
- <div class="field col-12 md:col-4"
336
- [hidden]="!['MA','IM','QR','BC','G1'].includes(reporteMarcador.tipo)">
337
- <p-floatLabel>
338
- <p-dropdown [options]="listaColumnas" formControlName="reporteColumna" [showClear]="true" [autoDisplayFirst]="false"
339
- optionLabel="nombre" optionValue="llaveTabla"></p-dropdown>
340
- <label>{{'columna' | translate }}</label>
341
- </p-floatLabel>
342
- </div>
343
-
344
- <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MA'">
345
- <p-floatLabel>
346
- <input pInputText type="text" formControlName="formato" size="25">
347
- <label>{{'formato' | translate }}</label>
348
- </p-floatLabel>
349
- </div>
350
-
351
- <div class="field col-12 md:col-4"
352
- [hidden]="!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)">
353
- <p-floatLabel>
354
- <p-inputNumber formControlName="ancho" [maxlength]="5"> </p-inputNumber>
355
- <label>{{'ancho' | translate }}</label>
356
- </p-floatLabel>
357
- </div>
358
-
359
- <div class="field col-12 md:col-4"
360
- [hidden]="!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)">
361
- <p-floatLabel>
362
- <p-inputNumber formControlName="alto" [maxlength]="5"> </p-inputNumber>
363
- <label>{{'alto' | translate }}</label>
364
- </p-floatLabel>
365
- </div>
366
-
367
- <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MR'">
368
- <p-floatLabel>
369
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="grupo1"></textarea>
370
- <label>{{'grupo1' | translate }}</label>
371
- </p-floatLabel>
372
- </div>
373
-
374
- <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MR'">
375
- <p-floatLabel>
376
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="grupo2"></textarea>
377
- <label>{{'grupo2' | translate }}</label>
378
- </p-floatLabel>
379
- </div>
380
-
381
- <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MR'">
382
- <p-floatLabel>
383
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="grupo3"></textarea>
384
- <label>{{'grupo3' | translate }}</label>
385
- </p-floatLabel>
386
- </div>
387
-
388
- <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MR'">
389
- <p-floatLabel>
390
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="finalGrupo"></textarea>
391
- <label>{{'finalgrupo' | translate }}</label>
392
- </p-floatLabel>
393
- </div>
394
-
395
- <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MR'">
396
- <p-floatLabel>
397
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="textoRegistro"></textarea>
398
- <label>{{'texto' | translate }}</label>
399
- </p-floatLabel>
400
- </div>
401
-
402
- <div class="field col-12 md:col-4"
403
- [hidden]="!['MR','TB'].includes(reporteMarcador.tipo)">
404
- <p-floatLabel>
405
- <p-dropdown [options]="listaSiNo" formControlName="tieneSql" [showClear]="true" [autoDisplayFirst]="false"
406
- optionLabel="nombre" optionValue="codigo"></p-dropdown>
407
- <label>{{'sql' | translate }}</label>
408
- </p-floatLabel>
409
- </div>
410
-
411
- <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'TB'">
412
- <p-floatLabel>
413
- <p-dropdown [options]="listaTipoGrafico_JFC" [autoDisplayFirst]="false" [showClear]="true"
414
- formControlName="tipoGrafico" optionLabel="nombre"
415
- optionValue="codigo"></p-dropdown>
416
- <label>{{'grafica' | translate }}</label>
417
- </p-floatLabel>
418
- </div>
419
-
420
- <div class="field col-12 md:col-12"
421
- [hidden]="!(['MR','TB'].includes(reporteMarcador.tipo) && (['S'].includes(reporteMarcador.tieneSql)))">
422
- <p-floatLabel>
423
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="query"></textarea>
424
- <label>{{'consulta' | translate }}</label>
425
- </p-floatLabel>
426
- </div>
427
-
428
- <div class="field col-12 md:col-4"
429
- [hidden]="!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))">
430
- <p-floatLabel>
431
- <p-dropdown [options]="listaFuentes" [autoDisplayFirst]="false" [showClear]="true"
432
- formControlName="fuente" optionLabel="descripcion"
433
- optionValue="llave"></p-dropdown>
434
- <label>{{'fuente' | translate }}</label>
435
- </p-floatLabel>
436
- </div>
437
-
438
- <div class="field col-12 md:col-4" [hidden]="!reporteMarcador.tipoGrafico">
439
- <p-floatLabel>
440
- <input pInputText type="text" formControlName="marcadorGrafico" size="25">
441
- <label>{{'marcadorgrafica' | translate }}</label>
442
- </p-floatLabel>
443
- </div>
444
-
445
- <div class="field col-12 md:col-4"
446
- [hidden]="!['A'].includes(reporteMarcador.tipoGrafico)">
447
- <p-floatLabel>
448
- <input pInputText type="text" formControlName="titulox" size="25">
449
- <label>{{'titulo' | translate }} X</label>
450
- </p-floatLabel>
451
- </div>
452
-
453
- <div class="field col-12 md:col-4"
454
- [hidden]="!['A'].includes(reporteMarcador.tipoGrafico)">
455
- <p-floatLabel>
456
- <input pInputText type="text" formControlName="tituloy" size="25">
457
- <label>{{'titulo' | translate }} Y</label>
458
- </p-floatLabel>
459
- </div>
460
-
461
- <div class="field col-12 md:col-4" [hidden]="!reporteMarcador.tipoGrafico">
462
- <p-floatLabel>
463
- <input pInputText type="text" formControlName="banda" size="25">
464
- <label>{{'colordinamico' | translate }}</label>
465
- </p-floatLabel>
466
- </div>
467
-
468
- <div class="field col-12 md:col-4" [hidden]="!reporteMarcador.tipoGrafico">
469
- <p-floatLabel>
470
- <input pInputText type="text" formControlName="anchoJasperLabel" size="25">
471
- <label>{{'numerocategorias' | translate }}</label>
472
- </p-floatLabel>
473
- </div>
474
-
475
- <div class="field col-12 md:col-12"
476
- [hidden]="!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))">
477
- <p-floatLabel>
478
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="filtro"></textarea>
479
- <label>{{'filtro' | translate }}</label>
480
- </p-floatLabel>
481
- </div>
482
- </div>
483
- </form>
484
-
485
- <!--BOTONES-->
486
- <div class="flex justify-content-end mb-3">
487
- <button pButton pRipple class="ml-2 p-button p-button-raised"
488
- icon="glyphicons {{reporteMarcador.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save' }}" label="{{reporteMarcador.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}"
489
- (click)="guardarMarcador()">
490
- </button>
491
- <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
492
- *ngIf="reporteMarcador.llave != null" label="{{'link_eliminar' | translate}}"
493
- (click)="eliminarMarcador($event)">
494
- </button>
495
- </div>
496
- </div>
497
- </div>
498
- <div *ngIf="verNuevoMarcador && reporteMarcador.llave != null && (reporteMarcador.tipo == 'MR' || reporteMarcador.tipo == 'TB')">
499
- <div class="flex justify-content-end align-items-center mb-3">
500
- <button pButton label="{{'link_nuevo' | translate}}" (click)="nuevoCampoTabla()" icon="pi pi-plus"
501
- class="p-ripple p-element p-button p-component p-button-secondary mb-2"></button>
502
- </div>
503
- <p-table [value]="listaCamposMarcador" responsiveLayout="scroll" styleClass="p-datatable-striped"
504
- [rows]="10" [totalRecords]="listaCamposMarcador.length" [scrollable]="true"
505
- [paginator]="listaCamposMarcador.length > 10"
506
- [showCurrentPageReport]="true" currentPageReportTemplate="{first} al {last} de {totalRecords} registros"
507
- editMode="row" dataKey="llave">
508
- <ng-template pTemplate="header">
509
- <tr class="fondoTablaPincipal">
510
- <th style="width: 10%;">{{'columna' | translate }}</th>
511
- <th style="width: 10%;">{{'campo' | translate }}</th>
512
- <th style="width: 10%;">{{'formato' | translate }}</th>
513
- <th style="width: 10%;" *ngIf="reporteMarcador.tipo == 'TB'">{{'tipo' | translate }}</th>
514
- <th style="width: 10%;"*ngIf="reporteMarcador.tipo == 'TB'">{{'medidas' | translate }}</th>
515
- <th style="width: 10%;"> </th>
516
- </tr>
517
- <tr class="TablaNuevoRegistro" *ngIf="verReporteMarcadorDetalle">
518
- <td style="width: 10%;">
519
- <input pInputText [(ngModel)]="campoMarcadorInsertar.columna"
520
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo"
521
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo" />
522
- </td>
523
- <td style="width: 10%;">
524
- <input pInputText type="text" [(ngModel)]="campoMarcadorInsertar.campoFuente"
525
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo"
526
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo">
527
- </td>
528
- <td style="width: 10%;">
529
- <input pInputText type="text" [(ngModel)]="campoMarcadorInsertar.formato">
530
- </td>
531
- <td style="width: 10%;" *ngIf="reporteMarcador.tipo == 'TB'">
532
- <p-dropdown [options]="listaGrafico" optionLabel="nombre" optionValue="codigo"
533
- [(ngModel)]="campoMarcadorInsertar.tipo" appendTo="body" [autoZIndex]="false"
534
- [autoDisplayFirst]="false" [showClear]="true"></p-dropdown>
535
- </td>
536
- <td style="width: 10%;" *ngIf="reporteMarcador.tipo == 'TB'">
537
- <div *ngIf="campoMarcadorInsertar.tipo =='I'">
538
- <p-floatLabel>
539
- <input pInputText type="text" [(ngModel)]="campoMarcadorInsertar.ancho">
540
- <label>{{'ancho' | translate}}</label>
541
- </p-floatLabel>
542
- <p-floatLabel>
543
- <input pInputText type="text" [(ngModel)]="campoMarcadorInsertar.alto">
544
- <label>{{'alto' | translate}}</label>
545
- </p-floatLabel>
546
- </div>
547
- </td>
548
- <td style="width: 10%;" >
549
- <div class="flex justify-content-end">
550
- <button pButton pRipple type="button" icon="pi pi-check" (click)="agregarCampoMarcador(campoMarcadorInsertar)"
551
- class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
552
- <button pButton pRipple type="button" (click)="verReporteMarcadorDetalle = false" icon="pi pi-times"
553
- class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
554
- </div>
555
- </td>
556
- </tr>
557
- </ng-template>
558
- <ng-template pTemplate="body" let-campo let-editing="editing" let-ri="rowIndex">
559
- <tr [pEditableRow]="campo">
560
- <td style="width: 10%;">
561
- <p-cellEditor>
562
- <ng-template pTemplate="input">
563
- <input pInputText type="text" [(ngModel)]="campo.columna" oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
564
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo"
565
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo" />
566
- </ng-template>
567
- <ng-template pTemplate="output">
568
- {{campo.columna}}
569
- </ng-template>
570
- </p-cellEditor>
571
- </td>
572
- <td style="width: 10%;">
573
- <p-cellEditor>
574
- <ng-template pTemplate="input">
575
- <input pInputText type="text" [(ngModel)]="campo.campoFuente"
576
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo"
577
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo">
578
- </ng-template>
579
- <ng-template pTemplate="output">
580
- {{campo.campoFuente}}
581
- </ng-template>
582
- </p-cellEditor>
583
- </td>
584
-
585
- <td style="width: 10%;">
586
- <p-cellEditor>
587
- <ng-template pTemplate="input">
588
- <input pInputText type="text" [(ngModel)]="campo.formato">
589
- </ng-template>
590
- <ng-template pTemplate="output">
591
- {{campo.formato}}
592
- </ng-template>
593
- </p-cellEditor>
594
- </td>
595
-
596
- <td style="width: 10%;" *ngIf="reporteMarcador.tipo == 'TB'">
597
- <p-cellEditor>
598
- <ng-template pTemplate="input">
599
- <p-dropdown [options]="listaGrafico" optionLabel="nombre" optionValue="codigo"
600
- [(ngModel)]="campo.tipo" appendTo="body" [autoZIndex]="false"
601
- [autoDisplayFirst]="false" [showClear]="true"></p-dropdown>
602
- </ng-template>
603
- <ng-template pTemplate="output">
604
- {{campo.tipo | reporteFuentePipe :'listaRecursoGrafica'}}
605
- </ng-template>
606
- </p-cellEditor>
607
- </td>
608
-
609
- <td style="width: 10%;" *ngIf="reporteMarcador.tipo == 'TB'">
610
- <p-cellEditor>
611
- <ng-template pTemplate="input">
612
- <div *ngIf="campo.tipo =='I'">
613
- <p-floatLabel>
614
- <input pInputText type="text" [(ngModel)]="campo.ancho">
615
- <label>{{'ancho' | translate}}</label>
616
- </p-floatLabel>
617
- <p-floatLabel>
618
- <input pInputText type="text" [(ngModel)]="campo.alto">
619
- <label>{{'alto' | translate}}</label>
620
- </p-floatLabel>
621
- </div>
622
- </ng-template>
623
- <ng-template pTemplate="output">
624
- <div *ngIf="campo.tipo =='I'">
625
- {{'ancho' | translate}}: {{campo.ancho}} <br/>
626
- {{'alto' | translate}}: {{campo.alto}}
627
- </div>
628
- </ng-template>
629
- </p-cellEditor>
630
- </td>
631
- <td style="width: 10%;">
632
- <div class="flex justify-content-end">
633
- <!-- CHECK GUARDAR -->
634
- <button *ngIf="editing" pButton pRipple type="button" pSaveEditableRow
635
- icon="pi pi-check" (click)="agregarCampoMarcador(campo)"
636
- class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
637
- <!-- CANCELAR -->
638
- <button *ngIf="editing" pButton pRipple type="button" pCancelEditableRow
639
- icon="pi pi-times" (click)="cargarListaCampoMarcadorAsync()"
640
- class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
641
- <!-- EDITAR -->
642
- <button *ngIf="!editing" pButton pRipple type="button" pInitEditableRow
643
- icon="glyphicons glyphicons-pencil"
644
- class="p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only"></button>
645
- <!-- ELIMINAR -->
646
- <button *ngIf="!editing" pButton pRipple type="button" pDeleteEditableRow
647
- icon="pi pi-trash" (click)="eliminarCampoMarcador($event,campo)"
648
- class="p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only"></button>
649
- </div>
650
- </td>
651
-
652
- </tr>
653
- </ng-template>
654
- <ng-template pTemplate="emptymessage">
655
- <tr>
656
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
657
- </tr>
658
- </ng-template>
659
- </p-table>
660
- </div>
661
- </p-tabPanel>
662
- <p-tabPanel header="{{'soporte' | translate }} {{'archivo' | translate }}s"
663
- *ngIf="reporteFuente.unicoArchivo == 'N'">
664
- <div class="flex justify-content-end align-items-center mb-3">
665
- <button pButton label="{{'link_nuevo' | translate}}" (click)="nuevoSoporte()" icon="pi pi-plus"
666
- [disabled]="habilitaCampo" class="p-ripple p-element p-button p-component p-button-secondary mb-2"></button>
667
- </div>
668
- <p-table [value]="listaSoportes" responsiveLayout="scroll" styleClass="p-datatable-striped"
669
- [rows]="10" [totalRecords]="listaSoportes.length"
670
- [paginator]="listaSoportes.length > 10"
671
- [showCurrentPageReport]="true" currentPageReportTemplate="{first} al {last} de {totalRecords} registros"
672
- editMode="row" dataKey="llaveTabla">
673
- <ng-template pTemplate="header">
674
- <tr class="fondoTablaPincipal">
675
- <th style="width: 45%">{{'descripcion' | translate}}</th>
676
- <th style="width: 45%">{{'archivo' | translate}}</th>
677
- <th style="width: 10%"> </th>
678
- </tr>
679
- <tr class="TablaNuevoRegistro" *ngIf="verSoporteArchivoDetalle">
680
- <td style="width: 45%">
681
- <input pInputText type="text" [(ngModel)]="soporteIngresar.descripcion" style="width: -webkit-fill-available"
682
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo"
683
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo">
684
- </td>
685
- <td style="width: 45%">
686
- <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
687
- [label]="soporteIngresar.archivoIndividual ? soporteIngresar.archivoIndividual: ''" [labelarch]="'archivo' | translate"
688
- [mostrarLabelInput]="false" [mostraroblicargo]="!(!utilsService.validarCampoObligatorio(soporteIngresar.archivoIndividual) && clickGuardarSoporteArchivo)"
689
- (onSelected)="obtenerArchivoSoporte($event, soporteIngresar)"></app-input-helper-seleccion-plantilla>
690
- </td>
691
- <td style="width: 10%">
692
- <div class="flex justify-content-end">
693
- <button pButton pRipple type="button" icon="pi pi-check" (click)="agregarSoporte(soporteIngresar)"
694
- class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
695
- <button pButton pRipple type="button" (click)="verSoporteArchivoDetalle = false" icon="pi pi-times" (click)="cancelarSoporte()"
696
- class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
697
- </div>
698
- </td>
699
- </tr>
700
- </ng-template>
701
- <ng-template pTemplate="body" let-soporte let-editing="editing" let-ri="rowIndex">
702
- <tr [pEditableRow]="soporte" style="width: 100%">
703
- <td style="width: 45%">
704
- <p-cellEditor>
705
- <ng-template pTemplate="input">
706
- <input pInputText type="text" [(ngModel)]="soporte.descripcion" style="width: -webkit-fill-available"
707
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo"
708
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo">
709
- </ng-template>
710
- <ng-template pTemplate="output">
711
- {{soporte.descripcion}}
712
- </ng-template>
713
- </p-cellEditor>
714
- </td>
715
- <td style="width: 45%">
716
- <p-cellEditor>
717
- <ng-template pTemplate="input">
718
- <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
719
- [label]="soporte.archivoIndividual ? soporte.archivoIndividual: ''"
720
- [mostrarLabelInput]="false" [mostraroblicargo]="!(!utilsService.validarCampoObligatorio(soporte.archivoIndividual) && clickGuardarSoporteArchivo)"
721
- (onSelected)="obtenerArchivoSoporte($event, soporte)"></app-input-helper-seleccion-plantilla>
722
- </ng-template>
723
- <ng-template pTemplate="output">
724
- {{soporte.archivoIndividual}}
725
- </ng-template>
726
- </p-cellEditor>
727
- </td>
728
- <td style="width: 10%">
729
- <div class="flex justify-content-end">
730
- <!-- CHECK GUARDAR -->
731
- <button *ngIf="editing" pButton pRipple type="button" pSaveEditableRow
732
- icon="pi pi-check" (click)="agregarSoporte(soporte)"
733
- class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
734
- <!-- CANCELAR -->
735
- <button *ngIf="editing" pButton pRipple type="button" pCancelEditableRow
736
- icon="pi pi-times" (click)="cancelarEdicion()"
737
- class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
738
- <!-- EDITAR -->
739
- <button *ngIf="!editing" pButton pRipple type="button" pInitEditableRow
740
- icon="glyphicons glyphicons-pencil" [disabled]="habilitaCampo" (click)="iniciarEdicion()"
741
- class="p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only"></button>
742
- <!-- ELIMINAR -->
743
- <button *ngIf="!editing" pButton pRipple type="button" pDeleteEditableRow
744
- icon="pi pi-trash" (click)="eliminarSoporte($event, soporte)" [disabled]="habilitaCampo"
745
- class="p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only"></button>
746
- </div>
747
- </td>
748
- </tr>
749
- </ng-template>
750
- <ng-template pTemplate="emptymessage">
751
- <tr>
752
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
753
- </tr>
754
- </ng-template>
755
- </p-table>
756
- </p-tabPanel>
757
- </p-tabView>
758
- </p-tabPanel>
759
- <p-tabPanel header="{{'reporte' | translate }} {{'dinamico' | translate }}">
760
- <div class="card col-md-12">
761
- <div class="Detallereporte mt-2">
762
- <div class="p-fluid p-formgrid grid">
763
-
764
- <div class="field col-12 md:col-4">
765
- <p-floatLabel>
766
- <p-dropdown [options]="listaSiNo" [(ngModel)]="reporteFuente.dobleLinea" [showClear]="true" [autoDisplayFirst]="false"
767
- optionLabel="nombre" optionValue="codigo"></p-dropdown>
768
- <label>{{'doblelinea' | translate }}</label>
769
- </p-floatLabel>
770
- </div>
771
-
772
- <div class="field col-12 md:col-4">
773
- <p-floatLabel>
774
- <input pInputText type="text" [(ngModel)]="reporteFuente.tituloParametro" size="25"
775
- maxlength="100">
776
- <label>{{'descripcion' | translate }}</label>
777
- </p-floatLabel>
778
- </div>
779
-
780
- <div class="field col-12 md:col-4">
781
- <p-floatLabel>
782
- <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true"
783
- [(ngModel)]="reporteFuente.cifradoJasper" optionLabel="nombre"
784
- optionValue="llaveTabla"></p-dropdown>
785
- <label>{{'tipocifrado' | translate }}</label>
786
- </p-floatLabel>
787
- </div>
788
- </div>
789
- <!--BOTONES-->
790
- <div class="flex justify-content-end mb-3">
791
-
792
-
793
- <button pButton pRipple class="ml-2 p-button-outlined background-100" icon="glyphicons glyphicons-restart"
794
- label="{{'link_generar' | translate}}" (click)="generarJasper()">
795
- </button>
796
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
797
- label="{{'link_actualizar' | translate}}" (click)="actualizar()">
798
- </button>
799
- <button pButton pRipple class="ml-2 p-button-outlined" icon="pi pi-download" *ngIf="existeJasper"
800
- label="{{'link_descargar' | translate}}" (click)="descargarJasper()">
801
- </button>
802
-
803
- </div>
804
- </div>
805
- </div>
806
-
807
- <div class="flex justify-content-end align-items-center mt-2 mb-2">
808
- <div class="flex justify-content-end mb-1" *ngIf="bandaSeleccionada.key">
809
- <button pButton pRipple (click)="regresarBandaSeleccionada()" label= "{{'listado' | translate}} {{'bandas' | translate}}"
810
- icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
811
- </div>
812
- </div>
813
- <p-table [value]="listaTipoBanda" [scrollable]="true" responsiveLayout="scroll"
814
- dataKey="llaveTabla" selectionMode="single" [rows]="10"
815
- [totalRecords]="listaTipoBanda.length" [paginator]="listaTipoBanda.length > 10"
816
- (onRowSelect)="verBanda($event)" (onRowUnselect)="verBanda($event)" *ngIf="!bandaSeleccionada.key">
817
- <ng-template pTemplate="header">
818
-
819
- <tr class="fondoTablaPincipal">
820
- <th>{{'banda' | translate }}</th>
821
- </tr>
822
- <th>
823
- </ng-template>
824
- <ng-template pTemplate="body" let-banda>
825
- <tr [pSelectableRow]="banda">
826
- <td>{{banda.value}}</td>
827
- </tr>
828
- </ng-template>
829
- <ng-template pTemplate="emptymessage">
830
- <tr>
831
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
832
- </tr>
833
- </ng-template>
834
- </p-table>
835
-
836
- <p-tabView *ngIf="bandaSeleccionada.key && verTabBanda">
837
- <p-tabPanel header="{{'caracteristicas' | translate}}"
838
- *ngIf="!['detalle','summary'].includes(bandaSeleccionada.key)">
839
- <div class="card col-md-12">
840
- <div class="Detallereporte mt-2">
841
- <div class="p-fluid p-formgrid grid" >
842
- <div class="field col-12 md:col-6">
843
- <p-floatLabel>
844
- <p-dropdown [options]="listaSiNo" [autoDisplayFirst]="false" [showClear]="true" optionLabel="nombre" optionValue="codigo"
845
- [(ngModel)]="reporteBanda.totales" ></p-dropdown>
846
- <label>{{'total' | translate }}</label>
847
- </p-floatLabel>
848
- </div>
849
- <div class="field col-12 md:col-6">
850
- <p-floatLabel>
851
- <input pInputText type="text" [(ngModel)]="reporteBanda.titulo" maxlength="200">
852
- <label>{{'titulo' | translate }}</label>
853
- </p-floatLabel>
854
- </div>
855
- </div>
856
- <!--BOTONES-->
857
- <div class="flex justify-content-end mb-3">
858
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-floppy-save"
859
- label="{{'link_guardar' | translate}}" (click)="guardarCaracteristicaBanda()">
860
- </button>
861
- </div>
862
- </div>
863
- </div>
864
- </p-tabPanel>
865
- <p-tabPanel header="{{bandaSeleccionada.value}}" *ngIf="!nuevaBanda">
866
- <div class="flex justify-content-end align-items-center mt-2 mb-2">
867
- <div class="flex justify-content-end mb-1" >
868
- <button pButton label="{{'link_nuevo' | translate}}" (click)="nuevoMarcadorDinamico()" icon="pi pi-plus"
869
- class="p-ripple p-element p-button p-component p-button-secondary mb-2" *ngIf="!nuevoReporteMarcadorDinamico"></button>
870
- </div>
871
- </div>
872
- <p-table [value]="listaMarcadorDinamico" [scrollable]="true"
873
- responsiveLayout="scroll" dataKey="llaveTabla" selectionMode="single"
874
- [rows]="10" [totalRecords]="listaMarcadorDinamico.length"
875
- [paginator]="listaMarcadorDinamico.length > 10" *ngIf="!nuevoReporteMarcadorDinamico"
876
- (onRowSelect)="verMarcadorDinamico($event)" (onRowUnselect)="verMarcadorDinamico($event)">
877
- <ng-template pTemplate="header">
878
-
879
- <tr class="fondoTablaPincipal">
880
- <th>{{'banda' | translate }}</th>
881
- <th>{{'orden' | translate }}</th>
882
- <th>{{'columna' | translate }}</th>
883
- <th>{{'etiqueta' | translate }}</th>
884
- <th>{{'formato' | translate }}</th>
885
- <th>{{'ancho' | translate }}</th>
886
- <th>{{'operacion' | translate }}</th>
887
- </tr>
888
- <th>
889
- </ng-template>
890
- <ng-template pTemplate="body" let-dinamico>
891
- <tr [pSelectableRow]="dinamico">
892
- <td>{{dinamico.banda}}</td>
893
- <td>{{dinamico.banda ? dinamico.alto : ''}}</td>
894
- <td>{{dinamico.marcador}}</td>
895
- <td>{{dinamico.banda ? dinamico.descripcion : ''}}</td>
896
- <td>{{dinamico.banda ? dinamico.formato : ''}}</td>
897
- <td>{{['detalle'].includes(dinamico.banda) ? dinamico.ancho : ''}}</td>
898
- <td>{{dinamico.banda ? dinamico.operacion : ''}}</td>
899
- </tr>
900
- </ng-template>
901
- <ng-template pTemplate="emptymessage">
902
- <tr>
903
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
904
- </tr>
905
- </ng-template>
906
- </p-table>
907
-
908
- <div *ngIf="nuevoReporteMarcadorDinamico">
909
- <div class="card col-md-12">
910
- <div class="Detallereporte mt-2">
911
- <div class="flex justify-content-between align-items-center mb-2">
912
- <p class="font-semibold mt-3">{{'indique' | translate}} {{'en' | translate}} {{'que' | translate}} {{'columna' | translate}} {{'desea' | translate}} {{'que' | translate}} {{'aparezca' | translate}} {{'la' | translate}} {{'informacion' | translate}}. {{'la' | translate}} {{'primera' | translate}} {{'columna' | translate}} {{'es' | translate}} {{'la' | translate}} 1.</p>
913
- <button pButton pRipple (click)="nuevoReporteMarcadorDinamico = false" label= "{{'listado' | translate}} {{bandaSeleccionada.value}}"
914
- icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 " *ngIf="nuevoReporteMarcadorDinamico"></button>
915
- </div>
916
- <form [formGroup]="formReporteDinamico" class="p-fluid grid">
917
- <div class="field col-12 md:col-4">
918
- <p-floatLabel>
919
- <p-dropdown [options]="listaTipoCampoJasperDinamico"
920
- [autoDisplayFirst]="false" formControlName="tipoCampo"
921
- optionLabel="value" optionValue="key"></p-dropdown>
922
- <label>{{'tipocampo' | translate }} *</label>
923
- </p-floatLabel>
924
- </div>
925
- <div class="field col-12 md:col-4" *ngIf="reporteMarcadorDinamico.tipoCampo =='C'">
926
- <p-floatLabel>
927
- <p-dropdown [options]="listaTipoDatoSintaxis" [autoDisplayFirst]="false"
928
- formControlName="tipoDato" optionLabel="value"
929
- optionValue="key"></p-dropdown>
930
- <label>{{'tipodato' | translate }} *</label>
931
- </p-floatLabel>
932
- </div>
933
- <div class="field col-12 md:col-4">
934
- <p-floatLabel>
935
- <input pInputText formControlName="alto" maxlength="5"
936
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);" />
937
- <label>{{'orden' | translate }} *</label>
938
- </p-floatLabel>
939
- </div>
940
- <div class="field col-12 md:col-4" *ngIf="reporteMarcadorDinamico.tipoCampo !='C'">
941
- <p-floatLabel>
942
- <p-dropdown [options]="listaColumnas" [autoDisplayFirst]="false"
943
- formControlName="marcador" optionLabel="nombre" optionValue="llaveTabla"
944
- *ngIf="!reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'"></p-dropdown>
945
- <input pInputText type="text" formControlName="marcador" size="25"
946
- *ngIf="reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'">
947
- <label>{{'columna' | translate }} *</label>
948
- </p-floatLabel>
949
- </div>
950
-
951
- <div class="field col-12 md:col-12" *ngIf="reporteMarcadorDinamico.tipoCampo =='C'">
952
- <p-floatLabel>
953
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="filtro"></textarea>
954
- <label>{{'sintaxis' | translate }} *</label>
955
- </p-floatLabel>
956
- </div>
957
-
958
- <div class="field col-12 md:col-12">
959
- <p-fieldset class="fieldsintitulo" class="fieldsintitulo">
960
- <div class="p-fluid grid">
961
- <div class="field col-12 md:col-6 lg:col-6 mb-0">
962
- <label class="font-semibold text-gray-900 text-base ml-1">{{'resultado' | translate}}</label>
963
- </div>
964
- <div class="field col-12 md:col-6 lg:col-6 mb-0" *ngIf="reporteMarcadorDinamico.tipoCampo =='C'"></div>
965
- <div class="field col-12 md:col-6 lg:col-6 mb-0" *ngIf="reporteMarcadorDinamico.tipoCampo !='C'">
966
- <label class="font-semibold text-gray-900 text-base ml-1" >{{'label' | translate}}</label>
967
- </div>
968
- <div class="field col-12 md:col-6 lg:col-6">
969
- <p-floatLabel>
970
- <input pInputText type="text" formControlName="formato" />
971
- <label>{{'formato' | translate }}</label>
972
- </p-floatLabel>
973
- </div>
974
- <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C'">
975
- <p-floatLabel>
976
- <input pInputText type="text" formControlName="descripcion" />
977
- <label>{{'titulo' | translate }}</label>
978
- </p-floatLabel>
979
- </div>
980
- <div class="field col-12 md:col-6 lg:col-6">
981
- <p-floatLabel>
982
- <input pInputText type="text" formControlName="ancho"
983
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);" />
984
- <label>{{'ancho' | translate }} *</label>
985
- </p-floatLabel>
986
- </div>
987
- <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' == reporteMarcadorDinamico.banda "></div>
988
- <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda ">
989
- <p-floatLabel>
990
- <input pInputText type="text" formControlName="anchoJasperLabel"
991
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"/>
992
- <label>{{'ancho' | translate }}</label>
993
- </p-floatLabel>
994
- </div>
995
- <div class="field col-12 md:col-6 lg:col-6" *ngIf="'detalle' != reporteMarcadorDinamico.banda">
996
- <p-floatLabel>
997
- <input pInputText type="text" formControlName="resultadoX"
998
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"/>
999
- <label>{{'x' | translate }} *</label>
1000
- </p-floatLabel>
1001
- </div>
1002
- <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda ">
1003
- <p-floatLabel>
1004
- <input pInputText type="text" formControlName="titulox"
1005
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"/>
1006
- <label>{{'x' | translate }}</label>
1007
- </p-floatLabel>
1008
- </div>
1009
- <div class="field col-12 md:col-6 lg:col-6" *ngIf="'detalle' != reporteMarcadorDinamico.banda">
1010
- <p-floatLabel>
1011
- <input pInputText type="text" formControlName="resultadoY"
1012
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"/>
1013
- <label>{{'y' | translate }} *</label>
1014
- </p-floatLabel>
1015
- </div>
1016
- <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda ">
1017
- <p-floatLabel>
1018
- <input pInputText type="text" formControlName="tituloy"
1019
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"/>
1020
- <label>{{'y' | translate }}</label>
1021
- </p-floatLabel>
1022
- </div>
1023
- <div class="field col-12 md:col-6 lg:col-6">
1024
- <p-floatLabel>
1025
- <p-dropdown [options]="listaAlineacion" [autoDisplayFirst]="false"
1026
- formControlName="tipoReporte" optionLabel="nombre" optionValue="codigo" ></p-dropdown>
1027
- <label>{{'alineacion' | translate }} *</label>
1028
- </p-floatLabel>
1029
- </div>
1030
- <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C'">
1031
- <p-floatLabel>
1032
- <p-dropdown [options]="listaAlineacion" [autoDisplayFirst]="false" [showClear]="true"
1033
- formControlName="tipoGrafico" optionLabel="nombre" optionValue="codigo" ></p-dropdown>
1034
- <label>{{'alineacion' | translate }}</label>
1035
- </p-floatLabel>
1036
- </div>
1037
- <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoDato == 'N' && reporteMarcadorDinamico.tipoCampo !='C'">
1038
- <p-floatLabel>
1039
- <p-dropdown [options]="listaOperaciones" [autoDisplayFirst]="false" [showClear]="true"
1040
- formControlName="operacion" optionLabel="nombre" optionValue="codigo" ></p-dropdown>
1041
- <label>{{'operacion' | translate }}</label>
1042
- </p-floatLabel>
1043
- </div>
1044
- </div>
1045
- </p-fieldset>
1046
- </div>
1047
- </form>
1048
-
1049
- <!--BOTONES-->
1050
- <div class="flex justify-content-end mb-3" >
1051
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{reporteMarcadorDinamico.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1052
- label="{{reporteMarcadorDinamico.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarColumnaDinamico()">
1053
- </button>
1054
- <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1055
- *ngIf="reporteMarcadorDinamico.llave != null" label="{{'link_eliminar' | translate}}"
1056
- (click)="eliminarColumnaDinamico($event)">
1057
- </button>
1058
- </div>
1059
- </div>
1060
- </div>
1061
- </div>
1062
- </p-tabPanel>
1063
-
1064
- </p-tabView>
1065
- </p-tabPanel>
1066
- <p-tabPanel header="{{'reporte' | translate }} {{'texto' | translate }}">
1067
- <div class="card col-md-12">
1068
- <div class="Detallereporte mt-2">
1069
- <div class="p-fluid p-formgrid grid">
1070
-
1071
- <div class="field col-12 md:col-4">
1072
- <p-floatLabel>
1073
- <input pInputText type="text" [(ngModel)]="reporteFuente.archivoTexto" size="50"
1074
- maxlength="200">
1075
- <label>{{'nombrearchivo' | translate }}</label>
1076
- </p-floatLabel>
1077
- </div>
1078
-
1079
- <div class="field col-12 md:col-4">
1080
- <p-floatLabel>
1081
- <p-dropdown [options]="listaSeparadores" [(ngModel)]="reporteFuente.separador"
1082
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto"
1083
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto"
1084
- [autoDisplayFirst]="false" optionLabel="nombre" optionValue="codigo" ></p-dropdown>
1085
- <label>{{'separador' | translate }}*</label>
1086
- </p-floatLabel>
1087
- </div>
1088
-
1089
- <div class="field col-12 md:col-4">
1090
- <p-floatLabel>
1091
- <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true"
1092
- [(ngModel)]="reporteFuente.cifradoTexto" optionLabel="nombre"
1093
- optionValue="llaveTabla"></p-dropdown>
1094
- <label>{{'tipocifrado' | translate }}</label>
1095
- </p-floatLabel>
1096
- </div>
1097
-
1098
- </div>
1099
- <!--BOTONES-->
1100
- <div class="flex justify-content-end mb-3">
1101
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
1102
- label="{{'link_actualizar' | translate}}" (click)="actualizarSeparador()">
1103
- </button>
1104
- </div>
1105
- </div>
1106
- </div>
1107
-
1108
- <div class="flex justify-content-between lign-items-center mb-3">
1109
- <h1 class="text-xl">{{'marcadores' | translate}}</h1>
1110
- <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
1111
- (click)="nuevoMarcadorTexto()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoMarcadorTexto">
1112
- </button>
1113
- <div class="flex justify-content-end mb-1" *ngIf="verNuevoMarcadorTexto">
1114
- <button pButton pRipple (click)="verNuevoMarcadorTexto = false; clickGuardarMarcadorTexto = false;" label= "{{'listado' | translate}} {{'marcadores' | translate}}"
1115
- icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
1116
- </div>
1117
- </div>
1118
- <p-table [value]="listaMarcadoresTexto" [scrollable]="true" responsiveLayout="scroll"
1119
- dataKey="llaveTabla" selectionMode="single"
1120
- [rows]="10" [totalRecords]="listaMarcadoresTexto.length"
1121
- [paginator]="listaMarcadoresTexto.length > 10" *ngIf="!verNuevoMarcadorTexto"
1122
- (onRowSelect)="verMarcadorTexto($event)" (onRowUnselect)="verMarcadorTexto($event)">
1123
- <ng-template pTemplate="header">
1124
-
1125
- <tr class="fondoTablaPincipal">
1126
- <th>{{'tipo' | translate }}</th>
1127
- <th>{{'columna' | translate }}</th>
1128
- <th>{{'formato' | translate }}</th>
1129
- <th>{{'orden' | translate }}</th>
1130
- </tr>
1131
- <th>
1132
- </ng-template>
1133
- <ng-template pTemplate="body" let-marctexto>
1134
- <tr [pSelectableRow]="marctexto">
1135
- <td>{{marctexto.tipoGrafico | reporteFuentePipe : 'listaTipoMarcadoresTexto'}}</td>
1136
- <td>{{marctexto.nombreColumna}}</td>
1137
- <td>{{marctexto.formato}}</td>
1138
- <td>{{marctexto.alto}}</td>
1139
- </tr>
1140
- </ng-template>
1141
- <ng-template pTemplate="emptymessage">
1142
- <tr>
1143
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1144
- </tr>
1145
- </ng-template>
1146
- </p-table>
1147
- <div class="card mt-3" *ngIf="verNuevoMarcadorTexto">
1148
- <h5 class="mt-3"><i class="glyphicons glyphicons-notes"></i>{{'detalle' | translate}}</h5>
1149
- <div class="Detallereporte mt-2">
1150
- <div class="p-fluid p-formgrid grid" >
1151
- <div class="field col-12 md:col-4">
1152
- <p-floatLabel>
1153
- <p-dropdown [options]="listaTipoMarcadorTexto" [autoDisplayFirst]="false"
1154
- [(ngModel)]="marcadorTexto.tipoGrafico" optionLabel="nombre" optionValue="codigo"
1155
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto"
1156
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto"></p-dropdown>
1157
- <label>{{'tipo' | translate }} *</label>
1158
- </p-floatLabel>
1159
- </div>
1160
-
1161
- <div class="field col-12 md:col-4" *ngIf="marcadorTexto.tipoGrafico == 'D'">
1162
- <p-floatLabel>
1163
- <p-dropdown [options]="listaColumnas" [autoDisplayFirst]="false"
1164
- [(ngModel)]="marcadorTexto.reporteColumna" optionLabel="nombre" optionValue="llaveTabla"
1165
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto"
1166
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto"></p-dropdown>
1167
- <label>{{'columna' | translate }} *</label>
1168
- </p-floatLabel>
1169
- </div>
1170
-
1171
- <div class="field col-12 md:col-4" *ngIf="marcadorTexto.tipoGrafico">
1172
- <p-floatLabel>
1173
- <input pInputText type="text" [(ngModel)]="marcadorTexto.formato" maxlength="50"
1174
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto"
1175
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto">
1176
- <label>{{marcadorTexto.tipoGrafico == 'D' ? ('formato' | translate)+'*' : ('descripcion' | translate)+'*' }}</label>
1177
- </p-floatLabel>
1178
- </div>
1179
-
1180
- <div class="field col-12 md:col-4" *ngIf="marcadorTexto.tipoGrafico == 'D'">
1181
- <p-floatLabel>
1182
- <input pInputText type="text" [(ngModel)]="marcadorTexto.ancho" maxlength="22"
1183
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1184
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto"
1185
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto">
1186
- <label>{{'ancho' | translate}} *</label>
1187
- </p-floatLabel>
1188
- </div>
1189
-
1190
- <div class="field col-12 md:col-4" *ngIf="marcadorTexto.tipoGrafico">
1191
- <p-floatLabel>
1192
- <input pInputText type="text" [(ngModel)]="marcadorTexto.alto" maxlength="22"
1193
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1194
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto"
1195
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto">
1196
- <label>{{'orden' | translate}} *</label>
1197
- </p-floatLabel>
1198
- </div>
1199
- </div>
1200
- <!--BOTONES-->
1201
- <div class="flex justify-content-end mb-3" >
1202
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{marcadorTexto.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1203
- label="{{marcadorTexto.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarMarcadorTexto()">
1204
- </button>
1205
- <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1206
- *ngIf="marcadorTexto.llave != null" label="{{'link_eliminar' | translate}}"
1207
- (click)="eliminarMarcadoTexto($event)">
1208
- </button>
1209
- </div>
1210
- </div>
1211
- </div>
1212
- </p-tabPanel>
1213
- <p-tabPanel header="{{'tabla' | translate }}">
1214
- <div class="card col-md-12">
1215
- <div class="Detallereporte mt-2">
1216
- <div class="p-fluid p-formgrid grid" >
1217
- <div class="field col-12 md:col-4">
1218
- <p-floatLabel>
1219
- <input pInputText type="text" [(ngModel)]="reporteFuente.nombreTabla" maxlength="4000">
1220
- <label>{{'nombretabla' | translate }}</label>
1221
- </p-floatLabel>
1222
- </div>
1223
- <div class="field col-12 md:col-8">
1224
- <!--BOTONES-->
1225
- <div class="flex justify-content-end mb-3">
1226
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
1227
- label="{{'link_actualizar' | translate}}" (click)="actualizar()">
1228
- </button>
1229
- </div>
1230
- </div>
1231
- </div>
1232
- </div>
1233
- </div>
1234
-
1235
- <p-pickList [source]="listaTabla" [target]="listaNoTabla" sourceHeader="Asociado" sourceFilterPlaceholder="Asociado"
1236
- targetHeader="Desasociado" [dragdrop]="true" [responsive]="true" targetFilterPlaceholder="Desasociado"
1237
- filterBy="nombre" *ngIf="isFuente()" (onSourceReorder)="reorderTabla($event)"
1238
- (onMoveAllToTarget)="moverADesasociadoTabla($event)" (onMoveAllToSource)="moverAAsociadoTabla($event)"
1239
- (onMoveToTarget)="moverADesasociadoTabla($event)" (onMoveToSource)="moverAAsociadoTabla($event)">
1240
- <ng-template let-tabla pTemplate="item">
1241
- <div>
1242
- <label>{{tabla.nombre}}</label>
1243
- </div>
1244
- </ng-template>
1245
- </p-pickList>
1246
- </p-tabPanel>
1247
- <p-tabPanel header="{{'archivoxml' | translate }}">
1248
- <div class="card col-md-12">
1249
- <div class="Detallereporte mt-2">
1250
- <div class="p-fluid p-formgrid grid">
1251
-
1252
- <div class="field col-12 md:col-6">
1253
- <p-floatLabel>
1254
- <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="reporteFuente.tagEncabezado"></textarea>
1255
- <label>{{'tagencabezado' | translate }}</label>
1256
- </p-floatLabel>
1257
- </div>
1258
-
1259
- <div class="field col-12 md:col-6">
1260
- <p-floatLabel>
1261
- <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="reporteFuente.tagCierreEncabezado"></textarea>
1262
- <label>{{'tagcierreencabezado' | translate }}</label>
1263
- </p-floatLabel>
1264
- </div>
1265
-
1266
- <div class="field col-12 md:col-6">
1267
- <p-floatLabel>
1268
- <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="reporteFuente.estructuraRegistro"></textarea>
1269
- <label>{{'tagregistro' | translate }}</label>
1270
- </p-floatLabel>
1271
- </div>
1272
-
1273
- <div class="field col-12 md:col-6">
1274
- <p-floatLabel>
1275
- <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true"
1276
- [(ngModel)]="reporteFuente.cifradoXml" optionLabel="nombre"
1277
- optionValue="llaveTabla"></p-dropdown>
1278
- <label>{{'tipocifrado' | translate }}</label>
1279
- </p-floatLabel>
1280
- </div>
1281
-
1282
- </div>
1283
- <!--BOTONES-->
1284
- <div class="flex justify-content-end mb-3">
1285
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
1286
- label="{{'link_actualizar' | translate}}" (click)="actualizar()">
1287
- </button>
1288
- </div>
1289
- </div>
1290
- </div>
1291
- <div class="flex justify-content-between align-items-center mb-3">
1292
- <h1 class="text-xl">{{'marcadores' | translate}}</h1>
1293
- <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
1294
- (click)="nuevoMarcadorXML()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoMarcadorXML">
1295
- </button>
1296
- <div class="flex justify-content-end mb-1" *ngIf="verNuevoMarcadorXML">
1297
- <button pButton pRipple (click)="verNuevoMarcadorXML = false; clickGuardarMarcadorXML = false;" label= "{{'listado' | translate}} {{'marcadores' | translate}}"
1298
- icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
1299
- </div>
1300
- </div>
1301
- <p-table [value]="listaXML" [scrollable]="true" responsiveLayout="scroll"
1302
- dataKey="llaveTabla" selectionMode="single"
1303
- [rows]="10" [totalRecords]="listaXML.length"
1304
- [paginator]="listaXML.length > 10" *ngIf="!verNuevoMarcadorXML"
1305
- (onRowSelect)="verMarcadorXML($event)" (onRowUnselect)="verMarcadorXML($event)">
1306
- <ng-template pTemplate="header">
1307
-
1308
- <tr class="fondoTablaPincipal">
1309
- <th>{{'descripcion' | translate }}</th>
1310
- <th>{{'tipo' | translate }}</th>
1311
- <th>{{'columna' | translate }}</th>
1312
- <th>{{'marcador' | translate }}</th>
1313
- </tr>
1314
- <th>
1315
- </ng-template>
1316
- <ng-template pTemplate="body" let-marctexto>
1317
- <tr [pSelectableRow]="marctexto">
1318
- <td>{{marctexto.descripcion}}</td>
1319
- <td>{{marctexto.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>
1320
- <td>{{marctexto.nombreColumna}}</td>
1321
- <td>{{marctexto.marcador}}</td>
1322
- </tr>
1323
- </ng-template>
1324
- <ng-template pTemplate="emptymessage">
1325
- <tr>
1326
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1327
- </tr>
1328
- </ng-template>
1329
- </p-table>
1330
- <div class="card mt-3" *ngIf="verNuevoMarcadorXML">
1331
- <h5 class="mt-3"><i class="glyphicons glyphicons-notes"></i>{{'detalle' | translate}}</h5>
1332
- <div class="Detallereporte mt-2">
1333
- <div class="p-fluid p-formgrid grid" >
1334
- <div class="field col-12 md:col-4" >
1335
- <p-floatLabel>
1336
- <input pInputText type="text" [(ngModel)]="marcadorXML.descripcion" maxlength="100"
1337
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML"
1338
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML">
1339
- <label>{{'descripcion' | translate}} *</label>
1340
- </p-floatLabel>
1341
- </div>
1342
-
1343
- <div class="field col-12 md:col-4">
1344
- <p-floatLabel>
1345
- <p-dropdown [options]="listaTipoMarcadorXML" [autoDisplayFirst]="false"
1346
- [(ngModel)]="marcadorXML.tipo" optionLabel="nombre" optionValue="codigo"
1347
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML"
1348
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML"></p-dropdown>
1349
- <label>{{'tipo' | translate }} *</label>
1350
- </p-floatLabel>
1351
- </div>
1352
-
1353
- <div class="field col-12 md:col-4" *ngIf="['MA','MR'].includes(marcadorXML.tipo)" >
1354
- <p-floatLabel>
1355
- <input pInputText type="text" [(ngModel)]="marcadorXML.marcador" >
1356
- <label>{{'marcador' | translate}}</label>
1357
- </p-floatLabel>
1358
- </div>
1359
-
1360
- <div class="field col-12 md:col-4" *ngIf="marcadorXML.tipo == 'TB'" >
1361
- <p-floatLabel>
1362
- <input pInputText type="text" [(ngModel)]="marcadorXML.marcador" maxlength="5"
1363
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);" >
1364
- <label>{{'tabla' | translate}}</label>
1365
- </p-floatLabel>
1366
- </div>
1367
-
1368
- <div class="field col-12 md:col-4" *ngIf="marcadorXML.tipo == 'MA'" >
1369
- <p-floatLabel>
1370
- <p-dropdown [options]="listaColumnas" [autoDisplayFirst]="false" [showClear]="true"
1371
- [(ngModel)]="marcadorXML.reporteColumna" optionLabel="nombre" optionValue="llaveTabla" ></p-dropdown>
1372
- <label>{{'columna' | translate }}</label>
1373
- </p-floatLabel>
1374
- </div>
1375
-
1376
- <div class="field col-12 md:col-4" *ngIf="marcadorXML.tipo == 'MA'" >
1377
- <p-floatLabel>
1378
- <input pInputText type="text" [(ngModel)]="marcadorXML.formato" >
1379
- <label>{{'formato' | translate}}</label>
1380
- </p-floatLabel>
1381
- </div>
1382
-
1383
- <div class="field col-12 md:col-4" *ngIf="marcadorXML.tipo == 'MR'">
1384
- <p-floatLabel>
1385
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea [(ngModel)]="marcadorXML.textoRegistro" ></textarea>
1386
- <label>{{'texto' | translate }}</label>
1387
- </p-floatLabel>
1388
- </div>
1389
-
1390
- <div class="field col-12 md:col-4" *ngIf="['MR','TB'].includes(marcadorXML.tipo)">
1391
- <p-floatLabel>
1392
- <p-dropdown [options]="listaFuentes" [autoDisplayFirst]="false" [showClear]="true"
1393
- [(ngModel)]="marcadorXML.fuente" optionLabel="descripcion" optionValue="llave"></p-dropdown>
1394
- <label>{{'fuente' | translate }}</label>
1395
- </p-floatLabel>
1396
- </div>
1397
-
1398
- <div class="field col-12 md:col-4" *ngIf="['MR','TB'].includes(marcadorXML.tipo)">
1399
- <p-floatLabel>
1400
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea [(ngModel)]="marcadorXML.filtro"></textarea>
1401
- <label>{{'filtro' | translate }}</label>
1402
- </p-floatLabel>
1403
- </div>
1404
-
1405
- <div class="field col-12 md:col-4" *ngIf="marcadorXML.tipo == 'TB'">
1406
- <p-floatLabel>
1407
- <textarea class="w-full min-h-150 max-h-200" pInputTextarea [(ngModel)]="marcadorXML.estructuraTablaXML"></textarea>
1408
- <label>{{'estructuratabla' | translate }}</label>
1409
- </p-floatLabel>
1410
- </div>
1411
- </div>
1412
- <!--BOTONES-->
1413
- <div class="flex justify-content-end mb-3" >
1414
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{marcadorXML.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1415
- label="{{marcadorXML.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarMarcadorXML()">
1416
- </button>
1417
- <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1418
- *ngIf="marcadorXML.llave != null" label="{{'link_eliminar' | translate}}"
1419
- (click)="eliminarMarcadorXML($event)">
1420
- </button>
1421
- </div>
1422
- </div>
1423
- </div>
1424
- <div *ngIf="verNuevoMarcadorXML && marcadorXML.llave != null && (marcadorXML.tipo == 'MR' || marcadorXML.tipo == 'TB')">
1425
- <div class="flex justify-content-end align-items-center mb-3">
1426
- <button pButton label="{{'link_nuevo' | translate}}" (click)="nuevoCampoTablaXML()" icon="pi pi-plus"
1427
- class="p-ripple p-element p-button p-component p-button-secondary mb-2"></button>
1428
- </div>
1429
- <p-table [value]="listaCamposMarcadorXML" responsiveLayout="scroll" styleClass="p-datatable-striped"
1430
- [rows]="10" [totalRecords]="listaCamposMarcadorXML.length"
1431
- [paginator]="listaCamposMarcadorXML.length > 10"
1432
- [showCurrentPageReport]="true" currentPageReportTemplate="{first} al {last} de {totalRecords} registros"
1433
- editMode="row" dataKey="llave">
1434
- <ng-template pTemplate="header">
1435
- <tr class="fondoTablaPincipal">
1436
- <th style="width: 30%;">{{'campo' | translate }}</th>
1437
- <th style="width: 30%;">{{'marcador' | translate }}</th>
1438
- <th style="width: 30%;">{{'formato' | translate }}</th>
1439
- <th style="width: 10%"> </th>
1440
- </tr>
1441
- <tr class="TablaNuevoRegistro" *ngIf="verReporteMarcadorDetalleXML">
1442
- <td style="width: 30%;">
1443
- <input pInputText type="text" [(ngModel)]="campoMarcadorInsertarXML.campoFuente" style="width: -webkit-fill-available"
1444
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML"
1445
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML">
1446
- </td>
1447
- <td style="width: 30%;">
1448
- <input pInputText type="text" [(ngModel)]="campoMarcadorInsertarXML.marcador" style="width: -webkit-fill-available"
1449
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML"
1450
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML">
1451
- </td>
1452
- <td style="width: 30%;">
1453
- <input pInputText type="text" [(ngModel)]="campoMarcadorInsertarXML.formato" style="width: -webkit-fill-available">
1454
- </td>
1455
- <td style="width: 10%">
1456
- <div class="flex justify-content-end" >
1457
- <button pButton pRipple type="button" icon="pi pi-check" (click)="agregarCampoMarcadorXML(campoMarcadorInsertarXML)"
1458
- class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1459
- <button pButton pRipple type="button" (click)="verReporteMarcadorDetalleXML = false" icon="pi pi-times"
1460
- class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1461
- </div>
1462
- </td>
1463
- </tr>
1464
- </ng-template>
1465
- <ng-template pTemplate="body" let-campo let-editing="editing" let-ri="rowIndex">
1466
- <tr [pEditableRow]="campo">
1467
- <td style="width: 30%;">
1468
- <p-cellEditor>
1469
- <ng-template pTemplate="input">
1470
- <input pInputText type="text" [(ngModel)]="campo.campoFuente" style="width: -webkit-fill-available"
1471
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML"
1472
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML">
1473
- </ng-template>
1474
- <ng-template pTemplate="output">
1475
- {{campo.campoFuente}}
1476
- </ng-template>
1477
- </p-cellEditor>
1478
- </td>
1479
- <td style="width: 30%;">
1480
- <p-cellEditor>
1481
- <ng-template pTemplate="input">
1482
- <input pInputText type="text" [(ngModel)]="campo.marcador" style="width: -webkit-fill-available"
1483
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML"
1484
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML">
1485
- </ng-template>
1486
- <ng-template pTemplate="output">
1487
- {{campo.marcador}}
1488
- </ng-template>
1489
- </p-cellEditor>
1490
- </td>
1491
- <td style="width: 30%;">
1492
- <p-cellEditor>
1493
- <ng-template pTemplate="input">
1494
- <input pInputText type="text" [(ngModel)]="campo.formato" style="width: -webkit-fill-available">
1495
- </ng-template>
1496
- <ng-template pTemplate="output">
1497
- {{campo.formato}}
1498
- </ng-template>
1499
- </p-cellEditor>
1500
- </td>
1501
-
1502
-
1503
- <td style="width: 10%">
1504
- <div class="flex justify-content-end">
1505
- <!-- CHECK GUARDAR -->
1506
- <button *ngIf="editing" pButton pRipple type="button" pSaveEditableRow
1507
- icon="pi pi-check" (click)="agregarCampoMarcadorXML(campo)"
1508
- class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1509
- <!-- CANCELAR -->
1510
- <button *ngIf="editing" pButton pRipple type="button" pCancelEditableRow
1511
- icon="pi pi-times" (click)="cargarListaCampoMarcadorXMLAsync()"
1512
- class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1513
- <!-- EDITAR -->
1514
- <button *ngIf="!editing" pButton pRipple type="button" pInitEditableRow
1515
- icon="glyphicons glyphicons-pencil"
1516
- class="p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1517
- <!-- ELIMINAR -->
1518
- <button *ngIf="!editing" pButton pRipple type="button" pDeleteEditableRow
1519
- icon="pi pi-trash" (click)="eliminarCampoMarcadorXML($event,campo)"
1520
- class="p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1521
- </div>
1522
- </td>
1523
- </tr>
1524
- </ng-template>
1525
- <ng-template pTemplate="emptymessage">
1526
- <tr>
1527
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1528
- </tr>
1529
- </ng-template>
1530
- </p-table>
1531
- </div>
1532
- </p-tabPanel>
1533
- <p-tabPanel header="{{'columnario' | translate }}">
1534
- <p-accordion (onOpen)="cambiarTabColumnario($event)" >
1535
- <p-accordionTab [selected]="true" >
1536
- <ng-template pTemplate="header"><i class="glyphicons glyphicons-notes"></i>
1537
- {{'columnasbasicas'|translate}}
1538
- </ng-template>
1539
- <div class="flex justify-content-end align-items-center mt-2 mb-2">
1540
- <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
1541
- (click)="nuevoColumnaBasica()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoReporteColumnario">
1542
- </button>
1543
- <div class="flex justify-content-end mb-1" *ngIf="verNuevoReporteColumnario">
1544
- <button pButton pRipple (click)="verNuevoReporteColumnario = false; clickGuardarReporteColumnario = false;" label= "{{'listado' | translate}} {{'columnasbasicas' | translate}}"
1545
- icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
1546
- </div>
1547
- </div>
1548
- <p-table [value]="listaReporteColumnario" [scrollable]="true" responsiveLayout="scroll"
1549
- dataKey="llaveTabla" selectionMode="single"
1550
- [rows]="10" [totalRecords]="listaReporteColumnario.length"
1551
- [paginator]="listaReporteColumnario.length > 10" *ngIf="!verNuevoReporteColumnario"
1552
- (onRowSelect)="verReporteColumnario($event)" (onRowUnselect)="verReporteColumnario($event)">
1553
- <ng-template pTemplate="header">
1554
-
1555
- <tr class="fondoTablaPincipal">
1556
- <th>{{'nombre' | translate }}</th>
1557
- <th>{{'columna' | translate }}</th>
1558
- <th>{{'tipo' | translate }}</th>
1559
- <th>{{'orden' | translate }}</th>
1560
- <th>{{'operacion' | translate }}</th>
1561
- </tr>
1562
- <th>
1563
- </ng-template>
1564
- <ng-template pTemplate="body" let-bean>
1565
- <tr [pSelectableRow]="bean">
1566
- <td>{{bean.nombre}}</td>
1567
- <td>{{bean.nombreColumna}}</td>
1568
- <td>{{bean.tipo | reporteColumnarioPipe: 'listaTipoColumna'}}</td>
1569
- <td>{{bean.orden}}</td>
1570
- <td>{{bean.operacion | reporteColumnarioPipe: 'listaOperacion'}}</td>
1571
- </tr>
1572
- </ng-template>
1573
- <ng-template pTemplate="emptymessage">
1574
- <tr>
1575
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1576
- </tr>
1577
- </ng-template>
1578
- </p-table>
1579
- <p-fieldset class="fieldsintitulo" *ngIf="verNuevoReporteColumnario">
1580
- <div class="Detallereporte mt-2">
1581
- <div class="p-fluid p-formgrid grid" >
1582
- <div class="field col-12 md:col-4" >
1583
- <p-floatLabel>
1584
- <input pInputText type="text" [(ngModel)]="columnaBasica.nombre" maxlength="100"
1585
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario"
1586
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario">
1587
- <label>{{'nombre' | translate}} *</label>
1588
- </p-floatLabel>
1589
- </div>
1590
-
1591
- <div class="field col-12 md:col-4">
1592
- <p-floatLabel>
1593
- <p-dropdown [options]="listaTipoColumnas" [autoDisplayFirst]="false" appendTo="body"
1594
- [(ngModel)]="columnaBasica.tipo" optionLabel="nombre" optionValue="codigo"
1595
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario"
1596
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario"></p-dropdown>
1597
- <label>{{'tipocolumna' | translate }} *</label>
1598
- </p-floatLabel>
1599
- </div>
1600
-
1601
- <div class="field col-12 md:col-4">
1602
- <p-floatLabel>
1603
- <p-dropdown [options]="listaColumnas" [autoDisplayFirst]="false" appendTo="body"
1604
- [(ngModel)]="columnaBasica.reporteColumna" optionLabel="nombre" optionValue="llaveTabla"
1605
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario"
1606
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario"></p-dropdown>
1607
- <label>{{'columna' | translate }} *</label>
1608
- </p-floatLabel>
1609
- </div>
1610
-
1611
- <div class="field col-12 md:col-4" *ngIf="columnaBasica.tipo == 'D'">
1612
- <p-floatLabel>
1613
- <p-dropdown [options]="listaOperacionesColumnario" [autoDisplayFirst]="false" appendTo="body"
1614
- [(ngModel)]="columnaBasica.operacion" optionLabel="nombre" optionValue="codigo"
1615
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario"
1616
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario"></p-dropdown>
1617
- <label>{{'operacion' | translate }} *</label>
1618
- </p-floatLabel>
1619
- </div>
1620
-
1621
- <div class="field col-12 md:col-4" *ngIf="isTipoColumna()">
1622
- <p-floatLabel>
1623
- <p-dropdown [options]="listaOperacionesExcelColumnario" [autoDisplayFirst]="false" appendTo="body"
1624
- [(ngModel)]="columnaBasica.operacionHorizontal" optionLabel="nombre" optionValue="codigo"
1625
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario"
1626
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario"></p-dropdown>
1627
- <label>{{'operacionhorizontal' | translate }} *</label>
1628
- </p-floatLabel>
1629
- </div>
1630
- <!-- fila Operacion Vertical -->
1631
- <div class="field col-12 md:col-4" *ngIf="isTipoColumna()">
1632
- <p-floatLabel>
1633
- <input pInputText type="text" [(ngModel)]="columnaBasica.columnaOperacionVertical" maxlength="5"
1634
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1635
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario"
1636
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario">
1637
- <label>{{'columnaoperacion' | translate}} *</label>
1638
- </p-floatLabel>
1639
- </div>
1640
- <!-- Operacion Verticial -->
1641
- <div class="field col-12 md:col-4" *ngIf="isTipoColumna()">
1642
- <p-floatLabel>
1643
- <p-dropdown [options]="listaOperacionesExcelColumnario" [autoDisplayFirst]="false" appendTo="body"
1644
- [(ngModel)]="columnaBasica.operacionVertical" optionLabel="nombre" optionValue="codigo"
1645
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario"
1646
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario"></p-dropdown>
1647
- <label>{{'operacionvertical' | translate }} *</label>
1648
- </p-floatLabel>
1649
- </div>
1650
- <!-- Orden -->
1651
- <div class="field col-12 md:col-4" *ngIf="isMostrarOrden()">
1652
- <p-floatLabel>
1653
- <input pInputText type="text" [(ngModel)]="columnaBasica.orden" maxlength="5"
1654
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1655
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario"
1656
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario">
1657
- <label>{{'orden' | translate}}</label>
1658
- </p-floatLabel>
1659
- </div>
1660
- <!-- Ordenamiento Filas -->
1661
- <div class="field col-12 md:col-4" *ngIf="isTipoLabel() || isTipoFila()">
1662
- <p-floatLabel>
1663
- <p-dropdown [options]="listaOrdenamiento" [autoDisplayFirst]="false" [showClear]="true" appendTo="body"
1664
- [(ngModel)]="columnaBasica.orderBy" optionLabel="nombre" optionValue="codigo" ></p-dropdown>
1665
- <label>{{'ordenamiento' | translate }}</label>
1666
- </p-floatLabel>
1667
- </div>
1668
- <!-- Ordenamiento Datos de la consulta -->
1669
- <div class="field col-12 md:col-4" *ngIf="isMostrarOrdenConsulta()">
1670
- <p-floatLabel>
1671
- <input pInputText type="text" [(ngModel)]="columnaBasica.ordenConsulta" maxlength="5"
1672
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario"
1673
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario"
1674
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);" >
1675
- <label>{{'ordenconsulta' | translate}} *</label>
1676
- </p-floatLabel>
1677
- </div>
1678
- </div>
1679
- <!--BOTONES-->
1680
- <div class="flex justify-content-end mb-3" >
1681
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{columnaBasica.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1682
- label="{{columnaBasica.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarColumnaBasica()">
1683
- </button>
1684
- <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1685
- *ngIf="columnaBasica.llaveTabla != null" label="{{'link_eliminar' | translate}}"
1686
- (click)="eliminarColumnaBasica($event)">
1687
- </button>
1688
- </div>
1689
- </div>
1690
- </p-fieldset>
1691
- </p-accordionTab>
1692
- </p-accordion>
1693
- <p-accordion (onOpen)="cambiarTabColumnario($event)">
1694
- <p-accordionTab >
1695
- <ng-template pTemplate="header"><i class="glyphicons glyphicons-notes"></i>
1696
- {{'datosadicionales'|translate}}
1697
- </ng-template>
1698
- <p-fieldset class="fieldsintitulo" >
1699
- <div class="Detallereporte mt-2">
1700
- <div class="p-fluid p-formgrid grid">
1701
-
1702
- <div class="field col-12 md:col-3">
1703
- <p-floatLabel>
1704
- <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
1705
- [label]="reporteFuente.archivoExcelColumnario ? reporteFuente.archivoExcelColumnario: ''"
1706
- [extensiones]="'xls;xlsx;xlsm'" [mostraroblicargo]="true" [labelrar]="'plantilla' | translate"
1707
- (onSelected)="obtenerArchivoColumnario($event)"></app-input-helper-seleccion-plantilla>
1708
- </p-floatLabel>
1709
- </div>
1710
-
1711
- <div class="field col-12 md:col-3">
1712
- <p-floatLabel>
1713
- <input pInputText type="text" [(ngModel)]="reporteFuente.hojaExcel" size="25" maxlength="20">
1714
- <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |
1715
- translate }}</label>
1716
- </p-floatLabel>
1717
- </div>
1718
-
1719
- <div class="field col-12 md:col-3">
1720
- <p-floatLabel>
1721
- <input pInputText [(ngModel)]="reporteFuente.filaInicioColumnario" maxlength="5"
1722
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);" />
1723
- <label>{{'filainiciocolumnario' | translate }}</label>
1724
- </p-floatLabel>
1725
- </div>
1726
-
1727
- <div class="field col-12 md:col-3">
1728
- <p-floatLabel>
1729
- <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true" appendTo="body"
1730
- [(ngModel)]="reporteFuente.cifradoColumnario" optionLabel="nombre"
1731
- optionValue="llaveTabla"></p-dropdown>
1732
- <label>{{'tipocifrado' | translate }}</label>
1733
- </p-floatLabel>
1734
- </div>
1735
-
1736
- <div class="field col-12 md:col-12">
1737
- <p-floatLabel>
1738
- <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="reporteFuente.sintaxisColumnario"></textarea>
1739
- <label>{{'sintaxiscolumnario' | translate }}</label>
1740
- </p-floatLabel>
1741
- </div>
1742
-
1743
- </div>
1744
- <!--BOTONES-->
1745
- <div class="flex justify-content-end mb-3">
1746
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
1747
- label="{{'link_actualizar' | translate}}" (click)="actualizar()">
1748
- </button>
1749
- </div>
1750
- </div>
1751
- </p-fieldset>
1752
- <div class="flex justify-content-between align-items-center mb-3 mt-3">
1753
- <h1 class="text-xl">{{'columnaadicional' | translate}}</h1>
1754
- <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
1755
- (click)="nuevaColumnaAdicional()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoColumnaAdicional">
1756
- </button>
1757
- <div class="flex justify-content-end mb-1" *ngIf="verNuevoColumnaAdicional">
1758
- <button pButton pRipple (click)="verNuevoColumnaAdicional = false; clickGuardarColumnaAdicional = false;" label= "{{'listado' | translate}} {{'columnaadicional' | translate}}"
1759
- icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
1760
- </div>
1761
- </div>
1762
- <p-table [value]="columnasAdicionales" [scrollable]="true" responsiveLayout="scroll"
1763
- dataKey="llaveTabla" selectionMode="single"
1764
- [rows]="10" [totalRecords]="columnasAdicionales.length"
1765
- [paginator]="columnasAdicionales.length > 10" *ngIf="!verNuevoColumnaAdicional"
1766
- (onRowSelect)="verDetalleAdicional($event)" (onRowUnselect)="verDetalleAdicional($event)">
1767
- <ng-template pTemplate="header">
1768
- <tr class="fondoTablaPincipal">
1769
- <th>{{'nombre' | translate }}</th>
1770
- <th>{{'orden' | translate }}</th>
1771
- </tr>
1772
- <th>
1773
- </ng-template>
1774
- <ng-template pTemplate="body" let-columnaadicional>
1775
- <tr [pSelectableRow]="columnaadicional">
1776
- <td>{{columnaadicional.nombre}}</td>
1777
- <td>{{columnaadicional.orden}}</td>
1778
- </tr>
1779
- </ng-template>
1780
- <ng-template pTemplate="emptymessage">
1781
- <tr>
1782
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1783
- </tr>
1784
- </ng-template>
1785
- </p-table>
1786
- <p-fieldset class="fieldsintitulo" *ngIf="verNuevoColumnaAdicional">
1787
- <div class="Detallereporte mt-2">
1788
- <div class="p-fluid p-formgrid grid" >
1789
- <div class="field col-12 md:col-3" >
1790
- <p-floatLabel>
1791
- <input pInputText type="text" [(ngModel)]="columnaAdicional.nombre" maxlength="100"
1792
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional"
1793
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional">
1794
- <label>{{'alias' | translate}} *</label>
1795
- </p-floatLabel>
1796
- </div>
1797
-
1798
- <div class="field col-12 md:col-3" >
1799
- <p-floatLabel>
1800
- <input pInputText [(ngModel)]="columnaAdicional.orden" maxlength="5"
1801
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1802
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional"
1803
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional" />
1804
- <label>{{'orden' | translate}} *</label>
1805
- </p-floatLabel>
1806
- </div>
1807
-
1808
- <div class="field col-12 md:col-3">
1809
- <p-floatLabel>
1810
- <p-dropdown [options]="listaOrdenamiento" [autoDisplayFirst]="false" appendTo="body"
1811
- [(ngModel)]="columnaAdicional.orderBy" optionLabel="nombre" optionValue="codigo"
1812
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional"
1813
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional"></p-dropdown>
1814
- <label>{{'ordenamiento' | translate }} *</label>
1815
- </p-floatLabel>
1816
- </div>
1817
-
1818
- <div class="field col-12 md:col-3" >
1819
- <p-floatLabel>
1820
- <input pInputText [(ngModel)]="columnaAdicional.ordenConsulta" maxlength="5"
1821
- oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1822
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional"
1823
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional" />
1824
- <label>{{'ordenconsulta' | translate}} *</label>
1825
- </p-floatLabel>
1826
- </div>
1827
-
1828
- <div class="field col-12 md:col-12" >
1829
- <p-floatLabel>
1830
- <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="columnaAdicional.sintaxis" maxlength="4000"
1831
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional"
1832
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional"></textarea>
1833
- <label>{{'sintaxis' | translate}} *</label>
1834
- </p-floatLabel>
1835
- </div>
1836
- </div>
1837
- <!--BOTONES-->
1838
- <div class="flex justify-content-end mb-3" >
1839
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{columnaAdicional.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1840
- label="{{columnaAdicional.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarColumnaAdicional()">
1841
- </button>
1842
- <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1843
- *ngIf="columnaAdicional.llaveTabla != null" label="{{'link_eliminar' | translate}}"
1844
- (click)="eliminarColumnaAdicional($event)">
1845
- </button>
1846
- </div>
1847
- </div>
1848
- </p-fieldset>
1849
- </p-accordionTab>
1850
- <p-accordionTab >
1851
- <ng-template pTemplate="header"><i class="glyphicons glyphicons-notes"></i>
1852
- {{'marcadores'|translate}}
1853
- </ng-template>
1854
- <div class="flex justify-content-end align-items-center mb-3">
1855
- <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
1856
- (click)="nuevoMarcadorColumnario()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoMarcadorColumnario">
1857
- </button>
1858
- <div class="flex justify-content-end mb-1" *ngIf="verNuevoMarcadorColumnario">
1859
- <button pButton pRipple (click)="verNuevoMarcadorColumnario = false; clickGuardarMarcadorColumnario = false;" label= "{{'listado' | translate}} {{'marcador' | translate}}"
1860
- icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
1861
- </div>
1862
- </div>
1863
- <p-table [value]="marcadoresColumnario" [scrollable]="true" responsiveLayout="scroll"
1864
- dataKey="llaveTabla" selectionMode="single"
1865
- [rows]="10" [totalRecords]="marcadoresColumnario.length"
1866
- [paginator]="marcadoresColumnario.length > 10" *ngIf="!verNuevoMarcadorColumnario"
1867
- (onRowSelect)="verDetalleMarcadorColumnario($event)" (onRowUnselect)="verDetalleMarcadorColumnario($event)">
1868
- <ng-template pTemplate="header">
1869
- <tr class="fondoTablaPincipal">
1870
- <th>{{'nombre' | translate }}</th>
1871
- <th>{{'tipomarcador' | translate }}</th>
1872
- </tr>
1873
- <th>
1874
- </ng-template>
1875
- <ng-template pTemplate="body" let-marcador>
1876
- <tr [pSelectableRow]="marcador">
1877
- <td>{{marcador.marcador}}</td>
1878
- <td>{{marcador.tipo | reporteColumnarioPipe: 'listaTipoMarcador'}}</td>
1879
- </tr>
1880
- </ng-template>
1881
- <ng-template pTemplate="emptymessage">
1882
- <tr>
1883
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1884
- </tr>
1885
- </ng-template>
1886
- </p-table>
1887
- <p-fieldset class="fieldsintitulo" *ngIf="verNuevoMarcadorColumnario">
1888
- <div class="Detallereporte mt-2">
1889
- <div class="p-fluid p-formgrid grid" >
1890
- <div class="field col-12 md:col-4" >
1891
- <p-floatLabel>
1892
- <input pInputText [(ngModel)]="marcadorColumnario.descripcion" maxlength="4000"
1893
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario"
1894
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario" />
1895
- <label>{{'descripcion' | translate}} *</label>
1896
- </p-floatLabel>
1897
- </div>
1898
-
1899
- <div class="field col-12 md:col-4" >
1900
- <p-floatLabel>
1901
- <input pInputText [(ngModel)]="marcadorColumnario.marcador" maxlength="50"
1902
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario"
1903
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario" />
1904
- <label>{{'marcador' | translate}} *</label>
1905
- </p-floatLabel>
1906
- </div>
1907
-
1908
- <div class="field col-12 md:col-4">
1909
- <p-floatLabel>
1910
- <p-dropdown [options]="listaTipoMarcadorColumnario" [autoDisplayFirst]="false" appendTo="body"
1911
- [(ngModel)]="marcadorColumnario.tipo" optionLabel="nombre" optionValue="codigo"
1912
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario"
1913
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario"></p-dropdown>
1914
- <label>{{'tipo' | translate }} *</label>
1915
- </p-floatLabel>
1916
- </div>
1917
-
1918
- <div class="field col-12 md:col-12" >
1919
- <p-floatLabel>
1920
- <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="marcadorColumnario.textoRegistro" maxlength="4000"
1921
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario"
1922
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario"></textarea>
1923
- <label>{{'valor' | translate}} *</label>
1924
- </p-floatLabel>
1925
- </div>
1926
- </div>
1927
- <!--BOTONES-->
1928
- <div class="flex justify-content-end mb-3" >
1929
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{marcadorColumnario.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1930
- label="{{marcadorColumnario.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarMarcadorColumnario()">
1931
- </button>
1932
- <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1933
- *ngIf="marcadorColumnario.llaveTabla != null" label="{{'link_eliminar' | translate}}"
1934
- (click)="eliminarMarcadorColumnario($event)">
1935
- </button>
1936
- </div>
1937
- </div>
1938
- </p-fieldset>
1939
- </p-accordionTab>
1940
- </p-accordion>
1941
- </p-tabPanel>
1942
- <p-tabPanel header="{{'grafica' | translate }}">
1943
- <div class="card col-md-12">
1944
- <div class="Detallereporte mt-2">
1945
- <div class="p-fluid p-formgrid grid">
1946
-
1947
- <div class="field col-12 md:col-4">
1948
- <p-floatLabel>
1949
- <input pInputText type="text" [(ngModel)]="reporteFuente.codigo" size="25"
1950
- maxlength="100">
1951
- <label>{{'codigo' | translate }}</label>
1952
- </p-floatLabel>
1953
- </div>
1954
-
1955
- <div class="field col-12 md:col-4">
1956
- <p-floatLabel>
1957
- <input pInputText type="text" [(ngModel)]="reporteFuente.tituloGrafico" size="25"
1958
- maxlength="100">
1959
- <label>{{'titulo' | translate }}</label>
1960
- </p-floatLabel>
1961
- </div>
1962
-
1963
- <div class="field col-12 md:col-4">
1964
- <p-floatLabel>
1965
- <p-dropdown [options]="listaTipoGrafico" [autoDisplayFirst]="false" [showClear]="true"
1966
- [(ngModel)]="reporteFuente.tipoGrafico" optionLabel="nombre"
1967
- optionValue="codigo"></p-dropdown>
1968
- <label>{{'tipo' | translate }}</label>
1969
- </p-floatLabel>
1970
- </div>
1971
- </div>
1972
-
1973
- <!--BOTONES-->
1974
- <div class="flex justify-content-end mb-3" *ngIf="isSql()">
1975
- <button pButton pRipple class="ml-2 p-button-outlined background-100" icon="glyphicons glyphicons-refresh"
1976
- label="{{'link_actualizar' | translate}}" (click)="guardarGrafico()">
1977
- </button>
1978
- <button pButton pRipple class="ml-2 p-button p-button-raised" icon="pi pi-eye"
1979
- label="{{'link_ver' | translate}}" (click)="verGrafico()">
1980
- </button>
1981
- </div>
1982
- </div>
1983
- </div>
1984
-
1985
- <p-table [value]="paginadorColumnas" responsiveLayout="scroll" [scrollable]="true"
1986
- [rows]="20" [totalRecords]="paginadorColumnas.length" [paginator]="paginadorColumnas.length > 20" >
1987
- <ng-template pTemplate="header">
1988
-
1989
- <tr class="fondoTablaPincipal">
1990
- <th>{{'columna' | translate }}</th>
1991
- <th>{{'sintaxis' | translate }}</th>
1992
- <th>{{'tipo' | translate }}</th>
1993
- <th>{{'accion' | translate }}</th>
1994
- </tr>
1995
- </ng-template>
1996
- <ng-template pTemplate="body" let-bean>
1997
- <tr [pSelectableRow]="bean">
1998
- <td>{{bean.nombre}}</td>
1999
- <td>{{bean.sintaxis}}</td>
2000
- <td>{{bean.tipoDato | reporteFuentePipe : 'listaTipoDato'}}</td>
2001
- <td>
2002
- <p-dropdown [options]="listaGraficoSencillo" [autoDisplayFirst]="false" [showClear]="true"
2003
- [(ngModel)]="bean.graficoFuente" optionLabel="nombre"
2004
- optionValue="codigo"></p-dropdown>
2005
- </td>
2006
- </tr>
2007
- </ng-template>
2008
- <ng-template pTemplate="emptymessage">
2009
- <tr>
2010
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
2011
- </tr>
2012
- </ng-template>
2013
- </p-table>
2014
-
2015
- <div class="flex justify-content-between align-items-center mt-2 mb-2">
2016
- <h1 class="text-xl">Colores</h1>
2017
- <button pButton label="{{'link_nuevo' | translate}}" (click)="nuevoColorCategoria()" icon="pi pi-plus"
2018
- [disabled]="habilitaCampo" class="p-ripple p-element p-button p-component p-button-secondary mb-2"></button>
2019
- </div>
2020
- <p-table [value]="paginadorColoresGrafica" responsiveLayout="scroll" styleClass="p-datatable-striped"
2021
- [rows]="10" [totalRecords]="paginadorColoresGrafica.length"
2022
- [paginator]="paginadorColoresGrafica.length > 10"
2023
- [showCurrentPageReport]="true" currentPageReportTemplate="{first} al {last} de {totalRecords} registros"
2024
- editMode="row" dataKey="llaveTabla">
2025
- <ng-template pTemplate="header">
2026
- <tr class="fondoTablaPincipal">
2027
- <th style="width: 45%">{{'categoria' | translate}}</th>
2028
- <th style="width: 45%">{{'color' | translate}}</th>
2029
- <th style="width: 10%"> </th>
2030
- </tr>
2031
- <tr class="TablaNuevoRegistro" *ngIf="verColorCategoriaDetalle">
2032
- <td style="width: 45%">
2033
- <input pInputText type="text" [(ngModel)]="colorCategoria.titulo" style="width: -webkit-fill-available"
2034
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria"
2035
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria">
2036
- </td>
2037
- <td style="width: 45%">
2038
- <div style="width: 100%">
2039
- <p-colorPicker [(ngModel)]="colorCategoria.banda" appendTo="body"
2040
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria"
2041
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria" />
2042
- </div>
2043
- </td>
2044
- <td style="width: 10%">
2045
- <div class="flex justify-content-end">
2046
- <button pButton pRipple type="button" icon="pi pi-check" (click)="agregarColorCategoria(colorCategoria)"
2047
- class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2048
- <button pButton pRipple type="button" (click)="verColorCategoriaDetalle = false" icon="pi pi-times" (click)="cancelarColorCategoria()"
2049
- class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2050
- </div>
2051
- </td>
2052
- </tr>
2053
- </ng-template>
2054
- <ng-template pTemplate="body" let-color let-editing="editing" let-ri="rowIndex">
2055
- <tr [pEditableRow]="color" style="width: 100%">
2056
- <td style="width: 45%">
2057
- <p-cellEditor>
2058
- <ng-template pTemplate="input">
2059
- <input pInputText type="text" [(ngModel)]="color.titulo" style="width: -webkit-fill-available"
2060
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria"
2061
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria">
2062
- </ng-template>
2063
- <ng-template pTemplate="output">
2064
- {{color.titulo}}
2065
- </ng-template>
2066
- </p-cellEditor>
2067
- </td>
2068
- <td style="width: 45%">
2069
- <p-cellEditor>
2070
- <ng-template pTemplate="input">
2071
- <div style="width: 100%">
2072
- <p-colorPicker [(ngModel)]="color.banda" appendTo="body"
2073
- [class.ng-dirty]="!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria"
2074
- [class.ng-invalid]="!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria"/>
2075
- </div>
2076
- </ng-template>
2077
- <ng-template pTemplate="output">
2078
- <p-colorPicker [(ngModel)]="color.banda" [disabled]="true" />
2079
- </ng-template>
2080
- </p-cellEditor>
2081
- </td>
2082
- <td style="width: 10%">
2083
- <div class="flex justify-content-end">
2084
- <!-- CHECK GUARDAR -->
2085
- <button *ngIf="editing" pButton pRipple type="button" pSaveEditableRow
2086
- icon="pi pi-check" (click)="agregarColorCategoria(color)"
2087
- class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2088
- <!-- CANCELAR -->
2089
- <button *ngIf="editing" pButton pRipple type="button" pCancelEditableRow
2090
- icon="pi pi-times" (click)="cancelarEdicionColor()"
2091
- class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2092
- <!-- EDITAR -->
2093
- <button *ngIf="!editing" pButton pRipple type="button" pInitEditableRow
2094
- icon="glyphicons glyphicons-pencil" [disabled]="habilitaCampo" (click)="iniciarEdicion()"
2095
- class="p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2096
- <!-- ELIMINAR -->
2097
- <button *ngIf="!editing" pButton pRipple type="button" pDeleteEditableRow
2098
- icon="pi pi-trash" (click)="eliminarColorCategoria($event, color)" [disabled]="habilitaCampo"
2099
- class="p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2100
- </div>
2101
- </td>
2102
- </tr>
2103
- </ng-template>
2104
- <ng-template pTemplate="emptymessage">
2105
- <tr>
2106
- <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
2107
- </tr>
2108
- </ng-template>
2109
- </p-table>
2110
- <div style="width: 85%" *ngIf="grafica">
2111
- <p-chart [type]="tipoGrafica" [data]="grafica.datosGrafica.data" [options]="grafica.datosGrafica.options"></p-chart>
2112
- </div>
2113
- </p-tabPanel>
1
+ <p-tabView (onChange)="cambiarTab($event)">
2
+ <p-tabPanel header="{{'excel' | translate }}" [selected]="true">
3
+ <div class="card col-md-12">
4
+ <div class="Detallereporte mt-2">
5
+ <p class="font-semibold">{{'debe' | translate}} {{'indicar' | translate}} {{'plantilla' | translate}} {{'y' | translate}}
6
+ {{'hoja' | translate}} {{'para' | translate}} {{'que' | translate}} {{'esta' | translate}}
7
+ {{'opcion' | translate}} {{'se' | translate}} {{'active' | translate}}
8
+ </p>
9
+ <div class="p-fluid p-formgrid grid">
10
+ <div class="field col-12 md:col-4">
11
+ <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
12
+ [label]="reporteFuente.archivoTodo ? reporteFuente.archivoTodo: ''"
13
+ [extensiones]="'xls;xlsx'" [mostraroblicargo]="true" [labelrar]="'plantilla' | translate"
14
+ (onSelected)="obtenerArchivo($event)"></app-input-helper-seleccion-plantilla>
15
+
16
+ </div>
17
+
18
+ <div class="field col-12 md:col-4">
19
+ <p-floatLabel>
20
+ <input pInputText type="text" [(ngModel)]="reporteFuente.hojaExcel" size="25" maxlength="20">
21
+ <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |
22
+ translate }}</label>
23
+ </p-floatLabel>
24
+ </div>
25
+
26
+ <div class="field col-12 md:col-4">
27
+ <p-floatLabel>
28
+ <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true"
29
+ [(ngModel)]="reporteFuente.cifradoExcel" optionLabel="nombre"
30
+ optionValue="llaveTabla"></p-dropdown>
31
+ <label>{{'tipocifrado' | translate }}</label>
32
+ </p-floatLabel>
33
+ </div>
34
+ </div>
35
+
36
+ <!--BOTONES-->
37
+ <div class="flex justify-content-end mb-3">
38
+ <button pButton pRipple class="ml-2 p-button p-button-raised"
39
+ icon="glyphicons glyphicons-refresh" label="{{'link_actualizar' | translate}}"
40
+ (click)="actualizar()">
41
+ </button>
42
+ </div>
43
+ </div>
44
+ </div>
45
+
46
+ <p-pickList [source]="listaExcel" [target]="listaNoExcel" sourceHeader="Asociado" sourceFilterPlaceholder="Asociado"
47
+ targetHeader="Desasociado" [dragdrop]="true" [responsive]="true" targetFilterPlaceholder="Desasociado"
48
+ filterBy="sintaxis" (onSourceReorder)="moverAAsociado($event)"
49
+ (onMoveAllToTarget)="moverADesasociado($event)" (onMoveAllToSource)="moverAAsociado($event)"
50
+ (onMoveToTarget)="moverADesasociado($event)" (onMoveToSource)="moverAAsociado($event)">
51
+ <ng-template let-excel pTemplate="item">
52
+ <div>
53
+ <label>{{excel.nombre}}</label>
54
+ </div>
55
+ </ng-template>
56
+ </p-pickList>
57
+
58
+ <div class="mt-4">
59
+ <div class="flex justify-content-between align-items-center mt-2 mb-2">
60
+ <h1 class="text-xl">{{'marcadores' | translate}}</h1>
61
+ <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
62
+ (click)="nuevoMarcadorExcel()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoMarcadorExcel">
63
+ </button>
64
+ <div class="flex justify-content-end mb-1" *ngIf="verNuevoMarcadorExcel">
65
+ <button pButton pRipple (click)="verNuevoMarcadorExcel = false" label= "{{'listado' | translate}} {{'marcadores' | translate}}"
66
+ icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
67
+ </div>
68
+ </div>
69
+ <p-table [value]="listaMarcadorExcel" responsiveLayout="scroll" [scrollable]="true"
70
+ dataKey="llaveTabla" selectionMode="single" [selection]="reporteMarcadorExcel" [rows]="10"
71
+ [totalRecords]="listaMarcadorExcel.length" [paginator]="listaMarcadorExcel.length > 10"
72
+ (onRowSelect)="verDetalleMarcadorExcel($event)" (onRowUnselect)="verDetalleMarcadorExcel($event)" *ngIf="!verNuevoMarcadorExcel">
73
+ <ng-template pTemplate="header">
74
+
75
+ <tr class="fondoTablaPincipal">
76
+ <th>{{'descripcion' | translate }}</th>
77
+ </tr>
78
+ </ng-template>
79
+ <ng-template pTemplate="body" let-marcador>
80
+ <tr [pSelectableRow]="marcador">
81
+ <td>{{marcador.descripcion}}</td>
82
+ </tr>
83
+ </ng-template>
84
+ <ng-template pTemplate="emptymessage">
85
+ <tr>
86
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
87
+ </tr>
88
+ </ng-template>
89
+ </p-table>
90
+
91
+ <div class="card mt-3" *ngIf="verNuevoMarcadorExcel">
92
+ <h5 class="mt-3"><i class="glyphicons glyphicons-book"></i>{{'detalle' | translate}}</h5>
93
+ <div class="Detallereporte mt-4 ">
94
+ <form [formGroup]="formMarcadorExcel" >
95
+ <div class="col-md-12 p-fluid p-formgrid grid">
96
+
97
+ <div class="field col-12 md:col-4">
98
+ <p-floatLabel>
99
+ <input pInputText type="text" formControlName="descripcion" size="25" maxlength="4000">
100
+ <label>{{'descripcion' | translate }} *</label>
101
+ </p-floatLabel>
102
+ </div>
103
+
104
+ <div class="field col-12 md:col-4">
105
+ <p-floatLabel>
106
+ <input pInputText type="text" formControlName="marcador" size="25" maxlength="4000">
107
+ <label>{{'marcador' | translate }} *</label>
108
+ </p-floatLabel>
109
+ </div>
110
+
111
+ <div class="field col-12 md:col-4">
112
+ <p-floatLabel>
113
+ <p-dropdown
114
+ [options]="[{label: 'Imagen Fija', value: 'IF'}, {label: 'Marcador', value: 'MA'}]"
115
+ [autoDisplayFirst]="false" formControlName="tipo" optionLabel="label"
116
+ optionValue="value"></p-dropdown>
117
+ <label>{{'tipo' | translate }} *</label>
118
+ </p-floatLabel>
119
+ </div>
120
+
121
+ <div class="field col-12 md:col-12" [hidden]="esImagenFija">
122
+ <p-floatLabel>
123
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="textoRegistro"></textarea>
124
+ <label>{{'valor' | translate }} *</label>
125
+ </p-floatLabel>
126
+ </div>
127
+
128
+ <div class="field col-12 md:col-4" [hidden]="esMarcador">
129
+ <p-floatLabel>
130
+ <p-dropdown
131
+ [options]="[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]"
132
+ [autoDisplayFirst]="false" formControlName="origen" optionLabel="label"
133
+ optionValue="value"></p-dropdown>
134
+ <label>{{'origen' | translate }} *</label>
135
+ </p-floatLabel>
136
+ </div>
137
+
138
+ <div class="field col-12 md:col-4" [hidden]="esMarcador">
139
+ <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
140
+ formControlName="textoRegistro"
141
+ [label]="reporteMarcadorExcel.textoRegistro ? reporteMarcadorExcel.textoRegistro: ''"
142
+ [extensiones]="'jpg;png'" (onSelected)="obtenerArchivoMarcadorExcel($event)"
143
+ [propiedad]="'ruta_recursos'" [labelrar]="('recursos' | translate)" [labelarch]="'recurso' | translate" [mostrarX]="true"
144
+ [mostraroblicargo]="!(!utilsService.validarCampoObligatorio(reporteMarcadorExcel.textoRegistro) && clickGuardarMarcadorExcel)"
145
+ [anexoPropiedad]="reporteMarcadorExcel.origen =='C' ? llaveEmpresa: ''"
146
+ [propiedadDeSistema]="true"></app-input-helper-seleccion-plantilla>
147
+ </div>
148
+ </div>
149
+ </form>
150
+ <!--BOTONES-->
151
+ <div class="flex justify-content-end mb-3" *ngIf="verNuevoMarcadorExcel">
152
+ <button pButton pRipple class="ml-2 p-button-raised" icon="glyphicons {{reporteMarcadorExcel.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
153
+ label="{{reporteMarcadorExcel.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarMarcadorExcel()">
154
+ </button>
155
+ <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
156
+ *ngIf="reporteMarcadorExcel.llave != null" label="{{'link_eliminar' | translate}}"
157
+ (click)="eliminarMarcadorExcel($event)">
158
+ </button>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ </div>
163
+ </p-tabPanel>
164
+ <p-tabPanel header="{{'plantilla' | translate }}">
165
+ <div class="card col-md-12">
166
+ <div class="Detallereporte mt-2">
167
+ <div class="p-fluid p-formgrid grid">
168
+
169
+ <div class="field col-12 md:col-4">
170
+ <p-floatLabel>
171
+ <p-dropdown [options]="listaSiNo" [(ngModel)]="reporteFuente.unicoArchivo" [autoDisplayFirst]="false" [showClear]="true"
172
+ optionLabel="nombre" optionValue="codigo"></p-dropdown>
173
+ <label>{{'soporte' | translate }} {{'unico' | translate }}</label>
174
+ </p-floatLabel>
175
+ </div>
176
+
177
+ <div class="field col-12 md:col-4">
178
+ <p-floatLabel>
179
+ <p-dropdown [options]="listaSiNo" [(ngModel)]="reporteFuente.descargarFuente" [autoDisplayFirst]="false" [showClear]="true"
180
+ optionLabel="nombre" optionValue="codigo"></p-dropdown>
181
+ <label>{{'descargardoc' | translate }}</label>
182
+ </p-floatLabel>
183
+ </div>
184
+
185
+ <div class="field col-12 md:col-4">
186
+ <p-floatLabel>
187
+ <p-dropdown [options]="listaSiNo" [(ngModel)]="reporteFuente.generarPin" [autoDisplayFirst]="false" [showClear]="true"
188
+ optionLabel="nombre" optionValue="codigo"></p-dropdown>
189
+ <label>{{'generarpin' | translate }}</label>
190
+ </p-floatLabel>
191
+ </div>
192
+
193
+ <div class="field col-12 md:col-4">
194
+ <p-floatLabel>
195
+ <p-dropdown [options]="listaColumnas" [(ngModel)]="reporteFuente.campoAgrupacionPlanilla"
196
+ [autoDisplayFirst]="false" [showClear]="true" optionLabel="nombre" optionValue="llaveTabla"></p-dropdown>
197
+ <label>{{'agruparpor' | translate }}</label>
198
+ </p-floatLabel>
199
+ </div>
200
+
201
+ <div class="field col-12 md:col-4">
202
+ <p-floatLabel>
203
+ <input pInputText type="text" [(ngModel)]="reporteFuente.nombreAgrupacionPlanilla" size="25"
204
+ maxlength="100">
205
+ <label>{{'nombrearchivoagrupacion' | translate }}</label>
206
+ </p-floatLabel>
207
+ </div>
208
+
209
+ <div class="field col-12 md:col-4">
210
+ <p-floatLabel>
211
+ <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true"
212
+ [(ngModel)]="reporteFuente.cifradoPlanilla" optionLabel="nombre"
213
+ optionValue="llaveTabla"></p-dropdown>
214
+ <label>{{'tipocifrado' | translate }}</label>
215
+ </p-floatLabel>
216
+ </div>
217
+
218
+ <div class="field col-12 md:col-4" [hidden]="reporteFuente.unicoArchivo == 'N'">
219
+ <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
220
+ [label]="reporteFuente.archivoIndividual ? reporteFuente.archivoIndividual: ''"
221
+ [labelrar]="'archivo' | translate" [labelarch]="'archivo' | translate" [mostraroblicargo]="true"
222
+ (onSelected)="obtenerArchivoPlanilla($event)"></app-input-helper-seleccion-plantilla>
223
+ </div>
224
+
225
+ </div>
226
+ <!--BOTONES-->
227
+ <div class="flex justify-content-end mb-3">
228
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
229
+ label="{{'link_actualizar' | translate}}" (click)="actualizar()">
230
+ </button>
231
+ </div>
232
+ </div>
233
+ </div>
234
+
235
+ <p-tabView >
236
+ <p-tabPanel header="{{'marcadores' | translate }}" [selected]="true">
237
+
238
+ <div class="flex justify-content-end align-items-center mb-3">
239
+ <button pButton pRipple class="p-button-secondary font-semibold mb-2" icon="pi pi-plus"
240
+ (click)="nuevoMarcador()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoMarcador">
241
+ </button>
242
+ <div class="flex justify-content-end mb-1" *ngIf="verNuevoMarcador">
243
+ <button pButton pRipple (click)="verNuevoMarcador = false" label= "{{'listado' | translate}} {{'marcadores' | translate}}"
244
+ icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
245
+ </div>
246
+ </div>
247
+ <p-table [value]="listaMarcadores" [scrollable]="true" responsiveLayout="scroll"
248
+ dataKey="llaveTabla" selectionMode="single" [selection]="reporteMarcador"
249
+ [rows]="10" [totalRecords]="listaMarcadores.length"
250
+ [paginator]="listaMarcadores.length > 10" *ngIf="!verNuevoMarcador"
251
+ (onRowSelect)="verDetalleMarcador($event)" (onRowUnselect)="verDetalleMarcador($event)">
252
+ <ng-template pTemplate="header">
253
+
254
+ <tr class="fondoTablaPincipal">
255
+ <th>{{'descripcion' | translate }}</th>
256
+ <th>{{'tipo' | translate }}</th>
257
+ <th>{{'columna' | translate }}</th>
258
+ <th>{{'marcador' | translate }}</th>
259
+ </tr>
260
+ <th>
261
+ </ng-template>
262
+ <ng-template pTemplate="body" let-marcador>
263
+ <tr [pSelectableRow]="marcador">
264
+ <td>{{marcador.descripcion}}</td>
265
+ <td>{{marcador.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>
266
+ <td>{{marcador.tipo == 'IF' ? marcador.textoRegistro : marcador.nombreColumna}}</td>
267
+ <td>{{marcador.marcador}}</td>
268
+ </tr>
269
+ </ng-template>
270
+ <ng-template pTemplate="emptymessage">
271
+ <tr>
272
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
273
+ </tr>
274
+ </ng-template>
275
+ </p-table>
276
+
277
+ <div class="card col-md-12" *ngIf="verNuevoMarcador">
278
+ <div class="Detallereporte mt-2">
279
+ <form [formGroup]="formMarcador">
280
+ <p class="font-semibold">{{'indique' | translate}} {{'en' | translate}} {{'que' | translate}} {{'columna' | translate}} {{'desea' | translate}} {{'que' | translate}} {{'aparezca' | translate}} {{'la' | translate}} {{'informacion' | translate}}. {{'la' | translate}} {{'primera' | translate}} {{'columna' | translate}} {{'es' | translate}} {{'la' | translate}} 1.</p>
281
+ <div class="p-fluid p-formgrid grid" >
282
+ <div class="field col-12 md:col-4">
283
+ <p-floatLabel>
284
+ <input pInputText type="text" formControlName="descripcion" size="25"
285
+ maxlength="4000">
286
+ <label>{{'descripcion' | translate }} *</label>
287
+ </p-floatLabel>
288
+ </div>
289
+
290
+ <div class="field col-12 md:col-4">
291
+ <p-floatLabel>
292
+ <p-dropdown [options]="listaTipoMarcador" [autoDisplayFirst]="false"
293
+ formControlName="tipo" optionLabel="nombre"
294
+ optionValue="codigo"></p-dropdown>
295
+ <label>{{'tipo' | translate }} *</label>
296
+ </p-floatLabel>
297
+ </div>
298
+
299
+ <div class="field col-12 md:col-4"
300
+ [hidden]="!(['MA','IM','MR','IF','QR','BC','G1'].includes(reporteMarcador.tipo))">
301
+ <p-floatLabel>
302
+ <input pInputText type="text" formControlName="marcador" size="25">
303
+ <label>{{'marcador' | translate }}</label>
304
+ </p-floatLabel>
305
+ </div>
306
+
307
+ <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'TB'">
308
+ <p-floatLabel>
309
+ <input pInputText type="text" formControlName="tabla" size="25">
310
+ <label>{{'tabla' | translate }}</label>
311
+ </p-floatLabel>
312
+ </div>
313
+
314
+ <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'IF'">
315
+ <p-floatLabel>
316
+ <p-dropdown
317
+ [options]="[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]"
318
+ [autoDisplayFirst]="false" [showClear]="true" formControlName="origen" optionLabel="label"
319
+ optionValue="value"></p-dropdown>
320
+ <label>{{'origen' | translate }}</label>
321
+ </p-floatLabel>
322
+ </div>
323
+
324
+ <div class="field col-12 md:col-4"
325
+ [hidden]="reporteMarcador.tipo != 'IF' || !reporteMarcador.origen">
326
+ <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
327
+ formControlName="textoRegistro"
328
+ [label]="reporteMarcador.textoRegistro ? reporteMarcador.textoRegistro: ''"
329
+ [extensiones]="'jpg;png'" (onSelected)="obtenerArchivoMarcador($event)"
330
+ [propiedad]="'ruta_recursos'" [labelrar]="'recursos' | translate"
331
+ [anexoPropiedad]="reporteMarcador.origen =='C' ? llaveEmpresa: ''"
332
+ [propiedadDeSistema]="true"></app-input-helper-seleccion-plantilla>
333
+ </div>
334
+
335
+ <div class="field col-12 md:col-4"
336
+ [hidden]="!['MA','IM','QR','BC','G1'].includes(reporteMarcador.tipo)">
337
+ <p-floatLabel>
338
+ <p-dropdown [options]="listaColumnas" formControlName="reporteColumna" [showClear]="true" [autoDisplayFirst]="false"
339
+ optionLabel="nombre" optionValue="llaveTabla"></p-dropdown>
340
+ <label>{{'columna' | translate }}</label>
341
+ </p-floatLabel>
342
+ </div>
343
+
344
+ <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MA'">
345
+ <p-floatLabel>
346
+ <input pInputText type="text" formControlName="formato" size="25">
347
+ <label>{{'formato' | translate }}</label>
348
+ </p-floatLabel>
349
+ </div>
350
+
351
+ <div class="field col-12 md:col-4"
352
+ [hidden]="!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)">
353
+ <p-floatLabel>
354
+ <p-inputNumber formControlName="ancho" [maxlength]="5"> </p-inputNumber>
355
+ <label>{{'ancho' | translate }}</label>
356
+ </p-floatLabel>
357
+ </div>
358
+
359
+ <div class="field col-12 md:col-4"
360
+ [hidden]="!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)">
361
+ <p-floatLabel>
362
+ <p-inputNumber formControlName="alto" [maxlength]="5"> </p-inputNumber>
363
+ <label>{{'alto' | translate }}</label>
364
+ </p-floatLabel>
365
+ </div>
366
+
367
+ <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MR'">
368
+ <p-floatLabel>
369
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="grupo1"></textarea>
370
+ <label>{{'grupo1' | translate }}</label>
371
+ </p-floatLabel>
372
+ </div>
373
+
374
+ <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MR'">
375
+ <p-floatLabel>
376
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="grupo2"></textarea>
377
+ <label>{{'grupo2' | translate }}</label>
378
+ </p-floatLabel>
379
+ </div>
380
+
381
+ <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MR'">
382
+ <p-floatLabel>
383
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="grupo3"></textarea>
384
+ <label>{{'grupo3' | translate }}</label>
385
+ </p-floatLabel>
386
+ </div>
387
+
388
+ <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MR'">
389
+ <p-floatLabel>
390
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="finalGrupo"></textarea>
391
+ <label>{{'finalgrupo' | translate }}</label>
392
+ </p-floatLabel>
393
+ </div>
394
+
395
+ <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'MR'">
396
+ <p-floatLabel>
397
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="textoRegistro"></textarea>
398
+ <label>{{'texto' | translate }}</label>
399
+ </p-floatLabel>
400
+ </div>
401
+
402
+ <div class="field col-12 md:col-4"
403
+ [hidden]="!['MR','TB'].includes(reporteMarcador.tipo)">
404
+ <p-floatLabel>
405
+ <p-dropdown [options]="listaSiNo" formControlName="tieneSql" [showClear]="true" [autoDisplayFirst]="false"
406
+ optionLabel="nombre" optionValue="codigo"></p-dropdown>
407
+ <label>{{'sql' | translate }}</label>
408
+ </p-floatLabel>
409
+ </div>
410
+
411
+ <div class="field col-12 md:col-4" [hidden]="reporteMarcador.tipo != 'TB'">
412
+ <p-floatLabel>
413
+ <p-dropdown [options]="listaTipoGrafico_JFC" [autoDisplayFirst]="false" [showClear]="true"
414
+ formControlName="tipoGrafico" optionLabel="nombre"
415
+ optionValue="codigo"></p-dropdown>
416
+ <label>{{'grafica' | translate }}</label>
417
+ </p-floatLabel>
418
+ </div>
419
+
420
+ <div class="field col-12 md:col-12"
421
+ [hidden]="!(['MR','TB'].includes(reporteMarcador.tipo) && (['S'].includes(reporteMarcador.tieneSql)))">
422
+ <p-floatLabel>
423
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="query"></textarea>
424
+ <label>{{'consulta' | translate }}</label>
425
+ </p-floatLabel>
426
+ </div>
427
+
428
+ <div class="field col-12 md:col-4"
429
+ [hidden]="!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))">
430
+ <p-floatLabel>
431
+ <p-dropdown [options]="listaFuentes" [autoDisplayFirst]="false" [showClear]="true"
432
+ formControlName="fuente" optionLabel="descripcion"
433
+ optionValue="llave"></p-dropdown>
434
+ <label>{{'fuente' | translate }}</label>
435
+ </p-floatLabel>
436
+ </div>
437
+
438
+ <div class="field col-12 md:col-4" [hidden]="!reporteMarcador.tipoGrafico">
439
+ <p-floatLabel>
440
+ <input pInputText type="text" formControlName="marcadorGrafico" size="25">
441
+ <label>{{'marcadorgrafica' | translate }}</label>
442
+ </p-floatLabel>
443
+ </div>
444
+
445
+ <div class="field col-12 md:col-4"
446
+ [hidden]="!['A'].includes(reporteMarcador.tipoGrafico)">
447
+ <p-floatLabel>
448
+ <input pInputText type="text" formControlName="titulox" size="25">
449
+ <label>{{'titulo' | translate }} X</label>
450
+ </p-floatLabel>
451
+ </div>
452
+
453
+ <div class="field col-12 md:col-4"
454
+ [hidden]="!['A'].includes(reporteMarcador.tipoGrafico)">
455
+ <p-floatLabel>
456
+ <input pInputText type="text" formControlName="tituloy" size="25">
457
+ <label>{{'titulo' | translate }} Y</label>
458
+ </p-floatLabel>
459
+ </div>
460
+
461
+ <div class="field col-12 md:col-4" [hidden]="!reporteMarcador.tipoGrafico">
462
+ <p-floatLabel>
463
+ <input pInputText type="text" formControlName="banda" size="25">
464
+ <label>{{'colordinamico' | translate }}</label>
465
+ </p-floatLabel>
466
+ </div>
467
+
468
+ <div class="field col-12 md:col-4" [hidden]="!reporteMarcador.tipoGrafico">
469
+ <p-floatLabel>
470
+ <input pInputText type="text" formControlName="anchoJasperLabel" size="25">
471
+ <label>{{'numerocategorias' | translate }}</label>
472
+ </p-floatLabel>
473
+ </div>
474
+
475
+ <div class="field col-12 md:col-12"
476
+ [hidden]="!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))">
477
+ <p-floatLabel>
478
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="filtro"></textarea>
479
+ <label>{{'filtro' | translate }}</label>
480
+ </p-floatLabel>
481
+ </div>
482
+ </div>
483
+ </form>
484
+
485
+ <!--BOTONES-->
486
+ <div class="flex justify-content-end mb-3">
487
+ <button pButton pRipple class="ml-2 p-button p-button-raised"
488
+ icon="glyphicons {{reporteMarcador.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save' }}" label="{{reporteMarcador.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}"
489
+ (click)="guardarMarcador()">
490
+ </button>
491
+ <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
492
+ *ngIf="reporteMarcador.llave != null" label="{{'link_eliminar' | translate}}"
493
+ (click)="eliminarMarcador($event)">
494
+ </button>
495
+ </div>
496
+ </div>
497
+ </div>
498
+ <div *ngIf="verNuevoMarcador && reporteMarcador.llave != null && (reporteMarcador.tipo == 'MR' || reporteMarcador.tipo == 'TB')">
499
+ <div class="flex justify-content-end align-items-center mb-3">
500
+ <button pButton label="{{'link_nuevo' | translate}}" (click)="nuevoCampoTabla()" icon="pi pi-plus"
501
+ class="p-ripple p-element p-button p-component p-button-secondary mb-2"></button>
502
+ </div>
503
+ <p-table [value]="listaCamposMarcador" responsiveLayout="scroll" styleClass="p-datatable-striped"
504
+ [rows]="10" [totalRecords]="listaCamposMarcador.length" [scrollable]="true"
505
+ [paginator]="listaCamposMarcador.length > 10"
506
+ [showCurrentPageReport]="true" currentPageReportTemplate="{first} al {last} de {totalRecords} registros"
507
+ editMode="row" dataKey="llave">
508
+ <ng-template pTemplate="header">
509
+ <tr class="fondoTablaPincipal">
510
+ <th style="width: 10%;">{{'columna' | translate }}</th>
511
+ <th style="width: 10%;">{{'campo' | translate }}</th>
512
+ <th style="width: 10%;">{{'formato' | translate }}</th>
513
+ <th style="width: 10%;" *ngIf="reporteMarcador.tipo == 'TB'">{{'tipo' | translate }}</th>
514
+ <th style="width: 10%;"*ngIf="reporteMarcador.tipo == 'TB'">{{'medidas' | translate }}</th>
515
+ <th style="width: 10%;"> </th>
516
+ </tr>
517
+ <tr class="TablaNuevoRegistro" *ngIf="verReporteMarcadorDetalle">
518
+ <td style="width: 10%;">
519
+ <input pInputText [(ngModel)]="campoMarcadorInsertar.columna"
520
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo"
521
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo" />
522
+ </td>
523
+ <td style="width: 10%;">
524
+ <input pInputText type="text" [(ngModel)]="campoMarcadorInsertar.campoFuente"
525
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo"
526
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo">
527
+ </td>
528
+ <td style="width: 10%;">
529
+ <input pInputText type="text" [(ngModel)]="campoMarcadorInsertar.formato">
530
+ </td>
531
+ <td style="width: 10%;" *ngIf="reporteMarcador.tipo == 'TB'">
532
+ <p-dropdown [options]="listaGrafico" optionLabel="nombre" optionValue="codigo"
533
+ [(ngModel)]="campoMarcadorInsertar.tipo" appendTo="body" [autoZIndex]="false"
534
+ [autoDisplayFirst]="false" [showClear]="true"></p-dropdown>
535
+ </td>
536
+ <td style="width: 10%;" *ngIf="reporteMarcador.tipo == 'TB'">
537
+ <div *ngIf="campoMarcadorInsertar.tipo =='I'">
538
+ <p-floatLabel>
539
+ <input pInputText type="text" [(ngModel)]="campoMarcadorInsertar.ancho">
540
+ <label>{{'ancho' | translate}}</label>
541
+ </p-floatLabel>
542
+ <p-floatLabel>
543
+ <input pInputText type="text" [(ngModel)]="campoMarcadorInsertar.alto">
544
+ <label>{{'alto' | translate}}</label>
545
+ </p-floatLabel>
546
+ </div>
547
+ </td>
548
+ <td style="width: 10%;" >
549
+ <div class="flex justify-content-end">
550
+ <button pButton pRipple type="button" icon="pi pi-check" (click)="agregarCampoMarcador(campoMarcadorInsertar)"
551
+ class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
552
+ <button pButton pRipple type="button" (click)="verReporteMarcadorDetalle = false" icon="pi pi-times"
553
+ class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
554
+ </div>
555
+ </td>
556
+ </tr>
557
+ </ng-template>
558
+ <ng-template pTemplate="body" let-campo let-editing="editing" let-ri="rowIndex">
559
+ <tr [pEditableRow]="campo">
560
+ <td style="width: 10%;">
561
+ <p-cellEditor>
562
+ <ng-template pTemplate="input">
563
+ <input pInputText type="text" [(ngModel)]="campo.columna" oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
564
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo"
565
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo" />
566
+ </ng-template>
567
+ <ng-template pTemplate="output">
568
+ {{campo.columna}}
569
+ </ng-template>
570
+ </p-cellEditor>
571
+ </td>
572
+ <td style="width: 10%;">
573
+ <p-cellEditor>
574
+ <ng-template pTemplate="input">
575
+ <input pInputText type="text" [(ngModel)]="campo.campoFuente"
576
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo"
577
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo">
578
+ </ng-template>
579
+ <ng-template pTemplate="output">
580
+ {{campo.campoFuente}}
581
+ </ng-template>
582
+ </p-cellEditor>
583
+ </td>
584
+
585
+ <td style="width: 10%;">
586
+ <p-cellEditor>
587
+ <ng-template pTemplate="input">
588
+ <input pInputText type="text" [(ngModel)]="campo.formato">
589
+ </ng-template>
590
+ <ng-template pTemplate="output">
591
+ {{campo.formato}}
592
+ </ng-template>
593
+ </p-cellEditor>
594
+ </td>
595
+
596
+ <td style="width: 10%;" *ngIf="reporteMarcador.tipo == 'TB'">
597
+ <p-cellEditor>
598
+ <ng-template pTemplate="input">
599
+ <p-dropdown [options]="listaGrafico" optionLabel="nombre" optionValue="codigo"
600
+ [(ngModel)]="campo.tipo" appendTo="body" [autoZIndex]="false"
601
+ [autoDisplayFirst]="false" [showClear]="true"></p-dropdown>
602
+ </ng-template>
603
+ <ng-template pTemplate="output">
604
+ {{campo.tipo | reporteFuentePipe :'listaRecursoGrafica'}}
605
+ </ng-template>
606
+ </p-cellEditor>
607
+ </td>
608
+
609
+ <td style="width: 10%;" *ngIf="reporteMarcador.tipo == 'TB'">
610
+ <p-cellEditor>
611
+ <ng-template pTemplate="input">
612
+ <div *ngIf="campo.tipo =='I'">
613
+ <p-floatLabel>
614
+ <input pInputText type="text" [(ngModel)]="campo.ancho">
615
+ <label>{{'ancho' | translate}}</label>
616
+ </p-floatLabel>
617
+ <p-floatLabel>
618
+ <input pInputText type="text" [(ngModel)]="campo.alto">
619
+ <label>{{'alto' | translate}}</label>
620
+ </p-floatLabel>
621
+ </div>
622
+ </ng-template>
623
+ <ng-template pTemplate="output">
624
+ <div *ngIf="campo.tipo =='I'">
625
+ {{'ancho' | translate}}: {{campo.ancho}} <br/>
626
+ {{'alto' | translate}}: {{campo.alto}}
627
+ </div>
628
+ </ng-template>
629
+ </p-cellEditor>
630
+ </td>
631
+ <td style="width: 10%;">
632
+ <div class="flex justify-content-end">
633
+ <!-- CHECK GUARDAR -->
634
+ <button *ngIf="editing" pButton pRipple type="button" pSaveEditableRow
635
+ icon="pi pi-check" (click)="agregarCampoMarcador(campo)"
636
+ class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
637
+ <!-- CANCELAR -->
638
+ <button *ngIf="editing" pButton pRipple type="button" pCancelEditableRow
639
+ icon="pi pi-times" (click)="cargarListaCampoMarcadorAsync()"
640
+ class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
641
+ <!-- EDITAR -->
642
+ <button *ngIf="!editing" pButton pRipple type="button" pInitEditableRow
643
+ icon="glyphicons glyphicons-pencil"
644
+ class="p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only"></button>
645
+ <!-- ELIMINAR -->
646
+ <button *ngIf="!editing" pButton pRipple type="button" pDeleteEditableRow
647
+ icon="pi pi-trash" (click)="eliminarCampoMarcador($event,campo)"
648
+ class="p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only"></button>
649
+ </div>
650
+ </td>
651
+
652
+ </tr>
653
+ </ng-template>
654
+ <ng-template pTemplate="emptymessage">
655
+ <tr>
656
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
657
+ </tr>
658
+ </ng-template>
659
+ </p-table>
660
+ </div>
661
+ </p-tabPanel>
662
+ <p-tabPanel header="{{'soporte' | translate }} {{'archivo' | translate }}s"
663
+ *ngIf="reporteFuente.unicoArchivo == 'N'">
664
+ <div class="flex justify-content-end align-items-center mb-3">
665
+ <button pButton label="{{'link_nuevo' | translate}}" (click)="nuevoSoporte()" icon="pi pi-plus"
666
+ [disabled]="habilitaCampo" class="p-ripple p-element p-button p-component p-button-secondary mb-2"></button>
667
+ </div>
668
+ <p-table [value]="listaSoportes" responsiveLayout="scroll" styleClass="p-datatable-striped"
669
+ [rows]="10" [totalRecords]="listaSoportes.length"
670
+ [paginator]="listaSoportes.length > 10"
671
+ [showCurrentPageReport]="true" currentPageReportTemplate="{first} al {last} de {totalRecords} registros"
672
+ editMode="row" dataKey="llaveTabla">
673
+ <ng-template pTemplate="header">
674
+ <tr class="fondoTablaPincipal">
675
+ <th style="width: 45%">{{'descripcion' | translate}}</th>
676
+ <th style="width: 45%">{{'archivo' | translate}}</th>
677
+ <th style="width: 10%"> </th>
678
+ </tr>
679
+ <tr class="TablaNuevoRegistro" *ngIf="verSoporteArchivoDetalle">
680
+ <td style="width: 45%">
681
+ <input pInputText type="text" [(ngModel)]="soporteIngresar.descripcion" style="width: -webkit-fill-available"
682
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo"
683
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo">
684
+ </td>
685
+ <td style="width: 45%">
686
+ <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
687
+ [label]="soporteIngresar.archivoIndividual ? soporteIngresar.archivoIndividual: ''" [labelarch]="'archivo' | translate"
688
+ [mostrarLabelInput]="false" [mostraroblicargo]="!(!utilsService.validarCampoObligatorio(soporteIngresar.archivoIndividual) && clickGuardarSoporteArchivo)"
689
+ (onSelected)="obtenerArchivoSoporte($event, soporteIngresar)"></app-input-helper-seleccion-plantilla>
690
+ </td>
691
+ <td style="width: 10%">
692
+ <div class="flex justify-content-end">
693
+ <button pButton pRipple type="button" icon="pi pi-check" (click)="agregarSoporte(soporteIngresar)"
694
+ class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
695
+ <button pButton pRipple type="button" (click)="verSoporteArchivoDetalle = false" icon="pi pi-times" (click)="cancelarSoporte()"
696
+ class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
697
+ </div>
698
+ </td>
699
+ </tr>
700
+ </ng-template>
701
+ <ng-template pTemplate="body" let-soporte let-editing="editing" let-ri="rowIndex">
702
+ <tr [pEditableRow]="soporte" style="width: 100%">
703
+ <td style="width: 45%">
704
+ <p-cellEditor>
705
+ <ng-template pTemplate="input">
706
+ <input pInputText type="text" [(ngModel)]="soporte.descripcion" style="width: -webkit-fill-available"
707
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo"
708
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo">
709
+ </ng-template>
710
+ <ng-template pTemplate="output">
711
+ {{soporte.descripcion}}
712
+ </ng-template>
713
+ </p-cellEditor>
714
+ </td>
715
+ <td style="width: 45%">
716
+ <p-cellEditor>
717
+ <ng-template pTemplate="input">
718
+ <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
719
+ [label]="soporte.archivoIndividual ? soporte.archivoIndividual: ''"
720
+ [mostrarLabelInput]="false" [mostraroblicargo]="!(!utilsService.validarCampoObligatorio(soporte.archivoIndividual) && clickGuardarSoporteArchivo)"
721
+ (onSelected)="obtenerArchivoSoporte($event, soporte)"></app-input-helper-seleccion-plantilla>
722
+ </ng-template>
723
+ <ng-template pTemplate="output">
724
+ {{soporte.archivoIndividual}}
725
+ </ng-template>
726
+ </p-cellEditor>
727
+ </td>
728
+ <td style="width: 10%">
729
+ <div class="flex justify-content-end">
730
+ <!-- CHECK GUARDAR -->
731
+ <button *ngIf="editing" pButton pRipple type="button" pSaveEditableRow
732
+ icon="pi pi-check" (click)="agregarSoporte(soporte)"
733
+ class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
734
+ <!-- CANCELAR -->
735
+ <button *ngIf="editing" pButton pRipple type="button" pCancelEditableRow
736
+ icon="pi pi-times" (click)="cancelarEdicion()"
737
+ class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
738
+ <!-- EDITAR -->
739
+ <button *ngIf="!editing" pButton pRipple type="button" pInitEditableRow
740
+ icon="glyphicons glyphicons-pencil" [disabled]="habilitaCampo" (click)="iniciarEdicion()"
741
+ class="p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only"></button>
742
+ <!-- ELIMINAR -->
743
+ <button *ngIf="!editing" pButton pRipple type="button" pDeleteEditableRow
744
+ icon="pi pi-trash" (click)="eliminarSoporte($event, soporte)" [disabled]="habilitaCampo"
745
+ class="p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only"></button>
746
+ </div>
747
+ </td>
748
+ </tr>
749
+ </ng-template>
750
+ <ng-template pTemplate="emptymessage">
751
+ <tr>
752
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
753
+ </tr>
754
+ </ng-template>
755
+ </p-table>
756
+ </p-tabPanel>
757
+ </p-tabView>
758
+ </p-tabPanel>
759
+ <p-tabPanel header="{{'reporte' | translate }} {{'dinamico' | translate }}">
760
+ <div class="card col-md-12">
761
+ <div class="Detallereporte mt-2">
762
+ <div class="p-fluid p-formgrid grid">
763
+
764
+ <div class="field col-12 md:col-4">
765
+ <p-floatLabel>
766
+ <p-dropdown [options]="listaSiNo" [(ngModel)]="reporteFuente.dobleLinea" [showClear]="true" [autoDisplayFirst]="false"
767
+ optionLabel="nombre" optionValue="codigo"></p-dropdown>
768
+ <label>{{'doblelinea' | translate }}</label>
769
+ </p-floatLabel>
770
+ </div>
771
+
772
+ <div class="field col-12 md:col-4">
773
+ <p-floatLabel>
774
+ <input pInputText type="text" [(ngModel)]="reporteFuente.tituloParametro" size="25"
775
+ maxlength="100">
776
+ <label>{{'descripcion' | translate }}</label>
777
+ </p-floatLabel>
778
+ </div>
779
+
780
+ <div class="field col-12 md:col-4">
781
+ <p-floatLabel>
782
+ <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true"
783
+ [(ngModel)]="reporteFuente.cifradoJasper" optionLabel="nombre"
784
+ optionValue="llaveTabla"></p-dropdown>
785
+ <label>{{'tipocifrado' | translate }}</label>
786
+ </p-floatLabel>
787
+ </div>
788
+ </div>
789
+ <!--BOTONES-->
790
+ <div class="flex justify-content-end mb-3">
791
+
792
+
793
+ <button pButton pRipple class="ml-2 p-button-outlined background-100" icon="glyphicons glyphicons-restart"
794
+ label="{{'link_generar' | translate}}" (click)="generarJasper()">
795
+ </button>
796
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
797
+ label="{{'link_actualizar' | translate}}" (click)="actualizar()">
798
+ </button>
799
+ <button pButton pRipple class="ml-2 p-button-outlined" icon="pi pi-download" *ngIf="existeJasper"
800
+ label="{{'link_descargar' | translate}}" (click)="descargarJasper()">
801
+ </button>
802
+
803
+ </div>
804
+ </div>
805
+ </div>
806
+
807
+ <div class="flex justify-content-end align-items-center mt-2 mb-2">
808
+ <div class="flex justify-content-end mb-1" *ngIf="bandaSeleccionada.key">
809
+ <button pButton pRipple (click)="regresarBandaSeleccionada()" label= "{{'listado' | translate}} {{'bandas' | translate}}"
810
+ icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
811
+ </div>
812
+ </div>
813
+ <p-table [value]="listaTipoBanda" [scrollable]="true" responsiveLayout="scroll"
814
+ dataKey="llaveTabla" selectionMode="single" [rows]="10"
815
+ [totalRecords]="listaTipoBanda.length" [paginator]="listaTipoBanda.length > 10"
816
+ (onRowSelect)="verBanda($event)" (onRowUnselect)="verBanda($event)" *ngIf="!bandaSeleccionada.key">
817
+ <ng-template pTemplate="header">
818
+
819
+ <tr class="fondoTablaPincipal">
820
+ <th>{{'banda' | translate }}</th>
821
+ </tr>
822
+ <th>
823
+ </ng-template>
824
+ <ng-template pTemplate="body" let-banda>
825
+ <tr [pSelectableRow]="banda">
826
+ <td>{{banda.value}}</td>
827
+ </tr>
828
+ </ng-template>
829
+ <ng-template pTemplate="emptymessage">
830
+ <tr>
831
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
832
+ </tr>
833
+ </ng-template>
834
+ </p-table>
835
+
836
+ <p-tabView *ngIf="bandaSeleccionada.key && verTabBanda">
837
+ <p-tabPanel header="{{'caracteristicas' | translate}}"
838
+ *ngIf="!['detalle','summary'].includes(bandaSeleccionada.key)">
839
+ <div class="card col-md-12">
840
+ <div class="Detallereporte mt-2">
841
+ <div class="p-fluid p-formgrid grid" >
842
+ <div class="field col-12 md:col-6">
843
+ <p-floatLabel>
844
+ <p-dropdown [options]="listaSiNo" [autoDisplayFirst]="false" [showClear]="true" optionLabel="nombre" optionValue="codigo"
845
+ [(ngModel)]="reporteBanda.totales" ></p-dropdown>
846
+ <label>{{'total' | translate }}</label>
847
+ </p-floatLabel>
848
+ </div>
849
+ <div class="field col-12 md:col-6">
850
+ <p-floatLabel>
851
+ <input pInputText type="text" [(ngModel)]="reporteBanda.titulo" maxlength="200">
852
+ <label>{{'titulo' | translate }}</label>
853
+ </p-floatLabel>
854
+ </div>
855
+ </div>
856
+ <!--BOTONES-->
857
+ <div class="flex justify-content-end mb-3">
858
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-floppy-save"
859
+ label="{{'link_guardar' | translate}}" (click)="guardarCaracteristicaBanda()">
860
+ </button>
861
+ </div>
862
+ </div>
863
+ </div>
864
+ </p-tabPanel>
865
+ <p-tabPanel header="{{bandaSeleccionada.value}}" *ngIf="!nuevaBanda">
866
+ <div class="flex justify-content-end align-items-center mt-2 mb-2">
867
+ <div class="flex justify-content-end mb-1" >
868
+ <button pButton label="{{'link_nuevo' | translate}}" (click)="nuevoMarcadorDinamico()" icon="pi pi-plus"
869
+ class="p-ripple p-element p-button p-component p-button-secondary mb-2" *ngIf="!nuevoReporteMarcadorDinamico"></button>
870
+ </div>
871
+ </div>
872
+ <p-table [value]="listaMarcadorDinamico" [scrollable]="true"
873
+ responsiveLayout="scroll" dataKey="llaveTabla" selectionMode="single"
874
+ [rows]="10" [totalRecords]="listaMarcadorDinamico.length"
875
+ [paginator]="listaMarcadorDinamico.length > 10" *ngIf="!nuevoReporteMarcadorDinamico"
876
+ (onRowSelect)="verMarcadorDinamico($event)" (onRowUnselect)="verMarcadorDinamico($event)">
877
+ <ng-template pTemplate="header">
878
+
879
+ <tr class="fondoTablaPincipal">
880
+ <th>{{'banda' | translate }}</th>
881
+ <th>{{'orden' | translate }}</th>
882
+ <th>{{'columna' | translate }}</th>
883
+ <th>{{'etiqueta' | translate }}</th>
884
+ <th>{{'formato' | translate }}</th>
885
+ <th>{{'ancho' | translate }}</th>
886
+ <th>{{'operacion' | translate }}</th>
887
+ </tr>
888
+ <th>
889
+ </ng-template>
890
+ <ng-template pTemplate="body" let-dinamico>
891
+ <tr [pSelectableRow]="dinamico">
892
+ <td>{{dinamico.banda}}</td>
893
+ <td>{{dinamico.banda ? dinamico.alto : ''}}</td>
894
+ <td>{{dinamico.marcador}}</td>
895
+ <td>{{dinamico.banda ? dinamico.descripcion : ''}}</td>
896
+ <td>{{dinamico.banda ? dinamico.formato : ''}}</td>
897
+ <td>{{['detalle'].includes(dinamico.banda) ? dinamico.ancho : ''}}</td>
898
+ <td>{{dinamico.banda ? dinamico.operacion : ''}}</td>
899
+ </tr>
900
+ </ng-template>
901
+ <ng-template pTemplate="emptymessage">
902
+ <tr>
903
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
904
+ </tr>
905
+ </ng-template>
906
+ </p-table>
907
+
908
+ <div *ngIf="nuevoReporteMarcadorDinamico">
909
+ <div class="card col-md-12">
910
+ <div class="Detallereporte mt-2">
911
+ <div class="flex justify-content-between align-items-center mb-2">
912
+ <p class="font-semibold mt-3">{{'indique' | translate}} {{'en' | translate}} {{'que' | translate}} {{'columna' | translate}} {{'desea' | translate}} {{'que' | translate}} {{'aparezca' | translate}} {{'la' | translate}} {{'informacion' | translate}}. {{'la' | translate}} {{'primera' | translate}} {{'columna' | translate}} {{'es' | translate}} {{'la' | translate}} 1.</p>
913
+ <button pButton pRipple (click)="nuevoReporteMarcadorDinamico = false" label= "{{'listado' | translate}} {{bandaSeleccionada.value}}"
914
+ icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 " *ngIf="nuevoReporteMarcadorDinamico"></button>
915
+ </div>
916
+ <form [formGroup]="formReporteDinamico" class="p-fluid grid">
917
+ <div class="field col-12 md:col-4">
918
+ <p-floatLabel>
919
+ <p-dropdown [options]="listaTipoCampoJasperDinamico"
920
+ [autoDisplayFirst]="false" formControlName="tipoCampo"
921
+ optionLabel="value" optionValue="key"></p-dropdown>
922
+ <label>{{'tipocampo' | translate }} *</label>
923
+ </p-floatLabel>
924
+ </div>
925
+ <div class="field col-12 md:col-4" *ngIf="reporteMarcadorDinamico.tipoCampo =='C'">
926
+ <p-floatLabel>
927
+ <p-dropdown [options]="listaTipoDatoSintaxis" [autoDisplayFirst]="false"
928
+ formControlName="tipoDato" optionLabel="value"
929
+ optionValue="key"></p-dropdown>
930
+ <label>{{'tipodato' | translate }} *</label>
931
+ </p-floatLabel>
932
+ </div>
933
+ <div class="field col-12 md:col-4">
934
+ <p-floatLabel>
935
+ <input pInputText formControlName="alto" maxlength="5"
936
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);" />
937
+ <label>{{'orden' | translate }} *</label>
938
+ </p-floatLabel>
939
+ </div>
940
+ <div class="field col-12 md:col-4" *ngIf="reporteMarcadorDinamico.tipoCampo !='C'">
941
+ <p-floatLabel>
942
+ <p-dropdown [options]="listaColumnas" [autoDisplayFirst]="false"
943
+ formControlName="marcador" optionLabel="nombre" optionValue="llaveTabla"
944
+ *ngIf="!reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'"></p-dropdown>
945
+ <input pInputText type="text" formControlName="marcador" size="25"
946
+ *ngIf="reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'">
947
+ <label>{{'columna' | translate }} *</label>
948
+ </p-floatLabel>
949
+ </div>
950
+
951
+ <div class="field col-12 md:col-12" *ngIf="reporteMarcadorDinamico.tipoCampo =='C'">
952
+ <p-floatLabel>
953
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea formControlName="filtro"></textarea>
954
+ <label>{{'sintaxis' | translate }} *</label>
955
+ </p-floatLabel>
956
+ </div>
957
+
958
+ <div class="field col-12 md:col-12">
959
+ <p-fieldset class="fieldsintitulo" class="fieldsintitulo">
960
+ <div class="p-fluid grid">
961
+ <div class="field col-12 md:col-6 lg:col-6 mb-0">
962
+ <label class="font-semibold text-gray-900 text-base ml-1">{{'resultado' | translate}}</label>
963
+ </div>
964
+ <div class="field col-12 md:col-6 lg:col-6 mb-0" *ngIf="reporteMarcadorDinamico.tipoCampo =='C'"></div>
965
+ <div class="field col-12 md:col-6 lg:col-6 mb-0" *ngIf="reporteMarcadorDinamico.tipoCampo !='C'">
966
+ <label class="font-semibold text-gray-900 text-base ml-1" >{{'label' | translate}}</label>
967
+ </div>
968
+ <div class="field col-12 md:col-6 lg:col-6">
969
+ <p-floatLabel>
970
+ <input pInputText type="text" formControlName="formato" />
971
+ <label>{{'formato' | translate }}</label>
972
+ </p-floatLabel>
973
+ </div>
974
+ <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C'">
975
+ <p-floatLabel>
976
+ <input pInputText type="text" formControlName="descripcion" />
977
+ <label>{{'titulo' | translate }}</label>
978
+ </p-floatLabel>
979
+ </div>
980
+ <div class="field col-12 md:col-6 lg:col-6">
981
+ <p-floatLabel>
982
+ <input pInputText type="text" formControlName="ancho"
983
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);" />
984
+ <label>{{'ancho' | translate }} *</label>
985
+ </p-floatLabel>
986
+ </div>
987
+ <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' == reporteMarcadorDinamico.banda "></div>
988
+ <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda ">
989
+ <p-floatLabel>
990
+ <input pInputText type="text" formControlName="anchoJasperLabel"
991
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"/>
992
+ <label>{{'ancho' | translate }}</label>
993
+ </p-floatLabel>
994
+ </div>
995
+ <div class="field col-12 md:col-6 lg:col-6" *ngIf="'detalle' != reporteMarcadorDinamico.banda">
996
+ <p-floatLabel>
997
+ <input pInputText type="text" formControlName="resultadoX"
998
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"/>
999
+ <label>{{'x' | translate }} *</label>
1000
+ </p-floatLabel>
1001
+ </div>
1002
+ <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda ">
1003
+ <p-floatLabel>
1004
+ <input pInputText type="text" formControlName="titulox"
1005
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"/>
1006
+ <label>{{'x' | translate }}</label>
1007
+ </p-floatLabel>
1008
+ </div>
1009
+ <div class="field col-12 md:col-6 lg:col-6" *ngIf="'detalle' != reporteMarcadorDinamico.banda">
1010
+ <p-floatLabel>
1011
+ <input pInputText type="text" formControlName="resultadoY"
1012
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"/>
1013
+ <label>{{'y' | translate }} *</label>
1014
+ </p-floatLabel>
1015
+ </div>
1016
+ <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda ">
1017
+ <p-floatLabel>
1018
+ <input pInputText type="text" formControlName="tituloy"
1019
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"/>
1020
+ <label>{{'y' | translate }}</label>
1021
+ </p-floatLabel>
1022
+ </div>
1023
+ <div class="field col-12 md:col-6 lg:col-6">
1024
+ <p-floatLabel>
1025
+ <p-dropdown [options]="listaAlineacion" [autoDisplayFirst]="false"
1026
+ formControlName="tipoReporte" optionLabel="nombre" optionValue="codigo" ></p-dropdown>
1027
+ <label>{{'alineacion' | translate }} *</label>
1028
+ </p-floatLabel>
1029
+ </div>
1030
+ <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoCampo !='C'">
1031
+ <p-floatLabel>
1032
+ <p-dropdown [options]="listaAlineacion" [autoDisplayFirst]="false" [showClear]="true"
1033
+ formControlName="tipoGrafico" optionLabel="nombre" optionValue="codigo" ></p-dropdown>
1034
+ <label>{{'alineacion' | translate }}</label>
1035
+ </p-floatLabel>
1036
+ </div>
1037
+ <div class="field col-12 md:col-6 lg:col-6" *ngIf="reporteMarcadorDinamico.tipoDato == 'N' && reporteMarcadorDinamico.tipoCampo !='C'">
1038
+ <p-floatLabel>
1039
+ <p-dropdown [options]="listaOperaciones" [autoDisplayFirst]="false" [showClear]="true"
1040
+ formControlName="operacion" optionLabel="nombre" optionValue="codigo" ></p-dropdown>
1041
+ <label>{{'operacion' | translate }}</label>
1042
+ </p-floatLabel>
1043
+ </div>
1044
+ </div>
1045
+ </p-fieldset>
1046
+ </div>
1047
+ </form>
1048
+
1049
+ <!--BOTONES-->
1050
+ <div class="flex justify-content-end mb-3" >
1051
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{reporteMarcadorDinamico.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1052
+ label="{{reporteMarcadorDinamico.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarColumnaDinamico()">
1053
+ </button>
1054
+ <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1055
+ *ngIf="reporteMarcadorDinamico.llave != null" label="{{'link_eliminar' | translate}}"
1056
+ (click)="eliminarColumnaDinamico($event)">
1057
+ </button>
1058
+ </div>
1059
+ </div>
1060
+ </div>
1061
+ </div>
1062
+ </p-tabPanel>
1063
+
1064
+ </p-tabView>
1065
+ </p-tabPanel>
1066
+ <p-tabPanel header="{{'reporte' | translate }} {{'texto' | translate }}">
1067
+ <div class="card col-md-12">
1068
+ <div class="Detallereporte mt-2">
1069
+ <div class="p-fluid p-formgrid grid">
1070
+
1071
+ <div class="field col-12 md:col-4">
1072
+ <p-floatLabel>
1073
+ <input pInputText type="text" [(ngModel)]="reporteFuente.archivoTexto" size="50"
1074
+ maxlength="200">
1075
+ <label>{{'nombrearchivo' | translate }}</label>
1076
+ </p-floatLabel>
1077
+ </div>
1078
+
1079
+ <div class="field col-12 md:col-4">
1080
+ <p-floatLabel>
1081
+ <p-dropdown [options]="listaSeparadores" [(ngModel)]="reporteFuente.separador"
1082
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto"
1083
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto"
1084
+ [autoDisplayFirst]="false" optionLabel="nombre" optionValue="codigo" ></p-dropdown>
1085
+ <label>{{'separador' | translate }}*</label>
1086
+ </p-floatLabel>
1087
+ </div>
1088
+
1089
+ <div class="field col-12 md:col-4">
1090
+ <p-floatLabel>
1091
+ <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true"
1092
+ [(ngModel)]="reporteFuente.cifradoTexto" optionLabel="nombre"
1093
+ optionValue="llaveTabla"></p-dropdown>
1094
+ <label>{{'tipocifrado' | translate }}</label>
1095
+ </p-floatLabel>
1096
+ </div>
1097
+
1098
+ </div>
1099
+ <!--BOTONES-->
1100
+ <div class="flex justify-content-end mb-3">
1101
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
1102
+ label="{{'link_actualizar' | translate}}" (click)="actualizarSeparador()">
1103
+ </button>
1104
+ </div>
1105
+ </div>
1106
+ </div>
1107
+
1108
+ <div class="flex justify-content-between lign-items-center mb-3">
1109
+ <h1 class="text-xl">{{'marcadores' | translate}}</h1>
1110
+ <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
1111
+ (click)="nuevoMarcadorTexto()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoMarcadorTexto">
1112
+ </button>
1113
+ <div class="flex justify-content-end mb-1" *ngIf="verNuevoMarcadorTexto">
1114
+ <button pButton pRipple (click)="verNuevoMarcadorTexto = false; clickGuardarMarcadorTexto = false;" label= "{{'listado' | translate}} {{'marcadores' | translate}}"
1115
+ icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
1116
+ </div>
1117
+ </div>
1118
+ <p-table [value]="listaMarcadoresTexto" [scrollable]="true" responsiveLayout="scroll"
1119
+ dataKey="llaveTabla" selectionMode="single"
1120
+ [rows]="10" [totalRecords]="listaMarcadoresTexto.length"
1121
+ [paginator]="listaMarcadoresTexto.length > 10" *ngIf="!verNuevoMarcadorTexto"
1122
+ (onRowSelect)="verMarcadorTexto($event)" (onRowUnselect)="verMarcadorTexto($event)">
1123
+ <ng-template pTemplate="header">
1124
+
1125
+ <tr class="fondoTablaPincipal">
1126
+ <th>{{'tipo' | translate }}</th>
1127
+ <th>{{'columna' | translate }}</th>
1128
+ <th>{{'formato' | translate }}</th>
1129
+ <th>{{'orden' | translate }}</th>
1130
+ </tr>
1131
+ <th>
1132
+ </ng-template>
1133
+ <ng-template pTemplate="body" let-marctexto>
1134
+ <tr [pSelectableRow]="marctexto">
1135
+ <td>{{marctexto.tipoGrafico | reporteFuentePipe : 'listaTipoMarcadoresTexto'}}</td>
1136
+ <td>{{marctexto.nombreColumna}}</td>
1137
+ <td>{{marctexto.formato}}</td>
1138
+ <td>{{marctexto.alto}}</td>
1139
+ </tr>
1140
+ </ng-template>
1141
+ <ng-template pTemplate="emptymessage">
1142
+ <tr>
1143
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1144
+ </tr>
1145
+ </ng-template>
1146
+ </p-table>
1147
+ <div class="card mt-3" *ngIf="verNuevoMarcadorTexto">
1148
+ <h5 class="mt-3"><i class="glyphicons glyphicons-notes"></i>{{'detalle' | translate}}</h5>
1149
+ <div class="Detallereporte mt-2">
1150
+ <div class="p-fluid p-formgrid grid" >
1151
+ <div class="field col-12 md:col-4">
1152
+ <p-floatLabel>
1153
+ <p-dropdown [options]="listaTipoMarcadorTexto" [autoDisplayFirst]="false"
1154
+ [(ngModel)]="marcadorTexto.tipoGrafico" optionLabel="nombre" optionValue="codigo"
1155
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto"
1156
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto"></p-dropdown>
1157
+ <label>{{'tipo' | translate }} *</label>
1158
+ </p-floatLabel>
1159
+ </div>
1160
+
1161
+ <div class="field col-12 md:col-4" *ngIf="marcadorTexto.tipoGrafico == 'D'">
1162
+ <p-floatLabel>
1163
+ <p-dropdown [options]="listaColumnas" [autoDisplayFirst]="false"
1164
+ [(ngModel)]="marcadorTexto.reporteColumna" optionLabel="nombre" optionValue="llaveTabla"
1165
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto"
1166
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto"></p-dropdown>
1167
+ <label>{{'columna' | translate }} *</label>
1168
+ </p-floatLabel>
1169
+ </div>
1170
+
1171
+ <div class="field col-12 md:col-4" *ngIf="marcadorTexto.tipoGrafico">
1172
+ <p-floatLabel>
1173
+ <input pInputText type="text" [(ngModel)]="marcadorTexto.formato" maxlength="50"
1174
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto"
1175
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto">
1176
+ <label>{{marcadorTexto.tipoGrafico == 'D' ? ('formato' | translate)+'*' : ('descripcion' | translate)+'*' }}</label>
1177
+ </p-floatLabel>
1178
+ </div>
1179
+
1180
+ <div class="field col-12 md:col-4" *ngIf="marcadorTexto.tipoGrafico == 'D'">
1181
+ <p-floatLabel>
1182
+ <input pInputText type="text" [(ngModel)]="marcadorTexto.ancho" maxlength="22"
1183
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1184
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto"
1185
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto">
1186
+ <label>{{'ancho' | translate}} *</label>
1187
+ </p-floatLabel>
1188
+ </div>
1189
+
1190
+ <div class="field col-12 md:col-4" *ngIf="marcadorTexto.tipoGrafico">
1191
+ <p-floatLabel>
1192
+ <input pInputText type="text" [(ngModel)]="marcadorTexto.alto" maxlength="22"
1193
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1194
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto"
1195
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto">
1196
+ <label>{{'orden' | translate}} *</label>
1197
+ </p-floatLabel>
1198
+ </div>
1199
+ </div>
1200
+ <!--BOTONES-->
1201
+ <div class="flex justify-content-end mb-3" >
1202
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{marcadorTexto.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1203
+ label="{{marcadorTexto.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarMarcadorTexto()">
1204
+ </button>
1205
+ <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1206
+ *ngIf="marcadorTexto.llave != null" label="{{'link_eliminar' | translate}}"
1207
+ (click)="eliminarMarcadoTexto($event)">
1208
+ </button>
1209
+ </div>
1210
+ </div>
1211
+ </div>
1212
+ </p-tabPanel>
1213
+ <p-tabPanel header="{{'tabla' | translate }}">
1214
+ <div class="card col-md-12">
1215
+ <div class="Detallereporte mt-2">
1216
+ <div class="p-fluid p-formgrid grid" >
1217
+ <div class="field col-12 md:col-4">
1218
+ <p-floatLabel>
1219
+ <input pInputText type="text" [(ngModel)]="reporteFuente.nombreTabla" maxlength="4000">
1220
+ <label>{{'nombretabla' | translate }}</label>
1221
+ </p-floatLabel>
1222
+ </div>
1223
+ <div class="field col-12 md:col-8">
1224
+ <!--BOTONES-->
1225
+ <div class="flex justify-content-end mb-3">
1226
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
1227
+ label="{{'link_actualizar' | translate}}" (click)="actualizar()">
1228
+ </button>
1229
+ </div>
1230
+ </div>
1231
+ </div>
1232
+ </div>
1233
+ </div>
1234
+
1235
+ <p-pickList [source]="listaTabla" [target]="listaNoTabla" sourceHeader="Asociado" sourceFilterPlaceholder="Asociado"
1236
+ targetHeader="Desasociado" [dragdrop]="true" [responsive]="true" targetFilterPlaceholder="Desasociado"
1237
+ filterBy="nombre" *ngIf="isFuente()" (onSourceReorder)="reorderTabla($event)"
1238
+ (onMoveAllToTarget)="moverADesasociadoTabla($event)" (onMoveAllToSource)="moverAAsociadoTabla($event)"
1239
+ (onMoveToTarget)="moverADesasociadoTabla($event)" (onMoveToSource)="moverAAsociadoTabla($event)">
1240
+ <ng-template let-tabla pTemplate="item">
1241
+ <div>
1242
+ <label>{{tabla.nombre}}</label>
1243
+ </div>
1244
+ </ng-template>
1245
+ </p-pickList>
1246
+ </p-tabPanel>
1247
+ <p-tabPanel header="{{'archivoxml' | translate }}">
1248
+ <div class="card col-md-12">
1249
+ <div class="Detallereporte mt-2">
1250
+ <div class="p-fluid p-formgrid grid">
1251
+
1252
+ <div class="field col-12 md:col-6">
1253
+ <p-floatLabel>
1254
+ <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="reporteFuente.tagEncabezado"></textarea>
1255
+ <label>{{'tagencabezado' | translate }}</label>
1256
+ </p-floatLabel>
1257
+ </div>
1258
+
1259
+ <div class="field col-12 md:col-6">
1260
+ <p-floatLabel>
1261
+ <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="reporteFuente.tagCierreEncabezado"></textarea>
1262
+ <label>{{'tagcierreencabezado' | translate }}</label>
1263
+ </p-floatLabel>
1264
+ </div>
1265
+
1266
+ <div class="field col-12 md:col-6">
1267
+ <p-floatLabel>
1268
+ <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="reporteFuente.estructuraRegistro"></textarea>
1269
+ <label>{{'tagregistro' | translate }}</label>
1270
+ </p-floatLabel>
1271
+ </div>
1272
+
1273
+ <div class="field col-12 md:col-6">
1274
+ <p-floatLabel>
1275
+ <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true"
1276
+ [(ngModel)]="reporteFuente.cifradoXml" optionLabel="nombre"
1277
+ optionValue="llaveTabla"></p-dropdown>
1278
+ <label>{{'tipocifrado' | translate }}</label>
1279
+ </p-floatLabel>
1280
+ </div>
1281
+
1282
+ </div>
1283
+ <!--BOTONES-->
1284
+ <div class="flex justify-content-end mb-3">
1285
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
1286
+ label="{{'link_actualizar' | translate}}" (click)="actualizar()">
1287
+ </button>
1288
+ </div>
1289
+ </div>
1290
+ </div>
1291
+ <div class="flex justify-content-between align-items-center mb-3">
1292
+ <h1 class="text-xl">{{'marcadores' | translate}}</h1>
1293
+ <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
1294
+ (click)="nuevoMarcadorXML()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoMarcadorXML">
1295
+ </button>
1296
+ <div class="flex justify-content-end mb-1" *ngIf="verNuevoMarcadorXML">
1297
+ <button pButton pRipple (click)="verNuevoMarcadorXML = false; clickGuardarMarcadorXML = false;" label= "{{'listado' | translate}} {{'marcadores' | translate}}"
1298
+ icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
1299
+ </div>
1300
+ </div>
1301
+ <p-table [value]="listaXML" [scrollable]="true" responsiveLayout="scroll"
1302
+ dataKey="llaveTabla" selectionMode="single"
1303
+ [rows]="10" [totalRecords]="listaXML.length"
1304
+ [paginator]="listaXML.length > 10" *ngIf="!verNuevoMarcadorXML"
1305
+ (onRowSelect)="verMarcadorXML($event)" (onRowUnselect)="verMarcadorXML($event)">
1306
+ <ng-template pTemplate="header">
1307
+
1308
+ <tr class="fondoTablaPincipal">
1309
+ <th>{{'descripcion' | translate }}</th>
1310
+ <th>{{'tipo' | translate }}</th>
1311
+ <th>{{'columna' | translate }}</th>
1312
+ <th>{{'marcador' | translate }}</th>
1313
+ </tr>
1314
+ <th>
1315
+ </ng-template>
1316
+ <ng-template pTemplate="body" let-marctexto>
1317
+ <tr [pSelectableRow]="marctexto">
1318
+ <td>{{marctexto.descripcion}}</td>
1319
+ <td>{{marctexto.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>
1320
+ <td>{{marctexto.nombreColumna}}</td>
1321
+ <td>{{marctexto.marcador}}</td>
1322
+ </tr>
1323
+ </ng-template>
1324
+ <ng-template pTemplate="emptymessage">
1325
+ <tr>
1326
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1327
+ </tr>
1328
+ </ng-template>
1329
+ </p-table>
1330
+ <div class="card mt-3" *ngIf="verNuevoMarcadorXML">
1331
+ <h5 class="mt-3"><i class="glyphicons glyphicons-notes"></i>{{'detalle' | translate}}</h5>
1332
+ <div class="Detallereporte mt-2">
1333
+ <div class="p-fluid p-formgrid grid" >
1334
+ <div class="field col-12 md:col-4" >
1335
+ <p-floatLabel>
1336
+ <input pInputText type="text" [(ngModel)]="marcadorXML.descripcion" maxlength="100"
1337
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML"
1338
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML">
1339
+ <label>{{'descripcion' | translate}} *</label>
1340
+ </p-floatLabel>
1341
+ </div>
1342
+
1343
+ <div class="field col-12 md:col-4">
1344
+ <p-floatLabel>
1345
+ <p-dropdown [options]="listaTipoMarcadorXML" [autoDisplayFirst]="false"
1346
+ [(ngModel)]="marcadorXML.tipo" optionLabel="nombre" optionValue="codigo"
1347
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML"
1348
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML"></p-dropdown>
1349
+ <label>{{'tipo' | translate }} *</label>
1350
+ </p-floatLabel>
1351
+ </div>
1352
+
1353
+ <div class="field col-12 md:col-4" *ngIf="['MA','MR'].includes(marcadorXML.tipo)" >
1354
+ <p-floatLabel>
1355
+ <input pInputText type="text" [(ngModel)]="marcadorXML.marcador" >
1356
+ <label>{{'marcador' | translate}}</label>
1357
+ </p-floatLabel>
1358
+ </div>
1359
+
1360
+ <div class="field col-12 md:col-4" *ngIf="marcadorXML.tipo == 'TB'" >
1361
+ <p-floatLabel>
1362
+ <input pInputText type="text" [(ngModel)]="marcadorXML.marcador" maxlength="5"
1363
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);" >
1364
+ <label>{{'tabla' | translate}}</label>
1365
+ </p-floatLabel>
1366
+ </div>
1367
+
1368
+ <div class="field col-12 md:col-4" *ngIf="marcadorXML.tipo == 'MA'" >
1369
+ <p-floatLabel>
1370
+ <p-dropdown [options]="listaColumnas" [autoDisplayFirst]="false" [showClear]="true"
1371
+ [(ngModel)]="marcadorXML.reporteColumna" optionLabel="nombre" optionValue="llaveTabla" ></p-dropdown>
1372
+ <label>{{'columna' | translate }}</label>
1373
+ </p-floatLabel>
1374
+ </div>
1375
+
1376
+ <div class="field col-12 md:col-4" *ngIf="marcadorXML.tipo == 'MA'" >
1377
+ <p-floatLabel>
1378
+ <input pInputText type="text" [(ngModel)]="marcadorXML.formato" >
1379
+ <label>{{'formato' | translate}}</label>
1380
+ </p-floatLabel>
1381
+ </div>
1382
+
1383
+ <div class="field col-12 md:col-4" *ngIf="marcadorXML.tipo == 'MR'">
1384
+ <p-floatLabel>
1385
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea [(ngModel)]="marcadorXML.textoRegistro" ></textarea>
1386
+ <label>{{'texto' | translate }}</label>
1387
+ </p-floatLabel>
1388
+ </div>
1389
+
1390
+ <div class="field col-12 md:col-4" *ngIf="['MR','TB'].includes(marcadorXML.tipo)">
1391
+ <p-floatLabel>
1392
+ <p-dropdown [options]="listaFuentes" [autoDisplayFirst]="false" [showClear]="true"
1393
+ [(ngModel)]="marcadorXML.fuente" optionLabel="descripcion" optionValue="llave"></p-dropdown>
1394
+ <label>{{'fuente' | translate }}</label>
1395
+ </p-floatLabel>
1396
+ </div>
1397
+
1398
+ <div class="field col-12 md:col-4" *ngIf="['MR','TB'].includes(marcadorXML.tipo)">
1399
+ <p-floatLabel>
1400
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea [(ngModel)]="marcadorXML.filtro"></textarea>
1401
+ <label>{{'filtro' | translate }}</label>
1402
+ </p-floatLabel>
1403
+ </div>
1404
+
1405
+ <div class="field col-12 md:col-4" *ngIf="marcadorXML.tipo == 'TB'">
1406
+ <p-floatLabel>
1407
+ <textarea class="w-full min-h-150 max-h-200" pInputTextarea [(ngModel)]="marcadorXML.estructuraTablaXML"></textarea>
1408
+ <label>{{'estructuratabla' | translate }}</label>
1409
+ </p-floatLabel>
1410
+ </div>
1411
+ </div>
1412
+ <!--BOTONES-->
1413
+ <div class="flex justify-content-end mb-3" >
1414
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{marcadorXML.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1415
+ label="{{marcadorXML.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarMarcadorXML()">
1416
+ </button>
1417
+ <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1418
+ *ngIf="marcadorXML.llave != null" label="{{'link_eliminar' | translate}}"
1419
+ (click)="eliminarMarcadorXML($event)">
1420
+ </button>
1421
+ </div>
1422
+ </div>
1423
+ </div>
1424
+ <div *ngIf="verNuevoMarcadorXML && marcadorXML.llave != null && (marcadorXML.tipo == 'MR' || marcadorXML.tipo == 'TB')">
1425
+ <div class="flex justify-content-end align-items-center mb-3">
1426
+ <button pButton label="{{'link_nuevo' | translate}}" (click)="nuevoCampoTablaXML()" icon="pi pi-plus"
1427
+ class="p-ripple p-element p-button p-component p-button-secondary mb-2"></button>
1428
+ </div>
1429
+ <p-table [value]="listaCamposMarcadorXML" responsiveLayout="scroll" styleClass="p-datatable-striped"
1430
+ [rows]="10" [totalRecords]="listaCamposMarcadorXML.length"
1431
+ [paginator]="listaCamposMarcadorXML.length > 10"
1432
+ [showCurrentPageReport]="true" currentPageReportTemplate="{first} al {last} de {totalRecords} registros"
1433
+ editMode="row" dataKey="llave">
1434
+ <ng-template pTemplate="header">
1435
+ <tr class="fondoTablaPincipal">
1436
+ <th style="width: 30%;">{{'campo' | translate }}</th>
1437
+ <th style="width: 30%;">{{'marcador' | translate }}</th>
1438
+ <th style="width: 30%;">{{'formato' | translate }}</th>
1439
+ <th style="width: 10%"> </th>
1440
+ </tr>
1441
+ <tr class="TablaNuevoRegistro" *ngIf="verReporteMarcadorDetalleXML">
1442
+ <td style="width: 30%;">
1443
+ <input pInputText type="text" [(ngModel)]="campoMarcadorInsertarXML.campoFuente" style="width: -webkit-fill-available"
1444
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML"
1445
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML">
1446
+ </td>
1447
+ <td style="width: 30%;">
1448
+ <input pInputText type="text" [(ngModel)]="campoMarcadorInsertarXML.marcador" style="width: -webkit-fill-available"
1449
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML"
1450
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML">
1451
+ </td>
1452
+ <td style="width: 30%;">
1453
+ <input pInputText type="text" [(ngModel)]="campoMarcadorInsertarXML.formato" style="width: -webkit-fill-available">
1454
+ </td>
1455
+ <td style="width: 10%">
1456
+ <div class="flex justify-content-end" >
1457
+ <button pButton pRipple type="button" icon="pi pi-check" (click)="agregarCampoMarcadorXML(campoMarcadorInsertarXML)"
1458
+ class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1459
+ <button pButton pRipple type="button" (click)="verReporteMarcadorDetalleXML = false" icon="pi pi-times"
1460
+ class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1461
+ </div>
1462
+ </td>
1463
+ </tr>
1464
+ </ng-template>
1465
+ <ng-template pTemplate="body" let-campo let-editing="editing" let-ri="rowIndex">
1466
+ <tr [pEditableRow]="campo">
1467
+ <td style="width: 30%;">
1468
+ <p-cellEditor>
1469
+ <ng-template pTemplate="input">
1470
+ <input pInputText type="text" [(ngModel)]="campo.campoFuente" style="width: -webkit-fill-available"
1471
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML"
1472
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML">
1473
+ </ng-template>
1474
+ <ng-template pTemplate="output">
1475
+ {{campo.campoFuente}}
1476
+ </ng-template>
1477
+ </p-cellEditor>
1478
+ </td>
1479
+ <td style="width: 30%;">
1480
+ <p-cellEditor>
1481
+ <ng-template pTemplate="input">
1482
+ <input pInputText type="text" [(ngModel)]="campo.marcador" style="width: -webkit-fill-available"
1483
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML"
1484
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML">
1485
+ </ng-template>
1486
+ <ng-template pTemplate="output">
1487
+ {{campo.marcador}}
1488
+ </ng-template>
1489
+ </p-cellEditor>
1490
+ </td>
1491
+ <td style="width: 30%;">
1492
+ <p-cellEditor>
1493
+ <ng-template pTemplate="input">
1494
+ <input pInputText type="text" [(ngModel)]="campo.formato" style="width: -webkit-fill-available">
1495
+ </ng-template>
1496
+ <ng-template pTemplate="output">
1497
+ {{campo.formato}}
1498
+ </ng-template>
1499
+ </p-cellEditor>
1500
+ </td>
1501
+
1502
+
1503
+ <td style="width: 10%">
1504
+ <div class="flex justify-content-end">
1505
+ <!-- CHECK GUARDAR -->
1506
+ <button *ngIf="editing" pButton pRipple type="button" pSaveEditableRow
1507
+ icon="pi pi-check" (click)="agregarCampoMarcadorXML(campo)"
1508
+ class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1509
+ <!-- CANCELAR -->
1510
+ <button *ngIf="editing" pButton pRipple type="button" pCancelEditableRow
1511
+ icon="pi pi-times" (click)="cargarListaCampoMarcadorXMLAsync()"
1512
+ class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1513
+ <!-- EDITAR -->
1514
+ <button *ngIf="!editing" pButton pRipple type="button" pInitEditableRow
1515
+ icon="glyphicons glyphicons-pencil"
1516
+ class="p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1517
+ <!-- ELIMINAR -->
1518
+ <button *ngIf="!editing" pButton pRipple type="button" pDeleteEditableRow
1519
+ icon="pi pi-trash" (click)="eliminarCampoMarcadorXML($event,campo)"
1520
+ class="p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only"></button>
1521
+ </div>
1522
+ </td>
1523
+ </tr>
1524
+ </ng-template>
1525
+ <ng-template pTemplate="emptymessage">
1526
+ <tr>
1527
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1528
+ </tr>
1529
+ </ng-template>
1530
+ </p-table>
1531
+ </div>
1532
+ </p-tabPanel>
1533
+ <p-tabPanel header="{{'columnario' | translate }}">
1534
+ <p-accordion (onOpen)="cambiarTabColumnario($event)" >
1535
+ <p-accordionTab [selected]="true" >
1536
+ <ng-template pTemplate="header"><i class="glyphicons glyphicons-notes"></i>
1537
+ {{'columnasbasicas'|translate}}
1538
+ </ng-template>
1539
+ <div class="flex justify-content-end align-items-center mt-2 mb-2">
1540
+ <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
1541
+ (click)="nuevoColumnaBasica()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoReporteColumnario">
1542
+ </button>
1543
+ <div class="flex justify-content-end mb-1" *ngIf="verNuevoReporteColumnario">
1544
+ <button pButton pRipple (click)="verNuevoReporteColumnario = false; clickGuardarReporteColumnario = false;" label= "{{'listado' | translate}} {{'columnasbasicas' | translate}}"
1545
+ icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
1546
+ </div>
1547
+ </div>
1548
+ <p-table [value]="listaReporteColumnario" [scrollable]="true" responsiveLayout="scroll"
1549
+ dataKey="llaveTabla" selectionMode="single"
1550
+ [rows]="10" [totalRecords]="listaReporteColumnario.length"
1551
+ [paginator]="listaReporteColumnario.length > 10" *ngIf="!verNuevoReporteColumnario"
1552
+ (onRowSelect)="verReporteColumnario($event)" (onRowUnselect)="verReporteColumnario($event)">
1553
+ <ng-template pTemplate="header">
1554
+
1555
+ <tr class="fondoTablaPincipal">
1556
+ <th>{{'nombre' | translate }}</th>
1557
+ <th>{{'columna' | translate }}</th>
1558
+ <th>{{'tipo' | translate }}</th>
1559
+ <th>{{'orden' | translate }}</th>
1560
+ <th>{{'operacion' | translate }}</th>
1561
+ </tr>
1562
+ <th>
1563
+ </ng-template>
1564
+ <ng-template pTemplate="body" let-bean>
1565
+ <tr [pSelectableRow]="bean">
1566
+ <td>{{bean.nombre}}</td>
1567
+ <td>{{bean.nombreColumna}}</td>
1568
+ <td>{{bean.tipo | reporteColumnarioPipe: 'listaTipoColumna'}}</td>
1569
+ <td>{{bean.orden}}</td>
1570
+ <td>{{bean.operacion | reporteColumnarioPipe: 'listaOperacion'}}</td>
1571
+ </tr>
1572
+ </ng-template>
1573
+ <ng-template pTemplate="emptymessage">
1574
+ <tr>
1575
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1576
+ </tr>
1577
+ </ng-template>
1578
+ </p-table>
1579
+ <p-fieldset class="fieldsintitulo" *ngIf="verNuevoReporteColumnario">
1580
+ <div class="Detallereporte mt-2">
1581
+ <div class="p-fluid p-formgrid grid" >
1582
+ <div class="field col-12 md:col-4" >
1583
+ <p-floatLabel>
1584
+ <input pInputText type="text" [(ngModel)]="columnaBasica.nombre" maxlength="100"
1585
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario"
1586
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario">
1587
+ <label>{{'nombre' | translate}} *</label>
1588
+ </p-floatLabel>
1589
+ </div>
1590
+
1591
+ <div class="field col-12 md:col-4">
1592
+ <p-floatLabel>
1593
+ <p-dropdown [options]="listaTipoColumnas" [autoDisplayFirst]="false" appendTo="body"
1594
+ [(ngModel)]="columnaBasica.tipo" optionLabel="nombre" optionValue="codigo"
1595
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario"
1596
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario"></p-dropdown>
1597
+ <label>{{'tipocolumna' | translate }} *</label>
1598
+ </p-floatLabel>
1599
+ </div>
1600
+
1601
+ <div class="field col-12 md:col-4">
1602
+ <p-floatLabel>
1603
+ <p-dropdown [options]="listaColumnas" [autoDisplayFirst]="false" appendTo="body"
1604
+ [(ngModel)]="columnaBasica.reporteColumna" optionLabel="nombre" optionValue="llaveTabla"
1605
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario"
1606
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario"></p-dropdown>
1607
+ <label>{{'columna' | translate }} *</label>
1608
+ </p-floatLabel>
1609
+ </div>
1610
+
1611
+ <div class="field col-12 md:col-4" *ngIf="columnaBasica.tipo == 'D'">
1612
+ <p-floatLabel>
1613
+ <p-dropdown [options]="listaOperacionesColumnario" [autoDisplayFirst]="false" appendTo="body"
1614
+ [(ngModel)]="columnaBasica.operacion" optionLabel="nombre" optionValue="codigo"
1615
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario"
1616
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario"></p-dropdown>
1617
+ <label>{{'operacion' | translate }} *</label>
1618
+ </p-floatLabel>
1619
+ </div>
1620
+
1621
+ <div class="field col-12 md:col-4" *ngIf="isTipoColumna()">
1622
+ <p-floatLabel>
1623
+ <p-dropdown [options]="listaOperacionesExcelColumnario" [autoDisplayFirst]="false" appendTo="body"
1624
+ [(ngModel)]="columnaBasica.operacionHorizontal" optionLabel="nombre" optionValue="codigo"
1625
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario"
1626
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario"></p-dropdown>
1627
+ <label>{{'operacionhorizontal' | translate }} *</label>
1628
+ </p-floatLabel>
1629
+ </div>
1630
+ <!-- fila Operacion Vertical -->
1631
+ <div class="field col-12 md:col-4" *ngIf="isTipoColumna()">
1632
+ <p-floatLabel>
1633
+ <input pInputText type="text" [(ngModel)]="columnaBasica.columnaOperacionVertical" maxlength="5"
1634
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1635
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario"
1636
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario">
1637
+ <label>{{'columnaoperacion' | translate}} *</label>
1638
+ </p-floatLabel>
1639
+ </div>
1640
+ <!-- Operacion Verticial -->
1641
+ <div class="field col-12 md:col-4" *ngIf="isTipoColumna()">
1642
+ <p-floatLabel>
1643
+ <p-dropdown [options]="listaOperacionesExcelColumnario" [autoDisplayFirst]="false" appendTo="body"
1644
+ [(ngModel)]="columnaBasica.operacionVertical" optionLabel="nombre" optionValue="codigo"
1645
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario"
1646
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario"></p-dropdown>
1647
+ <label>{{'operacionvertical' | translate }} *</label>
1648
+ </p-floatLabel>
1649
+ </div>
1650
+ <!-- Orden -->
1651
+ <div class="field col-12 md:col-4" *ngIf="isMostrarOrden()">
1652
+ <p-floatLabel>
1653
+ <input pInputText type="text" [(ngModel)]="columnaBasica.orden" maxlength="5"
1654
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1655
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario"
1656
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario">
1657
+ <label>{{'orden' | translate}}</label>
1658
+ </p-floatLabel>
1659
+ </div>
1660
+ <!-- Ordenamiento Filas -->
1661
+ <div class="field col-12 md:col-4" *ngIf="isTipoLabel() || isTipoFila()">
1662
+ <p-floatLabel>
1663
+ <p-dropdown [options]="listaOrdenamiento" [autoDisplayFirst]="false" [showClear]="true" appendTo="body"
1664
+ [(ngModel)]="columnaBasica.orderBy" optionLabel="nombre" optionValue="codigo" ></p-dropdown>
1665
+ <label>{{'ordenamiento' | translate }}</label>
1666
+ </p-floatLabel>
1667
+ </div>
1668
+ <!-- Ordenamiento Datos de la consulta -->
1669
+ <div class="field col-12 md:col-4" *ngIf="isMostrarOrdenConsulta()">
1670
+ <p-floatLabel>
1671
+ <input pInputText type="text" [(ngModel)]="columnaBasica.ordenConsulta" maxlength="5"
1672
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario"
1673
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario"
1674
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);" >
1675
+ <label>{{'ordenconsulta' | translate}} *</label>
1676
+ </p-floatLabel>
1677
+ </div>
1678
+ </div>
1679
+ <!--BOTONES-->
1680
+ <div class="flex justify-content-end mb-3" >
1681
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{columnaBasica.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1682
+ label="{{columnaBasica.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarColumnaBasica()">
1683
+ </button>
1684
+ <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1685
+ *ngIf="columnaBasica.llaveTabla != null" label="{{'link_eliminar' | translate}}"
1686
+ (click)="eliminarColumnaBasica($event)">
1687
+ </button>
1688
+ </div>
1689
+ </div>
1690
+ </p-fieldset>
1691
+ </p-accordionTab>
1692
+ </p-accordion>
1693
+ <p-accordion (onOpen)="cambiarTabColumnario($event)">
1694
+ <p-accordionTab >
1695
+ <ng-template pTemplate="header"><i class="glyphicons glyphicons-notes"></i>
1696
+ {{'datosadicionales'|translate}}
1697
+ </ng-template>
1698
+ <p-fieldset class="fieldsintitulo" >
1699
+ <div class="Detallereporte mt-2">
1700
+ <div class="p-fluid p-formgrid grid">
1701
+
1702
+ <div class="field col-12 md:col-3">
1703
+ <p-floatLabel>
1704
+ <app-input-helper-seleccion-plantilla [readonly]="false" [showDialog]="false"
1705
+ [label]="reporteFuente.archivoExcelColumnario ? reporteFuente.archivoExcelColumnario: ''"
1706
+ [extensiones]="'xls;xlsx;xlsm'" [mostraroblicargo]="true" [labelrar]="'plantilla' | translate"
1707
+ (onSelected)="obtenerArchivoColumnario($event)"></app-input-helper-seleccion-plantilla>
1708
+ </p-floatLabel>
1709
+ </div>
1710
+
1711
+ <div class="field col-12 md:col-3">
1712
+ <p-floatLabel>
1713
+ <input pInputText type="text" [(ngModel)]="reporteFuente.hojaExcel" size="25" maxlength="20">
1714
+ <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |
1715
+ translate }}</label>
1716
+ </p-floatLabel>
1717
+ </div>
1718
+
1719
+ <div class="field col-12 md:col-3">
1720
+ <p-floatLabel>
1721
+ <input pInputText [(ngModel)]="reporteFuente.filaInicioColumnario" maxlength="5"
1722
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);" />
1723
+ <label>{{'filainiciocolumnario' | translate }}</label>
1724
+ </p-floatLabel>
1725
+ </div>
1726
+
1727
+ <div class="field col-12 md:col-3">
1728
+ <p-floatLabel>
1729
+ <p-dropdown [options]="listaTipoCifrado" [autoDisplayFirst]="false" [showClear]="true" appendTo="body"
1730
+ [(ngModel)]="reporteFuente.cifradoColumnario" optionLabel="nombre"
1731
+ optionValue="llaveTabla"></p-dropdown>
1732
+ <label>{{'tipocifrado' | translate }}</label>
1733
+ </p-floatLabel>
1734
+ </div>
1735
+
1736
+ <div class="field col-12 md:col-12">
1737
+ <p-floatLabel>
1738
+ <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="reporteFuente.sintaxisColumnario"></textarea>
1739
+ <label>{{'sintaxiscolumnario' | translate }}</label>
1740
+ </p-floatLabel>
1741
+ </div>
1742
+
1743
+ </div>
1744
+ <!--BOTONES-->
1745
+ <div class="flex justify-content-end mb-3">
1746
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons glyphicons-refresh"
1747
+ label="{{'link_actualizar' | translate}}" (click)="actualizar()">
1748
+ </button>
1749
+ </div>
1750
+ </div>
1751
+ </p-fieldset>
1752
+ <div class="flex justify-content-between align-items-center mb-3 mt-3">
1753
+ <h1 class="text-xl">{{'columnaadicional' | translate}}</h1>
1754
+ <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
1755
+ (click)="nuevaColumnaAdicional()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoColumnaAdicional">
1756
+ </button>
1757
+ <div class="flex justify-content-end mb-1" *ngIf="verNuevoColumnaAdicional">
1758
+ <button pButton pRipple (click)="verNuevoColumnaAdicional = false; clickGuardarColumnaAdicional = false;" label= "{{'listado' | translate}} {{'columnaadicional' | translate}}"
1759
+ icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
1760
+ </div>
1761
+ </div>
1762
+ <p-table [value]="columnasAdicionales" [scrollable]="true" responsiveLayout="scroll"
1763
+ dataKey="llaveTabla" selectionMode="single"
1764
+ [rows]="10" [totalRecords]="columnasAdicionales.length"
1765
+ [paginator]="columnasAdicionales.length > 10" *ngIf="!verNuevoColumnaAdicional"
1766
+ (onRowSelect)="verDetalleAdicional($event)" (onRowUnselect)="verDetalleAdicional($event)">
1767
+ <ng-template pTemplate="header">
1768
+ <tr class="fondoTablaPincipal">
1769
+ <th>{{'nombre' | translate }}</th>
1770
+ <th>{{'orden' | translate }}</th>
1771
+ </tr>
1772
+ <th>
1773
+ </ng-template>
1774
+ <ng-template pTemplate="body" let-columnaadicional>
1775
+ <tr [pSelectableRow]="columnaadicional">
1776
+ <td>{{columnaadicional.nombre}}</td>
1777
+ <td>{{columnaadicional.orden}}</td>
1778
+ </tr>
1779
+ </ng-template>
1780
+ <ng-template pTemplate="emptymessage">
1781
+ <tr>
1782
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1783
+ </tr>
1784
+ </ng-template>
1785
+ </p-table>
1786
+ <p-fieldset class="fieldsintitulo" *ngIf="verNuevoColumnaAdicional">
1787
+ <div class="Detallereporte mt-2">
1788
+ <div class="p-fluid p-formgrid grid" >
1789
+ <div class="field col-12 md:col-3" >
1790
+ <p-floatLabel>
1791
+ <input pInputText type="text" [(ngModel)]="columnaAdicional.nombre" maxlength="100"
1792
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional"
1793
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional">
1794
+ <label>{{'alias' | translate}} *</label>
1795
+ </p-floatLabel>
1796
+ </div>
1797
+
1798
+ <div class="field col-12 md:col-3" >
1799
+ <p-floatLabel>
1800
+ <input pInputText [(ngModel)]="columnaAdicional.orden" maxlength="5"
1801
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1802
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional"
1803
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional" />
1804
+ <label>{{'orden' | translate}} *</label>
1805
+ </p-floatLabel>
1806
+ </div>
1807
+
1808
+ <div class="field col-12 md:col-3">
1809
+ <p-floatLabel>
1810
+ <p-dropdown [options]="listaOrdenamiento" [autoDisplayFirst]="false" appendTo="body"
1811
+ [(ngModel)]="columnaAdicional.orderBy" optionLabel="nombre" optionValue="codigo"
1812
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional"
1813
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional"></p-dropdown>
1814
+ <label>{{'ordenamiento' | translate }} *</label>
1815
+ </p-floatLabel>
1816
+ </div>
1817
+
1818
+ <div class="field col-12 md:col-3" >
1819
+ <p-floatLabel>
1820
+ <input pInputText [(ngModel)]="columnaAdicional.ordenConsulta" maxlength="5"
1821
+ oninput="this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);"
1822
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional"
1823
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional" />
1824
+ <label>{{'ordenconsulta' | translate}} *</label>
1825
+ </p-floatLabel>
1826
+ </div>
1827
+
1828
+ <div class="field col-12 md:col-12" >
1829
+ <p-floatLabel>
1830
+ <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="columnaAdicional.sintaxis" maxlength="4000"
1831
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional"
1832
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional"></textarea>
1833
+ <label>{{'sintaxis' | translate}} *</label>
1834
+ </p-floatLabel>
1835
+ </div>
1836
+ </div>
1837
+ <!--BOTONES-->
1838
+ <div class="flex justify-content-end mb-3" >
1839
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{columnaAdicional.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1840
+ label="{{columnaAdicional.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarColumnaAdicional()">
1841
+ </button>
1842
+ <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1843
+ *ngIf="columnaAdicional.llaveTabla != null" label="{{'link_eliminar' | translate}}"
1844
+ (click)="eliminarColumnaAdicional($event)">
1845
+ </button>
1846
+ </div>
1847
+ </div>
1848
+ </p-fieldset>
1849
+ </p-accordionTab>
1850
+ <p-accordionTab >
1851
+ <ng-template pTemplate="header"><i class="glyphicons glyphicons-notes"></i>
1852
+ {{'marcadores'|translate}}
1853
+ </ng-template>
1854
+ <div class="flex justify-content-end align-items-center mb-3">
1855
+ <button pButton pRipple class="p-button-secondary font-semibold" icon="pi pi-plus"
1856
+ (click)="nuevoMarcadorColumnario()" label="{{'link_nuevo' | translate}}" *ngIf="!verNuevoMarcadorColumnario">
1857
+ </button>
1858
+ <div class="flex justify-content-end mb-1" *ngIf="verNuevoMarcadorColumnario">
1859
+ <button pButton pRipple (click)="verNuevoMarcadorColumnario = false; clickGuardarMarcadorColumnario = false;" label= "{{'listado' | translate}} {{'marcador' | translate}}"
1860
+ icon="pi pi-chevron-left" class="p-button-text font-semibold flex-shrink-0 "></button>
1861
+ </div>
1862
+ </div>
1863
+ <p-table [value]="marcadoresColumnario" [scrollable]="true" responsiveLayout="scroll"
1864
+ dataKey="llaveTabla" selectionMode="single"
1865
+ [rows]="10" [totalRecords]="marcadoresColumnario.length"
1866
+ [paginator]="marcadoresColumnario.length > 10" *ngIf="!verNuevoMarcadorColumnario"
1867
+ (onRowSelect)="verDetalleMarcadorColumnario($event)" (onRowUnselect)="verDetalleMarcadorColumnario($event)">
1868
+ <ng-template pTemplate="header">
1869
+ <tr class="fondoTablaPincipal">
1870
+ <th>{{'nombre' | translate }}</th>
1871
+ <th>{{'tipomarcador' | translate }}</th>
1872
+ </tr>
1873
+ <th>
1874
+ </ng-template>
1875
+ <ng-template pTemplate="body" let-marcador>
1876
+ <tr [pSelectableRow]="marcador">
1877
+ <td>{{marcador.marcador}}</td>
1878
+ <td>{{marcador.tipo | reporteColumnarioPipe: 'listaTipoMarcador'}}</td>
1879
+ </tr>
1880
+ </ng-template>
1881
+ <ng-template pTemplate="emptymessage">
1882
+ <tr>
1883
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
1884
+ </tr>
1885
+ </ng-template>
1886
+ </p-table>
1887
+ <p-fieldset class="fieldsintitulo" *ngIf="verNuevoMarcadorColumnario">
1888
+ <div class="Detallereporte mt-2">
1889
+ <div class="p-fluid p-formgrid grid" >
1890
+ <div class="field col-12 md:col-4" >
1891
+ <p-floatLabel>
1892
+ <input pInputText [(ngModel)]="marcadorColumnario.descripcion" maxlength="4000"
1893
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario"
1894
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario" />
1895
+ <label>{{'descripcion' | translate}} *</label>
1896
+ </p-floatLabel>
1897
+ </div>
1898
+
1899
+ <div class="field col-12 md:col-4" >
1900
+ <p-floatLabel>
1901
+ <input pInputText [(ngModel)]="marcadorColumnario.marcador" maxlength="50"
1902
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario"
1903
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario" />
1904
+ <label>{{'marcador' | translate}} *</label>
1905
+ </p-floatLabel>
1906
+ </div>
1907
+
1908
+ <div class="field col-12 md:col-4">
1909
+ <p-floatLabel>
1910
+ <p-dropdown [options]="listaTipoMarcadorColumnario" [autoDisplayFirst]="false" appendTo="body"
1911
+ [(ngModel)]="marcadorColumnario.tipo" optionLabel="nombre" optionValue="codigo"
1912
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario"
1913
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario"></p-dropdown>
1914
+ <label>{{'tipo' | translate }} *</label>
1915
+ </p-floatLabel>
1916
+ </div>
1917
+
1918
+ <div class="field col-12 md:col-12" >
1919
+ <p-floatLabel>
1920
+ <textarea class="w-full min-h-50 max-h-100" pInputTextarea [(ngModel)]="marcadorColumnario.textoRegistro" maxlength="4000"
1921
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario"
1922
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario"></textarea>
1923
+ <label>{{'valor' | translate}} *</label>
1924
+ </p-floatLabel>
1925
+ </div>
1926
+ </div>
1927
+ <!--BOTONES-->
1928
+ <div class="flex justify-content-end mb-3" >
1929
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="glyphicons {{marcadorColumnario.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}"
1930
+ label="{{marcadorColumnario.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}" (click)="guardarMarcadorColumnario()">
1931
+ </button>
1932
+ <button pButton pRipple class="ml-2 p-button-outlined" icon="glyphicons glyphicons-bin"
1933
+ *ngIf="marcadorColumnario.llaveTabla != null" label="{{'link_eliminar' | translate}}"
1934
+ (click)="eliminarMarcadorColumnario($event)">
1935
+ </button>
1936
+ </div>
1937
+ </div>
1938
+ </p-fieldset>
1939
+ </p-accordionTab>
1940
+ </p-accordion>
1941
+ </p-tabPanel>
1942
+ <p-tabPanel header="{{'grafica' | translate }}">
1943
+ <div class="card col-md-12">
1944
+ <div class="Detallereporte mt-2">
1945
+ <div class="p-fluid p-formgrid grid">
1946
+
1947
+ <div class="field col-12 md:col-4">
1948
+ <p-floatLabel>
1949
+ <input pInputText type="text" [(ngModel)]="reporteFuente.codigo" size="25"
1950
+ maxlength="100">
1951
+ <label>{{'codigo' | translate }}</label>
1952
+ </p-floatLabel>
1953
+ </div>
1954
+
1955
+ <div class="field col-12 md:col-4">
1956
+ <p-floatLabel>
1957
+ <input pInputText type="text" [(ngModel)]="reporteFuente.tituloGrafico" size="25"
1958
+ maxlength="100">
1959
+ <label>{{'titulo' | translate }}</label>
1960
+ </p-floatLabel>
1961
+ </div>
1962
+
1963
+ <div class="field col-12 md:col-4">
1964
+ <p-floatLabel>
1965
+ <p-dropdown [options]="listaTipoGrafico" [autoDisplayFirst]="false" [showClear]="true"
1966
+ [(ngModel)]="reporteFuente.tipoGrafico" optionLabel="nombre"
1967
+ optionValue="codigo"></p-dropdown>
1968
+ <label>{{'tipo' | translate }}</label>
1969
+ </p-floatLabel>
1970
+ </div>
1971
+ </div>
1972
+
1973
+ <!--BOTONES-->
1974
+ <div class="flex justify-content-end mb-3" *ngIf="isSql()">
1975
+ <button pButton pRipple class="ml-2 p-button-outlined background-100" icon="glyphicons glyphicons-refresh"
1976
+ label="{{'link_actualizar' | translate}}" (click)="guardarGrafico()">
1977
+ </button>
1978
+ <button pButton pRipple class="ml-2 p-button p-button-raised" icon="pi pi-eye"
1979
+ label="{{'link_ver' | translate}}" (click)="verGrafico()">
1980
+ </button>
1981
+ </div>
1982
+ </div>
1983
+ </div>
1984
+
1985
+ <p-table [value]="paginadorColumnas" responsiveLayout="scroll" [scrollable]="true"
1986
+ [rows]="20" [totalRecords]="paginadorColumnas.length" [paginator]="paginadorColumnas.length > 20" >
1987
+ <ng-template pTemplate="header">
1988
+
1989
+ <tr class="fondoTablaPincipal">
1990
+ <th>{{'columna' | translate }}</th>
1991
+ <th>{{'sintaxis' | translate }}</th>
1992
+ <th>{{'tipo' | translate }}</th>
1993
+ <th>{{'accion' | translate }}</th>
1994
+ </tr>
1995
+ </ng-template>
1996
+ <ng-template pTemplate="body" let-bean>
1997
+ <tr [pSelectableRow]="bean">
1998
+ <td>{{bean.nombre}}</td>
1999
+ <td>{{bean.sintaxis}}</td>
2000
+ <td>{{bean.tipoDato | reporteFuentePipe : 'listaTipoDato'}}</td>
2001
+ <td>
2002
+ <p-dropdown [options]="listaGraficoSencillo" [autoDisplayFirst]="false" [showClear]="true"
2003
+ [(ngModel)]="bean.graficoFuente" optionLabel="nombre"
2004
+ optionValue="codigo"></p-dropdown>
2005
+ </td>
2006
+ </tr>
2007
+ </ng-template>
2008
+ <ng-template pTemplate="emptymessage">
2009
+ <tr>
2010
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
2011
+ </tr>
2012
+ </ng-template>
2013
+ </p-table>
2014
+
2015
+ <div class="flex justify-content-between align-items-center mt-2 mb-2">
2016
+ <h1 class="text-xl">Colores</h1>
2017
+ <button pButton label="{{'link_nuevo' | translate}}" (click)="nuevoColorCategoria()" icon="pi pi-plus"
2018
+ [disabled]="habilitaCampo" class="p-ripple p-element p-button p-component p-button-secondary mb-2"></button>
2019
+ </div>
2020
+ <p-table [value]="paginadorColoresGrafica" responsiveLayout="scroll" styleClass="p-datatable-striped"
2021
+ [rows]="10" [totalRecords]="paginadorColoresGrafica.length"
2022
+ [paginator]="paginadorColoresGrafica.length > 10"
2023
+ [showCurrentPageReport]="true" currentPageReportTemplate="{first} al {last} de {totalRecords} registros"
2024
+ editMode="row" dataKey="llaveTabla">
2025
+ <ng-template pTemplate="header">
2026
+ <tr class="fondoTablaPincipal">
2027
+ <th style="width: 45%">{{'categoria' | translate}}</th>
2028
+ <th style="width: 45%">{{'color' | translate}}</th>
2029
+ <th style="width: 10%"> </th>
2030
+ </tr>
2031
+ <tr class="TablaNuevoRegistro" *ngIf="verColorCategoriaDetalle">
2032
+ <td style="width: 45%">
2033
+ <input pInputText type="text" [(ngModel)]="colorCategoria.titulo" style="width: -webkit-fill-available"
2034
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria"
2035
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria">
2036
+ </td>
2037
+ <td style="width: 45%">
2038
+ <div style="width: 100%">
2039
+ <p-colorPicker [(ngModel)]="colorCategoria.banda" appendTo="body"
2040
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria"
2041
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria" />
2042
+ </div>
2043
+ </td>
2044
+ <td style="width: 10%">
2045
+ <div class="flex justify-content-end">
2046
+ <button pButton pRipple type="button" icon="pi pi-check" (click)="agregarColorCategoria(colorCategoria)"
2047
+ class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2048
+ <button pButton pRipple type="button" (click)="verColorCategoriaDetalle = false" icon="pi pi-times" (click)="cancelarColorCategoria()"
2049
+ class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2050
+ </div>
2051
+ </td>
2052
+ </tr>
2053
+ </ng-template>
2054
+ <ng-template pTemplate="body" let-color let-editing="editing" let-ri="rowIndex">
2055
+ <tr [pEditableRow]="color" style="width: 100%">
2056
+ <td style="width: 45%">
2057
+ <p-cellEditor>
2058
+ <ng-template pTemplate="input">
2059
+ <input pInputText type="text" [(ngModel)]="color.titulo" style="width: -webkit-fill-available"
2060
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria"
2061
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria">
2062
+ </ng-template>
2063
+ <ng-template pTemplate="output">
2064
+ {{color.titulo}}
2065
+ </ng-template>
2066
+ </p-cellEditor>
2067
+ </td>
2068
+ <td style="width: 45%">
2069
+ <p-cellEditor>
2070
+ <ng-template pTemplate="input">
2071
+ <div style="width: 100%">
2072
+ <p-colorPicker [(ngModel)]="color.banda" appendTo="body"
2073
+ [class.ng-dirty]="!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria"
2074
+ [class.ng-invalid]="!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria"/>
2075
+ </div>
2076
+ </ng-template>
2077
+ <ng-template pTemplate="output">
2078
+ <p-colorPicker [(ngModel)]="color.banda" [disabled]="true" />
2079
+ </ng-template>
2080
+ </p-cellEditor>
2081
+ </td>
2082
+ <td style="width: 10%">
2083
+ <div class="flex justify-content-end">
2084
+ <!-- CHECK GUARDAR -->
2085
+ <button *ngIf="editing" pButton pRipple type="button" pSaveEditableRow
2086
+ icon="pi pi-check" (click)="agregarColorCategoria(color)"
2087
+ class="p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2088
+ <!-- CANCELAR -->
2089
+ <button *ngIf="editing" pButton pRipple type="button" pCancelEditableRow
2090
+ icon="pi pi-times" (click)="cancelarEdicionColor()"
2091
+ class="p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2092
+ <!-- EDITAR -->
2093
+ <button *ngIf="!editing" pButton pRipple type="button" pInitEditableRow
2094
+ icon="glyphicons glyphicons-pencil" [disabled]="habilitaCampo" (click)="iniciarEdicion()"
2095
+ class="p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2096
+ <!-- ELIMINAR -->
2097
+ <button *ngIf="!editing" pButton pRipple type="button" pDeleteEditableRow
2098
+ icon="pi pi-trash" (click)="eliminarColorCategoria($event, color)" [disabled]="habilitaCampo"
2099
+ class="p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only"></button>
2100
+ </div>
2101
+ </td>
2102
+ </tr>
2103
+ </ng-template>
2104
+ <ng-template pTemplate="emptymessage">
2105
+ <tr>
2106
+ <td colspan="100" class="p-3 font-medium emptymessage">{{'mensajetablavacia' | translate}}</td>
2107
+ </tr>
2108
+ </ng-template>
2109
+ </p-table>
2110
+ <div style="width: 85%" *ngIf="grafica">
2111
+ <p-chart [type]="tipoGrafica" [data]="grafica.datosGrafica.data" [options]="grafica.datosGrafica.options"></p-chart>
2112
+ </div>
2113
+ </p-tabPanel>
2114
2114
  </p-tabView>