general-library-union 3.3.62 → 3.3.63
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.
- package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.mjs +22 -3
- package/fesm2022/general-library-union.mjs +21 -2
- package/fesm2022/general-library-union.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/layout/app.menuitem.component.d.ts +1 -1
- package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.d.ts +1 -0
- package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.d.ts +1 -1
- package/src/assets/images/temaClaro/no-info.webp +0 -0
- package/src/assets/images/temaOscuro/no-info.webp +0 -0
|
@@ -11433,6 +11433,7 @@ class DetalleTipoReporteComponent {
|
|
|
11433
11433
|
listaSoportes = [];
|
|
11434
11434
|
soporteIngresar = new ReporteSoporteModel;
|
|
11435
11435
|
clickGuardarMarcadorCampo = false;
|
|
11436
|
+
clickGuardarMarcador = false;
|
|
11436
11437
|
clickGuardarMarcadorExcel = false;
|
|
11437
11438
|
verReporteMarcadorDetalle = false;
|
|
11438
11439
|
verSoporteArchivoDetalle = false;
|
|
@@ -11608,6 +11609,22 @@ class DetalleTipoReporteComponent {
|
|
|
11608
11609
|
// this.formMarcador.get('tieneSql').setValue('N')
|
|
11609
11610
|
}
|
|
11610
11611
|
this.formMarcador.updateValueAndValidity();
|
|
11612
|
+
const textoRegistroControl = this.formMarcadorExcel.get('textoRegistro');
|
|
11613
|
+
const origenControl = this.formMarcadorExcel.get('origen');
|
|
11614
|
+
if (!value) {
|
|
11615
|
+
this.esImagenFija = true;
|
|
11616
|
+
this.esMarcador = true;
|
|
11617
|
+
origenControl.clearValidators();
|
|
11618
|
+
textoRegistroControl.clearValidators();
|
|
11619
|
+
}
|
|
11620
|
+
else if (['IF'].includes(value)) {
|
|
11621
|
+
this.esImagenFija = true;
|
|
11622
|
+
this.esMarcador = false;
|
|
11623
|
+
origenControl.setValidators(Validators.required);
|
|
11624
|
+
textoRegistroControl.setValidators(Validators.required);
|
|
11625
|
+
}
|
|
11626
|
+
textoRegistroControl.updateValueAndValidity();
|
|
11627
|
+
origenControl.updateValueAndValidity();
|
|
11611
11628
|
}));
|
|
11612
11629
|
this._subsciprtions.push(this.formMarcador.get('origen').valueChanges.subscribe((value) => {
|
|
11613
11630
|
this.formMarcador.clearValidators();
|
|
@@ -11979,7 +11996,9 @@ class DetalleTipoReporteComponent {
|
|
|
11979
11996
|
//this.formMarcador.get('tipo').setValue(null)
|
|
11980
11997
|
}
|
|
11981
11998
|
guardarMarcador() {
|
|
11999
|
+
this.clickGuardarMarcador = true;
|
|
11982
12000
|
if (this.formMarcador.valid) {
|
|
12001
|
+
this.clickGuardarMarcador = false;
|
|
11983
12002
|
let llaveRegistro = this.formMarcador.get('llave').value;
|
|
11984
12003
|
this.formMarcador.get('reporteFuente').setValue(this.reporteFuente.llave);
|
|
11985
12004
|
//this.formMarcador.get('tipoReporte').setValue('N')
|
|
@@ -12901,11 +12920,11 @@ class DetalleTipoReporteComponent {
|
|
|
12901
12920
|
return this.reporteFuente.origenFuente == tipo;
|
|
12902
12921
|
}
|
|
12903
12922
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: DetalleTipoReporteComponent, deps: [{ token: i1$1.FormBuilder }, { token: ToastService }, { token: GeneralService }, { token: GeneralPipe }, { token: AuthService }, { token: ReporteFuentePipe }, { token: i7.ConfirmationService }, { token: CargarArchivosService }, { token: EncriptadoBasicoService }, { token: UtilsService }, { token: i7$1.TranslateService }, { token: FuentePipe }, { token: ReporteColumnarioPipe }, { token: EjecucionReporteService }, { token: DashboardService }, { token: DashboardPipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
12904
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: DetalleTipoReporteComponent, isStandalone: true, selector: "detalle-tipo-reporte", inputs: { llaveReporte: "llaveReporte", aplicacion: "aplicacion", listaFuentes: "listaFuentes" }, providers: [MessageService], viewQueries: [{ propertyName: "divGrafica", first: true, predicate: ["divGrafica"], descendants: true }], ngImport: i0, template: "<p-tabView (onChange)=\"cambiarTab($event)\">\n <p-tabPanel header=\"{{'excel' | translate }}\" [selected]=\"true\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <p class=\"font-semibold\">{{'debe' | translate}} {{'indicar' | translate}} {{'plantilla' | translate}} {{'y' | translate}}\n {{'hoja' | translate}} {{'para' | translate}} {{'que' | translate}} {{'esta' | translate}}\n {{'opcion' | translate}} {{'se' | translate}} {{'active' | translate}}\n </p>\n <div class=\"p-fluid p-formgrid grid\">\n <div class=\"field col-12 md:col-4\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoTodo ? reporteFuente.archivoTodo: ''\"\n [extensiones]=\"'xls;xlsx'\" [mostraroblicargo]=\"true\" [labelrar]=\"'plantilla' | translate\"\n (onSelected)=\"obtenerArchivo($event)\"></app-input-helper-seleccion-plantilla>\n\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.hojaExcel\" size=\"25\" maxlength=\"20\">\n <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |\n translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoExcel\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\"\n icon=\"glyphicons glyphicons-refresh\" label=\"{{'link_actualizar' | translate}}\"\n (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-pickList [source]=\"listaExcel\" [target]=\"listaNoExcel\" sourceHeader=\"Asociado\" sourceFilterPlaceholder=\"Asociado\"\n targetHeader=\"Desasociado\" [dragdrop]=\"true\" [responsive]=\"true\" targetFilterPlaceholder=\"Desasociado\"\n filterBy=\"sintaxis\" (onSourceReorder)=\"moverAAsociado($event)\"\n (onMoveAllToTarget)=\"moverADesasociado($event)\" (onMoveAllToSource)=\"moverAAsociado($event)\"\n (onMoveToTarget)=\"moverADesasociado($event)\" (onMoveToSource)=\"moverAAsociado($event)\">\n <ng-template let-excel pTemplate=\"item\">\n <div>\n <label>{{excel.nombre}}</label>\n </div>\n </ng-template>\n </p-pickList>\n\n <div class=\"mt-4\">\n <div class=\"flex justify-content-between align-items-center mt-2 mb-2\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorExcel()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorExcel\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorExcel\">\n <button pButton pRipple (click)=\"verNuevoMarcadorExcel = false\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadorExcel\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [selection]=\"reporteMarcadorExcel\" [rows]=\"10\"\n [totalRecords]=\"listaMarcadorExcel.length\" [paginator]=\"listaMarcadorExcel.length > 10\"\n (onRowSelect)=\"verDetalleMarcadorExcel($event)\" (onRowUnselect)=\"verDetalleMarcadorExcel($event)\" *ngIf=\"!verNuevoMarcadorExcel\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.descripcion}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorExcel\">\n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-book\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-4 \">\n <form [formGroup]=\"formMarcadorExcel\" >\n <div class=\"col-md-12 p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" size=\"25\" maxlength=\"4000\">\n <label>{{'descripcion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\" maxlength=\"4000\">\n <label>{{'marcador' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Imagen Fija', value: 'IF'}, {label: 'Marcador', value: 'MA'}]\"\n [autoDisplayFirst]=\"false\" formControlName=\"tipo\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\" [hidden]=\"esImagenFija\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"textoRegistro\"></textarea>\n <label>{{'valor' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"esMarcador\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]\"\n [autoDisplayFirst]=\"false\" formControlName=\"origen\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'origen' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"esMarcador\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n formControlName=\"textoRegistro\"\n [label]=\"reporteMarcadorExcel.textoRegistro ? reporteMarcadorExcel.textoRegistro: ''\"\n [extensiones]=\"'jpg;png'\" (onSelected)=\"obtenerArchivoMarcadorExcel($event)\"\n [propiedad]=\"'ruta_recursos'\" [labelrar]=\"('recursos' | translate)\" [labelarch]=\"'recurso' | translate\" [mostrarX]=\"true\"\n [mostraroblicargo]=\"true\"\n [booleano]=\"!utilsService.validarCampoObligatorio(reporteMarcadorExcel.textoRegistro) && clickGuardarMarcadorExcel\"\n [anexoPropiedad]=\"reporteMarcadorExcel.origen =='C' ? llaveEmpresa: ''\"\n [propiedadDeSistema]=\"true\"></app-input-helper-seleccion-plantilla>\n </div>\n </div>\n </form>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" *ngIf=\"verNuevoMarcadorExcel\">\n <button pButton pRipple class=\"ml-2 p-button-raised\" icon=\"glyphicons {{reporteMarcadorExcel.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{reporteMarcadorExcel.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorExcel()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcadorExcel.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorExcel($event)\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'plantilla' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.unicoArchivo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'soporte' | translate }} {{'unico' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.descargarFuente\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'descargardoc' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.generarPin\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'generarpin' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [(ngModel)]=\"reporteFuente.campoAgrupacionPlanilla\" \n [autoDisplayFirst]=\"false\" [showClear]=\"true\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'agruparpor' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.nombreAgrupacionPlanilla\" size=\"25\"\n maxlength=\"100\">\n <label>{{'nombrearchivoagrupacion' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoPlanilla\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteFuente.unicoArchivo == 'N'\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoIndividual ? reporteFuente.archivoIndividual: ''\"\n [labelrar]=\"'archivo' | translate\" [labelarch]=\"'archivo' | translate\" [mostraroblicargo]=\"true\"\n (onSelected)=\"obtenerArchivoPlanilla($event)\"></app-input-helper-seleccion-plantilla>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-tabView >\n <p-tabPanel header=\"{{'marcadores' | translate }}\" [selected]=\"true\">\n \n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton pRipple class=\"p-button-secondary font-semibold mb-2\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcador()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcador\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcador\">\n <button pButton pRipple (click)=\"verNuevoMarcador = false\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadores\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [selection]=\"reporteMarcador\"\n [rows]=\"10\" [totalRecords]=\"listaMarcadores.length\"\n [paginator]=\"listaMarcadores.length > 10\" *ngIf=\"!verNuevoMarcador\"\n (onRowSelect)=\"verDetalleMarcador($event)\" (onRowUnselect)=\"verDetalleMarcador($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'marcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.descripcion}}</td>\n <td>{{marcador.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>\n <td>{{marcador.tipo == 'IF' ? marcador.textoRegistro : marcador.nombreColumna}}</td>\n <td>{{marcador.marcador}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div class=\"card col-md-12\" *ngIf=\"verNuevoMarcador\">\n <div class=\"Detallereporte mt-2\">\n <form [formGroup]=\"formMarcador\">\n <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>\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" size=\"25\"\n maxlength=\"4000\">\n <label>{{'descripcion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoMarcador\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipo\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!(['MA','IM','MR','IF','QR','BC','G1'].includes(reporteMarcador.tipo))\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\">\n <label>{{'marcador' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'TB'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tabla\" size=\"25\">\n <label>{{'tabla' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'IF'\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\" formControlName=\"origen\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'origen' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"reporteMarcador.tipo != 'IF' || !reporteMarcador.origen\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n formControlName=\"textoRegistro\"\n [label]=\"reporteMarcador.textoRegistro ? reporteMarcador.textoRegistro: ''\"\n [extensiones]=\"'jpg;png'\" (onSelected)=\"obtenerArchivoMarcador($event)\"\n [propiedad]=\"'ruta_recursos'\" [labelrar]=\"'recursos' | translate\"\n [anexoPropiedad]=\"reporteMarcador.origen =='C' ? llaveEmpresa: ''\"\n [propiedadDeSistema]=\"true\"></app-input-helper-seleccion-plantilla>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['MA','IM','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" formControlName=\"reporteColumna\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'columna' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MA'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"formato\" size=\"25\">\n <label>{{'formato' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-inputNumber formControlName=\"ancho\" [maxlength]=\"5\"> </p-inputNumber>\n <label>{{'ancho' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-inputNumber formControlName=\"alto\" [maxlength]=\"5\"> </p-inputNumber>\n <label>{{'alto' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo1\"></textarea>\n <label>{{'grupo1' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo2\"></textarea>\n <label>{{'grupo2' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo3\"></textarea>\n <label>{{'grupo3' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"finalGrupo\"></textarea>\n <label>{{'finalgrupo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"textoRegistro\"></textarea>\n <label>{{'texto' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['MR','TB'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" formControlName=\"tieneSql\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'sql' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'TB'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoGrafico_JFC\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"tipoGrafico\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'grafica' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['S'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"query\"></textarea>\n <label>{{'consulta' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaFuentes\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"fuente\" optionLabel=\"descripcion\"\n optionValue=\"llave\"></p-dropdown>\n <label>{{'fuente' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcadorGrafico\" size=\"25\">\n <label>{{'marcadorgrafica' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['A'].includes(reporteMarcador.tipoGrafico)\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"titulox\" size=\"25\">\n <label>{{'titulo' | translate }} X</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['A'].includes(reporteMarcador.tipoGrafico)\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tituloy\" size=\"25\">\n <label>{{'titulo' | translate }} Y</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"banda\" size=\"25\">\n <label>{{'colordinamico' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"anchoJasperLabel\" size=\"25\">\n <label>{{'numerocategorias' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"filtro\"></textarea>\n <label>{{'filtro' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n </form>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\"\n icon=\"glyphicons {{reporteMarcador.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save' }}\" label=\"{{reporteMarcador.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\"\n (click)=\"guardarMarcador()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcador.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcador($event)\">\n </button>\n </div>\n </div>\n </div>\n <div *ngIf=\"verNuevoMarcador && reporteMarcador.llave != null && (reporteMarcador.tipo == 'MR' || reporteMarcador.tipo == 'TB')\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCampoTabla()\" icon=\"pi pi-plus\" [disabled]=\"bloquearCampoMarcador\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaCamposMarcador\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaCamposMarcador.length\" [scrollable]=\"true\"\n [paginator]=\"listaCamposMarcador.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llave\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 10%;\">{{'columna' | translate }}</th>\n <th style=\"width: 10%;\">{{'campo' | translate }}</th>\n <th style=\"width: 10%;\">{{'formato' | translate }}</th>\n <th style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">{{'tipo' | translate }}</th>\n <th style=\"width: 10%;\"*ngIf=\"reporteMarcador.tipo == 'TB'\">{{'medidas' | translate }}</th>\n <th style=\"width: 10%;\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verReporteMarcadorDetalle\">\n <td style=\"width: 10%;\">\n <input pInputText [(ngModel)]=\"campoMarcadorInsertar.columna\" oninput=\"this.value = this.value.replace(/[^0-9]/g, '');\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo\" />\n </td>\n <td style=\"width: 10%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.campoFuente\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo\">\n </td>\n <td style=\"width: 10%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.formato\">\n </td>\n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-dropdown [options]=\"listaGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [(ngModel)]=\"campoMarcadorInsertar.tipo\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\"></p-dropdown>\n </td>\n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <div *ngIf=\"campoMarcadorInsertar.tipo =='I'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.ancho\">\n <label>{{'ancho' | translate}}</label>\n </p-floatLabel>\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.alto\">\n <label>{{'alto' | translate}}</label>\n </p-floatLabel>\n </div>\n </td>\n <td style=\"width: 10%;\" >\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCampoMarcador(campoMarcadorInsertar)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verReporteMarcadorDetalle = false; bloquearCampoMarcador = false\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-campo let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"campo\">\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.columna\" oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo\" \n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo\" />\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.columna}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.campoFuente\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.campoFuente}}\n </ng-template>\n </p-cellEditor>\n </td>\n\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.formato\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.formato}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listaGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [(ngModel)]=\"campo.tipo\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.tipo | reporteFuentePipe :'listaRecursoGrafica'}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <div *ngIf=\"campo.tipo =='I'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campo.ancho\">\n <label>{{'ancho' | translate}}</label>\n </p-floatLabel>\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campo.alto\">\n <label>{{'alto' | translate}}</label>\n </p-floatLabel>\n </div>\n </ng-template>\n <ng-template pTemplate=\"output\">\n <div *ngIf=\"campo.tipo =='I'\">\n {{'ancho' | translate}}: {{campo.ancho}} <br/>\n {{'alto' | translate}}: {{campo.alto}}\n </div> \n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%;\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCampoMarcador(campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cargarListaCampoMarcadorAsync()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow [disabled]=\"bloquearCampoMarcador\"\n icon=\"glyphicons glyphicons-pencil\" (click)=\"editarCampoMarcador()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow [disabled]=\"bloquearCampoMarcador\"\n icon=\"pi pi-trash\" (click)=\"eliminarCampoMarcador($event,campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'soporte' | translate }} {{'archivo' | translate }}s\"\n *ngIf=\"reporteFuente.unicoArchivo == 'N'\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoSoporte()\" icon=\"pi pi-plus\"\n [disabled]=\"habilitaCampo\" class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaSoportes\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaSoportes.length\"\n [paginator]=\"listaSoportes.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 45%\">{{'descripcion' | translate}}</th>\n <th style=\"width: 45%\">{{'archivo' | translate}}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verSoporteArchivoDetalle\">\n <td style=\"width: 45%\">\n <input pInputText type=\"text\" [(ngModel)]=\"soporteIngresar.descripcion\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo\">\n </td>\n <td style=\"width: 45%\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\" [mostrarX]=\"true\"\n [label]=\"soporteIngresar.archivoIndividual ? soporteIngresar.archivoIndividual: ''\" [labelarch]=\"'archivo' | translate\"\n [mostrarLabelInput]=\"false\" [mostraroblicargo]=\"true\" [booleano]=\"!utilsService.validarCampoObligatorio(soporteIngresar.archivoIndividual) && clickGuardarSoporteArchivo\"\n (onSelected)=\"obtenerArchivoSoporte($event, soporteIngresar)\"></app-input-helper-seleccion-plantilla>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarSoporte(soporteIngresar)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verSoporteArchivoDetalle = false\" icon=\"pi pi-times\" (click)=\"cancelarSoporte()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-soporte let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"soporte\" style=\"width: 100%\">\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"soporte.descripcion\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{soporte.descripcion}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n {{soporte.archivoIndividual}}\n <!--<app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\" [mostrarX]=\"true\"\n [label]=\"soporte.archivoIndividual ? soporte.archivoIndividual: ''\"\n [mostrarLabelInput]=\"false\" [booleano]=\"!utilsService.validarCampoObligatorio(soporte.archivoIndividual) && clickGuardarSoporteArchivo\"\n (onSelected)=\"obtenerArchivoSoporte($event, soporte)\"></app-input-helper-seleccion-plantilla>-->\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{soporte.archivoIndividual}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarSoporte(soporte)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cancelarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarSoporte($event, soporte)\" [disabled]=\"habilitaCampo\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </p-tabPanel>\n </p-tabView>\n </p-tabPanel>\n <p-tabPanel header=\"{{'reporte' | translate }} {{'dinamico' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.dobleLinea\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'doblelinea' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.tituloParametro\" size=\"25\"\n maxlength=\"100\">\n <label>{{'descripcion' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoJasper\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n \n \n <button pButton pRipple class=\"ml-2 p-button-outlined background-100\" icon=\"glyphicons glyphicons-restart\" \n label=\"{{'link_generar' | translate}}\" (click)=\"generarJasper()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"pi pi-download\" *ngIf=\"existeJasper\"\n label=\"{{'link_descargar' | translate}}\" (click)=\"descargarJasper()\">\n </button>\n \n </div>\n </div>\n </div>\n \n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"bandaSeleccionada.key\">\n <button pButton pRipple (click)=\"regresarBandaSeleccionada()\" label= \"{{'listado' | translate}} {{'bandas' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaTipoBanda\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [rows]=\"10\"\n [totalRecords]=\"listaTipoBanda.length\" [paginator]=\"listaTipoBanda.length > 10\"\n (onRowSelect)=\"verBanda($event)\" (onRowUnselect)=\"verBanda($event)\" *ngIf=\"!bandaSeleccionada.key\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'banda' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-banda>\n <tr [pSelectableRow]=\"banda\">\n <td>{{banda.value}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <p-tabView *ngIf=\"bandaSeleccionada.key && verTabBanda\">\n <p-tabPanel header=\"{{'caracteristicas' | translate}}\"\n *ngIf=\"!['detalle','summary'].includes(bandaSeleccionada.key)\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\" optionLabel=\"nombre\" optionValue=\"codigo\" \n [(ngModel)]=\"reporteBanda.totales\" ></p-dropdown>\n <label>{{'total' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteBanda.titulo\" maxlength=\"200\">\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-floppy-save\"\n label=\"{{'link_guardar' | translate}}\" (click)=\"guardarCaracteristicaBanda()\">\n </button>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{bandaSeleccionada.value}}\" *ngIf=\"!nuevaBanda\">\n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <div class=\"flex justify-content-end mb-1\" >\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoMarcadorDinamico()\" icon=\"pi pi-plus\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\" *ngIf=\"!nuevoReporteMarcadorDinamico\"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadorDinamico\" [scrollable]=\"true\"\n responsiveLayout=\"scroll\" dataKey=\"llaveTabla\" selectionMode=\"single\"\n [rows]=\"10\" [totalRecords]=\"listaMarcadorDinamico.length\"\n [paginator]=\"listaMarcadorDinamico.length > 10\" *ngIf=\"!nuevoReporteMarcadorDinamico\"\n (onRowSelect)=\"verMarcadorDinamico($event)\" (onRowUnselect)=\"verMarcadorDinamico($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'banda' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'etiqueta' | translate }}</th>\n <th>{{'formato' | translate }}</th>\n <th>{{'ancho' | translate }}</th>\n <th>{{'operacion' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-dinamico>\n <tr [pSelectableRow]=\"dinamico\">\n <td>{{dinamico.banda}}</td>\n <td>{{dinamico.banda ? dinamico.alto : ''}}</td>\n <td>{{dinamico.marcador}}</td>\n <td>{{dinamico.banda ? dinamico.descripcion : ''}}</td>\n <td>{{dinamico.banda ? dinamico.formato : ''}}</td>\n <td>{{['detalle'].includes(dinamico.banda) ? dinamico.ancho : ''}}</td>\n <td>{{dinamico.banda ? dinamico.operacion : ''}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div *ngIf=\"nuevoReporteMarcadorDinamico\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"flex justify-content-between align-items-center mb-2\"> \n <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>\n <button pButton pRipple (click)=\"nuevoReporteMarcadorDinamico = false\" label= \"{{'listado' | translate}} {{bandaSeleccionada.value}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \" *ngIf=\"nuevoReporteMarcadorDinamico\"></button>\n </div>\n <form [formGroup]=\"formReporteDinamico\" class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCampoJasperDinamico\"\n [autoDisplayFirst]=\"false\" formControlName=\"tipoCampo\"\n optionLabel=\"value\" optionValue=\"key\"></p-dropdown>\n <label>{{'tipocampo' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoDatoSintaxis\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipoDato\" optionLabel=\"value\"\n optionValue=\"key\"></p-dropdown>\n <label>{{'tipodato' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText formControlName=\"alto\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'orden' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" \n formControlName=\"marcador\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n *ngIf=\"!reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'\"></p-dropdown>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\"\n *ngIf=\"reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'\">\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-12\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"filtro\"></textarea>\n <label>{{'sintaxis' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\">\n <p-fieldset class=\"fieldsintitulo\" class=\"fieldsintitulo\">\n <div class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\">\n <label class=\"font-semibold text-gray-900 text-base ml-1\">{{'resultado' | translate}}</label>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\"></div>\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <label class=\"font-semibold text-gray-900 text-base ml-1\" >{{'label' | translate}}</label>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"formato\" />\n <label>{{'formato' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" />\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"ancho\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'ancho' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' == reporteMarcadorDinamico.banda \"></div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"anchoJasperLabel\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'ancho' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"'detalle' != reporteMarcadorDinamico.banda\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"resultadoX\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'x' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"titulox\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'x' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"'detalle' != reporteMarcadorDinamico.banda\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"resultadoY\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'y' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tituloy\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'y' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaAlineacion\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipoReporte\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'alineacion' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaAlineacion\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"tipoGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'alineacion' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoDato == 'N' && reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaOperaciones\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"operacion\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'operacion' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n </p-fieldset>\n </div>\n </form>\n \n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{reporteMarcadorDinamico.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{reporteMarcadorDinamico.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaDinamico()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcadorDinamico.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaDinamico($event)\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </p-tabPanel>\n \n </p-tabView>\n </p-tabPanel>\n <p-tabPanel header=\"{{'reporte' | translate }} {{'texto' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.archivoTexto\" size=\"50\"\n maxlength=\"200\">\n <label>{{'nombrearchivo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSeparadores\" [(ngModel)]=\"reporteFuente.separador\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto\"\n [autoDisplayFirst]=\"false\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'separador' | translate }}*</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoTexto\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizarSeparador()\">\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"flex justify-content-between lign-items-center mb-3\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorTexto()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorTexto\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorTexto\">\n <button pButton pRipple (click)=\"verNuevoMarcadorTexto = false; clickGuardarMarcadorTexto = false;\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadoresTexto\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaMarcadoresTexto.length\"\n [paginator]=\"listaMarcadoresTexto.length > 10\" *ngIf=\"!verNuevoMarcadorTexto\"\n (onRowSelect)=\"verMarcadorTexto($event)\" (onRowUnselect)=\"verMarcadorTexto($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'formato' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marctexto>\n <tr [pSelectableRow]=\"marctexto\">\n <td>{{marctexto.tipoGrafico | reporteFuentePipe : 'listaTipoMarcadoresTexto'}}</td>\n <td>{{marctexto.nombreColumna}}</td>\n <td>{{marctexto.formato}}</td>\n <td>{{marctexto.alto}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorTexto\"> \n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-notes\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoMarcadorTexto\" [autoDisplayFirst]=\"false\"\n [(ngModel)]=\"marcadorTexto.tipoGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico == 'D'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\"\n [(ngModel)]=\"marcadorTexto.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto\"></p-dropdown>\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.formato\" maxlength=\"50\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto\">\n <label>{{marcadorTexto.tipoGrafico == 'D' ? ('formato' | translate)+'*' : ('valor' | translate)+'*' }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico == 'D'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.ancho\" maxlength=\"22\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto\">\n <label>{{'ancho' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.alto\" maxlength=\"22\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto\">\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorTexto.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorTexto.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorTexto()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorTexto.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadoTexto($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'tabla' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.nombreTabla\" maxlength=\"4000\">\n <label>{{'nombretabla' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-8\">\n <!--BOTONES-->\n <div class=\"flex justify-content-end mt-1 mb-1\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <p-pickList [source]=\"listaTabla\" [target]=\"listaNoTabla\" sourceHeader=\"Asociado\" sourceFilterPlaceholder=\"Asociado\"\n targetHeader=\"Desasociado\" [dragdrop]=\"true\" [responsive]=\"true\" targetFilterPlaceholder=\"Desasociado\"\n filterBy=\"nombre\" *ngIf=\"isFuente()\" (onSourceReorder)=\"reorderTabla($event)\"\n (onMoveAllToTarget)=\"moverADesasociadoTabla($event)\" (onMoveAllToSource)=\"moverAAsociadoTabla($event)\"\n (onMoveToTarget)=\"moverADesasociadoTabla($event)\" (onMoveToSource)=\"moverAAsociadoTabla($event)\">\n <ng-template let-tabla pTemplate=\"item\">\n <div>\n <label>{{tabla.nombre}}</label>\n </div>\n </ng-template>\n </p-pickList>\n </p-tabPanel>\n <p-tabPanel header=\"{{'archivoxml' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.tagEncabezado\"></textarea>\n <label>{{'tagencabezado' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.tagCierreEncabezado\"></textarea>\n <label>{{'tagcierreencabezado' | translate }}</label>\n </p-floatLabel> \n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.estructuraRegistro\"></textarea>\n <label>{{'tagregistro' | translate }}</label>\n </p-floatLabel> \n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoXml\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n <div class=\"flex justify-content-between align-items-center mb-3\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorXML()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorXML\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorXML\">\n <button pButton pRipple (click)=\"verNuevoMarcadorXML = false; clickGuardarMarcadorXML = false;\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaXML\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaXML.length\"\n [paginator]=\"listaXML.length > 10\" *ngIf=\"!verNuevoMarcadorXML\"\n (onRowSelect)=\"verMarcadorXML($event)\" (onRowUnselect)=\"verMarcadorXML($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'marcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marctexto>\n <tr [pSelectableRow]=\"marctexto\">\n <td>{{marctexto.descripcion}}</td>\n <td>{{marctexto.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>\n <td>{{marctexto.nombreColumna}}</td>\n <td>{{marctexto.marcador}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorXML\"> \n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-notes\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.descripcion\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML\">\n <label>{{'descripcion' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoMarcadorXML\" [autoDisplayFirst]=\"false\" \n [(ngModel)]=\"marcadorXML.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MA','MR'].includes(marcadorXML.tipo)\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.marcador\" >\n <label>{{'marcador' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'TB'\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.marcador\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" >\n <label>{{'tabla' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MA'\" >\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"marcadorXML.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\" ></p-dropdown>\n <label>{{'columna' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MA'\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.formato\" >\n <label>{{'formato' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.textoRegistro\" ></textarea>\n <label>{{'texto' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MR','TB'].includes(marcadorXML.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaFuentes\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"marcadorXML.fuente\" optionLabel=\"descripcion\" optionValue=\"llave\"></p-dropdown>\n <label>{{'fuente' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MR','TB'].includes(marcadorXML.tipo)\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.filtro\"></textarea>\n <label>{{'filtro' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'TB'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.estructuraTablaXML\"></textarea>\n <label>{{'estructuratabla' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorXML.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorXML.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorXML()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorXML.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorXML($event)\">\n </button>\n </div>\n </div>\n </div>\n <div *ngIf=\"verNuevoMarcadorXML && marcadorXML.llave != null && (marcadorXML.tipo == 'MR' || marcadorXML.tipo == 'TB')\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCampoTablaXML()\" icon=\"pi pi-plus\" [disabled]=\"habilitaCampo\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaCamposMarcadorXML\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaCamposMarcadorXML.length\"\n [paginator]=\"listaCamposMarcadorXML.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llave\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 30%;\">{{'campo' | translate }}</th>\n <th style=\"width: 30%;\">{{'marcador' | translate }}</th>\n <th style=\"width: 30%;\">{{'formato' | translate }}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verReporteMarcadorDetalleXML\">\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.campoFuente\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML\">\n </td>\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.marcador\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML\">\n </td>\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.formato\" style=\"width: -webkit-fill-available\">\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\" >\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCampoMarcadorXML(campoMarcadorInsertarXML)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verReporteMarcadorDetalleXML = false; habilitaCampo = false;\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-campo let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"campo\">\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.campoFuente\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.campoFuente}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.marcador\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.marcador}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.formato\" style=\"width: -webkit-fill-available\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.formato}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n \n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCampoMarcadorXML(campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cargarListaCampoMarcadorXMLAsync()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" [disabled]=\"habilitaCampo\" (click)=\"eliminarCampoMarcadorXML($event,campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'columnario' | translate }}\">\n <p-accordion (onOpen)=\"cambiarTabColumnario($event)\" >\n <p-accordionTab [selected]=\"true\" >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'columnasbasicas'|translate}}\n </ng-template>\n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoColumnaBasica()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoReporteColumnario\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoReporteColumnario\">\n <button pButton pRipple (click)=\"verNuevoReporteColumnario = false; clickGuardarReporteColumnario = false;\" label= \"{{'listado' | translate}} {{'columnasbasicas' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaReporteColumnario\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaReporteColumnario.length\"\n [paginator]=\"listaReporteColumnario.length > 10\" *ngIf=\"!verNuevoReporteColumnario\"\n (onRowSelect)=\"verReporteColumnario($event)\" (onRowUnselect)=\"verReporteColumnario($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n <th>{{'operacion' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-bean>\n <tr [pSelectableRow]=\"bean\">\n <td>{{bean.nombre}}</td>\n <td>{{bean.nombreColumna}}</td>\n <td>{{bean.tipo | reporteColumnarioPipe: 'listaTipoColumna'}}</td>\n <td>{{bean.orden}}</td>\n <td>{{bean.operacion | reporteColumnarioPipe: 'listaOperacion'}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div *ngIf=\"verNuevoReporteColumnario\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.nombre\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario\">\n <label>{{'nombre' | translate}} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoColumnas\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'tipocolumna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"columnaBasica.tipo == 'D'\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacion\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesExcelColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacionHorizontal\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacionhorizontal' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- fila Operacion Vertical -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.columnaOperacionVertical\" maxlength=\"5\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario\">\n <label>{{'columnaoperacion' | translate}} *</label>\n </p-floatLabel>\n </div>\n <!-- Operacion Verticial -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesExcelColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacionVertical\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacionvertical' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- Orden -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isMostrarOrden()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.orden\" maxlength=\"5\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario\">\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n <!-- Ordenamiento Filas -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoLabel() || isTipoFila()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOrdenamiento\" [autoDisplayFirst]=\"false\" [showClear]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.orderBy\" optionLabel=\"nombre\" optionValue=\"codigo\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.orderBy) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.orderBy) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'ordenamiento' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- Ordenamiento Datos de la consulta -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isMostrarOrdenConsulta()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.ordenConsulta\" maxlength=\"5\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" >\n <label>{{'ordenconsulta' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{columnaBasica.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{columnaBasica.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaBasica()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"columnaBasica.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaBasica($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n <p-accordion (onOpen)=\"cambiarTabColumnario($event)\">\n <p-accordionTab >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'datosadicionales'|translate}}\n </ng-template>\n <p-fieldset class=\"fieldsintitulo\" >\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n \n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoExcelColumnario ? reporteFuente.archivoExcelColumnario: ''\"\n [extensiones]=\"'xls;xlsx;xlsm'\" [mostraroblicargo]=\"true\" [labelrar]=\"'plantilla' | translate\"\n (onSelected)=\"obtenerArchivoColumnario($event)\"></app-input-helper-seleccion-plantilla>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.hojaExcel\" size=\"25\" maxlength=\"20\">\n <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |\n translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"reporteFuente.filaInicioColumnario\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'filainiciocolumnario' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\" appendTo=\"body\"\n [(ngModel)]=\"reporteFuente.cifradoColumnario\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.sintaxisColumnario\"></textarea>\n <label>{{'sintaxiscolumnario' | translate }}</label>\n </p-floatLabel>\n </div>\n \n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </p-fieldset>\n <div class=\"flex justify-content-between align-items-center mb-3 mt-3\">\n <h1 class=\"text-xl\">{{'columnaadicional' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevaColumnaAdicional()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoColumnaAdicional\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoColumnaAdicional\">\n <button pButton pRipple (click)=\"verNuevoColumnaAdicional = false; clickGuardarColumnaAdicional = false;\" label= \"{{'listado' | translate}} {{'columnaadicional' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"columnasAdicionales\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"columnasAdicionales.length\"\n [paginator]=\"columnasAdicionales.length > 10\" *ngIf=\"!verNuevoColumnaAdicional\"\n (onRowSelect)=\"verDetalleAdicional($event)\" (onRowUnselect)=\"verDetalleAdicional($event)\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-columnaadicional>\n <tr [pSelectableRow]=\"columnaadicional\">\n <td>{{columnaadicional.nombre}}</td>\n <td>{{columnaadicional.orden}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <p-fieldset class=\"fieldsintitulo\" *ngIf=\"verNuevoColumnaAdicional\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaAdicional.nombre\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional\">\n <label>{{'alias' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"columnaAdicional.orden\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional\" />\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOrdenamiento\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaAdicional.orderBy\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional\"></p-dropdown>\n <label>{{'ordenamiento' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"columnaAdicional.ordenConsulta\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional\" />\n <label>{{'ordenconsulta' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\" >\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"columnaAdicional.sintaxis\" maxlength=\"4000\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional\"></textarea>\n <label>{{'sintaxis' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{columnaAdicional.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{columnaAdicional.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaAdicional()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"columnaAdicional.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaAdicional($event)\">\n </button>\n </div>\n </div>\n </p-fieldset>\n </p-accordionTab>\n <p-accordionTab >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'marcadores'|translate}}\n </ng-template>\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorColumnario()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorColumnario\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorColumnario\">\n <button pButton pRipple (click)=\"verNuevoMarcadorColumnario = false; clickGuardarMarcadorColumnario = false;\" label= \"{{'listado' | translate}} {{'marcador' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"marcadoresColumnario\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"marcadoresColumnario.length\"\n [paginator]=\"marcadoresColumnario.length > 10\" *ngIf=\"!verNuevoMarcadorColumnario\"\n (onRowSelect)=\"verDetalleMarcadorColumnario($event)\" (onRowUnselect)=\"verDetalleMarcadorColumnario($event)\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'tipomarcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.marcador}}</td>\n <td>{{marcador.tipo | reporteColumnarioPipe: 'listaTipoMarcador'}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div *ngIf=\"verNuevoMarcadorColumnario\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"marcadorColumnario.descripcion\" maxlength=\"4000\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario\" />\n <label>{{'descripcion' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"marcadorColumnario.marcador\" maxlength=\"50\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario\" />\n <label>{{'marcador' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoMarcadorColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"marcadorColumnario.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-12\" >\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"marcadorColumnario.textoRegistro\" maxlength=\"4000\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario\"></textarea>\n <label>{{'valor' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorColumnario.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorColumnario.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorColumnario()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorColumnario.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorColumnario($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n </p-tabPanel>\n <p-tabPanel header=\"{{'grafica' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.codigo\" size=\"25\"\n maxlength=\"100\">\n <label>{{'codigo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.tituloGrafico\" size=\"25\"\n maxlength=\"100\">\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoGrafico\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.tipoGrafico\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'tipo' | translate }}</label> \n </p-floatLabel>\n </div>\n </div>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" *ngIf=\"isSql()\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\" \n label=\"{{'link_actualizar' | translate}}\" (click)=\"guardarGrafico()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined background-100\" icon=\"pi pi-eye\"\n label=\"{{'link_ver' | translate}}\" (click)=\"verGrafico()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-table [value]=\"paginadorColumnas\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n [rows]=\"20\" [totalRecords]=\"paginadorColumnas.length\" [paginator]=\"paginadorColumnas.length > 20\" >\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'columna' | translate }}</th>\n <th>{{'sintaxis' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'accion' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-bean>\n <tr [pSelectableRow]=\"bean\">\n <td>{{bean.nombre}}</td>\n <td>{{bean.sintaxis}}</td>\n <td>{{bean.tipoDato | reporteFuentePipe : 'listaTipoDato'}}</td>\n <td>\n <p-dropdown [options]=\"listaGraficoSencillo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"bean.graficoFuente\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table> \n\n <div class=\"flex justify-content-between align-items-center mt-2 mb-2\">\n <h1 class=\"text-xl\">Colores</h1>\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoColorCategoria()\" icon=\"pi pi-plus\"\n [disabled]=\"habilitaCampo\" class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"paginadorColoresGrafica\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"paginadorColoresGrafica.length\"\n [paginator]=\"paginadorColoresGrafica.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 45%\">{{'categoria' | translate}}</th>\n <th style=\"width: 45%\">{{'color' | translate}}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verColorCategoriaDetalle\">\n <td style=\"width: 45%\">\n <input pInputText type=\"text\" [(ngModel)]=\"colorCategoria.titulo\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria\">\n </td>\n <td style=\"width: 45%\">\n <div style=\"width: 100%\">\n <p-colorPicker [(ngModel)]=\"colorCategoria.banda\" appendTo=\"body\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria\" />\n </div>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarColorCategoria(colorCategoria)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verColorCategoriaDetalle = false\" icon=\"pi pi-times\" (click)=\"cancelarColorCategoria()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-color let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"color\" style=\"width: 100%\">\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"color.titulo\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{color.titulo}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <div style=\"width: 100%\">\n <p-colorPicker [(ngModel)]=\"color.banda\" appendTo=\"body\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria\"/>\n </div>\n </ng-template>\n <ng-template pTemplate=\"output\">\n <p-colorPicker [(ngModel)]=\"color.banda\" [disabled]=\"true\" />\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarColorCategoria(color)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cancelarEdicionColor()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarColorCategoria($event, color)\" [disabled]=\"habilitaCampo\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div #divGrafica class=\"flex justify-content-between card mt-3\" *ngIf=\"grafica\">\n <h1 class=\"text-xl\">{{'grafica' | translate}}</h1>\n <div style=\"width: 35%\"></div>\n <div style=\"width: 30%\">\n <p-chart [type]=\"tipoGrafica\" [data]=\"grafica.datosGrafica.data\" [options]=\"grafica.datosGrafica.options\"></p-chart>\n </div>\n <div style=\"width: 35%\"></div>\n </div>\n </p-tabPanel>\n</p-tabView>", styles: [":host ::ng-deep .p-picklist-buttons.p-picklist-source-controls.ng-star-inserted{display:none}:host ::ng-deep .p-picklist-buttons.p-picklist-target-controls.ng-star-inserted{display:none}:host ::ng-deep .p-picklist.p-component{margin:0}:host ::ng-deep .p-picklist-item span{float:left!important}:host ::ng-deep .fieldsintitulo .p-fieldset-legend{display:none!important}:host ::ng-deep .p-picklist-list-wrapper.p-picklist-source-wrapper ul{box-shadow:inset 1px 8px 10px -10px var(--color-200)}:host ::ng-deep .p-picklist .p-picklist-target{background:var(--color-200) no-repeat}:host ::ng-deep .p-picklist .p-picklist-target{background:var(--color-50) no-repeat}:host ::ng-deep .p-picklist .p-picklist-header{display:none}:host ::ng-deep .p-picklist .p-picklist-filter-container span{color:var(--color-100)}:host ::ng-deep .p-picklist .p-picklist-filter-container{border-radius:10px 10px 0 0;padding:3%;border:1px solid var(--color-100);border-bottom:none;box-shadow:0 4px 7px var(--color-100);position:relative}:host ::ng-deep .p-picklist .p-picklist-list{border:1px solid var(--color-100);height:400px}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item{padding:2%;color:#000000de;background:solid 2px var(--color-50) no-repeat;margin:16px 16px -7px;border-radius:5px;border:solid 1px var(--color-100);transition:.2s;background:#fff}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item h6,:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item h7{color:var(--color-500);margin-bottom:2px;font-size:1rem;margin-top:0}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item span{float:left;margin-right:4px;min-height:30px;color:var(--color-400)}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover{background:var(--color-400);color:#fff;transition:.2s}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover h6,:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover h7{color:#fff!important;transition:.2s}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover span{color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight{background:var(--color-500);color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight h6,:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight h7{color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight span{color:#fff!important}:host ::ng-deep span.p-input-icon-left{width:calc(50% - .25rem - 20px);border-bottom:none;border:1px solid var(--color-100);padding:1.5%;border-radius:10px 10px 0 0;margin-left:-8px}:host ::ng-deep span.p-input-icon-left i{margin-left:20px}.p-picklist-buttons{padding:2rem}.p-picklist-buttons .p-button:disabled{background-color:var(--color3)!important;color:#fff!important}.p-picklist-buttons .p-button{margin-bottom:.5rem;border-radius:100%}.p-picklist-buttons .p-button.p-button-icon-only{padding:.4rem .5rem;width:40px;height:40px;max-width:initial;max-height:initial}.p-picklist-buttons .p-button.p-button-icon-only span{font-size:18px}:host ::ng-deep .p-picklist-buttons .p-button.p-button-icon-only{border-radius:100%;width:3rem!important;background:var(--color-500)}:host ::ng-deep .p-picklist-buttons .p-button.p-button-icon-only span{font-size:1.2rem;background:var(--color--300);color:#fff}:host ::ng-deep .p-picklist-buttons .p-button:disabled{background:var(--color-300)!important}@media (max-width: 1440px){:host ::ng-deep span.p-input-icon-left{width:calc(50% - .25rem - 20px);border-bottom:none;border:1px solid var(--color-100);padding:1.2%;border-radius:10px 10px 0 0;margin-left:-8px}:host ::ng-deep span.p-input-icon-left i{margin-left:15px}}:host ::ng-deep .p-button{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i17.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i17.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "component", type: i17.CellEditor, selector: "p-cellEditor" }, { kind: "directive", type: i17.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i17.InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "directive", type: i17.SaveEditableRow, selector: "[pSaveEditableRow]" }, { kind: "directive", type: i17.CancelEditableRow, selector: "[pCancelEditableRow]" }, { kind: "component", type: TemplateTablaVaciaComponent, selector: "app-template-tabla-vacia" }, { kind: "ngmodule", type: TabViewModule }, { kind: "component", type: i17$2.TabView, selector: "p-tabView", inputs: ["style", "styleClass", "controlClose", "scrollable", "activeIndex", "selectOnFocus", "nextButtonAriaLabel", "prevButtonAriaLabel", "autoHideButtons", "tabindex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i17$2.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: InputHelperSeleccionPlantillaComponent, selector: "app-input-helper-seleccion-plantilla", inputs: ["value", "label", "labelrar", "labelarch", "extensiones", "readonly", "propiedad", "anexoPropiedad", "showDialog", "propiedadDeSistema", "mostraroblicargo", "mostrarX", "booleano", "mostrarLabelInput"], outputs: ["onSelected"] }, { kind: "pipe", type: ReporteColumnarioPipe, name: "reporteColumnarioPipe" }, { kind: "pipe", type: ReporteFuentePipe, name: "reporteFuentePipe" }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i11.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i10$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: PickListModule }, { kind: "component", type: i22.PickList, selector: "p-pickList", inputs: ["source", "target", "sourceHeader", "tabindex", "rightButtonAriaLabel", "leftButtonAriaLabel", "allRightButtonAriaLabel", "allLeftButtonAriaLabel", "upButtonAriaLabel", "downButtonAriaLabel", "topButtonAriaLabel", "bottomButtonAriaLabel", "targetHeader", "responsive", "filterBy", "filterLocale", "trackBy", "sourceTrackBy", "targetTrackBy", "showSourceFilter", "showTargetFilter", "metaKeySelection", "dragdrop", "style", "styleClass", "sourceStyle", "targetStyle", "showSourceControls", "showTargetControls", "sourceFilterPlaceholder", "targetFilterPlaceholder", "disabled", "ariaSourceFilterLabel", "ariaTargetFilterLabel", "filterMatchMode", "stripedRows", "keepSelection", "breakpoint"], outputs: ["onMoveToSource", "onMoveAllToSource", "onMoveAllToTarget", "onMoveToTarget", "onSourceReorder", "onTargetReorder", "onSourceSelect", "onTargetSelect", "onSourceFilter", "onTargetFilter", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FieldsetModule }, { kind: "component", type: i7$4.Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i17$1.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex", "selectOnFocus", "headerAriaLevel"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i17$1.AccordionTab, selector: "p-accordionTab", inputs: ["id", "header", "headerStyle", "tabStyle", "contentStyle", "tabStyleClass", "headerStyleClass", "contentStyleClass", "disabled", "cache", "transitionOptions", "iconPos", "selected", "headerAriaLevel"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i14$1.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: InputTextareaModule }, { kind: "directive", type: i16.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i27.FloatLabel, selector: "p-floatLabel" }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i15.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: ChartModule }, { kind: "component", type: i29.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }, { kind: "ngmodule", type: ColorPickerModule }, { kind: "component", type: i30.ColorPicker, selector: "p-colorPicker", inputs: ["style", "styleClass", "inline", "format", "appendTo", "disabled", "tabindex", "inputId", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "autofocus"], outputs: ["onChange", "onShow", "onHide"] }] });
|
|
12923
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: DetalleTipoReporteComponent, isStandalone: true, selector: "detalle-tipo-reporte", inputs: { llaveReporte: "llaveReporte", aplicacion: "aplicacion", listaFuentes: "listaFuentes" }, providers: [MessageService], viewQueries: [{ propertyName: "divGrafica", first: true, predicate: ["divGrafica"], descendants: true }], ngImport: i0, template: "<p-tabView (onChange)=\"cambiarTab($event)\">\n <p-tabPanel header=\"{{'excel' | translate }}\" [selected]=\"true\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <p class=\"font-semibold\">{{'debe' | translate}} {{'indicar' | translate}} {{'plantilla' | translate}} {{'y' | translate}}\n {{'hoja' | translate}} {{'para' | translate}} {{'que' | translate}} {{'esta' | translate}}\n {{'opcion' | translate}} {{'se' | translate}} {{'active' | translate}}\n </p>\n <div class=\"p-fluid p-formgrid grid\">\n <div class=\"field col-12 md:col-4\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoTodo ? reporteFuente.archivoTodo: ''\"\n [extensiones]=\"'xls;xlsx'\" [mostraroblicargo]=\"true\" [labelrar]=\"'plantilla' | translate\"\n (onSelected)=\"obtenerArchivo($event)\"></app-input-helper-seleccion-plantilla>\n\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.hojaExcel\" size=\"25\" maxlength=\"20\">\n <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |\n translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoExcel\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\"\n icon=\"glyphicons glyphicons-refresh\" label=\"{{'link_actualizar' | translate}}\"\n (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-pickList [source]=\"listaExcel\" [target]=\"listaNoExcel\" sourceHeader=\"Asociado\" sourceFilterPlaceholder=\"Asociado\"\n targetHeader=\"Desasociado\" [dragdrop]=\"true\" [responsive]=\"true\" targetFilterPlaceholder=\"Desasociado\"\n filterBy=\"sintaxis\" (onSourceReorder)=\"moverAAsociado($event)\"\n (onMoveAllToTarget)=\"moverADesasociado($event)\" (onMoveAllToSource)=\"moverAAsociado($event)\"\n (onMoveToTarget)=\"moverADesasociado($event)\" (onMoveToSource)=\"moverAAsociado($event)\">\n <ng-template let-excel pTemplate=\"item\">\n <div>\n <label>{{excel.nombre}}</label>\n </div>\n </ng-template>\n </p-pickList>\n\n <div class=\"mt-4\">\n <div class=\"flex justify-content-between align-items-center mt-2 mb-2\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorExcel()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorExcel\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorExcel\">\n <button pButton pRipple (click)=\"verNuevoMarcadorExcel = false\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadorExcel\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [selection]=\"reporteMarcadorExcel\" [rows]=\"10\"\n [totalRecords]=\"listaMarcadorExcel.length\" [paginator]=\"listaMarcadorExcel.length > 10\"\n (onRowSelect)=\"verDetalleMarcadorExcel($event)\" (onRowUnselect)=\"verDetalleMarcadorExcel($event)\" *ngIf=\"!verNuevoMarcadorExcel\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.descripcion}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorExcel\">\n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-book\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-4 \">\n <form [formGroup]=\"formMarcadorExcel\" >\n <div class=\"col-md-12 p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" size=\"25\" maxlength=\"4000\">\n <label>{{'descripcion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\" maxlength=\"4000\">\n <label>{{'marcador' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Imagen Fija', value: 'IF'}, {label: 'Marcador', value: 'MA'}]\"\n [autoDisplayFirst]=\"false\" formControlName=\"tipo\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\" [hidden]=\"esImagenFija\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"textoRegistro\"></textarea>\n <label>{{'valor' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"esMarcador\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]\"\n [autoDisplayFirst]=\"false\" formControlName=\"origen\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'origen' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"esMarcador\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n formControlName=\"textoRegistro\"\n [label]=\"reporteMarcadorExcel.textoRegistro ? reporteMarcadorExcel.textoRegistro: ''\"\n [extensiones]=\"'jpg;png'\" (onSelected)=\"obtenerArchivoMarcadorExcel($event)\"\n [propiedad]=\"'ruta_recursos'\" [labelrar]=\"('recursos' | translate)\" [labelarch]=\"'recurso' | translate\" [mostrarX]=\"true\"\n [mostraroblicargo]=\"true\"\n [booleano]=\"!utilsService.validarCampoObligatorio(reporteMarcadorExcel.textoRegistro) && clickGuardarMarcadorExcel\"\n [anexoPropiedad]=\"reporteMarcadorExcel.origen =='C' ? llaveEmpresa: ''\"\n [propiedadDeSistema]=\"true\"></app-input-helper-seleccion-plantilla>\n </div>\n </div>\n </form>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" *ngIf=\"verNuevoMarcadorExcel\">\n <button pButton pRipple class=\"ml-2 p-button-raised\" icon=\"glyphicons {{reporteMarcadorExcel.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{reporteMarcadorExcel.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorExcel()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcadorExcel.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorExcel($event)\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'plantilla' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.unicoArchivo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'soporte' | translate }} {{'unico' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.descargarFuente\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'descargardoc' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.generarPin\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'generarpin' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [(ngModel)]=\"reporteFuente.campoAgrupacionPlanilla\" \n [autoDisplayFirst]=\"false\" [showClear]=\"true\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'agruparpor' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.nombreAgrupacionPlanilla\" size=\"25\"\n maxlength=\"100\">\n <label>{{'nombrearchivoagrupacion' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoPlanilla\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteFuente.unicoArchivo == 'N'\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoIndividual ? reporteFuente.archivoIndividual: ''\"\n [labelrar]=\"'archivo' | translate\" [labelarch]=\"'archivo' | translate\" [mostraroblicargo]=\"true\"\n (onSelected)=\"obtenerArchivoPlanilla($event)\"></app-input-helper-seleccion-plantilla>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-tabView >\n <p-tabPanel header=\"{{'marcadores' | translate }}\" [selected]=\"true\">\n \n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton pRipple class=\"p-button-secondary font-semibold mb-2\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcador()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcador\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcador\">\n <button pButton pRipple (click)=\"verNuevoMarcador = false\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadores\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [selection]=\"reporteMarcador\"\n [rows]=\"10\" [totalRecords]=\"listaMarcadores.length\"\n [paginator]=\"listaMarcadores.length > 10\" *ngIf=\"!verNuevoMarcador\"\n (onRowSelect)=\"verDetalleMarcador($event)\" (onRowUnselect)=\"verDetalleMarcador($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'marcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.descripcion}}</td>\n <td>{{marcador.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>\n <td>{{marcador.tipo == 'IF' ? marcador.textoRegistro : marcador.nombreColumna}}</td>\n <td>{{marcador.marcador}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div class=\"card col-md-12\" *ngIf=\"verNuevoMarcador\">\n <div class=\"Detallereporte mt-2\">\n <form [formGroup]=\"formMarcador\">\n <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>\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" size=\"25\"\n maxlength=\"4000\">\n <label>{{'descripcion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoMarcador\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipo\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!(['MA','IM','MR','IF','QR','BC','G1'].includes(reporteMarcador.tipo))\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\">\n <label>{{'marcador' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'TB'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tabla\" size=\"25\">\n <label>{{'tabla' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'IF'\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\" formControlName=\"origen\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'origen' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"reporteMarcador.tipo != 'IF' || !reporteMarcador.origen\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n formControlName=\"textoRegistro\"\n [label]=\"reporteMarcador.textoRegistro ? reporteMarcador.textoRegistro: ''\"\n [mostraroblicargo]=\"true\" [mostrarX]=\"true\"\n [booleano]=\"!utilsService.validarCampoObligatorio(reporteMarcador.textoRegistro) && clickGuardarMarcador\"\n [extensiones]=\"'jpg;png'\" (onSelected)=\"obtenerArchivoMarcador($event)\"\n [propiedad]=\"'ruta_recursos'\" [labelrar]=\"'recursos' | translate\"\n [anexoPropiedad]=\"reporteMarcador.origen =='C' ? llaveEmpresa: ''\"\n [propiedadDeSistema]=\"true\"></app-input-helper-seleccion-plantilla>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['MA','IM','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" formControlName=\"reporteColumna\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'columna' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MA'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"formato\" size=\"25\">\n <label>{{'formato' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-inputNumber formControlName=\"ancho\" [maxlength]=\"5\"> </p-inputNumber>\n <label>{{'ancho' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-inputNumber formControlName=\"alto\" [maxlength]=\"5\"> </p-inputNumber>\n <label>{{'alto' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo1\"></textarea>\n <label>{{'grupo1' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo2\"></textarea>\n <label>{{'grupo2' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo3\"></textarea>\n <label>{{'grupo3' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"finalGrupo\"></textarea>\n <label>{{'finalgrupo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"textoRegistro\"></textarea>\n <label>{{'texto' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['MR','TB'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" formControlName=\"tieneSql\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'sql' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'TB'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoGrafico_JFC\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"tipoGrafico\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'grafica' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['S'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"query\"></textarea>\n <label>{{'consulta' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaFuentes\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"fuente\" optionLabel=\"descripcion\"\n optionValue=\"llave\"></p-dropdown>\n <label>{{'fuente' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcadorGrafico\" size=\"25\">\n <label>{{'marcadorgrafica' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['A'].includes(reporteMarcador.tipoGrafico)\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"titulox\" size=\"25\">\n <label>{{'titulo' | translate }} X</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['A'].includes(reporteMarcador.tipoGrafico)\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tituloy\" size=\"25\">\n <label>{{'titulo' | translate }} Y</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"banda\" size=\"25\">\n <label>{{'colordinamico' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"anchoJasperLabel\" size=\"25\">\n <label>{{'numerocategorias' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"filtro\"></textarea>\n <label>{{'filtro' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n </form>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\"\n icon=\"glyphicons {{reporteMarcador.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save' }}\" label=\"{{reporteMarcador.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\"\n (click)=\"guardarMarcador()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcador.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcador($event)\">\n </button>\n </div>\n </div>\n </div>\n <div *ngIf=\"verNuevoMarcador && reporteMarcador.llave != null && (reporteMarcador.tipo == 'MR' || reporteMarcador.tipo == 'TB')\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCampoTabla()\" icon=\"pi pi-plus\" [disabled]=\"bloquearCampoMarcador\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaCamposMarcador\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaCamposMarcador.length\" [scrollable]=\"true\"\n [paginator]=\"listaCamposMarcador.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llave\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 10%;\">{{'columna' | translate }}</th>\n <th style=\"width: 10%;\">{{'campo' | translate }}</th>\n <th style=\"width: 10%;\">{{'formato' | translate }}</th>\n <th style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">{{'tipo' | translate }}</th>\n <th style=\"width: 10%;\"*ngIf=\"reporteMarcador.tipo == 'TB'\">{{'medidas' | translate }}</th>\n <th style=\"width: 10%;\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verReporteMarcadorDetalle\">\n <td style=\"width: 10%;\">\n <input pInputText [(ngModel)]=\"campoMarcadorInsertar.columna\" oninput=\"this.value = this.value.replace(/[^0-9]/g, '');\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo\" />\n </td>\n <td style=\"width: 10%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.campoFuente\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo\">\n </td>\n <td style=\"width: 10%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.formato\">\n </td>\n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-dropdown [options]=\"listaGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [(ngModel)]=\"campoMarcadorInsertar.tipo\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\"></p-dropdown>\n </td>\n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <div *ngIf=\"campoMarcadorInsertar.tipo =='I'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.ancho\">\n <label>{{'ancho' | translate}}</label>\n </p-floatLabel>\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.alto\">\n <label>{{'alto' | translate}}</label>\n </p-floatLabel>\n </div>\n </td>\n <td style=\"width: 10%;\" >\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCampoMarcador(campoMarcadorInsertar)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verReporteMarcadorDetalle = false; bloquearCampoMarcador = false\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-campo let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"campo\">\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.columna\" oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo\" \n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo\" />\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.columna}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.campoFuente\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.campoFuente}}\n </ng-template>\n </p-cellEditor>\n </td>\n\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.formato\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.formato}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listaGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [(ngModel)]=\"campo.tipo\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.tipo | reporteFuentePipe :'listaRecursoGrafica'}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <div *ngIf=\"campo.tipo =='I'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campo.ancho\">\n <label>{{'ancho' | translate}}</label>\n </p-floatLabel>\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campo.alto\">\n <label>{{'alto' | translate}}</label>\n </p-floatLabel>\n </div>\n </ng-template>\n <ng-template pTemplate=\"output\">\n <div *ngIf=\"campo.tipo =='I'\">\n {{'ancho' | translate}}: {{campo.ancho}} <br/>\n {{'alto' | translate}}: {{campo.alto}}\n </div> \n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%;\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCampoMarcador(campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cargarListaCampoMarcadorAsync()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow [disabled]=\"bloquearCampoMarcador\"\n icon=\"glyphicons glyphicons-pencil\" (click)=\"editarCampoMarcador()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow [disabled]=\"bloquearCampoMarcador\"\n icon=\"pi pi-trash\" (click)=\"eliminarCampoMarcador($event,campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'soporte' | translate }} {{'archivo' | translate }}s\"\n *ngIf=\"reporteFuente.unicoArchivo == 'N'\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoSoporte()\" icon=\"pi pi-plus\"\n [disabled]=\"habilitaCampo\" class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaSoportes\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaSoportes.length\"\n [paginator]=\"listaSoportes.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 45%\">{{'descripcion' | translate}}</th>\n <th style=\"width: 45%\">{{'archivo' | translate}}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verSoporteArchivoDetalle\">\n <td style=\"width: 45%\">\n <input pInputText type=\"text\" [(ngModel)]=\"soporteIngresar.descripcion\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo\">\n </td>\n <td style=\"width: 45%\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\" [mostrarX]=\"true\"\n [label]=\"soporteIngresar.archivoIndividual ? soporteIngresar.archivoIndividual: ''\" [labelarch]=\"'archivo' | translate\"\n [mostrarLabelInput]=\"false\" [mostraroblicargo]=\"true\" [booleano]=\"!utilsService.validarCampoObligatorio(soporteIngresar.archivoIndividual) && clickGuardarSoporteArchivo\"\n (onSelected)=\"obtenerArchivoSoporte($event, soporteIngresar)\"></app-input-helper-seleccion-plantilla>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarSoporte(soporteIngresar)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verSoporteArchivoDetalle = false\" icon=\"pi pi-times\" (click)=\"cancelarSoporte()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-soporte let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"soporte\" style=\"width: 100%\">\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"soporte.descripcion\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{soporte.descripcion}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n {{soporte.archivoIndividual}}\n <!--<app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\" [mostrarX]=\"true\"\n [label]=\"soporte.archivoIndividual ? soporte.archivoIndividual: ''\"\n [mostrarLabelInput]=\"false\" [booleano]=\"!utilsService.validarCampoObligatorio(soporte.archivoIndividual) && clickGuardarSoporteArchivo\"\n (onSelected)=\"obtenerArchivoSoporte($event, soporte)\"></app-input-helper-seleccion-plantilla>-->\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{soporte.archivoIndividual}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarSoporte(soporte)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cancelarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarSoporte($event, soporte)\" [disabled]=\"habilitaCampo\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </p-tabPanel>\n </p-tabView>\n </p-tabPanel>\n <p-tabPanel header=\"{{'reporte' | translate }} {{'dinamico' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.dobleLinea\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'doblelinea' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.tituloParametro\" size=\"25\"\n maxlength=\"100\">\n <label>{{'descripcion' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoJasper\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n \n \n <button pButton pRipple class=\"ml-2 p-button-outlined background-100\" icon=\"glyphicons glyphicons-restart\" \n label=\"{{'link_generar' | translate}}\" (click)=\"generarJasper()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"pi pi-download\" *ngIf=\"existeJasper\"\n label=\"{{'link_descargar' | translate}}\" (click)=\"descargarJasper()\">\n </button>\n \n </div>\n </div>\n </div>\n \n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"bandaSeleccionada.key\">\n <button pButton pRipple (click)=\"regresarBandaSeleccionada()\" label= \"{{'listado' | translate}} {{'bandas' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaTipoBanda\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [rows]=\"10\"\n [totalRecords]=\"listaTipoBanda.length\" [paginator]=\"listaTipoBanda.length > 10\"\n (onRowSelect)=\"verBanda($event)\" (onRowUnselect)=\"verBanda($event)\" *ngIf=\"!bandaSeleccionada.key\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'banda' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-banda>\n <tr [pSelectableRow]=\"banda\">\n <td>{{banda.value}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <p-tabView *ngIf=\"bandaSeleccionada.key && verTabBanda\">\n <p-tabPanel header=\"{{'caracteristicas' | translate}}\"\n *ngIf=\"!['detalle','summary'].includes(bandaSeleccionada.key)\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\" optionLabel=\"nombre\" optionValue=\"codigo\" \n [(ngModel)]=\"reporteBanda.totales\" ></p-dropdown>\n <label>{{'total' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteBanda.titulo\" maxlength=\"200\">\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-floppy-save\"\n label=\"{{'link_guardar' | translate}}\" (click)=\"guardarCaracteristicaBanda()\">\n </button>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{bandaSeleccionada.value}}\" *ngIf=\"!nuevaBanda\">\n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <div class=\"flex justify-content-end mb-1\" >\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoMarcadorDinamico()\" icon=\"pi pi-plus\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\" *ngIf=\"!nuevoReporteMarcadorDinamico\"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadorDinamico\" [scrollable]=\"true\"\n responsiveLayout=\"scroll\" dataKey=\"llaveTabla\" selectionMode=\"single\"\n [rows]=\"10\" [totalRecords]=\"listaMarcadorDinamico.length\"\n [paginator]=\"listaMarcadorDinamico.length > 10\" *ngIf=\"!nuevoReporteMarcadorDinamico\"\n (onRowSelect)=\"verMarcadorDinamico($event)\" (onRowUnselect)=\"verMarcadorDinamico($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'banda' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'etiqueta' | translate }}</th>\n <th>{{'formato' | translate }}</th>\n <th>{{'ancho' | translate }}</th>\n <th>{{'operacion' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-dinamico>\n <tr [pSelectableRow]=\"dinamico\">\n <td>{{dinamico.banda}}</td>\n <td>{{dinamico.banda ? dinamico.alto : ''}}</td>\n <td>{{dinamico.marcador}}</td>\n <td>{{dinamico.banda ? dinamico.descripcion : ''}}</td>\n <td>{{dinamico.banda ? dinamico.formato : ''}}</td>\n <td>{{['detalle'].includes(dinamico.banda) ? dinamico.ancho : ''}}</td>\n <td>{{dinamico.banda ? dinamico.operacion : ''}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div *ngIf=\"nuevoReporteMarcadorDinamico\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"flex justify-content-between align-items-center mb-2\"> \n <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>\n <button pButton pRipple (click)=\"nuevoReporteMarcadorDinamico = false\" label= \"{{'listado' | translate}} {{bandaSeleccionada.value}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \" *ngIf=\"nuevoReporteMarcadorDinamico\"></button>\n </div>\n <form [formGroup]=\"formReporteDinamico\" class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCampoJasperDinamico\"\n [autoDisplayFirst]=\"false\" formControlName=\"tipoCampo\"\n optionLabel=\"value\" optionValue=\"key\"></p-dropdown>\n <label>{{'tipocampo' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoDatoSintaxis\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipoDato\" optionLabel=\"value\"\n optionValue=\"key\"></p-dropdown>\n <label>{{'tipodato' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText formControlName=\"alto\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'orden' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" \n formControlName=\"marcador\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n *ngIf=\"!reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'\"></p-dropdown>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\"\n *ngIf=\"reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'\">\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-12\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"filtro\"></textarea>\n <label>{{'sintaxis' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\">\n <p-fieldset class=\"fieldsintitulo\" class=\"fieldsintitulo\">\n <div class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\">\n <label class=\"font-semibold text-gray-900 text-base ml-1\">{{'resultado' | translate}}</label>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\"></div>\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <label class=\"font-semibold text-gray-900 text-base ml-1\" >{{'label' | translate}}</label>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"formato\" />\n <label>{{'formato' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" />\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"ancho\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'ancho' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' == reporteMarcadorDinamico.banda \"></div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"anchoJasperLabel\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'ancho' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"'detalle' != reporteMarcadorDinamico.banda\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"resultadoX\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'x' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"titulox\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'x' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"'detalle' != reporteMarcadorDinamico.banda\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"resultadoY\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'y' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tituloy\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'y' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaAlineacion\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipoReporte\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'alineacion' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaAlineacion\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"tipoGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'alineacion' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoDato == 'N' && reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaOperaciones\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"operacion\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'operacion' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n </p-fieldset>\n </div>\n </form>\n \n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{reporteMarcadorDinamico.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{reporteMarcadorDinamico.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaDinamico()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcadorDinamico.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaDinamico($event)\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </p-tabPanel>\n \n </p-tabView>\n </p-tabPanel>\n <p-tabPanel header=\"{{'reporte' | translate }} {{'texto' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.archivoTexto\" size=\"50\"\n maxlength=\"200\">\n <label>{{'nombrearchivo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSeparadores\" [(ngModel)]=\"reporteFuente.separador\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto\"\n [autoDisplayFirst]=\"false\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'separador' | translate }}*</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoTexto\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizarSeparador()\">\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"flex justify-content-between lign-items-center mb-3\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorTexto()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorTexto\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorTexto\">\n <button pButton pRipple (click)=\"verNuevoMarcadorTexto = false; clickGuardarMarcadorTexto = false;\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadoresTexto\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaMarcadoresTexto.length\"\n [paginator]=\"listaMarcadoresTexto.length > 10\" *ngIf=\"!verNuevoMarcadorTexto\"\n (onRowSelect)=\"verMarcadorTexto($event)\" (onRowUnselect)=\"verMarcadorTexto($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'formato' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marctexto>\n <tr [pSelectableRow]=\"marctexto\">\n <td>{{marctexto.tipoGrafico | reporteFuentePipe : 'listaTipoMarcadoresTexto'}}</td>\n <td>{{marctexto.nombreColumna}}</td>\n <td>{{marctexto.formato}}</td>\n <td>{{marctexto.alto}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorTexto\"> \n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-notes\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoMarcadorTexto\" [autoDisplayFirst]=\"false\"\n [(ngModel)]=\"marcadorTexto.tipoGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico == 'D'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\"\n [(ngModel)]=\"marcadorTexto.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto\"></p-dropdown>\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.formato\" maxlength=\"50\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto\">\n <label>{{marcadorTexto.tipoGrafico == 'D' ? ('formato' | translate)+'*' : ('valor' | translate)+'*' }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico == 'D'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.ancho\" maxlength=\"22\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto\">\n <label>{{'ancho' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.alto\" maxlength=\"22\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto\">\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorTexto.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorTexto.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorTexto()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorTexto.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadoTexto($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'tabla' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.nombreTabla\" maxlength=\"4000\">\n <label>{{'nombretabla' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-8\">\n <!--BOTONES-->\n <div class=\"flex justify-content-end mt-1 mb-1\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <p-pickList [source]=\"listaTabla\" [target]=\"listaNoTabla\" sourceHeader=\"Asociado\" sourceFilterPlaceholder=\"Asociado\"\n targetHeader=\"Desasociado\" [dragdrop]=\"true\" [responsive]=\"true\" targetFilterPlaceholder=\"Desasociado\"\n filterBy=\"nombre\" *ngIf=\"isFuente()\" (onSourceReorder)=\"reorderTabla($event)\"\n (onMoveAllToTarget)=\"moverADesasociadoTabla($event)\" (onMoveAllToSource)=\"moverAAsociadoTabla($event)\"\n (onMoveToTarget)=\"moverADesasociadoTabla($event)\" (onMoveToSource)=\"moverAAsociadoTabla($event)\">\n <ng-template let-tabla pTemplate=\"item\">\n <div>\n <label>{{tabla.nombre}}</label>\n </div>\n </ng-template>\n </p-pickList>\n </p-tabPanel>\n <p-tabPanel header=\"{{'archivoxml' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.tagEncabezado\"></textarea>\n <label>{{'tagencabezado' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.tagCierreEncabezado\"></textarea>\n <label>{{'tagcierreencabezado' | translate }}</label>\n </p-floatLabel> \n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.estructuraRegistro\"></textarea>\n <label>{{'tagregistro' | translate }}</label>\n </p-floatLabel> \n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoXml\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n <div class=\"flex justify-content-between align-items-center mb-3\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorXML()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorXML\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorXML\">\n <button pButton pRipple (click)=\"verNuevoMarcadorXML = false; clickGuardarMarcadorXML = false;\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaXML\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaXML.length\"\n [paginator]=\"listaXML.length > 10\" *ngIf=\"!verNuevoMarcadorXML\"\n (onRowSelect)=\"verMarcadorXML($event)\" (onRowUnselect)=\"verMarcadorXML($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'marcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marctexto>\n <tr [pSelectableRow]=\"marctexto\">\n <td>{{marctexto.descripcion}}</td>\n <td>{{marctexto.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>\n <td>{{marctexto.nombreColumna}}</td>\n <td>{{marctexto.marcador}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorXML\"> \n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-notes\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.descripcion\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML\">\n <label>{{'descripcion' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoMarcadorXML\" [autoDisplayFirst]=\"false\" \n [(ngModel)]=\"marcadorXML.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MA','MR'].includes(marcadorXML.tipo)\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.marcador\" >\n <label>{{'marcador' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'TB'\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.marcador\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" >\n <label>{{'tabla' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MA'\" >\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"marcadorXML.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\" ></p-dropdown>\n <label>{{'columna' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MA'\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.formato\" >\n <label>{{'formato' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.textoRegistro\" ></textarea>\n <label>{{'texto' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MR','TB'].includes(marcadorXML.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaFuentes\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"marcadorXML.fuente\" optionLabel=\"descripcion\" optionValue=\"llave\"></p-dropdown>\n <label>{{'fuente' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MR','TB'].includes(marcadorXML.tipo)\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.filtro\"></textarea>\n <label>{{'filtro' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'TB'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.estructuraTablaXML\"></textarea>\n <label>{{'estructuratabla' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorXML.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorXML.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorXML()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorXML.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorXML($event)\">\n </button>\n </div>\n </div>\n </div>\n <div *ngIf=\"verNuevoMarcadorXML && marcadorXML.llave != null && (marcadorXML.tipo == 'MR' || marcadorXML.tipo == 'TB')\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCampoTablaXML()\" icon=\"pi pi-plus\" [disabled]=\"habilitaCampo\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaCamposMarcadorXML\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaCamposMarcadorXML.length\"\n [paginator]=\"listaCamposMarcadorXML.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llave\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 30%;\">{{'campo' | translate }}</th>\n <th style=\"width: 30%;\">{{'marcador' | translate }}</th>\n <th style=\"width: 30%;\">{{'formato' | translate }}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verReporteMarcadorDetalleXML\">\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.campoFuente\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML\">\n </td>\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.marcador\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML\">\n </td>\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.formato\" style=\"width: -webkit-fill-available\">\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\" >\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCampoMarcadorXML(campoMarcadorInsertarXML)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verReporteMarcadorDetalleXML = false; habilitaCampo = false;\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-campo let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"campo\">\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.campoFuente\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.campoFuente}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.marcador\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.marcador}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.formato\" style=\"width: -webkit-fill-available\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.formato}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n \n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCampoMarcadorXML(campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cargarListaCampoMarcadorXMLAsync()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" [disabled]=\"habilitaCampo\" (click)=\"eliminarCampoMarcadorXML($event,campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'columnario' | translate }}\">\n <p-accordion (onOpen)=\"cambiarTabColumnario($event)\" >\n <p-accordionTab [selected]=\"true\" >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'columnasbasicas'|translate}}\n </ng-template>\n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoColumnaBasica()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoReporteColumnario\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoReporteColumnario\">\n <button pButton pRipple (click)=\"verNuevoReporteColumnario = false; clickGuardarReporteColumnario = false;\" label= \"{{'listado' | translate}} {{'columnasbasicas' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaReporteColumnario\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaReporteColumnario.length\"\n [paginator]=\"listaReporteColumnario.length > 10\" *ngIf=\"!verNuevoReporteColumnario\"\n (onRowSelect)=\"verReporteColumnario($event)\" (onRowUnselect)=\"verReporteColumnario($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n <th>{{'operacion' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-bean>\n <tr [pSelectableRow]=\"bean\">\n <td>{{bean.nombre}}</td>\n <td>{{bean.nombreColumna}}</td>\n <td>{{bean.tipo | reporteColumnarioPipe: 'listaTipoColumna'}}</td>\n <td>{{bean.orden}}</td>\n <td>{{bean.operacion | reporteColumnarioPipe: 'listaOperacion'}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div *ngIf=\"verNuevoReporteColumnario\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.nombre\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario\">\n <label>{{'nombre' | translate}} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoColumnas\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'tipocolumna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"columnaBasica.tipo == 'D'\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacion\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesExcelColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacionHorizontal\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacionhorizontal' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- fila Operacion Vertical -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.columnaOperacionVertical\" maxlength=\"5\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario\">\n <label>{{'columnaoperacion' | translate}} *</label>\n </p-floatLabel>\n </div>\n <!-- Operacion Verticial -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesExcelColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacionVertical\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacionvertical' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- Orden -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isMostrarOrden()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.orden\" maxlength=\"5\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario\">\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n <!-- Ordenamiento Filas -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoLabel() || isTipoFila()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOrdenamiento\" [autoDisplayFirst]=\"false\" [showClear]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.orderBy\" optionLabel=\"nombre\" optionValue=\"codigo\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.orderBy) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.orderBy) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'ordenamiento' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- Ordenamiento Datos de la consulta -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isMostrarOrdenConsulta()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.ordenConsulta\" maxlength=\"5\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" >\n <label>{{'ordenconsulta' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{columnaBasica.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{columnaBasica.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaBasica()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"columnaBasica.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaBasica($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n <p-accordion (onOpen)=\"cambiarTabColumnario($event)\">\n <p-accordionTab >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'datosadicionales'|translate}}\n </ng-template>\n <p-fieldset class=\"fieldsintitulo\" >\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n \n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoExcelColumnario ? reporteFuente.archivoExcelColumnario: ''\"\n [extensiones]=\"'xls;xlsx;xlsm'\" [mostraroblicargo]=\"true\" [labelrar]=\"'plantilla' | translate\"\n (onSelected)=\"obtenerArchivoColumnario($event)\"></app-input-helper-seleccion-plantilla>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.hojaExcel\" size=\"25\" maxlength=\"20\">\n <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |\n translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"reporteFuente.filaInicioColumnario\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'filainiciocolumnario' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\" appendTo=\"body\"\n [(ngModel)]=\"reporteFuente.cifradoColumnario\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.sintaxisColumnario\"></textarea>\n <label>{{'sintaxiscolumnario' | translate }}</label>\n </p-floatLabel>\n </div>\n \n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </p-fieldset>\n <div class=\"flex justify-content-between align-items-center mb-3 mt-3\">\n <h1 class=\"text-xl\">{{'columnaadicional' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevaColumnaAdicional()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoColumnaAdicional\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoColumnaAdicional\">\n <button pButton pRipple (click)=\"verNuevoColumnaAdicional = false; clickGuardarColumnaAdicional = false;\" label= \"{{'listado' | translate}} {{'columnaadicional' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"columnasAdicionales\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"columnasAdicionales.length\"\n [paginator]=\"columnasAdicionales.length > 10\" *ngIf=\"!verNuevoColumnaAdicional\"\n (onRowSelect)=\"verDetalleAdicional($event)\" (onRowUnselect)=\"verDetalleAdicional($event)\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-columnaadicional>\n <tr [pSelectableRow]=\"columnaadicional\">\n <td>{{columnaadicional.nombre}}</td>\n <td>{{columnaadicional.orden}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <p-fieldset class=\"fieldsintitulo\" *ngIf=\"verNuevoColumnaAdicional\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaAdicional.nombre\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional\">\n <label>{{'alias' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"columnaAdicional.orden\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional\" />\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOrdenamiento\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaAdicional.orderBy\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional\"></p-dropdown>\n <label>{{'ordenamiento' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"columnaAdicional.ordenConsulta\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional\" />\n <label>{{'ordenconsulta' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\" >\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"columnaAdicional.sintaxis\" maxlength=\"4000\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional\"></textarea>\n <label>{{'sintaxis' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{columnaAdicional.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{columnaAdicional.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaAdicional()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"columnaAdicional.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaAdicional($event)\">\n </button>\n </div>\n </div>\n </p-fieldset>\n </p-accordionTab>\n <p-accordionTab >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'marcadores'|translate}}\n </ng-template>\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorColumnario()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorColumnario\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorColumnario\">\n <button pButton pRipple (click)=\"verNuevoMarcadorColumnario = false; clickGuardarMarcadorColumnario = false;\" label= \"{{'listado' | translate}} {{'marcador' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"marcadoresColumnario\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"marcadoresColumnario.length\"\n [paginator]=\"marcadoresColumnario.length > 10\" *ngIf=\"!verNuevoMarcadorColumnario\"\n (onRowSelect)=\"verDetalleMarcadorColumnario($event)\" (onRowUnselect)=\"verDetalleMarcadorColumnario($event)\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'tipomarcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.marcador}}</td>\n <td>{{marcador.tipo | reporteColumnarioPipe: 'listaTipoMarcador'}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div *ngIf=\"verNuevoMarcadorColumnario\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"marcadorColumnario.descripcion\" maxlength=\"4000\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario\" />\n <label>{{'descripcion' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"marcadorColumnario.marcador\" maxlength=\"50\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario\" />\n <label>{{'marcador' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoMarcadorColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"marcadorColumnario.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-12\" >\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"marcadorColumnario.textoRegistro\" maxlength=\"4000\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario\"></textarea>\n <label>{{'valor' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorColumnario.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorColumnario.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorColumnario()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorColumnario.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorColumnario($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n </p-tabPanel>\n <p-tabPanel header=\"{{'grafica' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.codigo\" size=\"25\"\n maxlength=\"100\">\n <label>{{'codigo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.tituloGrafico\" size=\"25\"\n maxlength=\"100\">\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoGrafico\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.tipoGrafico\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'tipo' | translate }}</label> \n </p-floatLabel>\n </div>\n </div>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" *ngIf=\"isSql()\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\" \n label=\"{{'link_actualizar' | translate}}\" (click)=\"guardarGrafico()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined background-100\" icon=\"pi pi-eye\"\n label=\"{{'link_ver' | translate}}\" (click)=\"verGrafico()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-table [value]=\"paginadorColumnas\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n [rows]=\"20\" [totalRecords]=\"paginadorColumnas.length\" [paginator]=\"paginadorColumnas.length > 20\" >\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'columna' | translate }}</th>\n <th>{{'sintaxis' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'accion' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-bean>\n <tr [pSelectableRow]=\"bean\">\n <td>{{bean.nombre}}</td>\n <td>{{bean.sintaxis}}</td>\n <td>{{bean.tipoDato | reporteFuentePipe : 'listaTipoDato'}}</td>\n <td>\n <p-dropdown [options]=\"listaGraficoSencillo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"bean.graficoFuente\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table> \n\n <div class=\"flex justify-content-between align-items-center mt-2 mb-2\">\n <h1 class=\"text-xl\">Colores</h1>\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoColorCategoria()\" icon=\"pi pi-plus\"\n [disabled]=\"habilitaCampo\" class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"paginadorColoresGrafica\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"paginadorColoresGrafica.length\"\n [paginator]=\"paginadorColoresGrafica.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 45%\">{{'categoria' | translate}}</th>\n <th style=\"width: 45%\">{{'color' | translate}}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verColorCategoriaDetalle\">\n <td style=\"width: 45%\">\n <input pInputText type=\"text\" [(ngModel)]=\"colorCategoria.titulo\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria\">\n </td>\n <td style=\"width: 45%\">\n <div style=\"width: 100%\">\n <p-colorPicker [(ngModel)]=\"colorCategoria.banda\" appendTo=\"body\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria\" />\n </div>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarColorCategoria(colorCategoria)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verColorCategoriaDetalle = false\" icon=\"pi pi-times\" (click)=\"cancelarColorCategoria()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-color let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"color\" style=\"width: 100%\">\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"color.titulo\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{color.titulo}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <div style=\"width: 100%\">\n <p-colorPicker [(ngModel)]=\"color.banda\" appendTo=\"body\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria\"/>\n </div>\n </ng-template>\n <ng-template pTemplate=\"output\">\n <p-colorPicker [(ngModel)]=\"color.banda\" [disabled]=\"true\" />\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarColorCategoria(color)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cancelarEdicionColor()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarColorCategoria($event, color)\" [disabled]=\"habilitaCampo\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div #divGrafica class=\"flex justify-content-between card mt-3\" *ngIf=\"grafica\">\n <h1 class=\"text-xl\">{{'grafica' | translate}}</h1>\n <div style=\"width: 35%\"></div>\n <div style=\"width: 30%\">\n <p-chart [type]=\"tipoGrafica\" [data]=\"grafica.datosGrafica.data\" [options]=\"grafica.datosGrafica.options\"></p-chart>\n </div>\n <div style=\"width: 35%\"></div>\n </div>\n </p-tabPanel>\n</p-tabView>", styles: [":host ::ng-deep .p-picklist-buttons.p-picklist-source-controls.ng-star-inserted{display:none}:host ::ng-deep .p-picklist-buttons.p-picklist-target-controls.ng-star-inserted{display:none}:host ::ng-deep .p-picklist.p-component{margin:0}:host ::ng-deep .p-picklist-item span{float:left!important}:host ::ng-deep .fieldsintitulo .p-fieldset-legend{display:none!important}:host ::ng-deep .p-picklist-list-wrapper.p-picklist-source-wrapper ul{box-shadow:inset 1px 8px 10px -10px var(--color-200)}:host ::ng-deep .p-picklist .p-picklist-target{background:var(--color-200) no-repeat}:host ::ng-deep .p-picklist .p-picklist-target{background:var(--color-50) no-repeat}:host ::ng-deep .p-picklist .p-picklist-header{display:none}:host ::ng-deep .p-picklist .p-picklist-filter-container span{color:var(--color-100)}:host ::ng-deep .p-picklist .p-picklist-filter-container{border-radius:10px 10px 0 0;padding:3%;border:1px solid var(--color-100);border-bottom:none;box-shadow:0 4px 7px var(--color-100);position:relative}:host ::ng-deep .p-picklist .p-picklist-list{border:1px solid var(--color-100);height:400px}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item{padding:2%;color:#000000de;background:solid 2px var(--color-50) no-repeat;margin:16px 16px -7px;border-radius:5px;border:solid 1px var(--color-100);transition:.2s;background:#fff}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item h6,:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item h7{color:var(--color-500);margin-bottom:2px;font-size:1rem;margin-top:0}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item span{float:left;margin-right:4px;min-height:30px;color:var(--color-400)}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover{background:var(--color-400);color:#fff;transition:.2s}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover h6,:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover h7{color:#fff!important;transition:.2s}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover span{color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight{background:var(--color-500);color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight h6,:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight h7{color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight span{color:#fff!important}:host ::ng-deep span.p-input-icon-left{width:calc(50% - .25rem - 20px);border-bottom:none;border:1px solid var(--color-100);padding:1.5%;border-radius:10px 10px 0 0;margin-left:-8px}:host ::ng-deep span.p-input-icon-left i{margin-left:20px}.p-picklist-buttons{padding:2rem}.p-picklist-buttons .p-button:disabled{background-color:var(--color3)!important;color:#fff!important}.p-picklist-buttons .p-button{margin-bottom:.5rem;border-radius:100%}.p-picklist-buttons .p-button.p-button-icon-only{padding:.4rem .5rem;width:40px;height:40px;max-width:initial;max-height:initial}.p-picklist-buttons .p-button.p-button-icon-only span{font-size:18px}:host ::ng-deep .p-picklist-buttons .p-button.p-button-icon-only{border-radius:100%;width:3rem!important;background:var(--color-500)}:host ::ng-deep .p-picklist-buttons .p-button.p-button-icon-only span{font-size:1.2rem;background:var(--color--300);color:#fff}:host ::ng-deep .p-picklist-buttons .p-button:disabled{background:var(--color-300)!important}@media (max-width: 1440px){:host ::ng-deep span.p-input-icon-left{width:calc(50% - .25rem - 20px);border-bottom:none;border:1px solid var(--color-100);padding:1.2%;border-radius:10px 10px 0 0;margin-left:-8px}:host ::ng-deep span.p-input-icon-left i{margin-left:15px}}:host ::ng-deep .p-button{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i17.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i17.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "component", type: i17.CellEditor, selector: "p-cellEditor" }, { kind: "directive", type: i17.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i17.InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "directive", type: i17.SaveEditableRow, selector: "[pSaveEditableRow]" }, { kind: "directive", type: i17.CancelEditableRow, selector: "[pCancelEditableRow]" }, { kind: "component", type: TemplateTablaVaciaComponent, selector: "app-template-tabla-vacia" }, { kind: "ngmodule", type: TabViewModule }, { kind: "component", type: i17$2.TabView, selector: "p-tabView", inputs: ["style", "styleClass", "controlClose", "scrollable", "activeIndex", "selectOnFocus", "nextButtonAriaLabel", "prevButtonAriaLabel", "autoHideButtons", "tabindex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i17$2.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: InputHelperSeleccionPlantillaComponent, selector: "app-input-helper-seleccion-plantilla", inputs: ["value", "label", "labelrar", "labelarch", "extensiones", "readonly", "propiedad", "anexoPropiedad", "showDialog", "propiedadDeSistema", "mostraroblicargo", "mostrarX", "booleano", "mostrarLabelInput"], outputs: ["onSelected"] }, { kind: "pipe", type: ReporteColumnarioPipe, name: "reporteColumnarioPipe" }, { kind: "pipe", type: ReporteFuentePipe, name: "reporteFuentePipe" }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i11.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i10$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: PickListModule }, { kind: "component", type: i22.PickList, selector: "p-pickList", inputs: ["source", "target", "sourceHeader", "tabindex", "rightButtonAriaLabel", "leftButtonAriaLabel", "allRightButtonAriaLabel", "allLeftButtonAriaLabel", "upButtonAriaLabel", "downButtonAriaLabel", "topButtonAriaLabel", "bottomButtonAriaLabel", "targetHeader", "responsive", "filterBy", "filterLocale", "trackBy", "sourceTrackBy", "targetTrackBy", "showSourceFilter", "showTargetFilter", "metaKeySelection", "dragdrop", "style", "styleClass", "sourceStyle", "targetStyle", "showSourceControls", "showTargetControls", "sourceFilterPlaceholder", "targetFilterPlaceholder", "disabled", "ariaSourceFilterLabel", "ariaTargetFilterLabel", "filterMatchMode", "stripedRows", "keepSelection", "breakpoint"], outputs: ["onMoveToSource", "onMoveAllToSource", "onMoveAllToTarget", "onMoveToTarget", "onSourceReorder", "onTargetReorder", "onSourceSelect", "onTargetSelect", "onSourceFilter", "onTargetFilter", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FieldsetModule }, { kind: "component", type: i7$4.Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i17$1.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex", "selectOnFocus", "headerAriaLevel"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i17$1.AccordionTab, selector: "p-accordionTab", inputs: ["id", "header", "headerStyle", "tabStyle", "contentStyle", "tabStyleClass", "headerStyleClass", "contentStyleClass", "disabled", "cache", "transitionOptions", "iconPos", "selected", "headerAriaLevel"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i14$1.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: InputTextareaModule }, { kind: "directive", type: i16.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i27.FloatLabel, selector: "p-floatLabel" }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i15.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: ChartModule }, { kind: "component", type: i29.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }, { kind: "ngmodule", type: ColorPickerModule }, { kind: "component", type: i30.ColorPicker, selector: "p-colorPicker", inputs: ["style", "styleClass", "inline", "format", "appendTo", "disabled", "tabindex", "inputId", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "autofocus"], outputs: ["onChange", "onShow", "onHide"] }] });
|
|
12905
12924
|
}
|
|
12906
12925
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: DetalleTipoReporteComponent, decorators: [{
|
|
12907
12926
|
type: Component,
|
|
12908
|
-
args: [{ selector: 'detalle-tipo-reporte', imports: [TranslateModule, TableModule, TemplateTablaVaciaComponent, TabViewModule, InputHelperSeleccionPlantillaComponent, ReporteColumnarioPipe, ReporteFuentePipe, DropdownModule, FormsModule, ReactiveFormsModule, CommonModule, ButtonModule, PickListModule, FieldsetModule, AccordionModule, InputTextModule, InputTextareaModule, FloatLabelModule, InputNumberModule, FieldsetModule, ChartModule, ColorPickerModule], standalone: true, providers: [MessageService], template: "<p-tabView (onChange)=\"cambiarTab($event)\">\n <p-tabPanel header=\"{{'excel' | translate }}\" [selected]=\"true\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <p class=\"font-semibold\">{{'debe' | translate}} {{'indicar' | translate}} {{'plantilla' | translate}} {{'y' | translate}}\n {{'hoja' | translate}} {{'para' | translate}} {{'que' | translate}} {{'esta' | translate}}\n {{'opcion' | translate}} {{'se' | translate}} {{'active' | translate}}\n </p>\n <div class=\"p-fluid p-formgrid grid\">\n <div class=\"field col-12 md:col-4\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoTodo ? reporteFuente.archivoTodo: ''\"\n [extensiones]=\"'xls;xlsx'\" [mostraroblicargo]=\"true\" [labelrar]=\"'plantilla' | translate\"\n (onSelected)=\"obtenerArchivo($event)\"></app-input-helper-seleccion-plantilla>\n\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.hojaExcel\" size=\"25\" maxlength=\"20\">\n <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |\n translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoExcel\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\"\n icon=\"glyphicons glyphicons-refresh\" label=\"{{'link_actualizar' | translate}}\"\n (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-pickList [source]=\"listaExcel\" [target]=\"listaNoExcel\" sourceHeader=\"Asociado\" sourceFilterPlaceholder=\"Asociado\"\n targetHeader=\"Desasociado\" [dragdrop]=\"true\" [responsive]=\"true\" targetFilterPlaceholder=\"Desasociado\"\n filterBy=\"sintaxis\" (onSourceReorder)=\"moverAAsociado($event)\"\n (onMoveAllToTarget)=\"moverADesasociado($event)\" (onMoveAllToSource)=\"moverAAsociado($event)\"\n (onMoveToTarget)=\"moverADesasociado($event)\" (onMoveToSource)=\"moverAAsociado($event)\">\n <ng-template let-excel pTemplate=\"item\">\n <div>\n <label>{{excel.nombre}}</label>\n </div>\n </ng-template>\n </p-pickList>\n\n <div class=\"mt-4\">\n <div class=\"flex justify-content-between align-items-center mt-2 mb-2\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorExcel()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorExcel\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorExcel\">\n <button pButton pRipple (click)=\"verNuevoMarcadorExcel = false\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadorExcel\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [selection]=\"reporteMarcadorExcel\" [rows]=\"10\"\n [totalRecords]=\"listaMarcadorExcel.length\" [paginator]=\"listaMarcadorExcel.length > 10\"\n (onRowSelect)=\"verDetalleMarcadorExcel($event)\" (onRowUnselect)=\"verDetalleMarcadorExcel($event)\" *ngIf=\"!verNuevoMarcadorExcel\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.descripcion}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorExcel\">\n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-book\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-4 \">\n <form [formGroup]=\"formMarcadorExcel\" >\n <div class=\"col-md-12 p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" size=\"25\" maxlength=\"4000\">\n <label>{{'descripcion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\" maxlength=\"4000\">\n <label>{{'marcador' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Imagen Fija', value: 'IF'}, {label: 'Marcador', value: 'MA'}]\"\n [autoDisplayFirst]=\"false\" formControlName=\"tipo\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\" [hidden]=\"esImagenFija\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"textoRegistro\"></textarea>\n <label>{{'valor' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"esMarcador\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]\"\n [autoDisplayFirst]=\"false\" formControlName=\"origen\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'origen' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"esMarcador\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n formControlName=\"textoRegistro\"\n [label]=\"reporteMarcadorExcel.textoRegistro ? reporteMarcadorExcel.textoRegistro: ''\"\n [extensiones]=\"'jpg;png'\" (onSelected)=\"obtenerArchivoMarcadorExcel($event)\"\n [propiedad]=\"'ruta_recursos'\" [labelrar]=\"('recursos' | translate)\" [labelarch]=\"'recurso' | translate\" [mostrarX]=\"true\"\n [mostraroblicargo]=\"true\"\n [booleano]=\"!utilsService.validarCampoObligatorio(reporteMarcadorExcel.textoRegistro) && clickGuardarMarcadorExcel\"\n [anexoPropiedad]=\"reporteMarcadorExcel.origen =='C' ? llaveEmpresa: ''\"\n [propiedadDeSistema]=\"true\"></app-input-helper-seleccion-plantilla>\n </div>\n </div>\n </form>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" *ngIf=\"verNuevoMarcadorExcel\">\n <button pButton pRipple class=\"ml-2 p-button-raised\" icon=\"glyphicons {{reporteMarcadorExcel.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{reporteMarcadorExcel.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorExcel()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcadorExcel.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorExcel($event)\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'plantilla' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.unicoArchivo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'soporte' | translate }} {{'unico' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.descargarFuente\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'descargardoc' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.generarPin\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'generarpin' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [(ngModel)]=\"reporteFuente.campoAgrupacionPlanilla\" \n [autoDisplayFirst]=\"false\" [showClear]=\"true\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'agruparpor' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.nombreAgrupacionPlanilla\" size=\"25\"\n maxlength=\"100\">\n <label>{{'nombrearchivoagrupacion' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoPlanilla\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteFuente.unicoArchivo == 'N'\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoIndividual ? reporteFuente.archivoIndividual: ''\"\n [labelrar]=\"'archivo' | translate\" [labelarch]=\"'archivo' | translate\" [mostraroblicargo]=\"true\"\n (onSelected)=\"obtenerArchivoPlanilla($event)\"></app-input-helper-seleccion-plantilla>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-tabView >\n <p-tabPanel header=\"{{'marcadores' | translate }}\" [selected]=\"true\">\n \n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton pRipple class=\"p-button-secondary font-semibold mb-2\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcador()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcador\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcador\">\n <button pButton pRipple (click)=\"verNuevoMarcador = false\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadores\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [selection]=\"reporteMarcador\"\n [rows]=\"10\" [totalRecords]=\"listaMarcadores.length\"\n [paginator]=\"listaMarcadores.length > 10\" *ngIf=\"!verNuevoMarcador\"\n (onRowSelect)=\"verDetalleMarcador($event)\" (onRowUnselect)=\"verDetalleMarcador($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'marcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.descripcion}}</td>\n <td>{{marcador.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>\n <td>{{marcador.tipo == 'IF' ? marcador.textoRegistro : marcador.nombreColumna}}</td>\n <td>{{marcador.marcador}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div class=\"card col-md-12\" *ngIf=\"verNuevoMarcador\">\n <div class=\"Detallereporte mt-2\">\n <form [formGroup]=\"formMarcador\">\n <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>\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" size=\"25\"\n maxlength=\"4000\">\n <label>{{'descripcion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoMarcador\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipo\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!(['MA','IM','MR','IF','QR','BC','G1'].includes(reporteMarcador.tipo))\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\">\n <label>{{'marcador' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'TB'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tabla\" size=\"25\">\n <label>{{'tabla' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'IF'\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\" formControlName=\"origen\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'origen' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"reporteMarcador.tipo != 'IF' || !reporteMarcador.origen\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n formControlName=\"textoRegistro\"\n [label]=\"reporteMarcador.textoRegistro ? reporteMarcador.textoRegistro: ''\"\n [extensiones]=\"'jpg;png'\" (onSelected)=\"obtenerArchivoMarcador($event)\"\n [propiedad]=\"'ruta_recursos'\" [labelrar]=\"'recursos' | translate\"\n [anexoPropiedad]=\"reporteMarcador.origen =='C' ? llaveEmpresa: ''\"\n [propiedadDeSistema]=\"true\"></app-input-helper-seleccion-plantilla>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['MA','IM','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" formControlName=\"reporteColumna\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'columna' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MA'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"formato\" size=\"25\">\n <label>{{'formato' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-inputNumber formControlName=\"ancho\" [maxlength]=\"5\"> </p-inputNumber>\n <label>{{'ancho' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-inputNumber formControlName=\"alto\" [maxlength]=\"5\"> </p-inputNumber>\n <label>{{'alto' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo1\"></textarea>\n <label>{{'grupo1' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo2\"></textarea>\n <label>{{'grupo2' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo3\"></textarea>\n <label>{{'grupo3' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"finalGrupo\"></textarea>\n <label>{{'finalgrupo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"textoRegistro\"></textarea>\n <label>{{'texto' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['MR','TB'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" formControlName=\"tieneSql\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'sql' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'TB'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoGrafico_JFC\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"tipoGrafico\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'grafica' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['S'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"query\"></textarea>\n <label>{{'consulta' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaFuentes\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"fuente\" optionLabel=\"descripcion\"\n optionValue=\"llave\"></p-dropdown>\n <label>{{'fuente' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcadorGrafico\" size=\"25\">\n <label>{{'marcadorgrafica' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['A'].includes(reporteMarcador.tipoGrafico)\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"titulox\" size=\"25\">\n <label>{{'titulo' | translate }} X</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['A'].includes(reporteMarcador.tipoGrafico)\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tituloy\" size=\"25\">\n <label>{{'titulo' | translate }} Y</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"banda\" size=\"25\">\n <label>{{'colordinamico' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"anchoJasperLabel\" size=\"25\">\n <label>{{'numerocategorias' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"filtro\"></textarea>\n <label>{{'filtro' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n </form>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\"\n icon=\"glyphicons {{reporteMarcador.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save' }}\" label=\"{{reporteMarcador.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\"\n (click)=\"guardarMarcador()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcador.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcador($event)\">\n </button>\n </div>\n </div>\n </div>\n <div *ngIf=\"verNuevoMarcador && reporteMarcador.llave != null && (reporteMarcador.tipo == 'MR' || reporteMarcador.tipo == 'TB')\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCampoTabla()\" icon=\"pi pi-plus\" [disabled]=\"bloquearCampoMarcador\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaCamposMarcador\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaCamposMarcador.length\" [scrollable]=\"true\"\n [paginator]=\"listaCamposMarcador.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llave\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 10%;\">{{'columna' | translate }}</th>\n <th style=\"width: 10%;\">{{'campo' | translate }}</th>\n <th style=\"width: 10%;\">{{'formato' | translate }}</th>\n <th style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">{{'tipo' | translate }}</th>\n <th style=\"width: 10%;\"*ngIf=\"reporteMarcador.tipo == 'TB'\">{{'medidas' | translate }}</th>\n <th style=\"width: 10%;\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verReporteMarcadorDetalle\">\n <td style=\"width: 10%;\">\n <input pInputText [(ngModel)]=\"campoMarcadorInsertar.columna\" oninput=\"this.value = this.value.replace(/[^0-9]/g, '');\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo\" />\n </td>\n <td style=\"width: 10%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.campoFuente\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo\">\n </td>\n <td style=\"width: 10%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.formato\">\n </td>\n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-dropdown [options]=\"listaGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [(ngModel)]=\"campoMarcadorInsertar.tipo\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\"></p-dropdown>\n </td>\n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <div *ngIf=\"campoMarcadorInsertar.tipo =='I'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.ancho\">\n <label>{{'ancho' | translate}}</label>\n </p-floatLabel>\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.alto\">\n <label>{{'alto' | translate}}</label>\n </p-floatLabel>\n </div>\n </td>\n <td style=\"width: 10%;\" >\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCampoMarcador(campoMarcadorInsertar)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verReporteMarcadorDetalle = false; bloquearCampoMarcador = false\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-campo let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"campo\">\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.columna\" oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo\" \n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo\" />\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.columna}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.campoFuente\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.campoFuente}}\n </ng-template>\n </p-cellEditor>\n </td>\n\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.formato\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.formato}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listaGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [(ngModel)]=\"campo.tipo\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.tipo | reporteFuentePipe :'listaRecursoGrafica'}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <div *ngIf=\"campo.tipo =='I'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campo.ancho\">\n <label>{{'ancho' | translate}}</label>\n </p-floatLabel>\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campo.alto\">\n <label>{{'alto' | translate}}</label>\n </p-floatLabel>\n </div>\n </ng-template>\n <ng-template pTemplate=\"output\">\n <div *ngIf=\"campo.tipo =='I'\">\n {{'ancho' | translate}}: {{campo.ancho}} <br/>\n {{'alto' | translate}}: {{campo.alto}}\n </div> \n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%;\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCampoMarcador(campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cargarListaCampoMarcadorAsync()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow [disabled]=\"bloquearCampoMarcador\"\n icon=\"glyphicons glyphicons-pencil\" (click)=\"editarCampoMarcador()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow [disabled]=\"bloquearCampoMarcador\"\n icon=\"pi pi-trash\" (click)=\"eliminarCampoMarcador($event,campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'soporte' | translate }} {{'archivo' | translate }}s\"\n *ngIf=\"reporteFuente.unicoArchivo == 'N'\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoSoporte()\" icon=\"pi pi-plus\"\n [disabled]=\"habilitaCampo\" class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaSoportes\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaSoportes.length\"\n [paginator]=\"listaSoportes.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 45%\">{{'descripcion' | translate}}</th>\n <th style=\"width: 45%\">{{'archivo' | translate}}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verSoporteArchivoDetalle\">\n <td style=\"width: 45%\">\n <input pInputText type=\"text\" [(ngModel)]=\"soporteIngresar.descripcion\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo\">\n </td>\n <td style=\"width: 45%\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\" [mostrarX]=\"true\"\n [label]=\"soporteIngresar.archivoIndividual ? soporteIngresar.archivoIndividual: ''\" [labelarch]=\"'archivo' | translate\"\n [mostrarLabelInput]=\"false\" [mostraroblicargo]=\"true\" [booleano]=\"!utilsService.validarCampoObligatorio(soporteIngresar.archivoIndividual) && clickGuardarSoporteArchivo\"\n (onSelected)=\"obtenerArchivoSoporte($event, soporteIngresar)\"></app-input-helper-seleccion-plantilla>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarSoporte(soporteIngresar)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verSoporteArchivoDetalle = false\" icon=\"pi pi-times\" (click)=\"cancelarSoporte()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-soporte let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"soporte\" style=\"width: 100%\">\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"soporte.descripcion\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{soporte.descripcion}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n {{soporte.archivoIndividual}}\n <!--<app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\" [mostrarX]=\"true\"\n [label]=\"soporte.archivoIndividual ? soporte.archivoIndividual: ''\"\n [mostrarLabelInput]=\"false\" [booleano]=\"!utilsService.validarCampoObligatorio(soporte.archivoIndividual) && clickGuardarSoporteArchivo\"\n (onSelected)=\"obtenerArchivoSoporte($event, soporte)\"></app-input-helper-seleccion-plantilla>-->\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{soporte.archivoIndividual}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarSoporte(soporte)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cancelarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarSoporte($event, soporte)\" [disabled]=\"habilitaCampo\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </p-tabPanel>\n </p-tabView>\n </p-tabPanel>\n <p-tabPanel header=\"{{'reporte' | translate }} {{'dinamico' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.dobleLinea\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'doblelinea' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.tituloParametro\" size=\"25\"\n maxlength=\"100\">\n <label>{{'descripcion' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoJasper\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n \n \n <button pButton pRipple class=\"ml-2 p-button-outlined background-100\" icon=\"glyphicons glyphicons-restart\" \n label=\"{{'link_generar' | translate}}\" (click)=\"generarJasper()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"pi pi-download\" *ngIf=\"existeJasper\"\n label=\"{{'link_descargar' | translate}}\" (click)=\"descargarJasper()\">\n </button>\n \n </div>\n </div>\n </div>\n \n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"bandaSeleccionada.key\">\n <button pButton pRipple (click)=\"regresarBandaSeleccionada()\" label= \"{{'listado' | translate}} {{'bandas' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaTipoBanda\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [rows]=\"10\"\n [totalRecords]=\"listaTipoBanda.length\" [paginator]=\"listaTipoBanda.length > 10\"\n (onRowSelect)=\"verBanda($event)\" (onRowUnselect)=\"verBanda($event)\" *ngIf=\"!bandaSeleccionada.key\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'banda' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-banda>\n <tr [pSelectableRow]=\"banda\">\n <td>{{banda.value}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <p-tabView *ngIf=\"bandaSeleccionada.key && verTabBanda\">\n <p-tabPanel header=\"{{'caracteristicas' | translate}}\"\n *ngIf=\"!['detalle','summary'].includes(bandaSeleccionada.key)\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\" optionLabel=\"nombre\" optionValue=\"codigo\" \n [(ngModel)]=\"reporteBanda.totales\" ></p-dropdown>\n <label>{{'total' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteBanda.titulo\" maxlength=\"200\">\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-floppy-save\"\n label=\"{{'link_guardar' | translate}}\" (click)=\"guardarCaracteristicaBanda()\">\n </button>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{bandaSeleccionada.value}}\" *ngIf=\"!nuevaBanda\">\n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <div class=\"flex justify-content-end mb-1\" >\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoMarcadorDinamico()\" icon=\"pi pi-plus\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\" *ngIf=\"!nuevoReporteMarcadorDinamico\"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadorDinamico\" [scrollable]=\"true\"\n responsiveLayout=\"scroll\" dataKey=\"llaveTabla\" selectionMode=\"single\"\n [rows]=\"10\" [totalRecords]=\"listaMarcadorDinamico.length\"\n [paginator]=\"listaMarcadorDinamico.length > 10\" *ngIf=\"!nuevoReporteMarcadorDinamico\"\n (onRowSelect)=\"verMarcadorDinamico($event)\" (onRowUnselect)=\"verMarcadorDinamico($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'banda' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'etiqueta' | translate }}</th>\n <th>{{'formato' | translate }}</th>\n <th>{{'ancho' | translate }}</th>\n <th>{{'operacion' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-dinamico>\n <tr [pSelectableRow]=\"dinamico\">\n <td>{{dinamico.banda}}</td>\n <td>{{dinamico.banda ? dinamico.alto : ''}}</td>\n <td>{{dinamico.marcador}}</td>\n <td>{{dinamico.banda ? dinamico.descripcion : ''}}</td>\n <td>{{dinamico.banda ? dinamico.formato : ''}}</td>\n <td>{{['detalle'].includes(dinamico.banda) ? dinamico.ancho : ''}}</td>\n <td>{{dinamico.banda ? dinamico.operacion : ''}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div *ngIf=\"nuevoReporteMarcadorDinamico\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"flex justify-content-between align-items-center mb-2\"> \n <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>\n <button pButton pRipple (click)=\"nuevoReporteMarcadorDinamico = false\" label= \"{{'listado' | translate}} {{bandaSeleccionada.value}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \" *ngIf=\"nuevoReporteMarcadorDinamico\"></button>\n </div>\n <form [formGroup]=\"formReporteDinamico\" class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCampoJasperDinamico\"\n [autoDisplayFirst]=\"false\" formControlName=\"tipoCampo\"\n optionLabel=\"value\" optionValue=\"key\"></p-dropdown>\n <label>{{'tipocampo' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoDatoSintaxis\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipoDato\" optionLabel=\"value\"\n optionValue=\"key\"></p-dropdown>\n <label>{{'tipodato' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText formControlName=\"alto\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'orden' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" \n formControlName=\"marcador\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n *ngIf=\"!reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'\"></p-dropdown>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\"\n *ngIf=\"reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'\">\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-12\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"filtro\"></textarea>\n <label>{{'sintaxis' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\">\n <p-fieldset class=\"fieldsintitulo\" class=\"fieldsintitulo\">\n <div class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\">\n <label class=\"font-semibold text-gray-900 text-base ml-1\">{{'resultado' | translate}}</label>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\"></div>\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <label class=\"font-semibold text-gray-900 text-base ml-1\" >{{'label' | translate}}</label>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"formato\" />\n <label>{{'formato' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" />\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"ancho\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'ancho' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' == reporteMarcadorDinamico.banda \"></div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"anchoJasperLabel\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'ancho' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"'detalle' != reporteMarcadorDinamico.banda\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"resultadoX\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'x' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"titulox\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'x' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"'detalle' != reporteMarcadorDinamico.banda\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"resultadoY\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'y' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tituloy\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'y' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaAlineacion\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipoReporte\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'alineacion' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaAlineacion\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"tipoGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'alineacion' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoDato == 'N' && reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaOperaciones\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"operacion\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'operacion' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n </p-fieldset>\n </div>\n </form>\n \n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{reporteMarcadorDinamico.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{reporteMarcadorDinamico.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaDinamico()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcadorDinamico.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaDinamico($event)\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </p-tabPanel>\n \n </p-tabView>\n </p-tabPanel>\n <p-tabPanel header=\"{{'reporte' | translate }} {{'texto' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.archivoTexto\" size=\"50\"\n maxlength=\"200\">\n <label>{{'nombrearchivo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSeparadores\" [(ngModel)]=\"reporteFuente.separador\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto\"\n [autoDisplayFirst]=\"false\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'separador' | translate }}*</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoTexto\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizarSeparador()\">\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"flex justify-content-between lign-items-center mb-3\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorTexto()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorTexto\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorTexto\">\n <button pButton pRipple (click)=\"verNuevoMarcadorTexto = false; clickGuardarMarcadorTexto = false;\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadoresTexto\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaMarcadoresTexto.length\"\n [paginator]=\"listaMarcadoresTexto.length > 10\" *ngIf=\"!verNuevoMarcadorTexto\"\n (onRowSelect)=\"verMarcadorTexto($event)\" (onRowUnselect)=\"verMarcadorTexto($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'formato' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marctexto>\n <tr [pSelectableRow]=\"marctexto\">\n <td>{{marctexto.tipoGrafico | reporteFuentePipe : 'listaTipoMarcadoresTexto'}}</td>\n <td>{{marctexto.nombreColumna}}</td>\n <td>{{marctexto.formato}}</td>\n <td>{{marctexto.alto}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorTexto\"> \n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-notes\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoMarcadorTexto\" [autoDisplayFirst]=\"false\"\n [(ngModel)]=\"marcadorTexto.tipoGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico == 'D'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\"\n [(ngModel)]=\"marcadorTexto.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto\"></p-dropdown>\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.formato\" maxlength=\"50\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto\">\n <label>{{marcadorTexto.tipoGrafico == 'D' ? ('formato' | translate)+'*' : ('valor' | translate)+'*' }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico == 'D'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.ancho\" maxlength=\"22\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto\">\n <label>{{'ancho' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.alto\" maxlength=\"22\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto\">\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorTexto.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorTexto.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorTexto()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorTexto.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadoTexto($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'tabla' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.nombreTabla\" maxlength=\"4000\">\n <label>{{'nombretabla' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-8\">\n <!--BOTONES-->\n <div class=\"flex justify-content-end mt-1 mb-1\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <p-pickList [source]=\"listaTabla\" [target]=\"listaNoTabla\" sourceHeader=\"Asociado\" sourceFilterPlaceholder=\"Asociado\"\n targetHeader=\"Desasociado\" [dragdrop]=\"true\" [responsive]=\"true\" targetFilterPlaceholder=\"Desasociado\"\n filterBy=\"nombre\" *ngIf=\"isFuente()\" (onSourceReorder)=\"reorderTabla($event)\"\n (onMoveAllToTarget)=\"moverADesasociadoTabla($event)\" (onMoveAllToSource)=\"moverAAsociadoTabla($event)\"\n (onMoveToTarget)=\"moverADesasociadoTabla($event)\" (onMoveToSource)=\"moverAAsociadoTabla($event)\">\n <ng-template let-tabla pTemplate=\"item\">\n <div>\n <label>{{tabla.nombre}}</label>\n </div>\n </ng-template>\n </p-pickList>\n </p-tabPanel>\n <p-tabPanel header=\"{{'archivoxml' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.tagEncabezado\"></textarea>\n <label>{{'tagencabezado' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.tagCierreEncabezado\"></textarea>\n <label>{{'tagcierreencabezado' | translate }}</label>\n </p-floatLabel> \n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.estructuraRegistro\"></textarea>\n <label>{{'tagregistro' | translate }}</label>\n </p-floatLabel> \n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoXml\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n <div class=\"flex justify-content-between align-items-center mb-3\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorXML()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorXML\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorXML\">\n <button pButton pRipple (click)=\"verNuevoMarcadorXML = false; clickGuardarMarcadorXML = false;\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaXML\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaXML.length\"\n [paginator]=\"listaXML.length > 10\" *ngIf=\"!verNuevoMarcadorXML\"\n (onRowSelect)=\"verMarcadorXML($event)\" (onRowUnselect)=\"verMarcadorXML($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'marcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marctexto>\n <tr [pSelectableRow]=\"marctexto\">\n <td>{{marctexto.descripcion}}</td>\n <td>{{marctexto.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>\n <td>{{marctexto.nombreColumna}}</td>\n <td>{{marctexto.marcador}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorXML\"> \n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-notes\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.descripcion\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML\">\n <label>{{'descripcion' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoMarcadorXML\" [autoDisplayFirst]=\"false\" \n [(ngModel)]=\"marcadorXML.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MA','MR'].includes(marcadorXML.tipo)\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.marcador\" >\n <label>{{'marcador' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'TB'\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.marcador\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" >\n <label>{{'tabla' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MA'\" >\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"marcadorXML.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\" ></p-dropdown>\n <label>{{'columna' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MA'\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.formato\" >\n <label>{{'formato' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.textoRegistro\" ></textarea>\n <label>{{'texto' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MR','TB'].includes(marcadorXML.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaFuentes\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"marcadorXML.fuente\" optionLabel=\"descripcion\" optionValue=\"llave\"></p-dropdown>\n <label>{{'fuente' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MR','TB'].includes(marcadorXML.tipo)\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.filtro\"></textarea>\n <label>{{'filtro' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'TB'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.estructuraTablaXML\"></textarea>\n <label>{{'estructuratabla' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorXML.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorXML.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorXML()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorXML.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorXML($event)\">\n </button>\n </div>\n </div>\n </div>\n <div *ngIf=\"verNuevoMarcadorXML && marcadorXML.llave != null && (marcadorXML.tipo == 'MR' || marcadorXML.tipo == 'TB')\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCampoTablaXML()\" icon=\"pi pi-plus\" [disabled]=\"habilitaCampo\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaCamposMarcadorXML\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaCamposMarcadorXML.length\"\n [paginator]=\"listaCamposMarcadorXML.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llave\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 30%;\">{{'campo' | translate }}</th>\n <th style=\"width: 30%;\">{{'marcador' | translate }}</th>\n <th style=\"width: 30%;\">{{'formato' | translate }}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verReporteMarcadorDetalleXML\">\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.campoFuente\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML\">\n </td>\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.marcador\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML\">\n </td>\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.formato\" style=\"width: -webkit-fill-available\">\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\" >\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCampoMarcadorXML(campoMarcadorInsertarXML)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verReporteMarcadorDetalleXML = false; habilitaCampo = false;\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-campo let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"campo\">\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.campoFuente\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.campoFuente}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.marcador\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.marcador}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.formato\" style=\"width: -webkit-fill-available\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.formato}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n \n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCampoMarcadorXML(campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cargarListaCampoMarcadorXMLAsync()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" [disabled]=\"habilitaCampo\" (click)=\"eliminarCampoMarcadorXML($event,campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'columnario' | translate }}\">\n <p-accordion (onOpen)=\"cambiarTabColumnario($event)\" >\n <p-accordionTab [selected]=\"true\" >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'columnasbasicas'|translate}}\n </ng-template>\n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoColumnaBasica()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoReporteColumnario\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoReporteColumnario\">\n <button pButton pRipple (click)=\"verNuevoReporteColumnario = false; clickGuardarReporteColumnario = false;\" label= \"{{'listado' | translate}} {{'columnasbasicas' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaReporteColumnario\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaReporteColumnario.length\"\n [paginator]=\"listaReporteColumnario.length > 10\" *ngIf=\"!verNuevoReporteColumnario\"\n (onRowSelect)=\"verReporteColumnario($event)\" (onRowUnselect)=\"verReporteColumnario($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n <th>{{'operacion' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-bean>\n <tr [pSelectableRow]=\"bean\">\n <td>{{bean.nombre}}</td>\n <td>{{bean.nombreColumna}}</td>\n <td>{{bean.tipo | reporteColumnarioPipe: 'listaTipoColumna'}}</td>\n <td>{{bean.orden}}</td>\n <td>{{bean.operacion | reporteColumnarioPipe: 'listaOperacion'}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div *ngIf=\"verNuevoReporteColumnario\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.nombre\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario\">\n <label>{{'nombre' | translate}} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoColumnas\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'tipocolumna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"columnaBasica.tipo == 'D'\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacion\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesExcelColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacionHorizontal\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacionhorizontal' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- fila Operacion Vertical -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.columnaOperacionVertical\" maxlength=\"5\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario\">\n <label>{{'columnaoperacion' | translate}} *</label>\n </p-floatLabel>\n </div>\n <!-- Operacion Verticial -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesExcelColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacionVertical\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacionvertical' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- Orden -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isMostrarOrden()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.orden\" maxlength=\"5\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario\">\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n <!-- Ordenamiento Filas -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoLabel() || isTipoFila()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOrdenamiento\" [autoDisplayFirst]=\"false\" [showClear]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.orderBy\" optionLabel=\"nombre\" optionValue=\"codigo\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.orderBy) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.orderBy) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'ordenamiento' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- Ordenamiento Datos de la consulta -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isMostrarOrdenConsulta()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.ordenConsulta\" maxlength=\"5\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" >\n <label>{{'ordenconsulta' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{columnaBasica.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{columnaBasica.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaBasica()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"columnaBasica.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaBasica($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n <p-accordion (onOpen)=\"cambiarTabColumnario($event)\">\n <p-accordionTab >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'datosadicionales'|translate}}\n </ng-template>\n <p-fieldset class=\"fieldsintitulo\" >\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n \n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoExcelColumnario ? reporteFuente.archivoExcelColumnario: ''\"\n [extensiones]=\"'xls;xlsx;xlsm'\" [mostraroblicargo]=\"true\" [labelrar]=\"'plantilla' | translate\"\n (onSelected)=\"obtenerArchivoColumnario($event)\"></app-input-helper-seleccion-plantilla>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.hojaExcel\" size=\"25\" maxlength=\"20\">\n <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |\n translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"reporteFuente.filaInicioColumnario\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'filainiciocolumnario' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\" appendTo=\"body\"\n [(ngModel)]=\"reporteFuente.cifradoColumnario\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.sintaxisColumnario\"></textarea>\n <label>{{'sintaxiscolumnario' | translate }}</label>\n </p-floatLabel>\n </div>\n \n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </p-fieldset>\n <div class=\"flex justify-content-between align-items-center mb-3 mt-3\">\n <h1 class=\"text-xl\">{{'columnaadicional' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevaColumnaAdicional()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoColumnaAdicional\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoColumnaAdicional\">\n <button pButton pRipple (click)=\"verNuevoColumnaAdicional = false; clickGuardarColumnaAdicional = false;\" label= \"{{'listado' | translate}} {{'columnaadicional' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"columnasAdicionales\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"columnasAdicionales.length\"\n [paginator]=\"columnasAdicionales.length > 10\" *ngIf=\"!verNuevoColumnaAdicional\"\n (onRowSelect)=\"verDetalleAdicional($event)\" (onRowUnselect)=\"verDetalleAdicional($event)\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-columnaadicional>\n <tr [pSelectableRow]=\"columnaadicional\">\n <td>{{columnaadicional.nombre}}</td>\n <td>{{columnaadicional.orden}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <p-fieldset class=\"fieldsintitulo\" *ngIf=\"verNuevoColumnaAdicional\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaAdicional.nombre\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional\">\n <label>{{'alias' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"columnaAdicional.orden\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional\" />\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOrdenamiento\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaAdicional.orderBy\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional\"></p-dropdown>\n <label>{{'ordenamiento' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"columnaAdicional.ordenConsulta\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional\" />\n <label>{{'ordenconsulta' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\" >\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"columnaAdicional.sintaxis\" maxlength=\"4000\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional\"></textarea>\n <label>{{'sintaxis' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{columnaAdicional.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{columnaAdicional.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaAdicional()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"columnaAdicional.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaAdicional($event)\">\n </button>\n </div>\n </div>\n </p-fieldset>\n </p-accordionTab>\n <p-accordionTab >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'marcadores'|translate}}\n </ng-template>\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorColumnario()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorColumnario\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorColumnario\">\n <button pButton pRipple (click)=\"verNuevoMarcadorColumnario = false; clickGuardarMarcadorColumnario = false;\" label= \"{{'listado' | translate}} {{'marcador' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"marcadoresColumnario\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"marcadoresColumnario.length\"\n [paginator]=\"marcadoresColumnario.length > 10\" *ngIf=\"!verNuevoMarcadorColumnario\"\n (onRowSelect)=\"verDetalleMarcadorColumnario($event)\" (onRowUnselect)=\"verDetalleMarcadorColumnario($event)\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'tipomarcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.marcador}}</td>\n <td>{{marcador.tipo | reporteColumnarioPipe: 'listaTipoMarcador'}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div *ngIf=\"verNuevoMarcadorColumnario\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"marcadorColumnario.descripcion\" maxlength=\"4000\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario\" />\n <label>{{'descripcion' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"marcadorColumnario.marcador\" maxlength=\"50\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario\" />\n <label>{{'marcador' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoMarcadorColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"marcadorColumnario.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-12\" >\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"marcadorColumnario.textoRegistro\" maxlength=\"4000\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario\"></textarea>\n <label>{{'valor' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorColumnario.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorColumnario.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorColumnario()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorColumnario.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorColumnario($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n </p-tabPanel>\n <p-tabPanel header=\"{{'grafica' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.codigo\" size=\"25\"\n maxlength=\"100\">\n <label>{{'codigo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.tituloGrafico\" size=\"25\"\n maxlength=\"100\">\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoGrafico\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.tipoGrafico\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'tipo' | translate }}</label> \n </p-floatLabel>\n </div>\n </div>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" *ngIf=\"isSql()\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\" \n label=\"{{'link_actualizar' | translate}}\" (click)=\"guardarGrafico()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined background-100\" icon=\"pi pi-eye\"\n label=\"{{'link_ver' | translate}}\" (click)=\"verGrafico()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-table [value]=\"paginadorColumnas\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n [rows]=\"20\" [totalRecords]=\"paginadorColumnas.length\" [paginator]=\"paginadorColumnas.length > 20\" >\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'columna' | translate }}</th>\n <th>{{'sintaxis' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'accion' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-bean>\n <tr [pSelectableRow]=\"bean\">\n <td>{{bean.nombre}}</td>\n <td>{{bean.sintaxis}}</td>\n <td>{{bean.tipoDato | reporteFuentePipe : 'listaTipoDato'}}</td>\n <td>\n <p-dropdown [options]=\"listaGraficoSencillo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"bean.graficoFuente\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table> \n\n <div class=\"flex justify-content-between align-items-center mt-2 mb-2\">\n <h1 class=\"text-xl\">Colores</h1>\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoColorCategoria()\" icon=\"pi pi-plus\"\n [disabled]=\"habilitaCampo\" class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"paginadorColoresGrafica\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"paginadorColoresGrafica.length\"\n [paginator]=\"paginadorColoresGrafica.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 45%\">{{'categoria' | translate}}</th>\n <th style=\"width: 45%\">{{'color' | translate}}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verColorCategoriaDetalle\">\n <td style=\"width: 45%\">\n <input pInputText type=\"text\" [(ngModel)]=\"colorCategoria.titulo\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria\">\n </td>\n <td style=\"width: 45%\">\n <div style=\"width: 100%\">\n <p-colorPicker [(ngModel)]=\"colorCategoria.banda\" appendTo=\"body\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria\" />\n </div>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarColorCategoria(colorCategoria)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verColorCategoriaDetalle = false\" icon=\"pi pi-times\" (click)=\"cancelarColorCategoria()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-color let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"color\" style=\"width: 100%\">\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"color.titulo\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{color.titulo}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <div style=\"width: 100%\">\n <p-colorPicker [(ngModel)]=\"color.banda\" appendTo=\"body\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria\"/>\n </div>\n </ng-template>\n <ng-template pTemplate=\"output\">\n <p-colorPicker [(ngModel)]=\"color.banda\" [disabled]=\"true\" />\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarColorCategoria(color)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cancelarEdicionColor()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarColorCategoria($event, color)\" [disabled]=\"habilitaCampo\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div #divGrafica class=\"flex justify-content-between card mt-3\" *ngIf=\"grafica\">\n <h1 class=\"text-xl\">{{'grafica' | translate}}</h1>\n <div style=\"width: 35%\"></div>\n <div style=\"width: 30%\">\n <p-chart [type]=\"tipoGrafica\" [data]=\"grafica.datosGrafica.data\" [options]=\"grafica.datosGrafica.options\"></p-chart>\n </div>\n <div style=\"width: 35%\"></div>\n </div>\n </p-tabPanel>\n</p-tabView>", styles: [":host ::ng-deep .p-picklist-buttons.p-picklist-source-controls.ng-star-inserted{display:none}:host ::ng-deep .p-picklist-buttons.p-picklist-target-controls.ng-star-inserted{display:none}:host ::ng-deep .p-picklist.p-component{margin:0}:host ::ng-deep .p-picklist-item span{float:left!important}:host ::ng-deep .fieldsintitulo .p-fieldset-legend{display:none!important}:host ::ng-deep .p-picklist-list-wrapper.p-picklist-source-wrapper ul{box-shadow:inset 1px 8px 10px -10px var(--color-200)}:host ::ng-deep .p-picklist .p-picklist-target{background:var(--color-200) no-repeat}:host ::ng-deep .p-picklist .p-picklist-target{background:var(--color-50) no-repeat}:host ::ng-deep .p-picklist .p-picklist-header{display:none}:host ::ng-deep .p-picklist .p-picklist-filter-container span{color:var(--color-100)}:host ::ng-deep .p-picklist .p-picklist-filter-container{border-radius:10px 10px 0 0;padding:3%;border:1px solid var(--color-100);border-bottom:none;box-shadow:0 4px 7px var(--color-100);position:relative}:host ::ng-deep .p-picklist .p-picklist-list{border:1px solid var(--color-100);height:400px}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item{padding:2%;color:#000000de;background:solid 2px var(--color-50) no-repeat;margin:16px 16px -7px;border-radius:5px;border:solid 1px var(--color-100);transition:.2s;background:#fff}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item h6,:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item h7{color:var(--color-500);margin-bottom:2px;font-size:1rem;margin-top:0}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item span{float:left;margin-right:4px;min-height:30px;color:var(--color-400)}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover{background:var(--color-400);color:#fff;transition:.2s}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover h6,:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover h7{color:#fff!important;transition:.2s}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover span{color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight{background:var(--color-500);color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight h6,:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight h7{color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight span{color:#fff!important}:host ::ng-deep span.p-input-icon-left{width:calc(50% - .25rem - 20px);border-bottom:none;border:1px solid var(--color-100);padding:1.5%;border-radius:10px 10px 0 0;margin-left:-8px}:host ::ng-deep span.p-input-icon-left i{margin-left:20px}.p-picklist-buttons{padding:2rem}.p-picklist-buttons .p-button:disabled{background-color:var(--color3)!important;color:#fff!important}.p-picklist-buttons .p-button{margin-bottom:.5rem;border-radius:100%}.p-picklist-buttons .p-button.p-button-icon-only{padding:.4rem .5rem;width:40px;height:40px;max-width:initial;max-height:initial}.p-picklist-buttons .p-button.p-button-icon-only span{font-size:18px}:host ::ng-deep .p-picklist-buttons .p-button.p-button-icon-only{border-radius:100%;width:3rem!important;background:var(--color-500)}:host ::ng-deep .p-picklist-buttons .p-button.p-button-icon-only span{font-size:1.2rem;background:var(--color--300);color:#fff}:host ::ng-deep .p-picklist-buttons .p-button:disabled{background:var(--color-300)!important}@media (max-width: 1440px){:host ::ng-deep span.p-input-icon-left{width:calc(50% - .25rem - 20px);border-bottom:none;border:1px solid var(--color-100);padding:1.2%;border-radius:10px 10px 0 0;margin-left:-8px}:host ::ng-deep span.p-input-icon-left i{margin-left:15px}}:host ::ng-deep .p-button{width:auto}\n"] }]
|
|
12927
|
+
args: [{ selector: 'detalle-tipo-reporte', imports: [TranslateModule, TableModule, TemplateTablaVaciaComponent, TabViewModule, InputHelperSeleccionPlantillaComponent, ReporteColumnarioPipe, ReporteFuentePipe, DropdownModule, FormsModule, ReactiveFormsModule, CommonModule, ButtonModule, PickListModule, FieldsetModule, AccordionModule, InputTextModule, InputTextareaModule, FloatLabelModule, InputNumberModule, FieldsetModule, ChartModule, ColorPickerModule], standalone: true, providers: [MessageService], template: "<p-tabView (onChange)=\"cambiarTab($event)\">\n <p-tabPanel header=\"{{'excel' | translate }}\" [selected]=\"true\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <p class=\"font-semibold\">{{'debe' | translate}} {{'indicar' | translate}} {{'plantilla' | translate}} {{'y' | translate}}\n {{'hoja' | translate}} {{'para' | translate}} {{'que' | translate}} {{'esta' | translate}}\n {{'opcion' | translate}} {{'se' | translate}} {{'active' | translate}}\n </p>\n <div class=\"p-fluid p-formgrid grid\">\n <div class=\"field col-12 md:col-4\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoTodo ? reporteFuente.archivoTodo: ''\"\n [extensiones]=\"'xls;xlsx'\" [mostraroblicargo]=\"true\" [labelrar]=\"'plantilla' | translate\"\n (onSelected)=\"obtenerArchivo($event)\"></app-input-helper-seleccion-plantilla>\n\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.hojaExcel\" size=\"25\" maxlength=\"20\">\n <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |\n translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoExcel\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\"\n icon=\"glyphicons glyphicons-refresh\" label=\"{{'link_actualizar' | translate}}\"\n (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-pickList [source]=\"listaExcel\" [target]=\"listaNoExcel\" sourceHeader=\"Asociado\" sourceFilterPlaceholder=\"Asociado\"\n targetHeader=\"Desasociado\" [dragdrop]=\"true\" [responsive]=\"true\" targetFilterPlaceholder=\"Desasociado\"\n filterBy=\"sintaxis\" (onSourceReorder)=\"moverAAsociado($event)\"\n (onMoveAllToTarget)=\"moverADesasociado($event)\" (onMoveAllToSource)=\"moverAAsociado($event)\"\n (onMoveToTarget)=\"moverADesasociado($event)\" (onMoveToSource)=\"moverAAsociado($event)\">\n <ng-template let-excel pTemplate=\"item\">\n <div>\n <label>{{excel.nombre}}</label>\n </div>\n </ng-template>\n </p-pickList>\n\n <div class=\"mt-4\">\n <div class=\"flex justify-content-between align-items-center mt-2 mb-2\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorExcel()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorExcel\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorExcel\">\n <button pButton pRipple (click)=\"verNuevoMarcadorExcel = false\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadorExcel\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [selection]=\"reporteMarcadorExcel\" [rows]=\"10\"\n [totalRecords]=\"listaMarcadorExcel.length\" [paginator]=\"listaMarcadorExcel.length > 10\"\n (onRowSelect)=\"verDetalleMarcadorExcel($event)\" (onRowUnselect)=\"verDetalleMarcadorExcel($event)\" *ngIf=\"!verNuevoMarcadorExcel\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.descripcion}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorExcel\">\n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-book\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-4 \">\n <form [formGroup]=\"formMarcadorExcel\" >\n <div class=\"col-md-12 p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" size=\"25\" maxlength=\"4000\">\n <label>{{'descripcion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\" maxlength=\"4000\">\n <label>{{'marcador' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Imagen Fija', value: 'IF'}, {label: 'Marcador', value: 'MA'}]\"\n [autoDisplayFirst]=\"false\" formControlName=\"tipo\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\" [hidden]=\"esImagenFija\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"textoRegistro\"></textarea>\n <label>{{'valor' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"esMarcador\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]\"\n [autoDisplayFirst]=\"false\" formControlName=\"origen\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'origen' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"esMarcador\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n formControlName=\"textoRegistro\"\n [label]=\"reporteMarcadorExcel.textoRegistro ? reporteMarcadorExcel.textoRegistro: ''\"\n [extensiones]=\"'jpg;png'\" (onSelected)=\"obtenerArchivoMarcadorExcel($event)\"\n [propiedad]=\"'ruta_recursos'\" [labelrar]=\"('recursos' | translate)\" [labelarch]=\"'recurso' | translate\" [mostrarX]=\"true\"\n [mostraroblicargo]=\"true\"\n [booleano]=\"!utilsService.validarCampoObligatorio(reporteMarcadorExcel.textoRegistro) && clickGuardarMarcadorExcel\"\n [anexoPropiedad]=\"reporteMarcadorExcel.origen =='C' ? llaveEmpresa: ''\"\n [propiedadDeSistema]=\"true\"></app-input-helper-seleccion-plantilla>\n </div>\n </div>\n </form>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" *ngIf=\"verNuevoMarcadorExcel\">\n <button pButton pRipple class=\"ml-2 p-button-raised\" icon=\"glyphicons {{reporteMarcadorExcel.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{reporteMarcadorExcel.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorExcel()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcadorExcel.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorExcel($event)\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'plantilla' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.unicoArchivo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'soporte' | translate }} {{'unico' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.descargarFuente\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'descargardoc' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.generarPin\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'generarpin' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [(ngModel)]=\"reporteFuente.campoAgrupacionPlanilla\" \n [autoDisplayFirst]=\"false\" [showClear]=\"true\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'agruparpor' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.nombreAgrupacionPlanilla\" size=\"25\"\n maxlength=\"100\">\n <label>{{'nombrearchivoagrupacion' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoPlanilla\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteFuente.unicoArchivo == 'N'\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoIndividual ? reporteFuente.archivoIndividual: ''\"\n [labelrar]=\"'archivo' | translate\" [labelarch]=\"'archivo' | translate\" [mostraroblicargo]=\"true\"\n (onSelected)=\"obtenerArchivoPlanilla($event)\"></app-input-helper-seleccion-plantilla>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-tabView >\n <p-tabPanel header=\"{{'marcadores' | translate }}\" [selected]=\"true\">\n \n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton pRipple class=\"p-button-secondary font-semibold mb-2\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcador()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcador\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcador\">\n <button pButton pRipple (click)=\"verNuevoMarcador = false\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadores\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [selection]=\"reporteMarcador\"\n [rows]=\"10\" [totalRecords]=\"listaMarcadores.length\"\n [paginator]=\"listaMarcadores.length > 10\" *ngIf=\"!verNuevoMarcador\"\n (onRowSelect)=\"verDetalleMarcador($event)\" (onRowUnselect)=\"verDetalleMarcador($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'marcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.descripcion}}</td>\n <td>{{marcador.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>\n <td>{{marcador.tipo == 'IF' ? marcador.textoRegistro : marcador.nombreColumna}}</td>\n <td>{{marcador.marcador}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div class=\"card col-md-12\" *ngIf=\"verNuevoMarcador\">\n <div class=\"Detallereporte mt-2\">\n <form [formGroup]=\"formMarcador\">\n <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>\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" size=\"25\"\n maxlength=\"4000\">\n <label>{{'descripcion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoMarcador\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipo\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!(['MA','IM','MR','IF','QR','BC','G1'].includes(reporteMarcador.tipo))\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\">\n <label>{{'marcador' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'TB'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tabla\" size=\"25\">\n <label>{{'tabla' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'IF'\">\n <p-floatLabel>\n <p-dropdown\n [options]=\"[{label: 'Unica', value: 'U'}, {label: 'Cada Empresa', value: 'C'}]\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\" formControlName=\"origen\" optionLabel=\"label\"\n optionValue=\"value\"></p-dropdown>\n <label>{{'origen' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"reporteMarcador.tipo != 'IF' || !reporteMarcador.origen\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n formControlName=\"textoRegistro\"\n [label]=\"reporteMarcador.textoRegistro ? reporteMarcador.textoRegistro: ''\"\n [mostraroblicargo]=\"true\" [mostrarX]=\"true\"\n [booleano]=\"!utilsService.validarCampoObligatorio(reporteMarcador.textoRegistro) && clickGuardarMarcador\"\n [extensiones]=\"'jpg;png'\" (onSelected)=\"obtenerArchivoMarcador($event)\"\n [propiedad]=\"'ruta_recursos'\" [labelrar]=\"'recursos' | translate\"\n [anexoPropiedad]=\"reporteMarcador.origen =='C' ? llaveEmpresa: ''\"\n [propiedadDeSistema]=\"true\"></app-input-helper-seleccion-plantilla>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['MA','IM','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" formControlName=\"reporteColumna\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'columna' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MA'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"formato\" size=\"25\">\n <label>{{'formato' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-inputNumber formControlName=\"ancho\" [maxlength]=\"5\"> </p-inputNumber>\n <label>{{'ancho' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['IM','IF','QR','BC','G1'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-inputNumber formControlName=\"alto\" [maxlength]=\"5\"> </p-inputNumber>\n <label>{{'alto' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo1\"></textarea>\n <label>{{'grupo1' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo2\"></textarea>\n <label>{{'grupo2' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"grupo3\"></textarea>\n <label>{{'grupo3' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"finalGrupo\"></textarea>\n <label>{{'finalgrupo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"textoRegistro\"></textarea>\n <label>{{'texto' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['MR','TB'].includes(reporteMarcador.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" formControlName=\"tieneSql\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'sql' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"reporteMarcador.tipo != 'TB'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoGrafico_JFC\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"tipoGrafico\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'grafica' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['S'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"query\"></textarea>\n <label>{{'consulta' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaFuentes\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"fuente\" optionLabel=\"descripcion\"\n optionValue=\"llave\"></p-dropdown>\n <label>{{'fuente' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"marcadorGrafico\" size=\"25\">\n <label>{{'marcadorgrafica' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['A'].includes(reporteMarcador.tipoGrafico)\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"titulox\" size=\"25\">\n <label>{{'titulo' | translate }} X</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\"\n [hidden]=\"!['A'].includes(reporteMarcador.tipoGrafico)\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tituloy\" size=\"25\">\n <label>{{'titulo' | translate }} Y</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"banda\" size=\"25\">\n <label>{{'colordinamico' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" [hidden]=\"!reporteMarcador.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"anchoJasperLabel\" size=\"25\">\n <label>{{'numerocategorias' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\"\n [hidden]=\"!(['MR','TB'].includes(reporteMarcador.tipo) && (['N'].includes(reporteMarcador.tieneSql)))\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"filtro\"></textarea>\n <label>{{'filtro' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n </form>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\"\n icon=\"glyphicons {{reporteMarcador.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save' }}\" label=\"{{reporteMarcador.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\"\n (click)=\"guardarMarcador()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcador.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcador($event)\">\n </button>\n </div>\n </div>\n </div>\n <div *ngIf=\"verNuevoMarcador && reporteMarcador.llave != null && (reporteMarcador.tipo == 'MR' || reporteMarcador.tipo == 'TB')\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCampoTabla()\" icon=\"pi pi-plus\" [disabled]=\"bloquearCampoMarcador\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaCamposMarcador\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaCamposMarcador.length\" [scrollable]=\"true\"\n [paginator]=\"listaCamposMarcador.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llave\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 10%;\">{{'columna' | translate }}</th>\n <th style=\"width: 10%;\">{{'campo' | translate }}</th>\n <th style=\"width: 10%;\">{{'formato' | translate }}</th>\n <th style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">{{'tipo' | translate }}</th>\n <th style=\"width: 10%;\"*ngIf=\"reporteMarcador.tipo == 'TB'\">{{'medidas' | translate }}</th>\n <th style=\"width: 10%;\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verReporteMarcadorDetalle\">\n <td style=\"width: 10%;\">\n <input pInputText [(ngModel)]=\"campoMarcadorInsertar.columna\" oninput=\"this.value = this.value.replace(/[^0-9]/g, '');\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.columna) && clickGuardarMarcadorCampo\" />\n </td>\n <td style=\"width: 10%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.campoFuente\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertar.campoFuente) && clickGuardarMarcadorCampo\">\n </td>\n <td style=\"width: 10%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.formato\">\n </td>\n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-dropdown [options]=\"listaGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [(ngModel)]=\"campoMarcadorInsertar.tipo\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\"></p-dropdown>\n </td>\n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <div *ngIf=\"campoMarcadorInsertar.tipo =='I'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.ancho\">\n <label>{{'ancho' | translate}}</label>\n </p-floatLabel>\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertar.alto\">\n <label>{{'alto' | translate}}</label>\n </p-floatLabel>\n </div>\n </td>\n <td style=\"width: 10%;\" >\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCampoMarcador(campoMarcadorInsertar)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verReporteMarcadorDetalle = false; bloquearCampoMarcador = false\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-campo let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"campo\">\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.columna\" oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo\" \n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.columna) && clickGuardarMarcadorCampo\" />\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.columna}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.campoFuente\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampo\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.campoFuente}}\n </ng-template>\n </p-cellEditor>\n </td>\n\n <td style=\"width: 10%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.formato\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.formato}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listaGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [(ngModel)]=\"campo.tipo\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" [showClear]=\"true\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.tipo | reporteFuentePipe :'listaRecursoGrafica'}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n <td style=\"width: 10%;\" *ngIf=\"reporteMarcador.tipo == 'TB'\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <div *ngIf=\"campo.tipo =='I'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campo.ancho\">\n <label>{{'ancho' | translate}}</label>\n </p-floatLabel>\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"campo.alto\">\n <label>{{'alto' | translate}}</label>\n </p-floatLabel>\n </div>\n </ng-template>\n <ng-template pTemplate=\"output\">\n <div *ngIf=\"campo.tipo =='I'\">\n {{'ancho' | translate}}: {{campo.ancho}} <br/>\n {{'alto' | translate}}: {{campo.alto}}\n </div> \n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%;\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCampoMarcador(campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cargarListaCampoMarcadorAsync()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow [disabled]=\"bloquearCampoMarcador\"\n icon=\"glyphicons glyphicons-pencil\" (click)=\"editarCampoMarcador()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow [disabled]=\"bloquearCampoMarcador\"\n icon=\"pi pi-trash\" (click)=\"eliminarCampoMarcador($event,campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'soporte' | translate }} {{'archivo' | translate }}s\"\n *ngIf=\"reporteFuente.unicoArchivo == 'N'\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoSoporte()\" icon=\"pi pi-plus\"\n [disabled]=\"habilitaCampo\" class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaSoportes\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaSoportes.length\"\n [paginator]=\"listaSoportes.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 45%\">{{'descripcion' | translate}}</th>\n <th style=\"width: 45%\">{{'archivo' | translate}}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verSoporteArchivoDetalle\">\n <td style=\"width: 45%\">\n <input pInputText type=\"text\" [(ngModel)]=\"soporteIngresar.descripcion\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(soporteIngresar.descripcion) && clickGuardarSoporteArchivo\">\n </td>\n <td style=\"width: 45%\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\" [mostrarX]=\"true\"\n [label]=\"soporteIngresar.archivoIndividual ? soporteIngresar.archivoIndividual: ''\" [labelarch]=\"'archivo' | translate\"\n [mostrarLabelInput]=\"false\" [mostraroblicargo]=\"true\" [booleano]=\"!utilsService.validarCampoObligatorio(soporteIngresar.archivoIndividual) && clickGuardarSoporteArchivo\"\n (onSelected)=\"obtenerArchivoSoporte($event, soporteIngresar)\"></app-input-helper-seleccion-plantilla>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarSoporte(soporteIngresar)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verSoporteArchivoDetalle = false\" icon=\"pi pi-times\" (click)=\"cancelarSoporte()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-soporte let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"soporte\" style=\"width: 100%\">\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"soporte.descripcion\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(soporte.descripcion) && clickGuardarSoporteArchivo\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{soporte.descripcion}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n {{soporte.archivoIndividual}}\n <!--<app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\" [mostrarX]=\"true\"\n [label]=\"soporte.archivoIndividual ? soporte.archivoIndividual: ''\"\n [mostrarLabelInput]=\"false\" [booleano]=\"!utilsService.validarCampoObligatorio(soporte.archivoIndividual) && clickGuardarSoporteArchivo\"\n (onSelected)=\"obtenerArchivoSoporte($event, soporte)\"></app-input-helper-seleccion-plantilla>-->\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{soporte.archivoIndividual}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarSoporte(soporte)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cancelarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarSoporte($event, soporte)\" [disabled]=\"habilitaCampo\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </p-tabPanel>\n </p-tabView>\n </p-tabPanel>\n <p-tabPanel header=\"{{'reporte' | translate }} {{'dinamico' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [(ngModel)]=\"reporteFuente.dobleLinea\" [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\n <label>{{'doblelinea' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.tituloParametro\" size=\"25\"\n maxlength=\"100\">\n <label>{{'descripcion' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoJasper\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n \n \n <button pButton pRipple class=\"ml-2 p-button-outlined background-100\" icon=\"glyphicons glyphicons-restart\" \n label=\"{{'link_generar' | translate}}\" (click)=\"generarJasper()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"pi pi-download\" *ngIf=\"existeJasper\"\n label=\"{{'link_descargar' | translate}}\" (click)=\"descargarJasper()\">\n </button>\n \n </div>\n </div>\n </div>\n \n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"bandaSeleccionada.key\">\n <button pButton pRipple (click)=\"regresarBandaSeleccionada()\" label= \"{{'listado' | translate}} {{'bandas' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaTipoBanda\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" [rows]=\"10\"\n [totalRecords]=\"listaTipoBanda.length\" [paginator]=\"listaTipoBanda.length > 10\"\n (onRowSelect)=\"verBanda($event)\" (onRowUnselect)=\"verBanda($event)\" *ngIf=\"!bandaSeleccionada.key\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'banda' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-banda>\n <tr [pSelectableRow]=\"banda\">\n <td>{{banda.value}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <p-tabView *ngIf=\"bandaSeleccionada.key && verTabBanda\">\n <p-tabPanel header=\"{{'caracteristicas' | translate}}\"\n *ngIf=\"!['detalle','summary'].includes(bandaSeleccionada.key)\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\" optionLabel=\"nombre\" optionValue=\"codigo\" \n [(ngModel)]=\"reporteBanda.totales\" ></p-dropdown>\n <label>{{'total' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteBanda.titulo\" maxlength=\"200\">\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-floppy-save\"\n label=\"{{'link_guardar' | translate}}\" (click)=\"guardarCaracteristicaBanda()\">\n </button>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{bandaSeleccionada.value}}\" *ngIf=\"!nuevaBanda\">\n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <div class=\"flex justify-content-end mb-1\" >\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoMarcadorDinamico()\" icon=\"pi pi-plus\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\" *ngIf=\"!nuevoReporteMarcadorDinamico\"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadorDinamico\" [scrollable]=\"true\"\n responsiveLayout=\"scroll\" dataKey=\"llaveTabla\" selectionMode=\"single\"\n [rows]=\"10\" [totalRecords]=\"listaMarcadorDinamico.length\"\n [paginator]=\"listaMarcadorDinamico.length > 10\" *ngIf=\"!nuevoReporteMarcadorDinamico\"\n (onRowSelect)=\"verMarcadorDinamico($event)\" (onRowUnselect)=\"verMarcadorDinamico($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'banda' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'etiqueta' | translate }}</th>\n <th>{{'formato' | translate }}</th>\n <th>{{'ancho' | translate }}</th>\n <th>{{'operacion' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-dinamico>\n <tr [pSelectableRow]=\"dinamico\">\n <td>{{dinamico.banda}}</td>\n <td>{{dinamico.banda ? dinamico.alto : ''}}</td>\n <td>{{dinamico.marcador}}</td>\n <td>{{dinamico.banda ? dinamico.descripcion : ''}}</td>\n <td>{{dinamico.banda ? dinamico.formato : ''}}</td>\n <td>{{['detalle'].includes(dinamico.banda) ? dinamico.ancho : ''}}</td>\n <td>{{dinamico.banda ? dinamico.operacion : ''}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n\n <div *ngIf=\"nuevoReporteMarcadorDinamico\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"flex justify-content-between align-items-center mb-2\"> \n <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>\n <button pButton pRipple (click)=\"nuevoReporteMarcadorDinamico = false\" label= \"{{'listado' | translate}} {{bandaSeleccionada.value}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \" *ngIf=\"nuevoReporteMarcadorDinamico\"></button>\n </div>\n <form [formGroup]=\"formReporteDinamico\" class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCampoJasperDinamico\"\n [autoDisplayFirst]=\"false\" formControlName=\"tipoCampo\"\n optionLabel=\"value\" optionValue=\"key\"></p-dropdown>\n <label>{{'tipocampo' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoDatoSintaxis\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipoDato\" optionLabel=\"value\"\n optionValue=\"key\"></p-dropdown>\n <label>{{'tipodato' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText formControlName=\"alto\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'orden' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" \n formControlName=\"marcador\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n *ngIf=\"!reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'\"></p-dropdown>\n <input pInputText type=\"text\" formControlName=\"marcador\" size=\"25\"\n *ngIf=\"reporteMarcadorDinamico.llave && reporteMarcadorDinamico.tipoCampo !='C'\">\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-12\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea formControlName=\"filtro\"></textarea>\n <label>{{'sintaxis' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\">\n <p-fieldset class=\"fieldsintitulo\" class=\"fieldsintitulo\">\n <div class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\">\n <label class=\"font-semibold text-gray-900 text-base ml-1\">{{'resultado' | translate}}</label>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\" *ngIf=\"reporteMarcadorDinamico.tipoCampo =='C'\"></div>\n <div class=\"field col-12 md:col-6 lg:col-6 mb-0\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <label class=\"font-semibold text-gray-900 text-base ml-1\" >{{'label' | translate}}</label>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"formato\" />\n <label>{{'formato' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"descripcion\" />\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"ancho\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'ancho' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' == reporteMarcadorDinamico.banda \"></div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"anchoJasperLabel\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'ancho' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"'detalle' != reporteMarcadorDinamico.banda\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"resultadoX\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'x' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"titulox\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'x' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"'detalle' != reporteMarcadorDinamico.banda\">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"resultadoY\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'y' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C' && 'detalle' != reporteMarcadorDinamico.banda \">\n <p-floatLabel>\n <input pInputText type=\"text\" formControlName=\"tituloy\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"/>\n <label>{{'y' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaAlineacion\" [autoDisplayFirst]=\"false\" \n formControlName=\"tipoReporte\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'alineacion' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaAlineacion\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"tipoGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'alineacion' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6 lg:col-6\" *ngIf=\"reporteMarcadorDinamico.tipoDato == 'N' && reporteMarcadorDinamico.tipoCampo !='C'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaOperaciones\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n formControlName=\"operacion\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'operacion' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n </p-fieldset>\n </div>\n </form>\n \n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{reporteMarcadorDinamico.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{reporteMarcadorDinamico.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaDinamico()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"reporteMarcadorDinamico.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaDinamico($event)\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </p-tabPanel>\n \n </p-tabView>\n </p-tabPanel>\n <p-tabPanel header=\"{{'reporte' | translate }} {{'texto' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.archivoTexto\" size=\"50\"\n maxlength=\"200\">\n <label>{{'nombrearchivo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSeparadores\" [(ngModel)]=\"reporteFuente.separador\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporteFuente.separador) && clickGuardarReporteTexto\"\n [autoDisplayFirst]=\"false\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'separador' | translate }}*</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoTexto\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizarSeparador()\">\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"flex justify-content-between lign-items-center mb-3\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorTexto()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorTexto\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorTexto\">\n <button pButton pRipple (click)=\"verNuevoMarcadorTexto = false; clickGuardarMarcadorTexto = false;\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaMarcadoresTexto\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaMarcadoresTexto.length\"\n [paginator]=\"listaMarcadoresTexto.length > 10\" *ngIf=\"!verNuevoMarcadorTexto\"\n (onRowSelect)=\"verMarcadorTexto($event)\" (onRowUnselect)=\"verMarcadorTexto($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'formato' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marctexto>\n <tr [pSelectableRow]=\"marctexto\">\n <td>{{marctexto.tipoGrafico | reporteFuentePipe : 'listaTipoMarcadoresTexto'}}</td>\n <td>{{marctexto.nombreColumna}}</td>\n <td>{{marctexto.formato}}</td>\n <td>{{marctexto.alto}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorTexto\"> \n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-notes\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoMarcadorTexto\" [autoDisplayFirst]=\"false\"\n [(ngModel)]=\"marcadorTexto.tipoGrafico\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.tipoGrafico) && clickGuardarMarcadorTexto\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico == 'D'\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\"\n [(ngModel)]=\"marcadorTexto.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.reporteColumna) && clickGuardarMarcadorTexto\"></p-dropdown>\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.formato\" maxlength=\"50\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.formato) && clickGuardarMarcadorTexto\">\n <label>{{marcadorTexto.tipoGrafico == 'D' ? ('formato' | translate)+'*' : ('valor' | translate)+'*' }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico == 'D'\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.ancho\" maxlength=\"22\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.ancho) && clickGuardarMarcadorTexto\">\n <label>{{'ancho' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorTexto.tipoGrafico\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorTexto.alto\" maxlength=\"22\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorTexto.alto) && clickGuardarMarcadorTexto\">\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorTexto.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorTexto.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorTexto()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorTexto.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadoTexto($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'tabla' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.nombreTabla\" maxlength=\"4000\">\n <label>{{'nombretabla' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-8\">\n <!--BOTONES-->\n <div class=\"flex justify-content-end mt-1 mb-1\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <p-pickList [source]=\"listaTabla\" [target]=\"listaNoTabla\" sourceHeader=\"Asociado\" sourceFilterPlaceholder=\"Asociado\"\n targetHeader=\"Desasociado\" [dragdrop]=\"true\" [responsive]=\"true\" targetFilterPlaceholder=\"Desasociado\"\n filterBy=\"nombre\" *ngIf=\"isFuente()\" (onSourceReorder)=\"reorderTabla($event)\"\n (onMoveAllToTarget)=\"moverADesasociadoTabla($event)\" (onMoveAllToSource)=\"moverAAsociadoTabla($event)\"\n (onMoveToTarget)=\"moverADesasociadoTabla($event)\" (onMoveToSource)=\"moverAAsociadoTabla($event)\">\n <ng-template let-tabla pTemplate=\"item\">\n <div>\n <label>{{tabla.nombre}}</label>\n </div>\n </ng-template>\n </p-pickList>\n </p-tabPanel>\n <p-tabPanel header=\"{{'archivoxml' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.tagEncabezado\"></textarea>\n <label>{{'tagencabezado' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.tagCierreEncabezado\"></textarea>\n <label>{{'tagcierreencabezado' | translate }}</label>\n </p-floatLabel> \n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.estructuraRegistro\"></textarea>\n <label>{{'tagregistro' | translate }}</label>\n </p-floatLabel> \n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.cifradoXml\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </div>\n <div class=\"flex justify-content-between align-items-center mb-3\">\n <h1 class=\"text-xl\">{{'marcadores' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorXML()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorXML\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorXML\">\n <button pButton pRipple (click)=\"verNuevoMarcadorXML = false; clickGuardarMarcadorXML = false;\" label= \"{{'listado' | translate}} {{'marcadores' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaXML\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaXML.length\"\n [paginator]=\"listaXML.length > 10\" *ngIf=\"!verNuevoMarcadorXML\"\n (onRowSelect)=\"verMarcadorXML($event)\" (onRowUnselect)=\"verMarcadorXML($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'descripcion' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'marcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marctexto>\n <tr [pSelectableRow]=\"marctexto\">\n <td>{{marctexto.descripcion}}</td>\n <td>{{marctexto.tipo | reporteFuentePipe : 'listaTipoDatoMarcadores'}}</td>\n <td>{{marctexto.nombreColumna}}</td>\n <td>{{marctexto.marcador}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div class=\"card mt-3\" *ngIf=\"verNuevoMarcadorXML\"> \n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-notes\"></i>{{'detalle' | translate}}</h5>\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.descripcion\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorXML.descripcion) && clickGuardarMarcadorXML\">\n <label>{{'descripcion' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoMarcadorXML\" [autoDisplayFirst]=\"false\" \n [(ngModel)]=\"marcadorXML.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorXML.tipo) && clickGuardarMarcadorXML\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MA','MR'].includes(marcadorXML.tipo)\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.marcador\" >\n <label>{{'marcador' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'TB'\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.marcador\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" >\n <label>{{'tabla' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MA'\" >\n <p-floatLabel>\n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"marcadorXML.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\" ></p-dropdown>\n <label>{{'columna' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MA'\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"marcadorXML.formato\" >\n <label>{{'formato' | translate}}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'MR'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.textoRegistro\" ></textarea>\n <label>{{'texto' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MR','TB'].includes(marcadorXML.tipo)\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaFuentes\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"marcadorXML.fuente\" optionLabel=\"descripcion\" optionValue=\"llave\"></p-dropdown>\n <label>{{'fuente' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"['MR','TB'].includes(marcadorXML.tipo)\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.filtro\"></textarea>\n <label>{{'filtro' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"marcadorXML.tipo == 'TB'\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-200\" pInputTextarea [(ngModel)]=\"marcadorXML.estructuraTablaXML\"></textarea>\n <label>{{'estructuratabla' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorXML.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorXML.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorXML()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorXML.llave != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorXML($event)\">\n </button>\n </div>\n </div>\n </div>\n <div *ngIf=\"verNuevoMarcadorXML && marcadorXML.llave != null && (marcadorXML.tipo == 'MR' || marcadorXML.tipo == 'TB')\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCampoTablaXML()\" icon=\"pi pi-plus\" [disabled]=\"habilitaCampo\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"listaCamposMarcadorXML\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"listaCamposMarcadorXML.length\"\n [paginator]=\"listaCamposMarcadorXML.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llave\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 30%;\">{{'campo' | translate }}</th>\n <th style=\"width: 30%;\">{{'marcador' | translate }}</th>\n <th style=\"width: 30%;\">{{'formato' | translate }}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verReporteMarcadorDetalleXML\">\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.campoFuente\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.campoFuente) && clickGuardarMarcadorCampoXML\">\n </td>\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.marcador\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campoMarcadorInsertarXML.marcador) && clickGuardarMarcadorCampoXML\">\n </td>\n <td style=\"width: 30%;\">\n <input pInputText type=\"text\" [(ngModel)]=\"campoMarcadorInsertarXML.formato\" style=\"width: -webkit-fill-available\">\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\" >\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCampoMarcadorXML(campoMarcadorInsertarXML)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verReporteMarcadorDetalleXML = false; habilitaCampo = false;\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-campo let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"campo\">\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.campoFuente\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.campoFuente) && clickGuardarMarcadorCampoXML\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.campoFuente}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.marcador\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(campo.marcador) && clickGuardarMarcadorCampoXML\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.marcador}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 30%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"campo.formato\" style=\"width: -webkit-fill-available\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{campo.formato}}\n </ng-template>\n </p-cellEditor>\n </td>\n \n \n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCampoMarcadorXML(campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cargarListaCampoMarcadorXMLAsync()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" [disabled]=\"habilitaCampo\" (click)=\"eliminarCampoMarcadorXML($event,campo)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n </div>\n </p-tabPanel>\n <p-tabPanel header=\"{{'columnario' | translate }}\">\n <p-accordion (onOpen)=\"cambiarTabColumnario($event)\" >\n <p-accordionTab [selected]=\"true\" >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'columnasbasicas'|translate}}\n </ng-template>\n <div class=\"flex justify-content-end align-items-center mt-2 mb-2\">\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoColumnaBasica()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoReporteColumnario\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoReporteColumnario\">\n <button pButton pRipple (click)=\"verNuevoReporteColumnario = false; clickGuardarReporteColumnario = false;\" label= \"{{'listado' | translate}} {{'columnasbasicas' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"listaReporteColumnario\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"listaReporteColumnario.length\"\n [paginator]=\"listaReporteColumnario.length > 10\" *ngIf=\"!verNuevoReporteColumnario\"\n (onRowSelect)=\"verReporteColumnario($event)\" (onRowUnselect)=\"verReporteColumnario($event)\">\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'columna' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n <th>{{'operacion' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-bean>\n <tr [pSelectableRow]=\"bean\">\n <td>{{bean.nombre}}</td>\n <td>{{bean.nombreColumna}}</td>\n <td>{{bean.tipo | reporteColumnarioPipe: 'listaTipoColumna'}}</td>\n <td>{{bean.orden}}</td>\n <td>{{bean.operacion | reporteColumnarioPipe: 'listaOperacion'}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div *ngIf=\"verNuevoReporteColumnario\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.nombre\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.nombre) && clickGuardarReporteColumnario\">\n <label>{{'nombre' | translate}} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoColumnas\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.tipo) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'tipocolumna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaColumnas\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.reporteColumna\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.reporteColumna) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'columna' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"columnaBasica.tipo == 'D'\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacion\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacion) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesExcelColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacionHorizontal\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionHorizontal) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacionhorizontal' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- fila Operacion Vertical -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.columnaOperacionVertical\" maxlength=\"5\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.columnaOperacionVertical) && clickGuardarReporteColumnario\">\n <label>{{'columnaoperacion' | translate}} *</label>\n </p-floatLabel>\n </div>\n <!-- Operacion Verticial -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoColumna()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOperacionesExcelColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.operacionVertical\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.operacionVertical) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'operacionvertical' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- Orden -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isMostrarOrden()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.orden\" maxlength=\"5\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.orden) && clickGuardarReporteColumnario\">\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n <!-- Ordenamiento Filas -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isTipoLabel() || isTipoFila()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOrdenamiento\" [autoDisplayFirst]=\"false\" [showClear]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaBasica.orderBy\" optionLabel=\"nombre\" optionValue=\"codigo\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.orderBy) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.orderBy) && clickGuardarReporteColumnario\"></p-dropdown>\n <label>{{'ordenamiento' | translate }} *</label>\n </p-floatLabel>\n </div>\n <!-- Ordenamiento Datos de la consulta -->\n <div class=\"field col-12 md:col-4\" *ngIf=\"isMostrarOrdenConsulta()\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaBasica.ordenConsulta\" maxlength=\"5\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaBasica.ordenConsulta) && clickGuardarReporteColumnario\"\n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" >\n <label>{{'ordenconsulta' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{columnaBasica.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{columnaBasica.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaBasica()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"columnaBasica.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaBasica($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n <p-accordion (onOpen)=\"cambiarTabColumnario($event)\">\n <p-accordionTab >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'datosadicionales'|translate}}\n </ng-template>\n <p-fieldset class=\"fieldsintitulo\" >\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n \n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporteFuente.archivoExcelColumnario ? reporteFuente.archivoExcelColumnario: ''\"\n [extensiones]=\"'xls;xlsx;xlsm'\" [mostraroblicargo]=\"true\" [labelrar]=\"'plantilla' | translate\"\n (onSelected)=\"obtenerArchivoColumnario($event)\"></app-input-helper-seleccion-plantilla>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.hojaExcel\" size=\"25\" maxlength=\"20\">\n <label>{{'nombre' | translate }} {{'de' | translate }} {{'la' | translate }} {{'hoja' |\n translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"reporteFuente.filaInicioColumnario\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\" />\n <label>{{'filainiciocolumnario' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\" appendTo=\"body\"\n [(ngModel)]=\"reporteFuente.cifradoColumnario\" optionLabel=\"nombre\"\n optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label> \n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"reporteFuente.sintaxisColumnario\"></textarea>\n <label>{{'sintaxiscolumnario' | translate }}</label>\n </p-floatLabel>\n </div>\n \n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\"\n label=\"{{'link_actualizar' | translate}}\" (click)=\"actualizar()\">\n </button>\n </div>\n </div>\n </p-fieldset>\n <div class=\"flex justify-content-between align-items-center mb-3 mt-3\">\n <h1 class=\"text-xl\">{{'columnaadicional' | translate}}</h1>\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevaColumnaAdicional()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoColumnaAdicional\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoColumnaAdicional\">\n <button pButton pRipple (click)=\"verNuevoColumnaAdicional = false; clickGuardarColumnaAdicional = false;\" label= \"{{'listado' | translate}} {{'columnaadicional' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"columnasAdicionales\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"columnasAdicionales.length\"\n [paginator]=\"columnasAdicionales.length > 10\" *ngIf=\"!verNuevoColumnaAdicional\"\n (onRowSelect)=\"verDetalleAdicional($event)\" (onRowUnselect)=\"verDetalleAdicional($event)\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'orden' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-columnaadicional>\n <tr [pSelectableRow]=\"columnaadicional\">\n <td>{{columnaadicional.nombre}}</td>\n <td>{{columnaadicional.orden}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <p-fieldset class=\"fieldsintitulo\" *ngIf=\"verNuevoColumnaAdicional\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"columnaAdicional.nombre\" maxlength=\"100\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.nombre) && clickGuardarColumnaAdicional\">\n <label>{{'alias' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"columnaAdicional.orden\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orden) && clickGuardarColumnaAdicional\" />\n <label>{{'orden' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-3\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaOrdenamiento\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"columnaAdicional.orderBy\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.orderBy) && clickGuardarColumnaAdicional\"></p-dropdown>\n <label>{{'ordenamiento' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-3\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"columnaAdicional.ordenConsulta\" maxlength=\"5\" \n oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.ordenConsulta) && clickGuardarColumnaAdicional\" />\n <label>{{'ordenconsulta' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\" >\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"columnaAdicional.sintaxis\" maxlength=\"4000\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(columnaAdicional.sintaxis) && clickGuardarColumnaAdicional\"></textarea>\n <label>{{'sintaxis' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{columnaAdicional.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{columnaAdicional.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarColumnaAdicional()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"columnaAdicional.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarColumnaAdicional($event)\">\n </button>\n </div>\n </div>\n </p-fieldset>\n </p-accordionTab>\n <p-accordionTab >\n <ng-template pTemplate=\"header\"><i class=\"glyphicons glyphicons-notes\"></i>\n {{'marcadores'|translate}}\n </ng-template>\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\"\n (click)=\"nuevoMarcadorColumnario()\" label=\"{{'link_nuevo' | translate}}\" *ngIf=\"!verNuevoMarcadorColumnario\">\n </button>\n <div class=\"flex justify-content-end mb-1\" *ngIf=\"verNuevoMarcadorColumnario\">\n <button pButton pRipple (click)=\"verNuevoMarcadorColumnario = false; clickGuardarMarcadorColumnario = false;\" label= \"{{'listado' | translate}} {{'marcador' | translate}}\" \n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\n </div>\n </div>\n <p-table [value]=\"marcadoresColumnario\" [scrollable]=\"true\" responsiveLayout=\"scroll\"\n dataKey=\"llaveTabla\" selectionMode=\"single\" \n [rows]=\"10\" [totalRecords]=\"marcadoresColumnario.length\"\n [paginator]=\"marcadoresColumnario.length > 10\" *ngIf=\"!verNuevoMarcadorColumnario\"\n (onRowSelect)=\"verDetalleMarcadorColumnario($event)\" (onRowUnselect)=\"verDetalleMarcadorColumnario($event)\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th>{{'nombre' | translate }}</th>\n <th>{{'tipomarcador' | translate }}</th>\n </tr>\n <th>\n </ng-template>\n <ng-template pTemplate=\"body\" let-marcador>\n <tr [pSelectableRow]=\"marcador\">\n <td>{{marcador.marcador}}</td>\n <td>{{marcador.tipo | reporteColumnarioPipe: 'listaTipoMarcador'}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div *ngIf=\"verNuevoMarcadorColumnario\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\" >\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"marcadorColumnario.descripcion\" maxlength=\"4000\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.descripcion) && clickGuardarMarcadorColumnario\" />\n <label>{{'descripcion' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\" >\n <p-floatLabel>\n <input pInputText [(ngModel)]=\"marcadorColumnario.marcador\" maxlength=\"50\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.marcador) && clickGuardarMarcadorColumnario\" />\n <label>{{'marcador' | translate}} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoMarcadorColumnario\" [autoDisplayFirst]=\"false\" appendTo=\"body\"\n [(ngModel)]=\"marcadorColumnario.tipo\" optionLabel=\"nombre\" optionValue=\"codigo\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.tipo) && clickGuardarMarcadorColumnario\"></p-dropdown>\n <label>{{'tipo' | translate }} *</label>\n </p-floatLabel>\n </div>\n \n <div class=\"field col-12 md:col-12\" >\n <p-floatLabel>\n <textarea class=\"w-full min-h-50 max-h-100\" pInputTextarea [(ngModel)]=\"marcadorColumnario.textoRegistro\" maxlength=\"4000\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(marcadorColumnario.textoRegistro) && clickGuardarMarcadorColumnario\"></textarea>\n <label>{{'valor' | translate}} *</label>\n </p-floatLabel>\n </div>\n </div>\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" >\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons {{marcadorColumnario.llaveTabla ? 'glyphicons-refresh' : 'glyphicons-floppy-save'}}\"\n label=\"{{marcadorColumnario.llaveTabla ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" (click)=\"guardarMarcadorColumnario()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\"\n *ngIf=\"marcadorColumnario.llaveTabla != null\" label=\"{{'link_eliminar' | translate}}\"\n (click)=\"eliminarMarcadorColumnario($event)\">\n </button>\n </div>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n </p-tabPanel>\n <p-tabPanel header=\"{{'grafica' | translate }}\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-2\">\n <div class=\"p-fluid p-formgrid grid\">\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.codigo\" size=\"25\"\n maxlength=\"100\">\n <label>{{'codigo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <input pInputText type=\"text\" [(ngModel)]=\"reporteFuente.tituloGrafico\" size=\"25\"\n maxlength=\"100\">\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipoGrafico\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporteFuente.tipoGrafico\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n <label>{{'tipo' | translate }}</label> \n </p-floatLabel>\n </div>\n </div>\n\n <!--BOTONES-->\n <div class=\"flex justify-content-end mb-3\" *ngIf=\"isSql()\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" icon=\"glyphicons glyphicons-refresh\" \n label=\"{{'link_actualizar' | translate}}\" (click)=\"guardarGrafico()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined background-100\" icon=\"pi pi-eye\"\n label=\"{{'link_ver' | translate}}\" (click)=\"verGrafico()\">\n </button>\n </div>\n </div>\n </div>\n\n <p-table [value]=\"paginadorColumnas\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n [rows]=\"20\" [totalRecords]=\"paginadorColumnas.length\" [paginator]=\"paginadorColumnas.length > 20\" >\n <ng-template pTemplate=\"header\">\n\n <tr class=\"fondoTablaPincipal\">\n <th>{{'columna' | translate }}</th>\n <th>{{'sintaxis' | translate }}</th>\n <th>{{'tipo' | translate }}</th>\n <th>{{'accion' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-bean>\n <tr [pSelectableRow]=\"bean\">\n <td>{{bean.nombre}}</td>\n <td>{{bean.sintaxis}}</td>\n <td>{{bean.tipoDato | reporteFuentePipe : 'listaTipoDato'}}</td>\n <td>\n <p-dropdown [options]=\"listaGraficoSencillo\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"bean.graficoFuente\" optionLabel=\"nombre\"\n optionValue=\"codigo\"></p-dropdown>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table> \n\n <div class=\"flex justify-content-between align-items-center mt-2 mb-2\">\n <h1 class=\"text-xl\">Colores</h1>\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoColorCategoria()\" icon=\"pi pi-plus\"\n [disabled]=\"habilitaCampo\" class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table [value]=\"paginadorColoresGrafica\" responsiveLayout=\"scroll\" styleClass=\"p-datatable-striped\"\n [rows]=\"10\" [totalRecords]=\"paginadorColoresGrafica.length\"\n [paginator]=\"paginadorColoresGrafica.length > 10\" \n [showCurrentPageReport]=\"true\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\" \n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr class=\"fondoTablaPincipal\">\n <th style=\"width: 45%\">{{'categoria' | translate}}</th>\n <th style=\"width: 45%\">{{'color' | translate}}</th>\n <th style=\"width: 10%\"> </th>\n </tr>\n <tr class=\"TablaNuevoRegistro\" *ngIf=\"verColorCategoriaDetalle\">\n <td style=\"width: 45%\">\n <input pInputText type=\"text\" [(ngModel)]=\"colorCategoria.titulo\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(colorCategoria.titulo) && clickGuardarColorCategoria\">\n </td>\n <td style=\"width: 45%\">\n <div style=\"width: 100%\">\n <p-colorPicker [(ngModel)]=\"colorCategoria.banda\" appendTo=\"body\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(colorCategoria.banda) && clickGuardarColorCategoria\" />\n </div>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarColorCategoria(colorCategoria)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"verColorCategoriaDetalle = false\" icon=\"pi pi-times\" (click)=\"cancelarColorCategoria()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-color let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"color\" style=\"width: 100%\">\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <input pInputText type=\"text\" [(ngModel)]=\"color.titulo\" style=\"width: -webkit-fill-available\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(color.titulo) && clickGuardarColorCategoria\">\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{color.titulo}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 45%\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <div style=\"width: 100%\">\n <p-colorPicker [(ngModel)]=\"color.banda\" appendTo=\"body\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(color.banda) && clickGuardarColorCategoria\"/>\n </div>\n </ng-template>\n <ng-template pTemplate=\"output\">\n <p-colorPicker [(ngModel)]=\"color.banda\" [disabled]=\"true\" />\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%\">\n <div class=\"flex justify-content-end\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarColorCategoria(color)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\" (click)=\"cancelarEdicionColor()\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\" [disabled]=\"habilitaCampo\" (click)=\"iniciarEdicion()\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarColorCategoria($event, color)\" [disabled]=\"habilitaCampo\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"100\"> \n <app-template-tabla-vacia></app-template-tabla-vacia>\n </td>\n </tr>\n </ng-template> </p-table>\n <div #divGrafica class=\"flex justify-content-between card mt-3\" *ngIf=\"grafica\">\n <h1 class=\"text-xl\">{{'grafica' | translate}}</h1>\n <div style=\"width: 35%\"></div>\n <div style=\"width: 30%\">\n <p-chart [type]=\"tipoGrafica\" [data]=\"grafica.datosGrafica.data\" [options]=\"grafica.datosGrafica.options\"></p-chart>\n </div>\n <div style=\"width: 35%\"></div>\n </div>\n </p-tabPanel>\n</p-tabView>", styles: [":host ::ng-deep .p-picklist-buttons.p-picklist-source-controls.ng-star-inserted{display:none}:host ::ng-deep .p-picklist-buttons.p-picklist-target-controls.ng-star-inserted{display:none}:host ::ng-deep .p-picklist.p-component{margin:0}:host ::ng-deep .p-picklist-item span{float:left!important}:host ::ng-deep .fieldsintitulo .p-fieldset-legend{display:none!important}:host ::ng-deep .p-picklist-list-wrapper.p-picklist-source-wrapper ul{box-shadow:inset 1px 8px 10px -10px var(--color-200)}:host ::ng-deep .p-picklist .p-picklist-target{background:var(--color-200) no-repeat}:host ::ng-deep .p-picklist .p-picklist-target{background:var(--color-50) no-repeat}:host ::ng-deep .p-picklist .p-picklist-header{display:none}:host ::ng-deep .p-picklist .p-picklist-filter-container span{color:var(--color-100)}:host ::ng-deep .p-picklist .p-picklist-filter-container{border-radius:10px 10px 0 0;padding:3%;border:1px solid var(--color-100);border-bottom:none;box-shadow:0 4px 7px var(--color-100);position:relative}:host ::ng-deep .p-picklist .p-picklist-list{border:1px solid var(--color-100);height:400px}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item{padding:2%;color:#000000de;background:solid 2px var(--color-50) no-repeat;margin:16px 16px -7px;border-radius:5px;border:solid 1px var(--color-100);transition:.2s;background:#fff}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item h6,:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item h7{color:var(--color-500);margin-bottom:2px;font-size:1rem;margin-top:0}:host ::ng-deep .p-picklist .p-picklist-list .p-picklist-item span{float:left;margin-right:4px;min-height:30px;color:var(--color-400)}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover{background:var(--color-400);color:#fff;transition:.2s}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover h6,:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover h7{color:#fff!important;transition:.2s}:host ::ng-deep .p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover span{color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight{background:var(--color-500);color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight h6,:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight h7{color:#fff!important}:host ::ng-deep .p-picklist li.p-ripple.p-element.cdk-drag.ng-star-inserted.p-picklist-item.p-highlight span{color:#fff!important}:host ::ng-deep span.p-input-icon-left{width:calc(50% - .25rem - 20px);border-bottom:none;border:1px solid var(--color-100);padding:1.5%;border-radius:10px 10px 0 0;margin-left:-8px}:host ::ng-deep span.p-input-icon-left i{margin-left:20px}.p-picklist-buttons{padding:2rem}.p-picklist-buttons .p-button:disabled{background-color:var(--color3)!important;color:#fff!important}.p-picklist-buttons .p-button{margin-bottom:.5rem;border-radius:100%}.p-picklist-buttons .p-button.p-button-icon-only{padding:.4rem .5rem;width:40px;height:40px;max-width:initial;max-height:initial}.p-picklist-buttons .p-button.p-button-icon-only span{font-size:18px}:host ::ng-deep .p-picklist-buttons .p-button.p-button-icon-only{border-radius:100%;width:3rem!important;background:var(--color-500)}:host ::ng-deep .p-picklist-buttons .p-button.p-button-icon-only span{font-size:1.2rem;background:var(--color--300);color:#fff}:host ::ng-deep .p-picklist-buttons .p-button:disabled{background:var(--color-300)!important}@media (max-width: 1440px){:host ::ng-deep span.p-input-icon-left{width:calc(50% - .25rem - 20px);border-bottom:none;border:1px solid var(--color-100);padding:1.2%;border-radius:10px 10px 0 0;margin-left:-8px}:host ::ng-deep span.p-input-icon-left i{margin-left:15px}}:host ::ng-deep .p-button{width:auto}\n"] }]
|
|
12909
12928
|
}], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: ToastService }, { type: GeneralService }, { type: GeneralPipe }, { type: AuthService }, { type: ReporteFuentePipe }, { type: i7.ConfirmationService }, { type: CargarArchivosService }, { type: EncriptadoBasicoService }, { type: UtilsService }, { type: i7$1.TranslateService }, { type: FuentePipe }, { type: ReporteColumnarioPipe }, { type: EjecucionReporteService }, { type: DashboardService }, { type: DashboardPipe }], propDecorators: { divGrafica: [{
|
|
12910
12929
|
type: ViewChild,
|
|
12911
12930
|
args: ['divGrafica']
|