Commit 9ab132e96ba19fd02bb3ed3f25ea5c38b7ab5e8e
1 parent
117ea07ec6
Exists in
master
Agegada logica para buscar y seleccionar un producto.
Showing
2 changed files
with
106 additions
and
20 deletions
Show diff stats
src/js/controller.js
| ... | ... | @@ -430,12 +430,87 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
| 430 | 430 | |
| 431 | 431 | }); |
| 432 | 432 | $scope.botoneraProductos.push({ |
| 433 | - label: 'BusquedaProductos', | |
| 433 | + label: 'Busqueda Productos', | |
| 434 | 434 | image: 'buscarProductos.png' |
| 435 | 435 | }); |
| 436 | 436 | }); |
| 437 | 437 | } |
| 438 | 438 | |
| 439 | + $scope.seleccionarBusquedaProductos = function () { | |
| 440 | + | |
| 441 | + var modalInstance = $uibModal.open( | |
| 442 | + { | |
| 443 | + ariaLabelledBy: 'Busqueda de Productos', | |
| 444 | + templateUrl: 'modal-busqueda-productos.html', | |
| 445 | + controller: 'modalBusquedaProductosCtrl', | |
| 446 | + resolve: { | |
| 447 | + parametroProducto: { | |
| 448 | + idLista: null, | |
| 449 | + cotizacion: $scope.factura.cotizacion.VENDEDOR, | |
| 450 | + simbolo: $scope.factura.cotizacion.moneda.SIMBOLO, | |
| 451 | + buscarTodos: true | |
| 452 | + } | |
| 453 | + }, | |
| 454 | + size: 'lg' | |
| 455 | + } | |
| 456 | + ); | |
| 457 | + | |
| 458 | + modalInstance.result | |
| 459 | + .then(function (producto) { | |
| 460 | + | |
| 461 | + console.log(producto); | |
| 462 | + var articulo = { | |
| 463 | + TIP: $scope.factura.cliente.tipoFactura, | |
| 464 | + TCO: 'FT', | |
| 465 | + SUC: parseInt($scope.puntoVenta), | |
| 466 | + ORD: $scope.articulosFiltro().length + 1, | |
| 467 | + SEC: producto.sector, | |
| 468 | + ART: producto.codigo, | |
| 469 | + RUB: producto.CodRub, | |
| 470 | + DES: producto.descripcionLarga, | |
| 471 | + PUN: producto.precio, // TODO | |
| 472 | + IVA: producto.IMPIVA, // TODO | |
| 473 | + NET: 0, // TODO | |
| 474 | + NEX: 0, // TODO | |
| 475 | + IMI: producto.ImpInt, // TODO | |
| 476 | + IMI2: producto.ImpInt2, // TODO | |
| 477 | + IMI3: producto.ImpInt3, // TODO | |
| 478 | + PUT: producto.PreNet, // TODO | |
| 479 | + SUR: 0, | |
| 480 | + PLA: $scope.factura.vendedor.NplVen, | |
| 481 | + LUG: $scope.factura.vendedor.LugVen, | |
| 482 | + LEG: $scope.factura.vendedor.CodVen, | |
| 483 | + TUR: $scope.factura.vendedor.TurVen, | |
| 484 | + ORDEN_PRECOMPRA: '', | |
| 485 | + ESC: producto.tipoFactura === 'L' ? 1 : 0, | |
| 486 | + CMF: 0, | |
| 487 | + PTA: 0, | |
| 488 | + IVS: 0, | |
| 489 | + TIVA: 0, | |
| 490 | + CON: 0, | |
| 491 | + SINO: '', | |
| 492 | + ORD_TRA: 0, | |
| 493 | + IMP_DESP: 0, | |
| 494 | + PCD: 0, | |
| 495 | + RTO: '' | |
| 496 | + }; | |
| 497 | + // crearFacturaService.setearDespachoOcupado({ | |
| 498 | + // surtidor: articulo.SUR, | |
| 499 | + // producto: articulo.PRO, | |
| 500 | + // carga: articulo.CAR | |
| 501 | + // }) | |
| 502 | + // .then(function () { | |
| 503 | + $scope.factura.articulosFactura.push(articulo); | |
| 504 | + $scope.cambioEdit(articulo, 'cantidad'); | |
| 505 | + // }) | |
| 506 | + // .catch(function (err) { | |
| 507 | + | |
| 508 | + // focaModalService.alert('El despacho esta en uso'); | |
| 509 | + // }); | |
| 510 | + }) | |
| 511 | + .catch(function (e) { console.log(e); }); | |
| 512 | + }; | |
| 513 | + | |
| 439 | 514 | function crearFuncionesProductos(producto) { |
| 440 | 515 | |
| 441 | 516 | $scope[nombreFuncion(producto.DetArt)] = function () { |
| ... | ... | @@ -668,6 +743,34 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
| 668 | 743 | } |
| 669 | 744 | } |
| 670 | 745 | |
| 746 | + $scope.cambioEdit = function (articulo, propiedad) { | |
| 747 | + if (propiedad === 'cantidad') { | |
| 748 | + articulo.editCantidad = true; | |
| 749 | + } | |
| 750 | + }; | |
| 751 | + | |
| 752 | + $scope.editarArticulo = function (key, articulo, tmpCantidad) { | |
| 753 | + if (key === 13) { | |
| 754 | + if (!articulo.cantidad && !tmpCantidad) { | |
| 755 | + focaModalService.alert('Los valores deben ser al menos 1'); | |
| 756 | + return; | |
| 757 | + } else if (tmpCantidad === '0') { | |
| 758 | + focaModalService.alert('Esta ingresando un producto con valor 0'); | |
| 759 | + } else if (articulo.cantidad < 0) { | |
| 760 | + focaModalService.alert('Los valores no pueden ser negativos'); | |
| 761 | + return; | |
| 762 | + } | |
| 763 | + articulo.CAN = parseInt(tmpCantidad); | |
| 764 | + $scope.getTotal(); | |
| 765 | + articulo.editCantidad = false; | |
| 766 | + } | |
| 767 | + }; | |
| 768 | + | |
| 769 | + $scope.cancelarEditar = function (articulo) { | |
| 770 | + $scope.tmpCantidad = articulo.CAN; | |
| 771 | + articulo.editCantidad = false; | |
| 772 | + }; | |
| 773 | + | |
| 671 | 774 | function actualizarCabeceraMoneda(cotizacion) { |
| 672 | 775 | |
| 673 | 776 | $scope.factura.articulosFactura.forEach(function (art) { |
src/views/factura.html
| ... | ... | @@ -88,9 +88,9 @@ |
| 88 | 88 | foca-tipo-input |
| 89 | 89 | min="1" |
| 90 | 90 | foca-focus="articulo.editCantidad" |
| 91 | - ng-keypress="editarArticulo($event.keyCode, articulo, tmpCantidad, tmpPrecio);" | |
| 91 | + ng-keypress="editarArticulo($event.keyCode, articulo, tmpCantidad);" | |
| 92 | 92 | esc-key="cancelarEditar(articulo)" |
| 93 | - ng-focus="selectFocus($event); tmpCantidad = articulo.CAN; tmpPrecio = articulo.PUN" | |
| 93 | + ng-focus="selectFocus($event); tmpCantidad = articulo.CAN;" | |
| 94 | 94 | teclado-virtual |
| 95 | 95 | > |
| 96 | 96 | <i |
| ... | ... | @@ -101,25 +101,8 @@ |
| 101 | 101 | </i> |
| 102 | 102 | </td> |
| 103 | 103 | <td class="col text-right"> |
| 104 | - <input | |
| 105 | - ng-show="articulo.editPrecio" | |
| 106 | - ng-model="tmpPrecio" | |
| 107 | - class="form-control" | |
| 108 | - foca-tipo-input | |
| 109 | - min="1" | |
| 110 | - step="0.0001" | |
| 111 | - foca-focus="articulo.editPrecio" | |
| 112 | - ng-keypress="editarArticulo($event.keyCode, articulo, tmpCantidad, tmpPrecio);" | |
| 113 | - esc-key="cancelarEditar(articulo)" | |
| 114 | - ng-focus="selectFocus($event); | |
| 115 | - tmpCantidad = articulo.CAN; | |
| 116 | - tmpPrecio = articulo.PUN" | |
| 117 | - teclado-virtual | |
| 118 | - > | |
| 119 | 104 | <i |
| 120 | 105 | class="selectable" |
| 121 | - ng-click="cambioEdit(articulo, 'precio')" | |
| 122 | - ng-hide="articulo.editPrecio" | |
| 123 | 106 | ng-bind="articulo.PUN | number: 4"> |
| 124 | 107 | </i> |
| 125 | 108 | </td> |