comprobantes.component.ts
2.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import { Component, OnInit} from '@angular/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { BusquedaComprobanteComponent } from '../busqueda-comprobante/busqueda-comprobante.component';
import { ComprobanteService } from './comprobantes.service';
@Component({
templateUrl: './comprobantes.component.html',
styleUrls: ['./comprobantes.component.scss'],
providers:[ ComprobanteService ]
})
export class ComprobantesComponent implements OnInit {
constructor(private modalService: NgbModal, public comprobanteService: ComprobanteService) { }
ngOnInit() { }
filter = '';
estadoArticulos = 'pendiente';
comprobantes = [1, 2, 3];
cabecera = {};
cuerpo = [];
articulosFiltro = [];
paginaActiva = 1;
paginas = [];
saveLoading = false;
fecha = new Date();
paginar() {
var cantPaginas = Math.ceil(this.articulosFiltro.length / 5);
this.paginas = [];
for (let i = 0; i < cantPaginas; i++) {
this.paginas.push(i + 1);
}
}
getPaginaFiltro() {
this.articulosFiltro = this.cuerpo.filter((articulo) => {
return articulo.estado == this.estadoArticulos &&
(articulo.TIO.toLocaleUpperCase().includes(this.filter.toLocaleUpperCase()) ||
articulo.codigoBarras == this.filter);
});
this.paginar();
return this.articulosFiltro.slice((this.paginaActiva - 1) * 5 , this.paginaActiva * 5);
}
getCantidadArticulosByEstado(estado: String) {
return this.cuerpo.filter((articulo) => {
return articulo.estado == estado;
}).length;
}
guardarComprobante(event: any) {
if (this.getCantidadArticulosByEstado('pendiente')) {
alert('No deben quedar articulos pendientes');
}
this.comprobanteService
.saveComprobantes({cabecera: this.cabecera, cuerpo: this.cuerpo})
.subscribe(data => {
console.log(data);
});
}
busquedaComprobantes() {
this.modalService.open(BusquedaComprobanteComponent).result.then(comprobante => {
this.cabecera = comprobante.cabecera;
this.cuerpo = comprobante.cuerpo;
this.cuerpo.forEach(articulo => {
articulo['estado'] = 'pendiente';
});
this.getPaginaFiltro();
}, (reason) => { });
}
}