visorus-erp-core 17.4.0 → 17.6.0
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/lib/components/selecciona-articulo/selecciona-articulo.component.mjs +71 -28
- package/esm2022/lib/httpInterceptor/httpInterceptor.mjs +16 -7
- package/fesm2022/visorus-erp-core.mjs +87 -35
- package/fesm2022/visorus-erp-core.mjs.map +1 -1
- package/lib/components/selecciona-articulo/selecciona-articulo.component.d.ts +16 -10
- package/lib/globalPrimeNg.d.ts +2 -2
- package/lib/httpInterceptor/httpInterceptor.d.ts +3 -1
- package/lib/importComponents.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, EventEmitter, Output, Input, Component, ViewChild, NgModule } from '@angular/core';
|
|
2
|
+
import { Injectable, EventEmitter, Output, Input, Component, ViewChild, inject, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common/http';
|
|
4
4
|
import { HttpHeaders, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
5
|
-
import * as
|
|
5
|
+
import * as i2 from '@angular/common';
|
|
6
6
|
import { CommonModule } from '@angular/common';
|
|
7
7
|
import * as i3 from 'primeng/api';
|
|
8
8
|
import { ConfirmationService } from 'primeng/api';
|
|
@@ -12,7 +12,7 @@ import * as i18 from 'primeng/button';
|
|
|
12
12
|
import { ButtonModule } from 'primeng/button';
|
|
13
13
|
import * as i19 from 'primeng/inputtext';
|
|
14
14
|
import { InputTextModule } from 'primeng/inputtext';
|
|
15
|
-
import * as
|
|
15
|
+
import * as i7 from '@angular/forms';
|
|
16
16
|
import { FormsModule } from '@angular/forms';
|
|
17
17
|
import * as i30 from 'primeng/dialog';
|
|
18
18
|
import { DialogModule } from 'primeng/dialog';
|
|
@@ -20,9 +20,11 @@ import { Subject, throwError, of, Subscription } from 'rxjs';
|
|
|
20
20
|
import { catchError, tap, debounceTime } from 'rxjs/operators';
|
|
21
21
|
import * as i1$1 from 'ngx-toastr';
|
|
22
22
|
import { ToastrModule } from 'ngx-toastr';
|
|
23
|
-
import * as i2 from '@ngx-translate/core';
|
|
23
|
+
import * as i2$1 from '@ngx-translate/core';
|
|
24
24
|
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
25
25
|
import * as i3$1 from '@angular/platform-browser';
|
|
26
|
+
import * as i10 from 'primeng/tooltip';
|
|
27
|
+
import { TooltipModule } from 'primeng/tooltip';
|
|
26
28
|
import * as i15 from 'primeng/table';
|
|
27
29
|
import { TableModule } from 'primeng/table';
|
|
28
30
|
import * as i24 from 'primeng/paginator';
|
|
@@ -65,8 +67,6 @@ import * as i37 from 'primeng/tabmenu';
|
|
|
65
67
|
import { TabMenuModule } from 'primeng/tabmenu';
|
|
66
68
|
import * as i11 from 'primeng/overlaypanel';
|
|
67
69
|
import { OverlayPanelModule } from 'primeng/overlaypanel';
|
|
68
|
-
import * as i10 from 'primeng/tooltip';
|
|
69
|
-
import { TooltipModule } from 'primeng/tooltip';
|
|
70
70
|
import * as i9 from 'primeng/card';
|
|
71
71
|
import { CardModule } from 'primeng/card';
|
|
72
72
|
import * as i38 from 'primeng/menubar';
|
|
@@ -353,7 +353,7 @@ class CclistaComponent {
|
|
|
353
353
|
}
|
|
354
354
|
}
|
|
355
355
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CclistaComponent, deps: [{ token: CuentaContableService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
356
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CclistaComponent, selector: "lib-cclista", inputs: { isShared: "isShared", typeAccount: "typeAccount" }, outputs: { evSelectedAccount: "evSelectedAccount" }, ngImport: i0, template: "<input type=\"text\" style=\"width: 100%;\" pInputText placeholder=\"Cuenta o descripci\u00F3n\" [(ngModel)]=\"query\" (keyup)=\"filterAccounts($event)\">\n\n<div style=\"padding: 10px;\">\n <p-treeTable [value]=\"cuentasContables?cuentasContables:tempAccounts\" [scrollable]=\"true\" [style]=\"{width: '100%'} \" [scrollHeight]=\"maxH + 'px'\" [resizableColumns]=\"true\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 150px;\">Cuenta contable</th>\n <th style=\"width: 150px;\">Descripci\u00F3n</th>\n <th style=\"width: 90px;\">Naturaleza</th>\n <th style=\"width: 60px;\">Tipo</th>\n <th style=\"width: 200px;\">Acciones</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" style=\"width: 100%;\">\n <tr>\n <td class=\"ui-resizable-column\" style=\"width: 150px;\">\n <p-treeTableToggler [rowNode]=\"rowNode\"></p-treeTableToggler>\n {{rowData.cuentaContable}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 150px;\">\n {{rowData.descripcion}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 90px;\">\n {{rowData.naturaleza}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 60px;\">\n {{rowData.tipo}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 200px;\">\n <div class=\"button-row\">\n <button pButton type=\"button\" icon=\"pi pi-check\" class=\"ui-button-raised ui-button-success\" (click)=\"selectCuentaContable(rowData)\" *ngIf=\"typeAccount==1 && rowData.cuentaRegistro\"></button>\n <button pButton type=\"button\" icon=\"pi pi-check\" class=\"ui-button-raised ui-button-success\" (click)=\"selectCuentaContable(rowData)\" *ngIf=\"typeAccount==2 && !rowData.cuentaRegistro\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n </p-treeTable>\n</div>", styles: [""], dependencies: [{ kind: "directive", type:
|
|
356
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CclistaComponent, selector: "lib-cclista", inputs: { isShared: "isShared", typeAccount: "typeAccount" }, outputs: { evSelectedAccount: "evSelectedAccount" }, ngImport: i0, template: "<input type=\"text\" style=\"width: 100%;\" pInputText placeholder=\"Cuenta o descripci\u00F3n\" [(ngModel)]=\"query\" (keyup)=\"filterAccounts($event)\">\n\n<div style=\"padding: 10px;\">\n <p-treeTable [value]=\"cuentasContables?cuentasContables:tempAccounts\" [scrollable]=\"true\" [style]=\"{width: '100%'} \" [scrollHeight]=\"maxH + 'px'\" [resizableColumns]=\"true\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 150px;\">Cuenta contable</th>\n <th style=\"width: 150px;\">Descripci\u00F3n</th>\n <th style=\"width: 90px;\">Naturaleza</th>\n <th style=\"width: 60px;\">Tipo</th>\n <th style=\"width: 200px;\">Acciones</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" style=\"width: 100%;\">\n <tr>\n <td class=\"ui-resizable-column\" style=\"width: 150px;\">\n <p-treeTableToggler [rowNode]=\"rowNode\"></p-treeTableToggler>\n {{rowData.cuentaContable}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 150px;\">\n {{rowData.descripcion}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 90px;\">\n {{rowData.naturaleza}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 60px;\">\n {{rowData.tipo}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 200px;\">\n <div class=\"button-row\">\n <button pButton type=\"button\" icon=\"pi pi-check\" class=\"ui-button-raised ui-button-success\" (click)=\"selectCuentaContable(rowData)\" *ngIf=\"typeAccount==1 && rowData.cuentaRegistro\"></button>\n <button pButton type=\"button\" icon=\"pi pi-check\" class=\"ui-button-raised ui-button-success\" (click)=\"selectCuentaContable(rowData)\" *ngIf=\"typeAccount==2 && !rowData.cuentaRegistro\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n </p-treeTable>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i16.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "paginatorLocale", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "value", "virtualRowHeight"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel"] }, { kind: "component", type: i16.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i18.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i19.InputText, selector: "[pInputText]" }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
357
357
|
}
|
|
358
358
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CclistaComponent, decorators: [{
|
|
359
359
|
type: Component,
|
|
@@ -387,7 +387,7 @@ class CcseleccionDialogComponent {
|
|
|
387
387
|
this.evSelectedAccount.emit(null);
|
|
388
388
|
}
|
|
389
389
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CcseleccionDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
390
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CcseleccionDialogComponent, selector: "lib-ccseleccion-dialog", inputs: { tipoCuenta: "tipoCuenta", displayShowCuentas: "displayShowCuentas" }, outputs: { evSelectedAccount: "evSelectedAccount" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true, static: true }], ngImport: i0, template: "<p-dialog header=\"Selecciona cuenta contable\" [(visible)]=\"displayShowCuentas\" [modal]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\" [baseZIndex]=\"10000\" (onHide)=\"hiddenDialog($event)\" [blockScroll]=\"true\" [draggable]=\"false\" [blockScroll]=\"true\"\n [maximizable]=\"true\">\n <div class=\"padding10\" [ngStyle]=\"{'height': maxH+200+'px'}\">\n <lib-cclista [isShared]=\"true\" [typeAccount]=\"tipoCuenta\" (evSelectedAccount)=\"getAccount($event)\"></lib-cclista>\n </div>\n</p-dialog>", styles: [""], dependencies: [{ kind: "directive", type:
|
|
390
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CcseleccionDialogComponent, selector: "lib-ccseleccion-dialog", inputs: { tipoCuenta: "tipoCuenta", displayShowCuentas: "displayShowCuentas" }, outputs: { evSelectedAccount: "evSelectedAccount" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true, static: true }], ngImport: i0, template: "<p-dialog header=\"Selecciona cuenta contable\" [(visible)]=\"displayShowCuentas\" [modal]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\" [baseZIndex]=\"10000\" (onHide)=\"hiddenDialog($event)\" [blockScroll]=\"true\" [draggable]=\"false\" [blockScroll]=\"true\"\n [maximizable]=\"true\">\n <div class=\"padding10\" [ngStyle]=\"{'height': maxH+200+'px'}\">\n <lib-cclista [isShared]=\"true\" [typeAccount]=\"tipoCuenta\" (evSelectedAccount)=\"getAccount($event)\"></lib-cclista>\n </div>\n</p-dialog>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i30.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: CclistaComponent, selector: "lib-cclista", inputs: ["isShared", "typeAccount"], outputs: ["evSelectedAccount"] }] }); }
|
|
391
391
|
}
|
|
392
392
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CcseleccionDialogComponent, decorators: [{
|
|
393
393
|
type: Component,
|
|
@@ -456,8 +456,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
456
456
|
}] });
|
|
457
457
|
|
|
458
458
|
class httpInterceptor {
|
|
459
|
-
constructor(loginModalService, toastrService, loadingScreenService) {
|
|
459
|
+
constructor(loginModalService, authService, toastrService, loadingScreenService) {
|
|
460
460
|
this.loginModalService = loginModalService;
|
|
461
|
+
this.authService = authService;
|
|
461
462
|
this.toastrService = toastrService;
|
|
462
463
|
this.loadingScreenService = loadingScreenService;
|
|
463
464
|
}
|
|
@@ -488,7 +489,13 @@ class httpInterceptor {
|
|
|
488
489
|
if (err.status === 401) {
|
|
489
490
|
//this.router.navigateByUrl('/login');
|
|
490
491
|
// this.router.navigateByUrl('/sing_out');
|
|
491
|
-
this.loginModalService.showModal();
|
|
492
|
+
// this.loginModalService.showModal();
|
|
493
|
+
// Solo cierra la sesión local: loginOut() dispararía un POST con el
|
|
494
|
+
// token ya vencido, ese POST también daría 401 y se entraría en bucle.
|
|
495
|
+
// El isLogin() evita repetir el cierre con 401 paralelos.
|
|
496
|
+
if (this.authService.isLogin()) {
|
|
497
|
+
this.authService.quitarUsuario();
|
|
498
|
+
}
|
|
492
499
|
}
|
|
493
500
|
if (err.status === 403)
|
|
494
501
|
this.toastrService.error('No tiene permiso sobre esta accion', 'Error', {
|
|
@@ -528,12 +535,12 @@ class httpInterceptor {
|
|
|
528
535
|
}
|
|
529
536
|
}
|
|
530
537
|
}
|
|
531
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor, deps: [{ token: LoginModalService }, { token: i1$1.ToastrService }, { token: LoadingScreenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
538
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor, deps: [{ token: LoginModalService }, { token: AuthService }, { token: i1$1.ToastrService }, { token: LoadingScreenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
532
539
|
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor }); }
|
|
533
540
|
}
|
|
534
541
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor, decorators: [{
|
|
535
542
|
type: Injectable
|
|
536
|
-
}], ctorParameters: () => [{ type: LoginModalService }, { type: i1$1.ToastrService }, { type: LoadingScreenService }] });
|
|
543
|
+
}], ctorParameters: () => [{ type: LoginModalService }, { type: AuthService }, { type: i1$1.ToastrService }, { type: LoadingScreenService }] });
|
|
537
544
|
|
|
538
545
|
class Error404Component {
|
|
539
546
|
constructor() { }
|
|
@@ -594,7 +601,7 @@ class LoadingComponent {
|
|
|
594
601
|
});
|
|
595
602
|
}
|
|
596
603
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoadingComponent, deps: [{ token: LoadingService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
597
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoadingComponent, selector: "loading", inputs: { logo_loading: "logo_loading" }, ngImport: i0, template: "<!-- Modal -->\n<div class=\"modal fade\" id=\"modal_loading\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalScrollableTitle\"\n data-backdrop=\"static\" data-keyboard=\"false\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-dialog-scrollable\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body\">\n <div class=\"row justify-content-center\">\n <div class=\"col-lg-4 col-md-4 col-sm-10\">\n <div class=\"loader\">\n <span class=\"box\"></span>\n <span class=\"box\"></span>\n <div class=\"code\">\n <img src=\"{{logo_loading}}\" width=\"200px\">\n </div>\n <span class=\"txt\">{{'cargando' | translate}}...</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [".loader{width:130px;height:170px;position:relative}.loader:before,.loader:after{content:\"\";width:0;height:0;position:absolute;bottom:30px;left:15px;z-index:1;transform:scale(0);transition:all .2s ease}.loader .txt{width:120%;text-align:center;position:absolute;bottom:-30px;left:-7%;font-family:Abel,sans-serif;font-size:12px;letter-spacing:2px;color:#fff}.loader .code{position:absolute;z-index:99;bottom:-3px;-webkit-animation-name:spaceboots;-webkit-animation-duration:.8s;-webkit-transform-origin:50% 50%;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear}.loader .box{width:100%;height:140px;display:block;color:#fff;position:absolute;left:28px;z-index:2;overflow:hidden}.loader .box:before,.loader .box:after{display:inline-block;font: 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:0;left:0;opacity:0}.loader .box:nth-child(1):before{font-size:20px;content:\"\\f13b\";animation:a 1.1s linear infinite}.loader .box:nth-child(1):after{content:\"\\f13c\";animation:b 1.3s linear infinite}.loader .box:nth-child(2):before{content:\"\\f121\";font-size:25px;animation:c .9s linear infinite}.loader .box:nth-child(2):after{content:\"\\f19a\";animation:d .7s linear infinite}.loader.amit:before,.loader.amit:after{transform:scale(1)}@keyframes a{0%{transform:translate(30px) rotate(30deg);opacity:0}to{transform:translate(30px,150px) rotate(-50deg);opacity:1}}@keyframes b{0%{transform:translate(50px) rotate(-40deg);opacity:0}to{transform:translate(40px,150px) rotate(80deg);opacity:1}}@keyframes c{0%{transform:translate(70px) rotate(10deg);opacity:0}to{transform:translate(60px,150px) rotate(70deg);opacity:1}}@keyframes d{0%{transform:translate(30px) rotate(-50deg);opacity:0}to{transform:translate(45px,150px) rotate(30deg);opacity:1}}@-webkit-keyframes spaceboots{0%{-webkit-transform:translate(2px,1px) rotate(0deg)}10%{-webkit-transform:translate(-1px,-2px) rotate(-1deg)}20%{-webkit-transform:translate(-3px,0px) rotate(1deg)}30%{-webkit-transform:translate(0px,2px) rotate(0deg)}40%{-webkit-transform:translate(1px,-1px) rotate(1deg)}50%{-webkit-transform:translate(-1px,2px) rotate(-1deg)}60%{-webkit-transform:translate(-3px,1px) rotate(0deg)}70%{-webkit-transform:translate(2px,1px) rotate(-1deg)}80%{-webkit-transform:translate(-1px,-1px) rotate(1deg)}90%{-webkit-transform:translate(2px,2px) rotate(0deg)}to{-webkit-transform:translate(1px,-2px) rotate(-1deg)}}.modal{z-index:2050!important}.modal-content{border:0px!important;background-color:#fff0!important;height:350px!important}.modal-body{margin-left:-7%!important}\n"], dependencies: [{ kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
604
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoadingComponent, selector: "loading", inputs: { logo_loading: "logo_loading" }, ngImport: i0, template: "<!-- Modal -->\n<div class=\"modal fade\" id=\"modal_loading\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalScrollableTitle\"\n data-backdrop=\"static\" data-keyboard=\"false\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-dialog-scrollable\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body\">\n <div class=\"row justify-content-center\">\n <div class=\"col-lg-4 col-md-4 col-sm-10\">\n <div class=\"loader\">\n <span class=\"box\"></span>\n <span class=\"box\"></span>\n <div class=\"code\">\n <img src=\"{{logo_loading}}\" width=\"200px\">\n </div>\n <span class=\"txt\">{{'cargando' | translate}}...</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [".loader{width:130px;height:170px;position:relative}.loader:before,.loader:after{content:\"\";width:0;height:0;position:absolute;bottom:30px;left:15px;z-index:1;transform:scale(0);transition:all .2s ease}.loader .txt{width:120%;text-align:center;position:absolute;bottom:-30px;left:-7%;font-family:Abel,sans-serif;font-size:12px;letter-spacing:2px;color:#fff}.loader .code{position:absolute;z-index:99;bottom:-3px;-webkit-animation-name:spaceboots;-webkit-animation-duration:.8s;-webkit-transform-origin:50% 50%;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear}.loader .box{width:100%;height:140px;display:block;color:#fff;position:absolute;left:28px;z-index:2;overflow:hidden}.loader .box:before,.loader .box:after{display:inline-block;font: 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:0;left:0;opacity:0}.loader .box:nth-child(1):before{font-size:20px;content:\"\\f13b\";animation:a 1.1s linear infinite}.loader .box:nth-child(1):after{content:\"\\f13c\";animation:b 1.3s linear infinite}.loader .box:nth-child(2):before{content:\"\\f121\";font-size:25px;animation:c .9s linear infinite}.loader .box:nth-child(2):after{content:\"\\f19a\";animation:d .7s linear infinite}.loader.amit:before,.loader.amit:after{transform:scale(1)}@keyframes a{0%{transform:translate(30px) rotate(30deg);opacity:0}to{transform:translate(30px,150px) rotate(-50deg);opacity:1}}@keyframes b{0%{transform:translate(50px) rotate(-40deg);opacity:0}to{transform:translate(40px,150px) rotate(80deg);opacity:1}}@keyframes c{0%{transform:translate(70px) rotate(10deg);opacity:0}to{transform:translate(60px,150px) rotate(70deg);opacity:1}}@keyframes d{0%{transform:translate(30px) rotate(-50deg);opacity:0}to{transform:translate(45px,150px) rotate(30deg);opacity:1}}@-webkit-keyframes spaceboots{0%{-webkit-transform:translate(2px,1px) rotate(0deg)}10%{-webkit-transform:translate(-1px,-2px) rotate(-1deg)}20%{-webkit-transform:translate(-3px,0px) rotate(1deg)}30%{-webkit-transform:translate(0px,2px) rotate(0deg)}40%{-webkit-transform:translate(1px,-1px) rotate(1deg)}50%{-webkit-transform:translate(-1px,2px) rotate(-1deg)}60%{-webkit-transform:translate(-3px,1px) rotate(0deg)}70%{-webkit-transform:translate(2px,1px) rotate(-1deg)}80%{-webkit-transform:translate(-1px,-1px) rotate(1deg)}90%{-webkit-transform:translate(2px,2px) rotate(0deg)}to{-webkit-transform:translate(1px,-2px) rotate(-1deg)}}.modal{z-index:2050!important}.modal-content{border:0px!important;background-color:#fff0!important;height:350px!important}.modal-body{margin-left:-7%!important}\n"], dependencies: [{ kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
|
|
598
605
|
}
|
|
599
606
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoadingComponent, decorators: [{
|
|
600
607
|
type: Component,
|
|
@@ -715,7 +722,7 @@ class FileService {
|
|
|
715
722
|
base64ToFileDowload(base64, type, name) {
|
|
716
723
|
this.blobToDowload(this.base64ToBlob(base64, type), type, name);
|
|
717
724
|
}
|
|
718
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FileService, deps: [{ token: i1$1.ToastrService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
725
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FileService, deps: [{ token: i1$1.ToastrService }, { token: i2$1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
719
726
|
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FileService, providedIn: 'root' }); }
|
|
720
727
|
}
|
|
721
728
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FileService, decorators: [{
|
|
@@ -723,7 +730,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
723
730
|
args: [{
|
|
724
731
|
providedIn: 'root'
|
|
725
732
|
}]
|
|
726
|
-
}], ctorParameters: () => [{ type: i1$1.ToastrService }, { type: i2.TranslateService }] });
|
|
733
|
+
}], ctorParameters: () => [{ type: i1$1.ToastrService }, { type: i2$1.TranslateService }] });
|
|
727
734
|
|
|
728
735
|
class PdfModalComponent {
|
|
729
736
|
constructor(_pdfModalService, fileService, domSanitizer) {
|
|
@@ -821,7 +828,7 @@ class PdfModalComponent {
|
|
|
821
828
|
this.liberarPdf();
|
|
822
829
|
}
|
|
823
830
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfModalComponent, deps: [{ token: PdfModalService }, { token: FileService }, { token: i3$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
824
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PdfModalComponent, selector: "pdf-modal", ngImport: i0, template: "<p-dialog [(visible)]=\"display\" [modal]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [maximizable]=\"true\" [breakpoint]=\"840\"\n [contentStyle]=\"{'overflow':'visible'}\" (onHide)=\"cerrar()\">\n <div *ngIf=\"pdfUrl\" style=\"min-height: 90vh;\">\n <iframe style=\"width: 100%; height: 90vh; border: 0;\" [src]=\"pdfUrl\"></iframe>\n </div>\n <div *ngIf=\"modo === 'print'\" id=\"_modal_pdf\" style=\"min-height: 90vh;\"></div>\n</p-dialog>\n", styles: [".down{display:block}\n"], dependencies: [{ kind: "directive", type:
|
|
831
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PdfModalComponent, selector: "pdf-modal", ngImport: i0, template: "<p-dialog [(visible)]=\"display\" [modal]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [maximizable]=\"true\" [breakpoint]=\"840\"\n [contentStyle]=\"{'overflow':'visible'}\" (onHide)=\"cerrar()\">\n <div *ngIf=\"pdfUrl\" style=\"min-height: 90vh;\">\n <iframe style=\"width: 100%; height: 90vh; border: 0;\" [src]=\"pdfUrl\"></iframe>\n </div>\n <div *ngIf=\"modo === 'print'\" id=\"_modal_pdf\" style=\"min-height: 90vh;\"></div>\n</p-dialog>\n", styles: [".down{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i30.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }] }); }
|
|
825
832
|
}
|
|
826
833
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfModalComponent, decorators: [{
|
|
827
834
|
type: Component,
|
|
@@ -1111,7 +1118,7 @@ class LoginModalComponent {
|
|
|
1111
1118
|
});
|
|
1112
1119
|
}
|
|
1113
1120
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoginModalComponent, deps: [{ token: LoginModalService }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1114
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoginModalComponent, selector: "app-login-modal", ngImport: i0, template: "<p-dialog [(visible)]=\"modal\" [modal]=\"true\" [closable]=\"false\" [style]=\"{width: '50vw'}\"\n [breakpoints]=\"{'960px': '75vw', '640px': '90vw'}\">\n <div class=\"row justify-content-center\">\n <img src=\"assets/img/logo_visorus_loading.png\" alt=\"\">\n </div>\n <div class=\"row\" *ngIf=\"empresas.length == 0\">\n <div class=\"col-lg-12 col-md-12 col-sm-12\">\n <form #datoForm=\"ngForm\" (ngSubmit)=\"entrar(datoForm)\">\n <label class=\"error\" *ngIf=\"error\">Usuario o contrase\u00F1a incorrectos</label>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputEmail1\">Usuario</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleInputEmail1\" aria-describedby=\"emailHelp\"\n #username=\"ngModel\" placeholder=\"Usuario\" name=\"username\" [(ngModel)]=\"user.username\" required>\n </div>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputPassword1\">Contrase\u00F1a</label>\n <input type=\"password\" class=\"form-control\" id=\"exampleInputPassword1\" placeholder=\"Contrase\u00F1a\"\n name=\"password\" [(ngModel)]=\"user.password\" required>\n </div>\n\n <button type=\"submit\" class=\"btn btn-primary_low btn-lg btn-block my-5 text-light\">Entrar</button>\n </form>\n </div>\n </div>\n <div class=\"row\" *ngIf=\"empresas.length\">\n <div class=\"col-xl-12 col-lg-12 col-sm-12\">\n <h4>Selecciona la empresa</h4>\n <hr>\n </div>\n <div class=\"col-xl-6 col-lg-6 col-sm-12 mb-2\" *ngFor=\"let empresa of empresas\" style=\"cursor: pointer\"\n (click)=\"entrarEmpresa(empresa)\">\n <div class=\"card\">\n <div class=\"card-body\">\n <h5>\n {{empresa.nombre}}\n </h5>\n </div>\n </div>\n </div>\n </div>\n</p-dialog>", styles: [":host ::ng-deep .p-dialog{z-index:2050!important}.btn-primary_low{background:#133659!important}.ng-valid:not(form){border-left:1px solid #ced4da!important}.ng-invalid:not(form){border-left:1px solid #ced4da!important}.card{background:#26baed;color:#fff}.card-body{padding:10px}\n"], dependencies: [{ kind: "directive", type:
|
|
1121
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoginModalComponent, selector: "app-login-modal", ngImport: i0, template: "<p-dialog [(visible)]=\"modal\" [modal]=\"true\" [closable]=\"false\" [style]=\"{width: '50vw'}\"\n [breakpoints]=\"{'960px': '75vw', '640px': '90vw'}\">\n <div class=\"row justify-content-center\">\n <img src=\"assets/img/logo_visorus_loading.png\" alt=\"\">\n </div>\n <div class=\"row\" *ngIf=\"empresas.length == 0\">\n <div class=\"col-lg-12 col-md-12 col-sm-12\">\n <form #datoForm=\"ngForm\" (ngSubmit)=\"entrar(datoForm)\">\n <label class=\"error\" *ngIf=\"error\">Usuario o contrase\u00F1a incorrectos</label>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputEmail1\">Usuario</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleInputEmail1\" aria-describedby=\"emailHelp\"\n #username=\"ngModel\" placeholder=\"Usuario\" name=\"username\" [(ngModel)]=\"user.username\" required>\n </div>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputPassword1\">Contrase\u00F1a</label>\n <input type=\"password\" class=\"form-control\" id=\"exampleInputPassword1\" placeholder=\"Contrase\u00F1a\"\n name=\"password\" [(ngModel)]=\"user.password\" required>\n </div>\n\n <button type=\"submit\" class=\"btn btn-primary_low btn-lg btn-block my-5 text-light\">Entrar</button>\n </form>\n </div>\n </div>\n <div class=\"row\" *ngIf=\"empresas.length\">\n <div class=\"col-xl-12 col-lg-12 col-sm-12\">\n <h4>Selecciona la empresa</h4>\n <hr>\n </div>\n <div class=\"col-xl-6 col-lg-6 col-sm-12 mb-2\" *ngFor=\"let empresa of empresas\" style=\"cursor: pointer\"\n (click)=\"entrarEmpresa(empresa)\">\n <div class=\"card\">\n <div class=\"card-body\">\n <h5>\n {{empresa.nombre}}\n </h5>\n </div>\n </div>\n </div>\n </div>\n</p-dialog>", styles: [":host ::ng-deep .p-dialog{z-index:2050!important}.btn-primary_low{background:#133659!important}.ng-valid:not(form){border-left:1px solid #ced4da!important}.ng-invalid:not(form){border-left:1px solid #ced4da!important}.card{background:#26baed;color:#fff}.card-body{padding:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i30.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }] }); }
|
|
1115
1122
|
}
|
|
1116
1123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoginModalComponent, decorators: [{
|
|
1117
1124
|
type: Component,
|
|
@@ -1202,7 +1209,7 @@ class SessionCreateComponent {
|
|
|
1202
1209
|
}
|
|
1203
1210
|
}
|
|
1204
1211
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SessionCreateComponent, deps: [{ token: SessionCajaService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1205
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SessionCreateComponent, selector: "session-create", inputs: { showCreateSession: "showCreateSession", caja: "caja", monedaDenominacionList: "monedaDenominacionList", sessionEdit: "sessionEdit" }, outputs: { status: "status", success: "success" }, ngImport: i0, template: "<p-dialog [(visible)]=\"showCreateSession\" [modal]=\"flagModal\" (onHide)=\"closeModal()\" (onShow)=\"setSession()\"\n [closeOnEscape]=\"flagModal\" [closable]=\"flagModal\" [blockScroll]=\"true\" [style]=\"{width: '750px'}\">\n\n <ng-template pTemplate=\"header\">\n <a class=\"text-primary\">{{labels.title}}: </a>\n </ng-template>\n\n <div class=\"grid grid-fluid\" *ngIf=\"caja\">\n <div class=\"p-field col-12\">\n <label for=\"nombreCaja\">Nombre de caja: </label>\n <input pInputText type=\"text\" id=\"nombreCaja\" [(ngModel)]=\"caja.nombre\" [disabled]=\"true\">\n </div>\n\n <div class=\"p-field col-12 md:col-6\">\n <label for=\"saldoCaja\">Saldo: </label>\n <input pInputText type=\"number\" id=\"saldoCaja\" [(ngModel)]=\"session.monto\" [disabled]=\"editMode\">\n </div>\n\n <div class=\"p-field col-12 md:col-6\">\n <label for=\"numeroZ\">Numero Z:</label>\n <input pInputText type=\"number\" id=\"numeroZ\" [(ngModel)]=\"session.z\" [disabled]=\"true\">\n </div>\n </div>\n\n <div>\n Este agente no esta asignado a una caja\n </div>\n\n <ng-template pTemplate=\"footer\">\n <button pButton type=\"button\" label=\"Guardar\" (click)=\"save()\" *ngIf=\"!editMode && caja\" class=\"p-button-sm\"></button>\n <button pButton type=\"button\" label=\"Cerrar session\" (click)=\"edit()\" *ngIf=\"editMode && caja\" class=\"p-button-sm p-button-success\"></button>\n <button pButton type=\"button\" label=\"Cancelar\" (click)=\"closeModal()\" class=\"p-button-sm p-button-danger\"></button>\n </ng-template>\n\n</p-dialog>", styles: [""], dependencies: [{ kind: "directive", type:
|
|
1212
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SessionCreateComponent, selector: "session-create", inputs: { showCreateSession: "showCreateSession", caja: "caja", monedaDenominacionList: "monedaDenominacionList", sessionEdit: "sessionEdit" }, outputs: { status: "status", success: "success" }, ngImport: i0, template: "<p-dialog [(visible)]=\"showCreateSession\" [modal]=\"flagModal\" (onHide)=\"closeModal()\" (onShow)=\"setSession()\"\n [closeOnEscape]=\"flagModal\" [closable]=\"flagModal\" [blockScroll]=\"true\" [style]=\"{width: '750px'}\">\n\n <ng-template pTemplate=\"header\">\n <a class=\"text-primary\">{{labels.title}}: </a>\n </ng-template>\n\n <div class=\"grid grid-fluid\" *ngIf=\"caja\">\n <div class=\"p-field col-12\">\n <label for=\"nombreCaja\">Nombre de caja: </label>\n <input pInputText type=\"text\" id=\"nombreCaja\" [(ngModel)]=\"caja.nombre\" [disabled]=\"true\">\n </div>\n\n <div class=\"p-field col-12 md:col-6\">\n <label for=\"saldoCaja\">Saldo: </label>\n <input pInputText type=\"number\" id=\"saldoCaja\" [(ngModel)]=\"session.monto\" [disabled]=\"editMode\">\n </div>\n\n <div class=\"p-field col-12 md:col-6\">\n <label for=\"numeroZ\">Numero Z:</label>\n <input pInputText type=\"number\" id=\"numeroZ\" [(ngModel)]=\"session.z\" [disabled]=\"true\">\n </div>\n </div>\n\n <div>\n Este agente no esta asignado a una caja\n </div>\n\n <ng-template pTemplate=\"footer\">\n <button pButton type=\"button\" label=\"Guardar\" (click)=\"save()\" *ngIf=\"!editMode && caja\" class=\"p-button-sm\"></button>\n <button pButton type=\"button\" label=\"Cerrar session\" (click)=\"edit()\" *ngIf=\"editMode && caja\" class=\"p-button-sm p-button-success\"></button>\n <button pButton type=\"button\" label=\"Cancelar\" (click)=\"closeModal()\" class=\"p-button-sm p-button-danger\"></button>\n </ng-template>\n\n</p-dialog>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i18.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i19.InputText, selector: "[pInputText]" }, { kind: "directive", type: i7.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: i7.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i30.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }] }); }
|
|
1206
1213
|
}
|
|
1207
1214
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SessionCreateComponent, decorators: [{
|
|
1208
1215
|
type: Component,
|
|
@@ -1265,7 +1272,7 @@ class PaginateService {
|
|
|
1265
1272
|
}, erro => { });
|
|
1266
1273
|
return ordenar;
|
|
1267
1274
|
}
|
|
1268
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginateService, deps: [{ token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1275
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginateService, deps: [{ token: i2$1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1269
1276
|
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginateService, providedIn: "root" }); }
|
|
1270
1277
|
}
|
|
1271
1278
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginateService, decorators: [{
|
|
@@ -1273,7 +1280,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1273
1280
|
args: [{
|
|
1274
1281
|
providedIn: "root"
|
|
1275
1282
|
}]
|
|
1276
|
-
}], ctorParameters: () => [{ type: i2.TranslateService }] });
|
|
1283
|
+
}], ctorParameters: () => [{ type: i2$1.TranslateService }] });
|
|
1277
1284
|
|
|
1278
1285
|
class AlmacenService extends CrudService {
|
|
1279
1286
|
constructor(httpClient) {
|
|
@@ -1379,7 +1386,7 @@ class SeleccionArticuloInformacionComponent {
|
|
|
1379
1386
|
this.eventSelection.emit({ status: false, ubicacion: ubicacionRow });
|
|
1380
1387
|
}
|
|
1381
1388
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SeleccionArticuloInformacionComponent, deps: [{ token: ArticuloInformacionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1382
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SeleccionArticuloInformacionComponent, selector: "lib-seleccion-articulo-informacion", inputs: { showModal: "showModal", articulo: "articulo" }, outputs: { eventSelection: "eventSelection" }, ngImport: i0, template: "<p-dialog (onShow)=\"OnShow()\" [header]=\"titulo\" [(visible)]=\"showModal\" [modal]=\"flagModal\" \n [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\"\n [baseZIndex]=\"10000\" (onHide)=\"hiddenDialog()\" [draggable]=\"false\" \n [blockScroll]=\"true\"\n\t\t (window:resize)=\"OnResize($event)\" [maximizable]=\"true\" [breakpoint]=\"640\">\n <p-table [columns]=\"columnsData\" [value]=\"existenciasList\" [scrollable]=\"true\" [style]=\"{width: '600px'}\" \n responsiveLayout=\"scroll\"\n scrollHeight=\"350px\"\n > \n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\">\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngFor=\"let col of columns\" pResizableColumn>\n {{col.header}}\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowIndex=\"rowIndex\">\n <tr>\n <td>{{rowData.almacenCodigo}}</td>\n <td>{{rowData.almacenDescripcion}}</td> \n <td>{{rowData.ubicacionCodigo}}</td>\n <td>{{rowData.ubicacionDescripcion}}</td> \n <td>{{rowData.existencia}}</td> \n </tr>\n </ng-template>\n </p-table>\n\t \n <ng-template pTemplate=\"footer\">\n <div class=\"container-end\">\n <button pButton type=\"button\" icon=\"pi pi-replay\" label=\"Cerrar\" class=\"ui-button-raised ui-button-secondary\" (click)=\"hiddenDialog()\"></button>\n </div>\n </ng-template>\n</p-dialog>", styles: [""], dependencies: [{ kind: "directive", type:
|
|
1389
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SeleccionArticuloInformacionComponent, selector: "lib-seleccion-articulo-informacion", inputs: { showModal: "showModal", articulo: "articulo" }, outputs: { eventSelection: "eventSelection" }, ngImport: i0, template: "<p-dialog (onShow)=\"OnShow()\" [header]=\"titulo\" [(visible)]=\"showModal\" [modal]=\"flagModal\" \n [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\"\n [baseZIndex]=\"10000\" (onHide)=\"hiddenDialog()\" [draggable]=\"false\" \n [blockScroll]=\"true\"\n\t\t (window:resize)=\"OnResize($event)\" [maximizable]=\"true\" [breakpoint]=\"640\">\n <p-table [columns]=\"columnsData\" [value]=\"existenciasList\" [scrollable]=\"true\" [style]=\"{width: '600px'}\" \n responsiveLayout=\"scroll\"\n scrollHeight=\"350px\"\n > \n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\">\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngFor=\"let col of columns\" pResizableColumn>\n {{col.header}}\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowIndex=\"rowIndex\">\n <tr>\n <td>{{rowData.almacenCodigo}}</td>\n <td>{{rowData.almacenDescripcion}}</td> \n <td>{{rowData.ubicacionCodigo}}</td>\n <td>{{rowData.ubicacionDescripcion}}</td> \n <td>{{rowData.existencia}}</td> \n </tr>\n </ng-template>\n </p-table>\n\t \n <ng-template pTemplate=\"footer\">\n <div class=\"container-end\">\n <button pButton type=\"button\" icon=\"pi pi-replay\" label=\"Cerrar\" class=\"ui-button-raised ui-button-secondary\" (click)=\"hiddenDialog()\"></button>\n </div>\n </ng-template>\n</p-dialog>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i15.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: i15.ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "directive", type: i18.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i30.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }] }); }
|
|
1383
1390
|
}
|
|
1384
1391
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SeleccionArticuloInformacionComponent, decorators: [{
|
|
1385
1392
|
type: Component,
|
|
@@ -1393,23 +1400,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1393
1400
|
}] } });
|
|
1394
1401
|
|
|
1395
1402
|
class SeleccionaArticuloComponent {
|
|
1396
|
-
constructor(
|
|
1397
|
-
this._stockService = _stockService;
|
|
1398
|
-
this._paginateService = _paginateService;
|
|
1399
|
-
this._almacenService = _almacenService;
|
|
1403
|
+
constructor() {
|
|
1400
1404
|
this.manejaUnidadSecundaria = false;
|
|
1401
1405
|
this.emitFilaSeleccionada = new EventEmitter();
|
|
1402
1406
|
this.emitShowArticulos = new EventEmitter();
|
|
1407
|
+
this._stockService = inject(StockService);
|
|
1408
|
+
this._paginateService = inject(PaginateService);
|
|
1409
|
+
this._almacenService = inject(AlmacenService);
|
|
1403
1410
|
this.articulosList = [];
|
|
1404
1411
|
this.ordenar = [];
|
|
1405
1412
|
this.busquedaArticulos = {
|
|
1406
1413
|
tipoBusqueda: ''
|
|
1407
1414
|
};
|
|
1415
|
+
this.cargando = false;
|
|
1408
1416
|
this.showModal = false;
|
|
1409
1417
|
this.showModalInformacion = false;
|
|
1410
1418
|
this.showFirstTime = true;
|
|
1411
1419
|
this.clasificadorList = [];
|
|
1412
|
-
this.
|
|
1420
|
+
this.maximizado = false;
|
|
1413
1421
|
}
|
|
1414
1422
|
ngOnInit() {
|
|
1415
1423
|
this.page = this._paginateService.getPage();
|
|
@@ -1419,9 +1427,39 @@ class SeleccionaArticuloComponent {
|
|
|
1419
1427
|
this.showFirstTime = true;
|
|
1420
1428
|
this._almacenService.getAll(this.configuracion.params).subscribe((data) => {
|
|
1421
1429
|
this.almacenList = data.data;
|
|
1430
|
+
// El valor se reaplica cuando las opciones ya existen en el select
|
|
1431
|
+
setTimeout(() => { this.almacenSeleccionado = this.almacenId; });
|
|
1422
1432
|
});
|
|
1423
1433
|
this.busquedaArticulos.tipoBusqueda = 'CD';
|
|
1424
|
-
|
|
1434
|
+
}
|
|
1435
|
+
/** Id del almacén del movimiento; acepta tanto id numérico como objeto Almacen. */
|
|
1436
|
+
get almacenId() {
|
|
1437
|
+
const almacen = this.movimiento ? this.movimiento.almacen : null;
|
|
1438
|
+
return (almacen && typeof almacen === 'object') ? almacen.id : almacen;
|
|
1439
|
+
}
|
|
1440
|
+
/** Número de columnas visibles de la tabla, para el colspan del estado vacío. */
|
|
1441
|
+
get totalColumnas() {
|
|
1442
|
+
let total = 6; // ubicación, existencia, unidad, código, descripción, detalle
|
|
1443
|
+
if (this.manejaUnidadSecundaria) {
|
|
1444
|
+
total += 2;
|
|
1445
|
+
}
|
|
1446
|
+
total += (this.configuracion && this.configuracion.tipoPrecio === 'costo') ? 1 : 5;
|
|
1447
|
+
if (this.mostrarExistenciaPorUnidad) {
|
|
1448
|
+
total += 1;
|
|
1449
|
+
}
|
|
1450
|
+
return total + (this.clasificadorList ? this.clasificadorList.length : 0);
|
|
1451
|
+
}
|
|
1452
|
+
/** La columna "Existencia por Unidad" solo se muestra si algún artículo trae datos. */
|
|
1453
|
+
get mostrarExistenciaPorUnidad() {
|
|
1454
|
+
return Array.isArray(this.articulosList) &&
|
|
1455
|
+
this.articulosList.some((row) => row.existenciaUnidades && row.existenciaUnidades.length > 0);
|
|
1456
|
+
}
|
|
1457
|
+
/** Altura del cuerpo del diálogo: ocupa el viewport y crece al maximizar. */
|
|
1458
|
+
get estiloContenido() {
|
|
1459
|
+
const base = { display: 'flex', 'flex-direction': 'column', 'min-height': '0' };
|
|
1460
|
+
return this.maximizado
|
|
1461
|
+
? { ...base, flex: '1 1 auto' }
|
|
1462
|
+
: { ...base, height: 'calc(90vh - 9.5rem)' };
|
|
1425
1463
|
}
|
|
1426
1464
|
pagina(e) {
|
|
1427
1465
|
this.page.rows = e.rows;
|
|
@@ -1434,8 +1472,19 @@ class SeleccionaArticuloComponent {
|
|
|
1434
1472
|
this.obtenerExistenciaArticulos();
|
|
1435
1473
|
this.showFirstTime = false;
|
|
1436
1474
|
}
|
|
1475
|
+
// El diálogo termina de montar su contenido después del evento onShow
|
|
1476
|
+
setTimeout(() => {
|
|
1477
|
+
if (this.campoBusqueda) {
|
|
1478
|
+
this.campoBusqueda.nativeElement.focus();
|
|
1479
|
+
}
|
|
1480
|
+
});
|
|
1437
1481
|
}
|
|
1438
1482
|
obtenerExistenciaArticulos() {
|
|
1483
|
+
if (this.busquedaArticulos.tipoBusqueda && !this.busquedaArticulos.key) {
|
|
1484
|
+
// Sin término de búsqueda el backend no regresa resultados
|
|
1485
|
+
return;
|
|
1486
|
+
}
|
|
1487
|
+
this.cargando = true;
|
|
1439
1488
|
this.busquedaArticulos.params = this._paginateService.getParams(this.page);
|
|
1440
1489
|
const parametros = {
|
|
1441
1490
|
almacen: (this.configuracion.noOcupaAlamacen ? null : this.movimiento.almacen),
|
|
@@ -1453,8 +1502,11 @@ class SeleccionaArticuloComponent {
|
|
|
1453
1502
|
if (!this.showModal) {
|
|
1454
1503
|
this.showModal = true;
|
|
1455
1504
|
}
|
|
1505
|
+
this.cargando = false;
|
|
1456
1506
|
}).catch(e => {
|
|
1457
1507
|
this.articulosList = [];
|
|
1508
|
+
this.page.total = 0;
|
|
1509
|
+
this.cargando = false;
|
|
1458
1510
|
});
|
|
1459
1511
|
}
|
|
1460
1512
|
obtenerExistenciaArticulosVal() {
|
|
@@ -1472,9 +1524,6 @@ class SeleccionaArticuloComponent {
|
|
|
1472
1524
|
emitirShowArticulos() {
|
|
1473
1525
|
this.emitShowArticulos.emit(0);
|
|
1474
1526
|
}
|
|
1475
|
-
seriesArticulo(series) {
|
|
1476
|
-
console.log(series);
|
|
1477
|
-
}
|
|
1478
1527
|
onShowInformacion(eventArticulo) {
|
|
1479
1528
|
this.articuloSelected = eventArticulo;
|
|
1480
1529
|
this.showModalInformacion = true;
|
|
@@ -1482,13 +1531,13 @@ class SeleccionaArticuloComponent {
|
|
|
1482
1531
|
onEventInformacion(event) {
|
|
1483
1532
|
this.showModalInformacion = event.status;
|
|
1484
1533
|
}
|
|
1485
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SeleccionaArticuloComponent, deps: [
|
|
1486
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SeleccionaArticuloComponent, selector: "app-selecciona-articulo", inputs: { configuracion: "configuracion", showArticulos: "showArticulos", movimiento: "movimiento", manejaUnidadSecundaria: "manejaUnidadSecundaria" }, outputs: { emitFilaSeleccionada: "emitFilaSeleccionada", emitShowArticulos: "emitShowArticulos" }, ngImport: i0, template: "<!--inicia seleccion de articulos-->\n<!-- (onShow)=\"obtenerExistenciaArticulosShow()\" -->\n<!--\n <div class=\"col-12 col-center\" >-->\n<p-dialog header=\"{{ 'Articulos' | translate }}\" [(visible)]=\"showArticulos\" [maximizable]=\"true\"\n (onShow)=\"obtenerExistenciaArticulosShow()\" (onHide)=\"busquedaArticulos = { tipoBusqueda : ''}; emitirShowArticulos()\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\">\n <div class=\"grid grid-fluid\">\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 115px;\">\n <select pInputText [(ngModel)]=\"busquedaArticulos.tipoBusqueda\" (change)=\"obtenerExistenciaArticulosVal()\">\n <option value=\"C\">Codigo</option>\n <option value=\"D\">Descripcion</option>\n <option value=\"CD\">Coincidencia</option>\n <option value=\"CI\">Igual a</option>\n </select>\n </div>\n <input type=\"text\" style=\"width: 200px;\" pInputText [(ngModel)]=\"busquedaArticulos.key\"\n (keypress)=\"obtenerExistenciaArticulosKey( $event )\" id=\"key\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\"\n (click)=\"obtenerExistenciaArticulos( )\"></button>\n </div>\n </div>\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 100px;\">\n <label for=\"almacen\">Almacen:</label>\n </div>\n <select pInputText style=\"width: 200px;\" [(ngModel)]=\"movimiento.almacen\" disabled id=\"almacen\"\n (change)=\"obtenerExistenciaArticulosVal()\">\n <option *ngFor=\"let almacen of almacenList\" value=\"{{ almacen.id }}\">{{almacen.descripcion}}</option>\n </select>\n </div>\n\n </div>\n </div>\n\n <!--\n <div id=\"table-wrapper\">\n <div id=\"table-scroll\">-->\n <!-- new table\n <p-table #dt [columns]=\"colsDD\" [value]=\"listDD\" [scrollable]=\"true\" \n [style]=\"{width: '100%'} \" [scrollHeight]=\"maxH + 'px'\" \n [resizableColumns]=\"true\" [(selection)]=\"selectedXML\" (onRowSelect)=\"onRowSelect($event)\" dataKey=\"uuid\">\n\n \n -->\n\n <p-table [value]=\"articulosList\" [scrollable]=\"true\" #dt scrollHeight=\"400px\" responsiveLayout=\"scroll\" \n selectionMode=\"single\" (onRowSelect)=\"filaSeleccionada($event)\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 80px\" translate>C\u00F3digo Ubicacion</th>\n <th style=\"width: 70px\" translate>Existencia</th>\n <th style=\"width: 40px\" translate>Unidad</th>\n <th style=\"width: 50px\" *ngIf=\"manejaUnidadSecundaria\" translate>existenciaSecundaria</th>\n <th style=\"width: 40px\" *ngIf=\"manejaUnidadSecundaria\" translate>Unidad</th>\n <th style=\"width: 80px\" translate>C\u00F3digo</th>\n <th style=\"width: 120px\" translate>Descripcion</th>\n <th style=\"width: 40px\" translate></th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 2</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 3</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 4</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 5</th>\n <th style=\"width: 40px\" *ngIf=\"configuracion.tipoPrecio === 'costo' \" translate>Movimiento.costo</th>\n <th style=\"width: 40px\" translate>Existencia por Unidad</th>\n <th *ngFor=\"let item of clasificadorList\" style=\"width: 80px\" translate>{{item.descripcion}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 80px;\" *ngIf=\"!rowData.ubicacionCodigo\" translate>Movimiento.NoAsignado</td>\n <td style=\"width: 80px;\" *ngIf=\"rowData.ubicacionCodigo\">{{rowData.ubicacionCodigo}}</td>\n <td style=\"width: 70px;\">{{rowData.existencia}}</td>\n <td style=\"width: 40px;\">{{rowData.unidadCodigo}}</td>\n\n <td style=\"width: 50px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.existenciaSecundaria}}</td>\n <td style=\"width: 40px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.unidadSecundariaCodigo}}</td>\n\n <td style=\"width: 80px;\">{{rowData.articulo.codigo}}</td>\n <td style=\"width: 120px;\">{{rowData.articulo.descripcion}}</td>\n <td style=\"width: 40px;\">\n <button pButton type=\"button\" icon=\"pi pi-eye\" class=\"ui-button-raised ui-button-primary\"\n (click)=\"onShowInformacion(rowData)\">\n </button>\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precioConImpuestos | currency }}\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio2ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio3ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio4ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio5ConImpuestos | currency\n }}</td>\n <td style=\"width: 40px;\" *ngIf=\"configuracion.tipoPrecio === 'costo' \">{{rowData.precio | currency }}</td>\n <td style=\"width: 40px;\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of rowData.existenciaUnidades\">\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div>\n </div>\n </td>\n <!-- <td style=\"width: 40px;\"></td> -->\n <td *ngFor=\"let itemData of rowData.articuloClasificadorList\" style=\"width: 80px;\">{{itemData.valor}}</td>\n </tr>\n </ng-template>\n </p-table>\n\n <!-- /new table-->\n <!-- \n <p-table [(value)]=\"articulosList\" responsive=\"true\" \n selectionMode=\"multiple\" (onRowSelect)=\"filaSeleccionada($event)\" [scrollable]=\"true\" scrollHeight=\"350px\" >\n\n <p-column header=\"{{ 'Codigo ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n <p-column field=\"ubicacionCodigo\" header=\"{{ 'Descripcion ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n\n <p-column field=\"existencia\" header=\"{{'Existencia' | translate}}\"></p-column>\n <p-column field=\"unidadCodigo\" header=\"{{'Unidad' | translate}}\"></p-column>\n <p-column field=\"unidadDescripcion\" header=\"{{'Descripcion unidad' | translate}}\"></p-column>\n\n <p-column field=\"existenciaSecundaria\" header=\"{{'existenciaSecundaria' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n <p-column field=\"unidadSecundariaCodigo\" header=\"{{'Unidad' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n \n\n <p-column *ngIf=\"configuracion.tipoPrecio !== 'costo' \" header=\"{{'Movimiento.movimientoDetalle.precio' | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precioConImpuestos | currency }}</label>\n </ng-template>\n </p-column>\n <p-column *ngIf=\"configuracion.tipoPrecio === 'costo' \" header=\"{{'Movimiento.costo' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precio | currency }}</label>\n </ng-template>\n </p-column>\n\n\n <p-column field=\"articulo.codigo\" header=\"{{'Codigo articulo' | translate}}\"></p-column>\n <p-column field=\"articulo.descripcion\" header=\"{{'Descripcion' | translate}}\"></p-column>\n\n\n\n <p-column header=\"{{'ExistenciaPorUnidad' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of dato.existenciaUnidades\" >\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div> \n </div> \n </ng-template>\n </p-column>\n \n </p-table>\n -->\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\" (onPageChange)=\"pagina($event)\"\n [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n <!-- \n </div>\n </div>\n -->\n</p-dialog>\n<!--\n </div> \n -->\n<!--termina seleccion de articulos-->\n<!--selecciona ubicacion -->\n<lib-seleccion-articulo-informacion [showModal]=\"showModalInformacion\" [articulo]=\"articuloSelected\"\n (eventSelection)=\"onEventInformacion($event)\" *ngIf=\"showModalInformacion\">\n</lib-seleccion-articulo-informacion>", styles: ["tr:hover{background-color:#34a835!important;color:#fff!important}table{position:absolute}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i15.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: i15.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "directive", type: i18.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i19.InputText, selector: "[pInputText]" }, { kind: "component", type: i24.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "directive", type: i4$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4$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: i4$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i30.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: SeleccionArticuloInformacionComponent, selector: "lib-seleccion-articulo-informacion", inputs: ["showModal", "articulo"], outputs: ["eventSelection"] }, { kind: "pipe", type: i4.DecimalPipe, name: "number" }, { kind: "pipe", type: i4.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
1534
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SeleccionaArticuloComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1535
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SeleccionaArticuloComponent, selector: "app-selecciona-articulo", inputs: { configuracion: "configuracion", showArticulos: "showArticulos", movimiento: "movimiento", manejaUnidadSecundaria: "manejaUnidadSecundaria" }, outputs: { emitFilaSeleccionada: "emitFilaSeleccionada", emitShowArticulos: "emitShowArticulos" }, viewQueries: [{ propertyName: "campoBusqueda", first: true, predicate: ["campoBusqueda"], descendants: true }], ngImport: i0, template: "<!--inicia seleccion de articulos-->\n<p-dialog header=\"{{ 'Articulos' | translate }}\" [(visible)]=\"showArticulos\" [maximizable]=\"true\"\n (onShow)=\"obtenerExistenciaArticulosShow()\" (onHide)=\"busquedaArticulos = { tipoBusqueda : ''}; emitirShowArticulos()\"\n (onMaximize)=\"maximizado = $event.maximized\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [style]=\"{ width: '95vw' }\" [minY]=\"70\"\n [contentStyle]=\"estiloContenido\">\n\n <div class=\"sa-cuerpo\">\n\n <div class=\"grid sa-filtros\">\n <div class=\"col-12 md:col-6 xl:col-5\">\n <label class=\"sa-etiqueta\" for=\"sa-tipo-busqueda\">Buscar por</label>\n <div class=\"p-inputgroup\">\n <select pInputText class=\"sa-tipo-busqueda\" id=\"sa-tipo-busqueda\"\n [(ngModel)]=\"busquedaArticulos.tipoBusqueda\" (change)=\"obtenerExistenciaArticulosVal()\">\n <option value=\"C\">C\u00F3digo</option>\n <option value=\"D\">Descripci\u00F3n</option>\n <option value=\"CD\">Coincidencia</option>\n <option value=\"CI\">Igual a</option>\n </select>\n <input pInputText type=\"text\" class=\"sa-campo-busqueda\" id=\"sa-campo-busqueda\" #campoBusqueda\n placeholder=\"T\u00E9rmino de b\u00FAsqueda\" [(ngModel)]=\"busquedaArticulos.key\"\n (keydown.enter)=\"obtenerExistenciaArticulos()\">\n <button pButton type=\"button\" icon=\"pi pi-search\" aria-label=\"Buscar\"\n (click)=\"obtenerExistenciaArticulos()\"></button>\n </div>\n </div>\n <div class=\"col-12 md:col-6 xl:col-5\">\n <label class=\"sa-etiqueta\" for=\"sa-almacen\">Almac\u00E9n</label>\n <select pInputText class=\"sa-almacen\" id=\"sa-almacen\" disabled [ngModel]=\"almacenSeleccionado\"\n [ngModelOptions]=\"{ standalone: true }\">\n @for (almacen of almacenList; track almacen.id) {\n <option [ngValue]=\"almacen.id\">{{ almacen.descripcion }}</option>\n }\n </select>\n </div>\n </div>\n\n <p-table #dt [value]=\"articulosList\" [scrollable]=\"true\" scrollHeight=\"flex\" responsiveLayout=\"scroll\"\n selectionMode=\"single\" styleClass=\"p-datatable-sm\" [loading]=\"cargando\" class=\"sa-tabla\"\n (onRowSelect)=\"filaSeleccionada($event)\">\n\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"sa-col-ubicacion\" translate>C\u00F3digo Ubicacion</th>\n <th class=\"sa-num\" translate>Existencia</th>\n <th class=\"sa-col-unidad\" translate>Unidad</th>\n @if (manejaUnidadSecundaria) {\n <th class=\"sa-num\" translate>existenciaSecundaria</th>\n <th class=\"sa-col-unidad\" translate>Unidad</th>\n }\n <th class=\"sa-col-codigo\" translate>C\u00F3digo</th>\n <th class=\"sa-col-descripcion\" translate>Descripcion</th>\n <th class=\"sa-col-accion\"><span class=\"sa-sr-only\">Detalle</span></th>\n @if (configuracion.tipoPrecio !== 'costo') {\n <th class=\"sa-num\" translate>Precio</th>\n <th class=\"sa-num\" translate>Precio 2</th>\n <th class=\"sa-num\" translate>Precio 3</th>\n <th class=\"sa-num\" translate>Precio 4</th>\n <th class=\"sa-num\" translate>Precio 5</th>\n } @else {\n <th class=\"sa-num\" translate>Movimiento.costo</th>\n }\n @if (mostrarExistenciaPorUnidad) {\n <th class=\"sa-col-unidades\" translate>Existencia por Unidad</th>\n }\n @for (item of clasificadorList; track $index) {\n <th class=\"sa-col-clasificador\" translate>{{ item.descripcion }}</th>\n }\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData>\n <tr [pSelectableRow]=\"rowData\">\n <td class=\"sa-col-ubicacion\">\n @if (rowData.ubicacionCodigo) {\n {{ rowData.ubicacionCodigo }}\n } @else {\n <span class=\"sa-sr-only\" translate>Movimiento.NoAsignado</span>\n }\n </td>\n <td class=\"sa-num\">{{ rowData.existencia }}</td>\n <td class=\"sa-col-unidad\">{{ rowData.unidadCodigo }}</td>\n @if (manejaUnidadSecundaria) {\n <td class=\"sa-num\">{{ rowData.existenciaSecundaria }}</td>\n <td class=\"sa-col-unidad\">{{ rowData.unidadSecundariaCodigo }}</td>\n }\n <td class=\"sa-col-codigo\">{{ rowData.articulo.codigo }}</td>\n <td class=\"sa-col-descripcion\" [pTooltip]=\"rowData.articulo.descripcion\" tooltipPosition=\"top\"\n [showDelay]=\"400\">{{ rowData.articulo.descripcion }}</td>\n <td class=\"sa-col-accion\">\n <button pButton type=\"button\" icon=\"pi pi-eye\" class=\"p-button-text p-button-sm p-button-rounded\"\n [attr.aria-label]=\"'Ver informaci\u00F3n del art\u00EDculo ' + rowData.articulo.descripcion\"\n (click)=\"onShowInformacion(rowData)\"></button>\n </td>\n @if (configuracion.tipoPrecio !== 'costo') {\n <td class=\"sa-num\">{{ rowData.precioConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio2ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio3ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio4ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio5ConImpuestos | currency }}</td>\n } @else {\n <td class=\"sa-num\">{{ rowData.precio | currency }}</td>\n }\n @if (mostrarExistenciaPorUnidad) {\n <td class=\"sa-col-unidades\">\n @for (item of rowData.existenciaUnidades; track $index) {\n <div class=\"sa-unidad-existencia\">\n <span>{{ item.unidad_codigo }}</span>\n <span class=\"sa-num\">{{ item.unidad_existencia | number : '1.2-2' }}</span>\n </div>\n }\n </td>\n }\n @for (itemData of rowData.articuloClasificadorList; track $index) {\n <td class=\"sa-col-clasificador\">{{ itemData.valor }}</td>\n }\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"totalColumnas\">\n <div class=\"sa-vacio\">\n <i class=\"pi pi-search\" aria-hidden=\"true\"></i>\n @if (busquedaArticulos.key) {\n <p>Sin resultados para \u00AB{{ busquedaArticulos.key }}\u00BB. Prueba con otro t\u00E9rmino o tipo de b\u00FAsqueda.</p>\n } @else {\n <p>Escribe un t\u00E9rmino de b\u00FAsqueda y presiona <strong>Buscar</strong> para consultar la existencia de\n art\u00EDculos.</p>\n }\n </div>\n </td>\n </tr>\n </ng-template>\n\n </p-table>\n\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\" (onPageChange)=\"pagina($event)\"\n [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n\n </div>\n</p-dialog>\n<!--termina seleccion de articulos-->\n<!--selecciona ubicacion -->\n@if (showModalInformacion) {\n <lib-seleccion-articulo-informacion [showModal]=\"showModalInformacion\" [articulo]=\"articuloSelected\"\n (eventSelection)=\"onEventInformacion($event)\">\n </lib-seleccion-articulo-informacion>\n}\n", styles: [".sa-cuerpo{display:flex;flex-direction:column;gap:.875rem;flex:1 1 auto;min-height:0}.sa-etiqueta{display:block;margin-bottom:.25rem;font-weight:600;color:#475569}.sa-tipo-busqueda{width:10.5rem;flex:0 0 auto}.sa-campo-busqueda{flex:1 1 auto;min-width:7rem}.sa-almacen{width:100%;max-width:22rem}p-table.sa-tabla{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.sa-col-ubicacion{width:7.5rem}.sa-col-codigo{width:6.5rem}.sa-col-unidad{width:4.5rem}.sa-col-accion{width:3.25rem;text-align:center}.sa-col-accion .p-button{width:1.85rem;height:1.85rem;padding:0}.sa-col-unidades{width:12rem}.sa-col-clasificador{width:6.5rem}.sa-col-descripcion{min-width:13rem;max-width:26rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sa-unidad-existencia{display:flex;justify-content:space-between;gap:.5rem}p-table.sa-tabla tr.p-highlight{background:#e3f2fd;color:#1565c0;font-weight:600}.sa-vacio{display:flex;align-items:center;gap:.75rem;padding:1.25rem .5rem;color:#64748b}.sa-vacio i{font-size:1.5rem;color:#94a3b8}.sa-vacio p{margin:0}.sa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i10.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i15.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: i15.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "directive", type: i18.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i19.InputText, selector: "[pInputText]" }, { kind: "component", type: i24.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "directive", type: i7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i7.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: i7.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i30.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i2$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: SeleccionArticuloInformacionComponent, selector: "lib-seleccion-articulo-informacion", inputs: ["showModal", "articulo"], outputs: ["eventSelection"] }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i2.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
|
|
1487
1536
|
}
|
|
1488
1537
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SeleccionaArticuloComponent, decorators: [{
|
|
1489
1538
|
type: Component,
|
|
1490
|
-
args: [{ selector: 'app-selecciona-articulo', template: "<!--inicia seleccion de articulos-->\n<!-- (onShow)=\"obtenerExistenciaArticulosShow()\" -->\n<!--\n <div class=\"col-12 col-center\" >-->\n<p-dialog header=\"{{ 'Articulos' | translate }}\" [(visible)]=\"showArticulos\" [maximizable]=\"true\"\n (onShow)=\"obtenerExistenciaArticulosShow()\" (onHide)=\"busquedaArticulos = { tipoBusqueda : ''}; emitirShowArticulos()\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\">\n <div class=\"grid grid-fluid\">\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 115px;\">\n <select pInputText [(ngModel)]=\"busquedaArticulos.tipoBusqueda\" (change)=\"obtenerExistenciaArticulosVal()\">\n <option value=\"C\">Codigo</option>\n <option value=\"D\">Descripcion</option>\n <option value=\"CD\">Coincidencia</option>\n <option value=\"CI\">Igual a</option>\n </select>\n </div>\n <input type=\"text\" style=\"width: 200px;\" pInputText [(ngModel)]=\"busquedaArticulos.key\"\n (keypress)=\"obtenerExistenciaArticulosKey( $event )\" id=\"key\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\"\n (click)=\"obtenerExistenciaArticulos( )\"></button>\n </div>\n </div>\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 100px;\">\n <label for=\"almacen\">Almacen:</label>\n </div>\n <select pInputText style=\"width: 200px;\" [(ngModel)]=\"movimiento.almacen\" disabled id=\"almacen\"\n (change)=\"obtenerExistenciaArticulosVal()\">\n <option *ngFor=\"let almacen of almacenList\" value=\"{{ almacen.id }}\">{{almacen.descripcion}}</option>\n </select>\n </div>\n\n </div>\n </div>\n\n <!--\n <div id=\"table-wrapper\">\n <div id=\"table-scroll\">-->\n <!-- new table\n <p-table #dt [columns]=\"colsDD\" [value]=\"listDD\" [scrollable]=\"true\" \n [style]=\"{width: '100%'} \" [scrollHeight]=\"maxH + 'px'\" \n [resizableColumns]=\"true\" [(selection)]=\"selectedXML\" (onRowSelect)=\"onRowSelect($event)\" dataKey=\"uuid\">\n\n \n -->\n\n <p-table [value]=\"articulosList\" [scrollable]=\"true\" #dt scrollHeight=\"400px\" responsiveLayout=\"scroll\" \n selectionMode=\"single\" (onRowSelect)=\"filaSeleccionada($event)\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 80px\" translate>C\u00F3digo Ubicacion</th>\n <th style=\"width: 70px\" translate>Existencia</th>\n <th style=\"width: 40px\" translate>Unidad</th>\n <th style=\"width: 50px\" *ngIf=\"manejaUnidadSecundaria\" translate>existenciaSecundaria</th>\n <th style=\"width: 40px\" *ngIf=\"manejaUnidadSecundaria\" translate>Unidad</th>\n <th style=\"width: 80px\" translate>C\u00F3digo</th>\n <th style=\"width: 120px\" translate>Descripcion</th>\n <th style=\"width: 40px\" translate></th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 2</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 3</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 4</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 5</th>\n <th style=\"width: 40px\" *ngIf=\"configuracion.tipoPrecio === 'costo' \" translate>Movimiento.costo</th>\n <th style=\"width: 40px\" translate>Existencia por Unidad</th>\n <th *ngFor=\"let item of clasificadorList\" style=\"width: 80px\" translate>{{item.descripcion}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 80px;\" *ngIf=\"!rowData.ubicacionCodigo\" translate>Movimiento.NoAsignado</td>\n <td style=\"width: 80px;\" *ngIf=\"rowData.ubicacionCodigo\">{{rowData.ubicacionCodigo}}</td>\n <td style=\"width: 70px;\">{{rowData.existencia}}</td>\n <td style=\"width: 40px;\">{{rowData.unidadCodigo}}</td>\n\n <td style=\"width: 50px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.existenciaSecundaria}}</td>\n <td style=\"width: 40px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.unidadSecundariaCodigo}}</td>\n\n <td style=\"width: 80px;\">{{rowData.articulo.codigo}}</td>\n <td style=\"width: 120px;\">{{rowData.articulo.descripcion}}</td>\n <td style=\"width: 40px;\">\n <button pButton type=\"button\" icon=\"pi pi-eye\" class=\"ui-button-raised ui-button-primary\"\n (click)=\"onShowInformacion(rowData)\">\n </button>\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precioConImpuestos | currency }}\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio2ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio3ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio4ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio5ConImpuestos | currency\n }}</td>\n <td style=\"width: 40px;\" *ngIf=\"configuracion.tipoPrecio === 'costo' \">{{rowData.precio | currency }}</td>\n <td style=\"width: 40px;\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of rowData.existenciaUnidades\">\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div>\n </div>\n </td>\n <!-- <td style=\"width: 40px;\"></td> -->\n <td *ngFor=\"let itemData of rowData.articuloClasificadorList\" style=\"width: 80px;\">{{itemData.valor}}</td>\n </tr>\n </ng-template>\n </p-table>\n\n <!-- /new table-->\n <!-- \n <p-table [(value)]=\"articulosList\" responsive=\"true\" \n selectionMode=\"multiple\" (onRowSelect)=\"filaSeleccionada($event)\" [scrollable]=\"true\" scrollHeight=\"350px\" >\n\n <p-column header=\"{{ 'Codigo ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n <p-column field=\"ubicacionCodigo\" header=\"{{ 'Descripcion ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n\n <p-column field=\"existencia\" header=\"{{'Existencia' | translate}}\"></p-column>\n <p-column field=\"unidadCodigo\" header=\"{{'Unidad' | translate}}\"></p-column>\n <p-column field=\"unidadDescripcion\" header=\"{{'Descripcion unidad' | translate}}\"></p-column>\n\n <p-column field=\"existenciaSecundaria\" header=\"{{'existenciaSecundaria' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n <p-column field=\"unidadSecundariaCodigo\" header=\"{{'Unidad' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n \n\n <p-column *ngIf=\"configuracion.tipoPrecio !== 'costo' \" header=\"{{'Movimiento.movimientoDetalle.precio' | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precioConImpuestos | currency }}</label>\n </ng-template>\n </p-column>\n <p-column *ngIf=\"configuracion.tipoPrecio === 'costo' \" header=\"{{'Movimiento.costo' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precio | currency }}</label>\n </ng-template>\n </p-column>\n\n\n <p-column field=\"articulo.codigo\" header=\"{{'Codigo articulo' | translate}}\"></p-column>\n <p-column field=\"articulo.descripcion\" header=\"{{'Descripcion' | translate}}\"></p-column>\n\n\n\n <p-column header=\"{{'ExistenciaPorUnidad' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of dato.existenciaUnidades\" >\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div> \n </div> \n </ng-template>\n </p-column>\n \n </p-table>\n -->\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\" (onPageChange)=\"pagina($event)\"\n [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n <!-- \n </div>\n </div>\n -->\n</p-dialog>\n<!--\n </div> \n -->\n<!--termina seleccion de articulos-->\n<!--selecciona ubicacion -->\n<lib-seleccion-articulo-informacion [showModal]=\"showModalInformacion\" [articulo]=\"articuloSelected\"\n (eventSelection)=\"onEventInformacion($event)\" *ngIf=\"showModalInformacion\">\n</lib-seleccion-articulo-informacion>", styles: ["tr:hover{background-color:#34a835!important;color:#fff!important}table{position:absolute}\n"] }]
|
|
1491
|
-
}],
|
|
1539
|
+
args: [{ selector: 'app-selecciona-articulo', template: "<!--inicia seleccion de articulos-->\n<p-dialog header=\"{{ 'Articulos' | translate }}\" [(visible)]=\"showArticulos\" [maximizable]=\"true\"\n (onShow)=\"obtenerExistenciaArticulosShow()\" (onHide)=\"busquedaArticulos = { tipoBusqueda : ''}; emitirShowArticulos()\"\n (onMaximize)=\"maximizado = $event.maximized\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [style]=\"{ width: '95vw' }\" [minY]=\"70\"\n [contentStyle]=\"estiloContenido\">\n\n <div class=\"sa-cuerpo\">\n\n <div class=\"grid sa-filtros\">\n <div class=\"col-12 md:col-6 xl:col-5\">\n <label class=\"sa-etiqueta\" for=\"sa-tipo-busqueda\">Buscar por</label>\n <div class=\"p-inputgroup\">\n <select pInputText class=\"sa-tipo-busqueda\" id=\"sa-tipo-busqueda\"\n [(ngModel)]=\"busquedaArticulos.tipoBusqueda\" (change)=\"obtenerExistenciaArticulosVal()\">\n <option value=\"C\">C\u00F3digo</option>\n <option value=\"D\">Descripci\u00F3n</option>\n <option value=\"CD\">Coincidencia</option>\n <option value=\"CI\">Igual a</option>\n </select>\n <input pInputText type=\"text\" class=\"sa-campo-busqueda\" id=\"sa-campo-busqueda\" #campoBusqueda\n placeholder=\"T\u00E9rmino de b\u00FAsqueda\" [(ngModel)]=\"busquedaArticulos.key\"\n (keydown.enter)=\"obtenerExistenciaArticulos()\">\n <button pButton type=\"button\" icon=\"pi pi-search\" aria-label=\"Buscar\"\n (click)=\"obtenerExistenciaArticulos()\"></button>\n </div>\n </div>\n <div class=\"col-12 md:col-6 xl:col-5\">\n <label class=\"sa-etiqueta\" for=\"sa-almacen\">Almac\u00E9n</label>\n <select pInputText class=\"sa-almacen\" id=\"sa-almacen\" disabled [ngModel]=\"almacenSeleccionado\"\n [ngModelOptions]=\"{ standalone: true }\">\n @for (almacen of almacenList; track almacen.id) {\n <option [ngValue]=\"almacen.id\">{{ almacen.descripcion }}</option>\n }\n </select>\n </div>\n </div>\n\n <p-table #dt [value]=\"articulosList\" [scrollable]=\"true\" scrollHeight=\"flex\" responsiveLayout=\"scroll\"\n selectionMode=\"single\" styleClass=\"p-datatable-sm\" [loading]=\"cargando\" class=\"sa-tabla\"\n (onRowSelect)=\"filaSeleccionada($event)\">\n\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"sa-col-ubicacion\" translate>C\u00F3digo Ubicacion</th>\n <th class=\"sa-num\" translate>Existencia</th>\n <th class=\"sa-col-unidad\" translate>Unidad</th>\n @if (manejaUnidadSecundaria) {\n <th class=\"sa-num\" translate>existenciaSecundaria</th>\n <th class=\"sa-col-unidad\" translate>Unidad</th>\n }\n <th class=\"sa-col-codigo\" translate>C\u00F3digo</th>\n <th class=\"sa-col-descripcion\" translate>Descripcion</th>\n <th class=\"sa-col-accion\"><span class=\"sa-sr-only\">Detalle</span></th>\n @if (configuracion.tipoPrecio !== 'costo') {\n <th class=\"sa-num\" translate>Precio</th>\n <th class=\"sa-num\" translate>Precio 2</th>\n <th class=\"sa-num\" translate>Precio 3</th>\n <th class=\"sa-num\" translate>Precio 4</th>\n <th class=\"sa-num\" translate>Precio 5</th>\n } @else {\n <th class=\"sa-num\" translate>Movimiento.costo</th>\n }\n @if (mostrarExistenciaPorUnidad) {\n <th class=\"sa-col-unidades\" translate>Existencia por Unidad</th>\n }\n @for (item of clasificadorList; track $index) {\n <th class=\"sa-col-clasificador\" translate>{{ item.descripcion }}</th>\n }\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData>\n <tr [pSelectableRow]=\"rowData\">\n <td class=\"sa-col-ubicacion\">\n @if (rowData.ubicacionCodigo) {\n {{ rowData.ubicacionCodigo }}\n } @else {\n <span class=\"sa-sr-only\" translate>Movimiento.NoAsignado</span>\n }\n </td>\n <td class=\"sa-num\">{{ rowData.existencia }}</td>\n <td class=\"sa-col-unidad\">{{ rowData.unidadCodigo }}</td>\n @if (manejaUnidadSecundaria) {\n <td class=\"sa-num\">{{ rowData.existenciaSecundaria }}</td>\n <td class=\"sa-col-unidad\">{{ rowData.unidadSecundariaCodigo }}</td>\n }\n <td class=\"sa-col-codigo\">{{ rowData.articulo.codigo }}</td>\n <td class=\"sa-col-descripcion\" [pTooltip]=\"rowData.articulo.descripcion\" tooltipPosition=\"top\"\n [showDelay]=\"400\">{{ rowData.articulo.descripcion }}</td>\n <td class=\"sa-col-accion\">\n <button pButton type=\"button\" icon=\"pi pi-eye\" class=\"p-button-text p-button-sm p-button-rounded\"\n [attr.aria-label]=\"'Ver informaci\u00F3n del art\u00EDculo ' + rowData.articulo.descripcion\"\n (click)=\"onShowInformacion(rowData)\"></button>\n </td>\n @if (configuracion.tipoPrecio !== 'costo') {\n <td class=\"sa-num\">{{ rowData.precioConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio2ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio3ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio4ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio5ConImpuestos | currency }}</td>\n } @else {\n <td class=\"sa-num\">{{ rowData.precio | currency }}</td>\n }\n @if (mostrarExistenciaPorUnidad) {\n <td class=\"sa-col-unidades\">\n @for (item of rowData.existenciaUnidades; track $index) {\n <div class=\"sa-unidad-existencia\">\n <span>{{ item.unidad_codigo }}</span>\n <span class=\"sa-num\">{{ item.unidad_existencia | number : '1.2-2' }}</span>\n </div>\n }\n </td>\n }\n @for (itemData of rowData.articuloClasificadorList; track $index) {\n <td class=\"sa-col-clasificador\">{{ itemData.valor }}</td>\n }\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"totalColumnas\">\n <div class=\"sa-vacio\">\n <i class=\"pi pi-search\" aria-hidden=\"true\"></i>\n @if (busquedaArticulos.key) {\n <p>Sin resultados para \u00AB{{ busquedaArticulos.key }}\u00BB. Prueba con otro t\u00E9rmino o tipo de b\u00FAsqueda.</p>\n } @else {\n <p>Escribe un t\u00E9rmino de b\u00FAsqueda y presiona <strong>Buscar</strong> para consultar la existencia de\n art\u00EDculos.</p>\n }\n </div>\n </td>\n </tr>\n </ng-template>\n\n </p-table>\n\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\" (onPageChange)=\"pagina($event)\"\n [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n\n </div>\n</p-dialog>\n<!--termina seleccion de articulos-->\n<!--selecciona ubicacion -->\n@if (showModalInformacion) {\n <lib-seleccion-articulo-informacion [showModal]=\"showModalInformacion\" [articulo]=\"articuloSelected\"\n (eventSelection)=\"onEventInformacion($event)\">\n </lib-seleccion-articulo-informacion>\n}\n", styles: [".sa-cuerpo{display:flex;flex-direction:column;gap:.875rem;flex:1 1 auto;min-height:0}.sa-etiqueta{display:block;margin-bottom:.25rem;font-weight:600;color:#475569}.sa-tipo-busqueda{width:10.5rem;flex:0 0 auto}.sa-campo-busqueda{flex:1 1 auto;min-width:7rem}.sa-almacen{width:100%;max-width:22rem}p-table.sa-tabla{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.sa-col-ubicacion{width:7.5rem}.sa-col-codigo{width:6.5rem}.sa-col-unidad{width:4.5rem}.sa-col-accion{width:3.25rem;text-align:center}.sa-col-accion .p-button{width:1.85rem;height:1.85rem;padding:0}.sa-col-unidades{width:12rem}.sa-col-clasificador{width:6.5rem}.sa-col-descripcion{min-width:13rem;max-width:26rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sa-unidad-existencia{display:flex;justify-content:space-between;gap:.5rem}p-table.sa-tabla tr.p-highlight{background:#e3f2fd;color:#1565c0;font-weight:600}.sa-vacio{display:flex;align-items:center;gap:.75rem;padding:1.25rem .5rem;color:#64748b}.sa-vacio i{font-size:1.5rem;color:#94a3b8}.sa-vacio p{margin:0}.sa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"] }]
|
|
1540
|
+
}], propDecorators: { configuracion: [{
|
|
1492
1541
|
type: Input
|
|
1493
1542
|
}], showArticulos: [{
|
|
1494
1543
|
type: Input
|
|
@@ -1500,6 +1549,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1500
1549
|
type: Output
|
|
1501
1550
|
}], emitShowArticulos: [{
|
|
1502
1551
|
type: Output
|
|
1552
|
+
}], campoBusqueda: [{
|
|
1553
|
+
type: ViewChild,
|
|
1554
|
+
args: ['campoBusqueda']
|
|
1503
1555
|
}] } });
|
|
1504
1556
|
|
|
1505
1557
|
const components = [
|
|
@@ -1554,7 +1606,7 @@ function HttpLoaderFactory(http) {
|
|
|
1554
1606
|
}
|
|
1555
1607
|
class CoreLibModule {
|
|
1556
1608
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1557
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CoreLibModule, declarations: [Error404Component, LoadingComponent, LoadingScreenComponent, LoginModalComponent, PdfModalComponent, SessionCreateComponent, SeleccionaArticuloComponent, CclistaComponent, CcseleccionDialogComponent, SeleccionArticuloInformacionComponent], imports: [CommonModule, i9.CardModule, i10.TooltipModule, i11.OverlayPanelModule, i12.RadioButtonModule, i13.CheckboxModule, i14.AutoCompleteModule, i15.TableModule, i16.TreeTableModule, i17.CalendarModule, i15.TableModule, i18.ButtonModule, i19.InputTextModule, i20.DropdownModule, i21.InputMaskModule, i22.MessagesModule, i23.MessageModule, i24.PaginatorModule, i25.ConfirmDialogModule, i26.ProgressBarModule, i27.TriStateCheckboxModule, i28.KeyFilterModule, i29.InputSwitchModule, i30.DialogModule, i31.TabViewModule, i32.PanelModule, i33.ToolbarModule, i34.SplitButtonModule, i35.FieldsetModule, i36.TreeModule, i37.TabMenuModule, i38.MenubarModule, FormsModule, i1$1.ToastrModule, i2.TranslateModule], exports: [LoadingComponent, LoadingScreenComponent, LoginModalComponent, PdfModalComponent, SessionCreateComponent, SeleccionaArticuloComponent, CclistaComponent, CcseleccionDialogComponent, i9.CardModule, i10.TooltipModule, i11.OverlayPanelModule, i12.RadioButtonModule, i13.CheckboxModule, i14.AutoCompleteModule, i15.TableModule, i16.TreeTableModule, i17.CalendarModule, i15.TableModule, i18.ButtonModule, i19.InputTextModule, i20.DropdownModule, i21.InputMaskModule, i22.MessagesModule, i23.MessageModule, i24.PaginatorModule, i25.ConfirmDialogModule, i26.ProgressBarModule, i27.TriStateCheckboxModule, i28.KeyFilterModule, i29.InputSwitchModule, i30.DialogModule, i31.TabViewModule, i32.PanelModule, i33.ToolbarModule, i34.SplitButtonModule, i35.FieldsetModule, i36.TreeModule, i37.TabMenuModule, i38.MenubarModule, TranslateModule] }); }
|
|
1609
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CoreLibModule, declarations: [Error404Component, LoadingComponent, LoadingScreenComponent, LoginModalComponent, PdfModalComponent, SessionCreateComponent, SeleccionaArticuloComponent, CclistaComponent, CcseleccionDialogComponent, SeleccionArticuloInformacionComponent], imports: [CommonModule, i9.CardModule, i10.TooltipModule, i11.OverlayPanelModule, i12.RadioButtonModule, i13.CheckboxModule, i14.AutoCompleteModule, i15.TableModule, i16.TreeTableModule, i17.CalendarModule, i15.TableModule, i18.ButtonModule, i19.InputTextModule, i20.DropdownModule, i21.InputMaskModule, i22.MessagesModule, i23.MessageModule, i24.PaginatorModule, i25.ConfirmDialogModule, i26.ProgressBarModule, i27.TriStateCheckboxModule, i28.KeyFilterModule, i29.InputSwitchModule, i30.DialogModule, i31.TabViewModule, i32.PanelModule, i33.ToolbarModule, i34.SplitButtonModule, i35.FieldsetModule, i36.TreeModule, i37.TabMenuModule, i38.MenubarModule, FormsModule, i1$1.ToastrModule, i2$1.TranslateModule], exports: [LoadingComponent, LoadingScreenComponent, LoginModalComponent, PdfModalComponent, SessionCreateComponent, SeleccionaArticuloComponent, CclistaComponent, CcseleccionDialogComponent, i9.CardModule, i10.TooltipModule, i11.OverlayPanelModule, i12.RadioButtonModule, i13.CheckboxModule, i14.AutoCompleteModule, i15.TableModule, i16.TreeTableModule, i17.CalendarModule, i15.TableModule, i18.ButtonModule, i19.InputTextModule, i20.DropdownModule, i21.InputMaskModule, i22.MessagesModule, i23.MessageModule, i24.PaginatorModule, i25.ConfirmDialogModule, i26.ProgressBarModule, i27.TriStateCheckboxModule, i28.KeyFilterModule, i29.InputSwitchModule, i30.DialogModule, i31.TabViewModule, i32.PanelModule, i33.ToolbarModule, i34.SplitButtonModule, i35.FieldsetModule, i36.TreeModule, i37.TabMenuModule, i38.MenubarModule, TranslateModule] }); }
|
|
1558
1610
|
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreLibModule, providers: [
|
|
1559
1611
|
primeNgServices,
|
|
1560
1612
|
{ provide: HTTP_INTERCEPTORS, useClass: httpInterceptor, multi: true }
|