general-library-union 2.3.38 → 2.3.40

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