diff --git a/src/js/controller.js b/src/js/controller.js index 9c19205..bef3e0c 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -430,12 +430,87 @@ angular.module('focaCrearFactura').controller('facturaController', [ }); $scope.botoneraProductos.push({ - label: 'BusquedaProductos', + label: 'Busqueda Productos', image: 'buscarProductos.png' }); }); } + $scope.seleccionarBusquedaProductos = function () { + + var modalInstance = $uibModal.open( + { + ariaLabelledBy: 'Busqueda de Productos', + templateUrl: 'modal-busqueda-productos.html', + controller: 'modalBusquedaProductosCtrl', + resolve: { + parametroProducto: { + idLista: null, + cotizacion: $scope.factura.cotizacion.VENDEDOR, + simbolo: $scope.factura.cotizacion.moneda.SIMBOLO, + buscarTodos: true + } + }, + size: 'lg' + } + ); + + modalInstance.result + .then(function (producto) { + + console.log(producto); + var articulo = { + TIP: $scope.factura.cliente.tipoFactura, + TCO: 'FT', + SUC: parseInt($scope.puntoVenta), + ORD: $scope.articulosFiltro().length + 1, + SEC: producto.sector, + ART: producto.codigo, + RUB: producto.CodRub, + DES: producto.descripcionLarga, + PUN: producto.precio, // TODO + IVA: producto.IMPIVA, // TODO + NET: 0, // TODO + NEX: 0, // TODO + IMI: producto.ImpInt, // TODO + IMI2: producto.ImpInt2, // TODO + IMI3: producto.ImpInt3, // TODO + PUT: producto.PreNet, // TODO + SUR: 0, + PLA: $scope.factura.vendedor.NplVen, + LUG: $scope.factura.vendedor.LugVen, + LEG: $scope.factura.vendedor.CodVen, + TUR: $scope.factura.vendedor.TurVen, + ORDEN_PRECOMPRA: '', + ESC: producto.tipoFactura === 'L' ? 1 : 0, + CMF: 0, + PTA: 0, + IVS: 0, + TIVA: 0, + CON: 0, + SINO: '', + ORD_TRA: 0, + IMP_DESP: 0, + PCD: 0, + RTO: '' + }; + // crearFacturaService.setearDespachoOcupado({ + // surtidor: articulo.SUR, + // producto: articulo.PRO, + // carga: articulo.CAR + // }) + // .then(function () { + $scope.factura.articulosFactura.push(articulo); + $scope.cambioEdit(articulo, 'cantidad'); + // }) + // .catch(function (err) { + + // focaModalService.alert('El despacho esta en uso'); + // }); + }) + .catch(function (e) { console.log(e); }); + }; + function crearFuncionesProductos(producto) { $scope[nombreFuncion(producto.DetArt)] = function () { @@ -668,6 +743,34 @@ angular.module('focaCrearFactura').controller('facturaController', [ } } + $scope.cambioEdit = function (articulo, propiedad) { + if (propiedad === 'cantidad') { + articulo.editCantidad = true; + } + }; + + $scope.editarArticulo = function (key, articulo, tmpCantidad) { + if (key === 13) { + if (!articulo.cantidad && !tmpCantidad) { + focaModalService.alert('Los valores deben ser al menos 1'); + return; + } else if (tmpCantidad === '0') { + focaModalService.alert('Esta ingresando un producto con valor 0'); + } else if (articulo.cantidad < 0) { + focaModalService.alert('Los valores no pueden ser negativos'); + return; + } + articulo.CAN = parseInt(tmpCantidad); + $scope.getTotal(); + articulo.editCantidad = false; + } + }; + + $scope.cancelarEditar = function (articulo) { + $scope.tmpCantidad = articulo.CAN; + articulo.editCantidad = false; + }; + function actualizarCabeceraMoneda(cotizacion) { $scope.factura.articulosFactura.forEach(function (art) { diff --git a/src/views/factura.html b/src/views/factura.html index 8eb91a2..061bdaa 100644 --- a/src/views/factura.html +++ b/src/views/factura.html @@ -88,9 +88,9 @@ foca-tipo-input min="1" foca-focus="articulo.editCantidad" - ng-keypress="editarArticulo($event.keyCode, articulo, tmpCantidad, tmpPrecio);" + ng-keypress="editarArticulo($event.keyCode, articulo, tmpCantidad);" esc-key="cancelarEditar(articulo)" - ng-focus="selectFocus($event); tmpCantidad = articulo.CAN; tmpPrecio = articulo.PUN" + ng-focus="selectFocus($event); tmpCantidad = articulo.CAN;" teclado-virtual > -