brainloper-ui 20.0.6 → 20.0.8
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/fesm2022/brainloper-ui.mjs +21 -16
- package/fesm2022/brainloper-ui.mjs.map +1 -1
- package/index.d.ts +4 -4
- package/package.json +1 -1
|
@@ -61,7 +61,7 @@ import { map } from 'rxjs/operators';
|
|
|
61
61
|
import Swal from 'sweetalert2';
|
|
62
62
|
import { jsPDF } from 'jspdf';
|
|
63
63
|
import html2canvas from 'html2canvas';
|
|
64
|
-
import 'jspdf-autotable';
|
|
64
|
+
import autoTable from 'jspdf-autotable';
|
|
65
65
|
import * as i1$3 from '@angular/router';
|
|
66
66
|
import { RouterModule } from '@angular/router';
|
|
67
67
|
import { modulesByRol } from '@edgarzon93/brainloper-shared';
|
|
@@ -1083,7 +1083,7 @@ class WorkOrderPdfService {
|
|
|
1083
1083
|
{ content: data.invoiceReference || '-', styles: {} }
|
|
1084
1084
|
]
|
|
1085
1085
|
];
|
|
1086
|
-
|
|
1086
|
+
autoTable(doc, {
|
|
1087
1087
|
startY: y,
|
|
1088
1088
|
body: tableData,
|
|
1089
1089
|
theme: 'grid',
|
|
@@ -1122,7 +1122,7 @@ class WorkOrderPdfService {
|
|
|
1122
1122
|
{ content: data.addressProvider || '', styles: {} }
|
|
1123
1123
|
]
|
|
1124
1124
|
];
|
|
1125
|
-
|
|
1125
|
+
autoTable(doc, {
|
|
1126
1126
|
startY: y + 20,
|
|
1127
1127
|
body: tableData,
|
|
1128
1128
|
theme: 'grid',
|
|
@@ -1237,7 +1237,7 @@ class WorkOrderPdfService {
|
|
|
1237
1237
|
{ content: data.approved_by || '', styles: { fontSize: 12 } }
|
|
1238
1238
|
]
|
|
1239
1239
|
];
|
|
1240
|
-
|
|
1240
|
+
autoTable(doc, {
|
|
1241
1241
|
startY: y,
|
|
1242
1242
|
body: tableData,
|
|
1243
1243
|
theme: 'grid',
|
|
@@ -1348,11 +1348,11 @@ class TemplateOtComponent {
|
|
|
1348
1348
|
});
|
|
1349
1349
|
}
|
|
1350
1350
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TemplateOtComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: MessageService }, { token: WorkOrderPdfService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1351
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: TemplateOtComponent, isStandalone: false, selector: "app-template-ot", ngImport: i0, template: "<mat-dialog-content id=\"templateOT\" #templateOT>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de trabajo</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Datos del proveedor</h2>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Nombre:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.nameProvider}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressProvider}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Detalles del servicio</h2>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h2 class=\"wrap-text text-start\">{{data.description}}</h2>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden a la factura o cuenta de cobro</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n
|
|
1351
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: TemplateOtComponent, isStandalone: false, selector: "app-template-ot", ngImport: i0, template: "<mat-dialog-content id=\"templateOT\" #templateOT>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de trabajo</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Datos del proveedor</h2>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Nombre:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.nameProvider}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressProvider}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Detalles del servicio</h2>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h2 class=\"wrap-text text-start\">{{data.description}}</h2>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden a la factura o cuenta de cobro</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n\n <div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>\n</mat-dialog-content>\n\n", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:#f0f4ff9c!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:#f0f4ff59!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
|
|
1352
1352
|
}
|
|
1353
1353
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TemplateOtComponent, decorators: [{
|
|
1354
1354
|
type: Component,
|
|
1355
|
-
args: [{ selector: 'app-template-ot', standalone: false, template: "<mat-dialog-content id=\"templateOT\" #templateOT>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de trabajo</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Datos del proveedor</h2>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Nombre:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.nameProvider}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressProvider}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Detalles del servicio</h2>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h2 class=\"wrap-text text-start\">{{data.description}}</h2>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden a la factura o cuenta de cobro</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n
|
|
1355
|
+
args: [{ selector: 'app-template-ot', standalone: false, template: "<mat-dialog-content id=\"templateOT\" #templateOT>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de trabajo</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Datos del proveedor</h2>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Nombre:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.nameProvider}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressProvider}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Detalles del servicio</h2>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h2 class=\"wrap-text text-start\">{{data.description}}</h2>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden a la factura o cuenta de cobro</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n\n <div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>\n</mat-dialog-content>\n\n", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:#f0f4ff9c!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:#f0f4ff59!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"] }]
|
|
1356
1356
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
1357
1357
|
type: Inject,
|
|
1358
1358
|
args: [MAT_DIALOG_DATA]
|
|
@@ -1492,7 +1492,7 @@ class FuelOrderPdfService {
|
|
|
1492
1492
|
{ content: data.odometer, styles: {} }
|
|
1493
1493
|
]
|
|
1494
1494
|
];
|
|
1495
|
-
|
|
1495
|
+
autoTable(doc, {
|
|
1496
1496
|
startY: y,
|
|
1497
1497
|
body: tableData,
|
|
1498
1498
|
theme: 'grid',
|
|
@@ -1531,7 +1531,7 @@ class FuelOrderPdfService {
|
|
|
1531
1531
|
{ content: data.addressPlace, styles: {} }
|
|
1532
1532
|
]
|
|
1533
1533
|
];
|
|
1534
|
-
|
|
1534
|
+
autoTable(doc, {
|
|
1535
1535
|
startY: y + 20,
|
|
1536
1536
|
body: tableData,
|
|
1537
1537
|
theme: 'grid',
|
|
@@ -1656,7 +1656,7 @@ class FuelOrderPdfService {
|
|
|
1656
1656
|
{ content: data.approved_by, styles: { fontSize: 12 } }
|
|
1657
1657
|
]
|
|
1658
1658
|
];
|
|
1659
|
-
|
|
1659
|
+
autoTable(doc, {
|
|
1660
1660
|
startY: y,
|
|
1661
1661
|
body: tableData,
|
|
1662
1662
|
theme: 'grid',
|
|
@@ -1770,11 +1770,11 @@ class TemplateFuelComponent {
|
|
|
1770
1770
|
});
|
|
1771
1771
|
}
|
|
1772
1772
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TemplateFuelComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: MessageService }, { token: FuelOrderPdfService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1773
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: TemplateFuelComponent, isStandalone: false, selector: "app-template-fuel", ngImport: i0, template: "<mat-dialog-content id=\"templateFO\" #templateFO>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de combustible</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:44%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <!-- <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div> -->\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Datos del proveedor</h3>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Lugar:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.namePlace}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressPlace}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Detalles del servicio</h3>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h3 class=\"wrap-text text-start\">{{data.detalle}}</h3>\n <h3 class=\"wrap-text text-start\">Descripci\u00F3n: {{data.description}}</h3>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden de venta o factura</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n
|
|
1773
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: TemplateFuelComponent, isStandalone: false, selector: "app-template-fuel", ngImport: i0, template: "<mat-dialog-content id=\"templateFO\" #templateFO>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de combustible</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:44%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <!-- <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div> -->\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Datos del proveedor</h3>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Lugar:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.namePlace}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressPlace}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Detalles del servicio</h3>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h3 class=\"wrap-text text-start\">{{data.detalle}}</h3>\n <h3 class=\"wrap-text text-start\">Descripci\u00F3n: {{data.description}}</h3>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden de venta o factura</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n\n\n<div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>\n</mat-dialog-content>\n", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:#f0f4ff9c!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2,.container-headers h3{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:#f0f4ff59!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
|
|
1774
1774
|
}
|
|
1775
1775
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TemplateFuelComponent, decorators: [{
|
|
1776
1776
|
type: Component,
|
|
1777
|
-
args: [{ selector: 'app-template-fuel', standalone: false, template: "<mat-dialog-content id=\"templateFO\" #templateFO>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de combustible</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:44%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <!-- <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div> -->\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Datos del proveedor</h3>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Lugar:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.namePlace}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressPlace}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Detalles del servicio</h3>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h3 class=\"wrap-text text-start\">{{data.detalle}}</h3>\n <h3 class=\"wrap-text text-start\">Descripci\u00F3n: {{data.description}}</h3>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden de venta o factura</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n
|
|
1777
|
+
args: [{ selector: 'app-template-fuel', standalone: false, template: "<mat-dialog-content id=\"templateFO\" #templateFO>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de combustible</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:44%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <!-- <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div> -->\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Datos del proveedor</h3>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Lugar:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.namePlace}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressPlace}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Detalles del servicio</h3>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h3 class=\"wrap-text text-start\">{{data.detalle}}</h3>\n <h3 class=\"wrap-text text-start\">Descripci\u00F3n: {{data.description}}</h3>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden de venta o factura</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n\n\n<div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>\n</mat-dialog-content>\n", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:#f0f4ff9c!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2,.container-headers h3{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:#f0f4ff59!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"] }]
|
|
1778
1778
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
1779
1779
|
type: Inject,
|
|
1780
1780
|
args: [MAT_DIALOG_DATA]
|
|
@@ -1882,7 +1882,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
1882
1882
|
|
|
1883
1883
|
class ScreenSizeUtil {
|
|
1884
1884
|
static isMobile() {
|
|
1885
|
-
|
|
1885
|
+
const widthCheck = screen.width <= 600;
|
|
1886
|
+
const userAgent = navigator.userAgent || navigator.vendor || window.opera;
|
|
1887
|
+
const mobileRegex = /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i;
|
|
1888
|
+
const userAgentCheck = mobileRegex.test(userAgent);
|
|
1889
|
+
return widthCheck || userAgentCheck;
|
|
1886
1890
|
}
|
|
1887
1891
|
}
|
|
1888
1892
|
|
|
@@ -2442,6 +2446,7 @@ class DataTableComponent {
|
|
|
2442
2446
|
this.functionEter = functionEter;
|
|
2443
2447
|
this.paginatorTranslate = paginatorTranslate;
|
|
2444
2448
|
this.exportService = exportService;
|
|
2449
|
+
this.movil = ScreenSizeUtil.isMobile();
|
|
2445
2450
|
this.paginatorTranslate.itemsPerPageLabel = 'Elementos por página';
|
|
2446
2451
|
this.paginatorTranslate.nextPageLabel = 'Siguiente página';
|
|
2447
2452
|
this.paginatorTranslate.lastPageLabel = 'Última página';
|
|
@@ -2968,11 +2973,11 @@ class DataTableComponent {
|
|
|
2968
2973
|
this.applyFilters();
|
|
2969
2974
|
}
|
|
2970
2975
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DataTableComponent, deps: [{ token: i1.MatDialog }, { token: HttpService }, { token: MessageService }, { token: FunctionsService }, { token: i5$2.MatPaginatorIntl }, { token: ExportDataService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2971
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: DataTableComponent, isStandalone: false, selector: "data-table", inputs: { title: "title", titleExcelFile: "titleExcelFile", columns: "columns", data: "data", combo: "combo", configuration: "configuration", reloadTable: "reloadTable", url: "url", params: "params", titleLoading: "titleLoading", messageLoading: "messageLoading", headerFileXlsm: "headerFileXlsm", headerFilters: "headerFilters", xslxTitleFields: "xslxTitleFields", xslxSheetNameFields: "xslxSheetNameFields", xslxBodyFields: "xslxBodyFields", xslxParams: "xslxParams", roleId: "roleId", moduleId: "moduleId", subModuleId: "subModuleId" }, outputs: { clickRow: "clickRow", add: "add", edit: "edit", delete: "delete", print: "print", exportXslxByRow: "exportXslxByRow", active: "active", selected: "selected", view: "view", closeOrder: "closeOrder", packOff: "packOff", advance: "advance", income: "income", exit: "exit", internalData: "internalData", sendEmail: "sendEmail", addComment: "addComment", fileIconClick: "fileIconClick" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"contenedor-tabla\">\n @if (!configuration.hideTitle) {\n <div class=\"table-title-mobile\">\n <strong>{{ title }}</strong>\n </div>\n }\n\n <app-filters [headerFilters]=\"headerFilters\" (applyFilters)=\"applyFilters($event)\">\n </app-filters>\n\n <div class=\"row mb-2\" style=\"width: 99%\">\n @if (!configuration.hideFilter) {\n <div class=\"col-12 d-flex justify-content-center\">\n <mat-form-field class=\"filter\">\n <mat-label>Filtrar</mat-label>\n <input type=\"text\" [(ngModel)]=\"filters\" (keyup)=\"changeFilters()\" matInput placeholder=\"Filtrar\" />\n </mat-form-field>\n </div>\n }\n </div>\n\n <div class=\"col-12 d-flex flex-row justify-content-between align-items-center p-2\">\n <div class=\"d-none d-md-block me-md-3 w-100\" style=\"font-size: 1rem\">\n @if (selectedRows.length > 0 && configuration.selectable) {\n <span class=\"fw-bold\">\n {{ selectedRows.length }}\n {{ selectedRows.length === 1 ? 'Seleccionado' : 'Seleccionados' }}\n </span>\n }\n </div>\n <div class=\"d-flex justify-content-end w-100\">\n <ng-container *ngTemplateOutlet=\"buttonsTable\"></ng-container>\n </div>\n </div>\n\n <table class=\"table_Eter table-hover\">\n <thead class=\"dark\">\n <tr>\n @if (configuration.selectable) {\n <th style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" (change)=\"seletecAllEvent($event)\" [(ngModel)]=\"selectAll\"\n [indeterminate]=\"indeterminateState\">\n </mat-checkbox>\n </th>\n }\n @for (column of columns; track column) {\n <th [class]=\"column.style?.movil\" scope=\"col\" [ngStyle]=\"column.style\">\n {{ column.label }}\n </th>\n }\n @if (shouldShowMenu()) {\n <th></th>\n }\n </tr>\n </thead>\n <tbody class=\"mat-elevation-z3\">\n @for (row of data; track row) {\n <tr style=\"cursor: pointer\" (click)=\"clickOnRoW(row)\"\n [class]=\"checkboxs[row[configuration.primaryKey]] ? 'selected-row' : ''\">\n @if (configuration.selectable) {\n <th style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" [(ngModel)]=\"checkboxs[row[configuration.primaryKey]]\" (click)=\"clicked($event)\"\n (change)=\"selection(row, $event)\">\n </mat-checkbox>\n </th>\n }\n @for (column of columns; track column) {\n <th [class]=\"column.style?.movil\" [ngStyle]=\"column.style\" scope=\"row\">\n @if (\n column.type === 'file' ||\n (column.rules && evaluateRules(row[column.ID], column.rules))) {\n <div (click)=\"onFileIconClick($event, row[column.ID])\">\n <i class=\"fa fa-file\" style=\"cursor: pointer\"></i>\n </div>\n } @else {\n {{ row[column.ID] }}\n }\n </th>\n }\n @if (shouldShowMenu()) {\n <th class=\"d-flex justify-content-center align-items-center\"\n style=\"overflow: visible;\">\n <mat-icon (click)=\"showMenu($event)\" [matMenuTriggerFor]=\"menu\" matRipple class=\"menu_more_vert\"\n aria-hidden=\"false\" aria-label=\"Example delete icon\">more_vert</mat-icon>\n <mat-menu #menu=\"matMenu\">\n @for (btn of buttonsConfig; track btn) {\n <div>\n @if (btn.condition()) {\n <button (click)=\"action(btn.action, row)\" mat-menu-item\n class=\"d-flex align-items-center w-100\">\n <i class=\"fa {{ btn.icon }} btn-accion\" style=\"font-size: 120%; margin-right: 10px\"></i>\n {{ btn.tooltip }}\n </button>\n }\n </div>\n }\n </mat-menu>\n </th>\n }\n </tr>\n }\n </tbody>\n </table>\n\n @if (length == 0 && data.length == 0) {\n <div style=\"margin-left: 10px\">\n <strong>No se encontr\u00F3 informaci\u00F3n</strong>\n </div>\n }\n\n @if (paginatorActive) {\n <mat-paginator [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\"\n showFirstLastButtons (page)=\"changePage($event)\"></mat-paginator>\n }\n</div>\n\n<ng-template #buttonsTable let-fontSize=\"fontSize\" let-marginRight=\"marginRight\" class=\"button-table\">\n @for (btn of buttonsConfig; track btn) {\n @if (btn.conditionShowHeader()) {\n <div (click)=\"action(btn.action)\" matTooltip=\"{{ btn.tooltip }}\"\n matTooltipPosition=\"above\">\n <i class=\"fa {{ btn.icon }} btn-accion\" [ngStyle]=\"{\n 'font-size': fontSize ? fontSize : '170%',\n 'margin-right': marginRight ? marginRight : '15px'\n }\"></i>\n </div>\n }\n }\n</ng-template>", styles: [".contenedor-tabla{width:100%;overflow-x:auto}.table_Eter{width:100%;margin-bottom:4px;color:primary;border-collapse:collapse}.table_Eter .dark th{color:#fff;background-color:#343a40;border-color:#454d55;text-align:center;vertical-align:middle}.table_Eter thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table_Eter th,.table_Eter td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}th{text-align:inherit}*,*:before,*:after{box-sizing:border-box}.btn-accion{cursor:pointer}mat-form-field{padding:0!important;width:90%}.table-title-mobile{display:block;margin-bottom:10px;font-size:1.2rem;text-align:center}.filter{padding:0;margin-bottom:10px}.selected-row{color:#212529;background-color:#00000013}.button-table{flex:.5;display:flex;flex-direction:row;justify-content:flex-end}button:focus{outline:none!important}@media only screen and (max-width: 600px){.no-movil{display:none}::ng-deep .mat-mdc-paginator-range-label{margin:0!important}}::ng-deep .mat-mdc-paginator{background:transparent!important}\n"], dependencies: [{ kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i13.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i5$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5$2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FiltersComponent, selector: "app-filters", inputs: ["headerFilters"], outputs: ["applyFilters"] }] });
|
|
2976
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: DataTableComponent, isStandalone: false, selector: "data-table", inputs: { title: "title", titleExcelFile: "titleExcelFile", columns: "columns", data: "data", combo: "combo", configuration: "configuration", reloadTable: "reloadTable", url: "url", params: "params", titleLoading: "titleLoading", messageLoading: "messageLoading", headerFileXlsm: "headerFileXlsm", headerFilters: "headerFilters", xslxTitleFields: "xslxTitleFields", xslxSheetNameFields: "xslxSheetNameFields", xslxBodyFields: "xslxBodyFields", xslxParams: "xslxParams", roleId: "roleId", moduleId: "moduleId", subModuleId: "subModuleId" }, outputs: { clickRow: "clickRow", add: "add", edit: "edit", delete: "delete", print: "print", exportXslxByRow: "exportXslxByRow", active: "active", selected: "selected", view: "view", closeOrder: "closeOrder", packOff: "packOff", advance: "advance", income: "income", exit: "exit", internalData: "internalData", sendEmail: "sendEmail", addComment: "addComment", fileIconClick: "fileIconClick" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"contenedor-tabla\">\n @if (!configuration.hideTitle) {\n <div class=\"table-title-mobile\">\n <strong>{{ title }}</strong>\n </div>\n }\n\n <app-filters [headerFilters]=\"headerFilters\" (applyFilters)=\"applyFilters($event)\">\n </app-filters>\n\n <div class=\"row mb-2\" style=\"width: 99%\">\n @if (!configuration.hideFilter) {\n <div class=\"col-12 d-flex justify-content-center\">\n <mat-form-field class=\"filter\">\n <mat-label>Filtrar</mat-label>\n <input type=\"text\" [(ngModel)]=\"filters\" (keyup)=\"changeFilters()\" matInput placeholder=\"Filtrar\" />\n </mat-form-field>\n </div>\n }\n </div>\n\n <div class=\"col-12 d-flex flex-row justify-content-between align-items-center p-2\">\n <div class=\"d-none d-md-block me-md-3 w-100\" style=\"font-size: 1rem\">\n @if (selectedRows.length > 0 && configuration.selectable && !movil) {\n <span class=\"fw-bold\">\n {{ selectedRows.length }}\n {{ selectedRows.length === 1 ? 'Seleccionado' : 'Seleccionados' }}\n </span>\n }\n </div>\n <div class=\"d-flex justify-content-end w-100\">\n <ng-container *ngTemplateOutlet=\"buttonsTable\"></ng-container>\n </div>\n </div>\n\n <table class=\"table_Eter table-hover\">\n <thead class=\"dark\">\n <tr>\n @if (configuration.selectable) {\n <th style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" (change)=\"seletecAllEvent($event)\" [(ngModel)]=\"selectAll\"\n [indeterminate]=\"indeterminateState\">\n </mat-checkbox>\n </th>\n }\n @for (column of columns; track column) {\n <th [class]=\"column.style?.movil\" scope=\"col\" [ngStyle]=\"column.style\">\n {{ column.label }}\n </th>\n }\n @if (shouldShowMenu()) {\n <th></th>\n }\n </tr>\n </thead>\n <tbody class=\"mat-elevation-z3\">\n @for (row of data; track row) {\n <tr style=\"cursor: pointer\" (click)=\"clickOnRoW(row)\"\n [class]=\"checkboxs[row[configuration.primaryKey]] ? 'selected-row' : ''\">\n @if (configuration.selectable) {\n <th style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" [(ngModel)]=\"checkboxs[row[configuration.primaryKey]]\" (click)=\"clicked($event)\"\n (change)=\"selection(row, $event)\">\n </mat-checkbox>\n </th>\n }\n @for (column of columns; track column) {\n <th [class]=\"column.style?.movil\" [ngStyle]=\"column.style\" scope=\"row\">\n @if (\n column.type === 'file' ||\n (column.rules && evaluateRules(row[column.ID], column.rules))) {\n <div (click)=\"onFileIconClick($event, row[column.ID])\">\n <i class=\"fa fa-file\" style=\"cursor: pointer\"></i>\n </div>\n } @else {\n {{ row[column.ID] }}\n }\n </th>\n }\n @if (shouldShowMenu()) {\n <th class=\"d-flex justify-content-center align-items-center\"\n style=\"overflow: visible;\">\n <mat-icon (click)=\"showMenu($event)\" [matMenuTriggerFor]=\"menu\" matRipple class=\"menu_more_vert\"\n aria-hidden=\"false\" aria-label=\"Example delete icon\">more_vert</mat-icon>\n <mat-menu #menu=\"matMenu\">\n @for (btn of buttonsConfig; track btn) {\n <div>\n @if (btn.condition()) {\n <button (click)=\"action(btn.action, row)\" mat-menu-item\n class=\"d-flex align-items-center w-100\">\n <i class=\"fa {{ btn.icon }} btn-accion\" style=\"font-size: 120%; margin-right: 10px\"></i>\n {{ btn.tooltip }}\n </button>\n }\n </div>\n }\n </mat-menu>\n </th>\n }\n </tr>\n }\n </tbody>\n </table>\n\n @if (length == 0 && data.length == 0) {\n <div style=\"margin-left: 10px\">\n <strong>No se encontr\u00F3 informaci\u00F3n</strong>\n </div>\n }\n\n @if (paginatorActive) {\n <mat-paginator [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\"\n showFirstLastButtons (page)=\"changePage($event)\"></mat-paginator>\n }\n</div>\n\n<ng-template #buttonsTable let-fontSize=\"fontSize\" let-marginRight=\"marginRight\" class=\"button-table\">\n @for (btn of buttonsConfig; track btn) {\n @if (btn.conditionShowHeader()) {\n <div (click)=\"action(btn.action)\" matTooltip=\"{{ btn.tooltip }}\"\n matTooltipPosition=\"above\">\n <i class=\"fa {{ btn.icon }} btn-accion\" [ngStyle]=\"{\n 'font-size': fontSize ? fontSize : '170%',\n 'margin-right': marginRight ? marginRight : '15px'\n }\"></i>\n </div>\n }\n }\n</ng-template>", styles: [".contenedor-tabla{width:100%;overflow-x:auto}.table_Eter{width:100%;margin-bottom:4px;color:primary;border-collapse:collapse}.table_Eter .dark th{color:#fff;background-color:#343a40;border-color:#454d55;text-align:center;vertical-align:middle}.table_Eter thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table_Eter th,.table_Eter td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}th{text-align:inherit}*,*:before,*:after{box-sizing:border-box}.btn-accion{cursor:pointer}mat-form-field{padding:0!important;width:90%}.table-title-mobile{display:block;margin-bottom:10px;font-size:1.2rem;text-align:center}.filter{padding:0;margin-bottom:10px}.selected-row{color:#212529;background-color:#00000013}.button-table{flex:.5;display:flex;flex-direction:row;justify-content:flex-end}button:focus{outline:none!important}@media only screen and (max-width: 600px){.no-movil{display:none}::ng-deep .mat-mdc-paginator-range-label{margin:0!important}}::ng-deep .mat-mdc-paginator{background:transparent!important}\n"], dependencies: [{ kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i13.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i5$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5$2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FiltersComponent, selector: "app-filters", inputs: ["headerFilters"], outputs: ["applyFilters"] }] });
|
|
2972
2977
|
}
|
|
2973
2978
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
2974
2979
|
type: Component,
|
|
2975
|
-
args: [{ selector: 'data-table', standalone: false, template: "<div class=\"contenedor-tabla\">\n @if (!configuration.hideTitle) {\n <div class=\"table-title-mobile\">\n <strong>{{ title }}</strong>\n </div>\n }\n\n <app-filters [headerFilters]=\"headerFilters\" (applyFilters)=\"applyFilters($event)\">\n </app-filters>\n\n <div class=\"row mb-2\" style=\"width: 99%\">\n @if (!configuration.hideFilter) {\n <div class=\"col-12 d-flex justify-content-center\">\n <mat-form-field class=\"filter\">\n <mat-label>Filtrar</mat-label>\n <input type=\"text\" [(ngModel)]=\"filters\" (keyup)=\"changeFilters()\" matInput placeholder=\"Filtrar\" />\n </mat-form-field>\n </div>\n }\n </div>\n\n <div class=\"col-12 d-flex flex-row justify-content-between align-items-center p-2\">\n <div class=\"d-none d-md-block me-md-3 w-100\" style=\"font-size: 1rem\">\n @if (selectedRows.length > 0 && configuration.selectable) {\n <span class=\"fw-bold\">\n {{ selectedRows.length }}\n {{ selectedRows.length === 1 ? 'Seleccionado' : 'Seleccionados' }}\n </span>\n }\n </div>\n <div class=\"d-flex justify-content-end w-100\">\n <ng-container *ngTemplateOutlet=\"buttonsTable\"></ng-container>\n </div>\n </div>\n\n <table class=\"table_Eter table-hover\">\n <thead class=\"dark\">\n <tr>\n @if (configuration.selectable) {\n <th style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" (change)=\"seletecAllEvent($event)\" [(ngModel)]=\"selectAll\"\n [indeterminate]=\"indeterminateState\">\n </mat-checkbox>\n </th>\n }\n @for (column of columns; track column) {\n <th [class]=\"column.style?.movil\" scope=\"col\" [ngStyle]=\"column.style\">\n {{ column.label }}\n </th>\n }\n @if (shouldShowMenu()) {\n <th></th>\n }\n </tr>\n </thead>\n <tbody class=\"mat-elevation-z3\">\n @for (row of data; track row) {\n <tr style=\"cursor: pointer\" (click)=\"clickOnRoW(row)\"\n [class]=\"checkboxs[row[configuration.primaryKey]] ? 'selected-row' : ''\">\n @if (configuration.selectable) {\n <th style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" [(ngModel)]=\"checkboxs[row[configuration.primaryKey]]\" (click)=\"clicked($event)\"\n (change)=\"selection(row, $event)\">\n </mat-checkbox>\n </th>\n }\n @for (column of columns; track column) {\n <th [class]=\"column.style?.movil\" [ngStyle]=\"column.style\" scope=\"row\">\n @if (\n column.type === 'file' ||\n (column.rules && evaluateRules(row[column.ID], column.rules))) {\n <div (click)=\"onFileIconClick($event, row[column.ID])\">\n <i class=\"fa fa-file\" style=\"cursor: pointer\"></i>\n </div>\n } @else {\n {{ row[column.ID] }}\n }\n </th>\n }\n @if (shouldShowMenu()) {\n <th class=\"d-flex justify-content-center align-items-center\"\n style=\"overflow: visible;\">\n <mat-icon (click)=\"showMenu($event)\" [matMenuTriggerFor]=\"menu\" matRipple class=\"menu_more_vert\"\n aria-hidden=\"false\" aria-label=\"Example delete icon\">more_vert</mat-icon>\n <mat-menu #menu=\"matMenu\">\n @for (btn of buttonsConfig; track btn) {\n <div>\n @if (btn.condition()) {\n <button (click)=\"action(btn.action, row)\" mat-menu-item\n class=\"d-flex align-items-center w-100\">\n <i class=\"fa {{ btn.icon }} btn-accion\" style=\"font-size: 120%; margin-right: 10px\"></i>\n {{ btn.tooltip }}\n </button>\n }\n </div>\n }\n </mat-menu>\n </th>\n }\n </tr>\n }\n </tbody>\n </table>\n\n @if (length == 0 && data.length == 0) {\n <div style=\"margin-left: 10px\">\n <strong>No se encontr\u00F3 informaci\u00F3n</strong>\n </div>\n }\n\n @if (paginatorActive) {\n <mat-paginator [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\"\n showFirstLastButtons (page)=\"changePage($event)\"></mat-paginator>\n }\n</div>\n\n<ng-template #buttonsTable let-fontSize=\"fontSize\" let-marginRight=\"marginRight\" class=\"button-table\">\n @for (btn of buttonsConfig; track btn) {\n @if (btn.conditionShowHeader()) {\n <div (click)=\"action(btn.action)\" matTooltip=\"{{ btn.tooltip }}\"\n matTooltipPosition=\"above\">\n <i class=\"fa {{ btn.icon }} btn-accion\" [ngStyle]=\"{\n 'font-size': fontSize ? fontSize : '170%',\n 'margin-right': marginRight ? marginRight : '15px'\n }\"></i>\n </div>\n }\n }\n</ng-template>", styles: [".contenedor-tabla{width:100%;overflow-x:auto}.table_Eter{width:100%;margin-bottom:4px;color:primary;border-collapse:collapse}.table_Eter .dark th{color:#fff;background-color:#343a40;border-color:#454d55;text-align:center;vertical-align:middle}.table_Eter thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table_Eter th,.table_Eter td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}th{text-align:inherit}*,*:before,*:after{box-sizing:border-box}.btn-accion{cursor:pointer}mat-form-field{padding:0!important;width:90%}.table-title-mobile{display:block;margin-bottom:10px;font-size:1.2rem;text-align:center}.filter{padding:0;margin-bottom:10px}.selected-row{color:#212529;background-color:#00000013}.button-table{flex:.5;display:flex;flex-direction:row;justify-content:flex-end}button:focus{outline:none!important}@media only screen and (max-width: 600px){.no-movil{display:none}::ng-deep .mat-mdc-paginator-range-label{margin:0!important}}::ng-deep .mat-mdc-paginator{background:transparent!important}\n"] }]
|
|
2980
|
+
args: [{ selector: 'data-table', standalone: false, template: "<div class=\"contenedor-tabla\">\n @if (!configuration.hideTitle) {\n <div class=\"table-title-mobile\">\n <strong>{{ title }}</strong>\n </div>\n }\n\n <app-filters [headerFilters]=\"headerFilters\" (applyFilters)=\"applyFilters($event)\">\n </app-filters>\n\n <div class=\"row mb-2\" style=\"width: 99%\">\n @if (!configuration.hideFilter) {\n <div class=\"col-12 d-flex justify-content-center\">\n <mat-form-field class=\"filter\">\n <mat-label>Filtrar</mat-label>\n <input type=\"text\" [(ngModel)]=\"filters\" (keyup)=\"changeFilters()\" matInput placeholder=\"Filtrar\" />\n </mat-form-field>\n </div>\n }\n </div>\n\n <div class=\"col-12 d-flex flex-row justify-content-between align-items-center p-2\">\n <div class=\"d-none d-md-block me-md-3 w-100\" style=\"font-size: 1rem\">\n @if (selectedRows.length > 0 && configuration.selectable && !movil) {\n <span class=\"fw-bold\">\n {{ selectedRows.length }}\n {{ selectedRows.length === 1 ? 'Seleccionado' : 'Seleccionados' }}\n </span>\n }\n </div>\n <div class=\"d-flex justify-content-end w-100\">\n <ng-container *ngTemplateOutlet=\"buttonsTable\"></ng-container>\n </div>\n </div>\n\n <table class=\"table_Eter table-hover\">\n <thead class=\"dark\">\n <tr>\n @if (configuration.selectable) {\n <th style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" (change)=\"seletecAllEvent($event)\" [(ngModel)]=\"selectAll\"\n [indeterminate]=\"indeterminateState\">\n </mat-checkbox>\n </th>\n }\n @for (column of columns; track column) {\n <th [class]=\"column.style?.movil\" scope=\"col\" [ngStyle]=\"column.style\">\n {{ column.label }}\n </th>\n }\n @if (shouldShowMenu()) {\n <th></th>\n }\n </tr>\n </thead>\n <tbody class=\"mat-elevation-z3\">\n @for (row of data; track row) {\n <tr style=\"cursor: pointer\" (click)=\"clickOnRoW(row)\"\n [class]=\"checkboxs[row[configuration.primaryKey]] ? 'selected-row' : ''\">\n @if (configuration.selectable) {\n <th style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" [(ngModel)]=\"checkboxs[row[configuration.primaryKey]]\" (click)=\"clicked($event)\"\n (change)=\"selection(row, $event)\">\n </mat-checkbox>\n </th>\n }\n @for (column of columns; track column) {\n <th [class]=\"column.style?.movil\" [ngStyle]=\"column.style\" scope=\"row\">\n @if (\n column.type === 'file' ||\n (column.rules && evaluateRules(row[column.ID], column.rules))) {\n <div (click)=\"onFileIconClick($event, row[column.ID])\">\n <i class=\"fa fa-file\" style=\"cursor: pointer\"></i>\n </div>\n } @else {\n {{ row[column.ID] }}\n }\n </th>\n }\n @if (shouldShowMenu()) {\n <th class=\"d-flex justify-content-center align-items-center\"\n style=\"overflow: visible;\">\n <mat-icon (click)=\"showMenu($event)\" [matMenuTriggerFor]=\"menu\" matRipple class=\"menu_more_vert\"\n aria-hidden=\"false\" aria-label=\"Example delete icon\">more_vert</mat-icon>\n <mat-menu #menu=\"matMenu\">\n @for (btn of buttonsConfig; track btn) {\n <div>\n @if (btn.condition()) {\n <button (click)=\"action(btn.action, row)\" mat-menu-item\n class=\"d-flex align-items-center w-100\">\n <i class=\"fa {{ btn.icon }} btn-accion\" style=\"font-size: 120%; margin-right: 10px\"></i>\n {{ btn.tooltip }}\n </button>\n }\n </div>\n }\n </mat-menu>\n </th>\n }\n </tr>\n }\n </tbody>\n </table>\n\n @if (length == 0 && data.length == 0) {\n <div style=\"margin-left: 10px\">\n <strong>No se encontr\u00F3 informaci\u00F3n</strong>\n </div>\n }\n\n @if (paginatorActive) {\n <mat-paginator [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\"\n showFirstLastButtons (page)=\"changePage($event)\"></mat-paginator>\n }\n</div>\n\n<ng-template #buttonsTable let-fontSize=\"fontSize\" let-marginRight=\"marginRight\" class=\"button-table\">\n @for (btn of buttonsConfig; track btn) {\n @if (btn.conditionShowHeader()) {\n <div (click)=\"action(btn.action)\" matTooltip=\"{{ btn.tooltip }}\"\n matTooltipPosition=\"above\">\n <i class=\"fa {{ btn.icon }} btn-accion\" [ngStyle]=\"{\n 'font-size': fontSize ? fontSize : '170%',\n 'margin-right': marginRight ? marginRight : '15px'\n }\"></i>\n </div>\n }\n }\n</ng-template>", styles: [".contenedor-tabla{width:100%;overflow-x:auto}.table_Eter{width:100%;margin-bottom:4px;color:primary;border-collapse:collapse}.table_Eter .dark th{color:#fff;background-color:#343a40;border-color:#454d55;text-align:center;vertical-align:middle}.table_Eter thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table_Eter th,.table_Eter td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}th{text-align:inherit}*,*:before,*:after{box-sizing:border-box}.btn-accion{cursor:pointer}mat-form-field{padding:0!important;width:90%}.table-title-mobile{display:block;margin-bottom:10px;font-size:1.2rem;text-align:center}.filter{padding:0;margin-bottom:10px}.selected-row{color:#212529;background-color:#00000013}.button-table{flex:.5;display:flex;flex-direction:row;justify-content:flex-end}button:focus{outline:none!important}@media only screen and (max-width: 600px){.no-movil{display:none}::ng-deep .mat-mdc-paginator-range-label{margin:0!important}}::ng-deep .mat-mdc-paginator{background:transparent!important}\n"] }]
|
|
2976
2981
|
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: HttpService }, { type: MessageService }, { type: FunctionsService }, { type: i5$2.MatPaginatorIntl }, { type: ExportDataService }], propDecorators: { title: [{
|
|
2977
2982
|
type: Input
|
|
2978
2983
|
}], titleExcelFile: [{
|
|
@@ -3804,7 +3809,7 @@ class PurchaseOrderPdfService {
|
|
|
3804
3809
|
{ content: `Autoriza: ${order.authorizeName}`, styles: { halign: 'right' } }
|
|
3805
3810
|
]);
|
|
3806
3811
|
}
|
|
3807
|
-
|
|
3812
|
+
autoTable(doc, {
|
|
3808
3813
|
startY: y,
|
|
3809
3814
|
body: rows,
|
|
3810
3815
|
theme: 'plain',
|
|
@@ -3821,7 +3826,7 @@ class PurchaseOrderPdfService {
|
|
|
3821
3826
|
item.amount,
|
|
3822
3827
|
item.description || ''
|
|
3823
3828
|
]);
|
|
3824
|
-
|
|
3829
|
+
autoTable(doc, {
|
|
3825
3830
|
startY: y,
|
|
3826
3831
|
head: head,
|
|
3827
3832
|
body: body,
|