Commit c09ac249b620b8ed260f4bef986b5765bc325f28
Exists in
master
Merge branch 'master' into 'master'
Master See merge request modulos-npm/foca-crear-nota-pedido!41
Showing
2 changed files
Show diff stats
src/js/controller.js
| ... | ... | @@ -41,7 +41,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', |
| 41 | 41 | $scope.comprobante = Math.round(Math.random() * 1000000); |
| 42 | 42 | |
| 43 | 43 | $scope.articulosTabla = []; |
| 44 | - var idLista; | |
| 44 | + $scope.idLista = undefined; | |
| 45 | 45 | var notaPedidoTemp = crearNotaPedidoService.getNotaPedido(); |
| 46 | 46 | crearNotaPedidoService.getPrecioCondicion().then( |
| 47 | 47 | function(res) { |
| ... | ... | @@ -53,7 +53,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', |
| 53 | 53 | $scope.notaPedido = notaPedidoTemp; |
| 54 | 54 | $scope.notaPedido.flete = ($scope.notaPedido.flete).toString(); |
| 55 | 55 | $scope.notaPedido.bomba = ($scope.notaPedido.bomba).toString(); |
| 56 | - idLista = $scope.notaPedido.precioCondicion; | |
| 56 | + $scope.idLista = $scope.notaPedido.precioCondicion; | |
| 57 | 57 | crearNotaPedidoService |
| 58 | 58 | .getArticulosByIdNotaPedido($scope.notaPedido.id).then( |
| 59 | 59 | function(res) { |
| ... | ... | @@ -71,7 +71,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', |
| 71 | 71 | $scope.notaPedido.fechaCarga = new Date(); |
| 72 | 72 | $scope.notaPedido.bomba = '0'; |
| 73 | 73 | $scope.notaPedido.flete = '0'; |
| 74 | - idLista = undefined; | |
| 74 | + $scope.idLista = undefined; | |
| 75 | 75 | } |
| 76 | 76 | //TO DO - FUNCIONES PARA MULTIPLES DOMICILIOS NO IMPLEMENTADAS EN ESTA DEMO |
| 77 | 77 | // $scope.addNewDom = function() { |
| ... | ... | @@ -121,7 +121,8 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', |
| 121 | 121 | } |
| 122 | 122 | var articulosNotaPedido = $scope.articulosTabla; |
| 123 | 123 | for(var i = 0; i < articulosNotaPedido.length; i++) { |
| 124 | - delete articulosNotaPedido[i].edit; | |
| 124 | + delete articulosNotaPedido[i].editCantidad; | |
| 125 | + delete articulosNotaPedido[i].editPrecio; | |
| 125 | 126 | articulosNotaPedido[i].idNotaPedido = data.data.id; |
| 126 | 127 | crearNotaPedidoService |
| 127 | 128 | .crearArticulosParaNotaPedido(articulosNotaPedido[i]); |
| ... | ... | @@ -141,7 +142,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', |
| 141 | 142 | }; |
| 142 | 143 | |
| 143 | 144 | $scope.seleccionarArticulo = function() { |
| 144 | - if (idLista === undefined) { | |
| 145 | + if ($scope.idLista === undefined) { | |
| 145 | 146 | focaModalService.alert( |
| 146 | 147 | 'Primero seleccione una lista de precio y condicion'); |
| 147 | 148 | return; |
| ... | ... | @@ -151,7 +152,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', |
| 151 | 152 | ariaLabelledBy: 'Busqueda de Productos', |
| 152 | 153 | templateUrl: 'modal-busqueda-productos.html', |
| 153 | 154 | controller: 'modalBusquedaProductosCtrl', |
| 154 | - resolve: { idLista: function() { return idLista; } }, | |
| 155 | + resolve: { idLista: function() { return $scope.idLista; } }, | |
| 155 | 156 | size: 'lg' |
| 156 | 157 | } |
| 157 | 158 | ); |
| ... | ... | @@ -166,9 +167,10 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', |
| 166 | 167 | descripcion: producto.descripcion, |
| 167 | 168 | item: $scope.articulosTabla.length + 1, |
| 168 | 169 | nombre: producto.descripcion, |
| 169 | - precio: producto.precio.toFixed(2), | |
| 170 | + precio: parseFloat(producto.precio.toFixed(2)), | |
| 170 | 171 | costoUnitario: producto.costo, |
| 171 | - edit: false | |
| 172 | + editCantidad: false, | |
| 173 | + editPrecio: false | |
| 172 | 174 | }; |
| 173 | 175 | $scope.articuloACargar = newArt; |
| 174 | 176 | $scope.cargando = false; |
| ... | ... | @@ -313,13 +315,13 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', |
| 313 | 315 | var plazosConcat = ''; |
| 314 | 316 | if(!Array.isArray(precioCondicion)) { |
| 315 | 317 | $scope.plazosPagos = precioCondicion.plazoPago; |
| 316 | - idLista = precioCondicion.idListaPrecio; | |
| 318 | + $scope.idLista = precioCondicion.idListaPrecio; | |
| 317 | 319 | for(var i = 0; i < precioCondicion.plazoPago.length; i++) { |
| 318 | 320 | plazosConcat += precioCondicion.plazoPago[i].dias + ' '; |
| 319 | 321 | } |
| 320 | 322 | cabecera = precioCondicion.nombre + ' ' + plazosConcat.trim(); |
| 321 | 323 | } else { //Cuando se ingresan los plazos manualmente |
| 322 | - idLista = -1; //-1, el modal productos busca todos los productos | |
| 324 | + $scope.idLista = -1; //-1, el modal productos busca todos los productos | |
| 323 | 325 | $scope.plazosPagos = precioCondicion; |
| 324 | 326 | for(var j = 0; j < precioCondicion.length; j++) { |
| 325 | 327 | plazosConcat += precioCondicion[j].dias + ' '; |
| ... | ... | @@ -451,12 +453,17 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', |
| 451 | 453 | focaModalService.alert('El valor debe ser al menos 1'); |
| 452 | 454 | return; |
| 453 | 455 | } |
| 454 | - articulo.edit = false; | |
| 456 | + articulo.editCantidad = false; | |
| 457 | + articulo.editPrecio = false; | |
| 455 | 458 | } |
| 456 | 459 | }; |
| 457 | 460 | |
| 458 | - $scope.cambioEdit = function(articulo) { | |
| 459 | - articulo.edit = true; | |
| 461 | + $scope.cambioEdit = function(articulo, propiedad) { | |
| 462 | + if(propiedad === 'cantidad') { | |
| 463 | + articulo.editCantidad = true; | |
| 464 | + } else if(propiedad === 'precio') { | |
| 465 | + articulo.editPrecio = true; | |
| 466 | + } | |
| 460 | 467 | }; |
| 461 | 468 | |
| 462 | 469 | $scope.limpiarFlete = function() { |
src/views/nota-pedido.html
| ... | ... | @@ -126,28 +126,43 @@ |
| 126 | 126 | class="col-4" |
| 127 | 127 | ng-bind="articulo.descripcion" |
| 128 | 128 | ></td> |
| 129 | - <td class="col text-right"> | |
| 129 | + <td class="col text-right"> | |
| 130 | 130 | <input |
| 131 | - ng-show="articulo.edit" | |
| 131 | + ng-show="articulo.editCantidad" | |
| 132 | 132 | ng-model="articulo.cantidad" |
| 133 | 133 | class="form-control" |
| 134 | 134 | type="number" |
| 135 | 135 | min="1" |
| 136 | - foca-focus="articulo.edit" | |
| 136 | + foca-focus="articulo.editCantidad" | |
| 137 | 137 | ng-keypress="editarArticulo($event.keyCode, articulo)" |
| 138 | 138 | ng-focus="selectFocus($event)" |
| 139 | 139 | > |
| 140 | 140 | <i |
| 141 | 141 | class="selectable" |
| 142 | - ng-click="cambioEdit(articulo)" | |
| 143 | - ng-hide="articulo.edit" | |
| 142 | + ng-click="cambioEdit(articulo, 'cantidad')" | |
| 143 | + ng-hide="articulo.editCantidad" | |
| 144 | 144 | ng-bind="articulo.cantidad"> |
| 145 | 145 | </i> |
| 146 | 146 | </td> |
| 147 | - <td | |
| 148 | - class="col text-right" | |
| 149 | - ng-bind="articulo.precio | currency: '$'" | |
| 150 | - ></td> | |
| 147 | + <td class="col text-right"> | |
| 148 | + <input | |
| 149 | + ng-show="articulo.editPrecio" | |
| 150 | + ng-model="articulo.precio" | |
| 151 | + class="form-control" | |
| 152 | + type="number" | |
| 153 | + min="1" | |
| 154 | + step="0.01" | |
| 155 | + foca-focus="articulo.editPrecio" | |
| 156 | + ng-keypress="editarArticulo($event.keyCode, articulo)" | |
| 157 | + ng-focus="selectFocus($event)" | |
| 158 | + > | |
| 159 | + <i | |
| 160 | + class="selectable" | |
| 161 | + ng-click="cambioEdit(articulo, 'precio')" | |
| 162 | + ng-hide="articulo.editPrecio" | |
| 163 | + ng-bind="articulo.precio"> | |
| 164 | + </i> | |
| 165 | + </td> | |
| 151 | 166 | <td |
| 152 | 167 | class="col text-right" |
| 153 | 168 | ng-bind="(articulo.precio * articulo.cantidad) | currency: '$'"> |
| ... | ... | @@ -197,8 +212,18 @@ |
| 197 | 212 | <input |
| 198 | 213 | class="form-control" |
| 199 | 214 | ng-value="articuloACargar.precio | currency: '$'" |
| 215 | + ng-show="idLista != -1" | |
| 200 | 216 | readonly |
| 201 | 217 | > |
| 218 | + <input | |
| 219 | + class="form-control" | |
| 220 | + type="number" | |
| 221 | + step="0.01" | |
| 222 | + ng-model="articuloACargar.precio" | |
| 223 | + esc-key="resetFilter()" | |
| 224 | + ng-keypress="agregarATabla($event.keyCode)" | |
| 225 | + ng-show="idLista == -1" | |
| 226 | + > | |
| 202 | 227 | </td> |
| 203 | 228 | <td class="col text-right"> |
| 204 | 229 | <input |