Commit cd2f24f5f8a090bdcf19e1c6a7eb09fe7d06e9ba
1 parent
2813aeb8f7
Exists in
master
precio editable cuando precios-condiciones ingresa plazo manual
Showing
2 changed files
with
54 additions
and
22 deletions
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 + ' '; |
| ... | ... | @@ -422,12 +424,17 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', |
| 422 | 424 | focaModalService.alert('El valor debe ser al menos 1'); |
| 423 | 425 | return; |
| 424 | 426 | } |
| 425 | - articulo.edit = false; | |
| 427 | + articulo.editCantidad = false; | |
| 428 | + articulo.editPrecio = false; | |
| 426 | 429 | } |
| 427 | 430 | }; |
| 428 | 431 | |
| 429 | - $scope.cambioEdit = function(articulo) { | |
| 430 | - articulo.edit = true; | |
| 432 | + $scope.cambioEdit = function(articulo, propiedad) { | |
| 433 | + if(propiedad === 'cantidad') { | |
| 434 | + articulo.editCantidad = true; | |
| 435 | + } else if(propiedad === 'precio') { | |
| 436 | + articulo.editPrecio = true; | |
| 437 | + } | |
| 431 | 438 | }; |
| 432 | 439 | |
| 433 | 440 | $scope.limpiarFlete = function() { |
src/views/nota-pedido.html
| ... | ... | @@ -125,28 +125,43 @@ |
| 125 | 125 | class="col-4" |
| 126 | 126 | ng-bind="articulo.descripcion" |
| 127 | 127 | ></td> |
| 128 | - <td class="col text-right"> | |
| 128 | + <td class="col text-right"> | |
| 129 | 129 | <input |
| 130 | - ng-show="articulo.edit" | |
| 130 | + ng-show="articulo.editCantidad" | |
| 131 | 131 | ng-model="articulo.cantidad" |
| 132 | 132 | class="form-control" |
| 133 | 133 | type="number" |
| 134 | 134 | min="1" |
| 135 | - foca-focus="articulo.edit" | |
| 135 | + foca-focus="articulo.editCantidad" | |
| 136 | 136 | ng-keypress="editarArticulo($event.keyCode, articulo)" |
| 137 | 137 | ng-focus="selectFocus($event)" |
| 138 | 138 | > |
| 139 | 139 | <i |
| 140 | 140 | class="selectable" |
| 141 | - ng-click="cambioEdit(articulo)" | |
| 142 | - ng-hide="articulo.edit" | |
| 141 | + ng-click="cambioEdit(articulo, 'cantidad')" | |
| 142 | + ng-hide="articulo.editCantidad" | |
| 143 | 143 | ng-bind="articulo.cantidad"> |
| 144 | 144 | </i> |
| 145 | 145 | </td> |
| 146 | - <td | |
| 147 | - class="col text-right" | |
| 148 | - ng-bind="articulo.precio | currency: '$'" | |
| 149 | - ></td> | |
| 146 | + <td class="col text-right"> | |
| 147 | + <input | |
| 148 | + ng-show="articulo.editPrecio" | |
| 149 | + ng-model="articulo.precio" | |
| 150 | + class="form-control" | |
| 151 | + type="number" | |
| 152 | + min="1" | |
| 153 | + step="0.01" | |
| 154 | + foca-focus="articulo.editPrecio" | |
| 155 | + ng-keypress="editarArticulo($event.keyCode, articulo)" | |
| 156 | + ng-focus="selectFocus($event)" | |
| 157 | + > | |
| 158 | + <i | |
| 159 | + class="selectable" | |
| 160 | + ng-click="cambioEdit(articulo, 'precio')" | |
| 161 | + ng-hide="articulo.editPrecio" | |
| 162 | + ng-bind="articulo.precio"> | |
| 163 | + </i> | |
| 164 | + </td> | |
| 150 | 165 | <td |
| 151 | 166 | class="col text-right" |
| 152 | 167 | ng-bind="(articulo.precio * articulo.cantidad) | currency: '$'"> |
| ... | ... | @@ -196,8 +211,18 @@ |
| 196 | 211 | <input |
| 197 | 212 | class="form-control" |
| 198 | 213 | ng-value="articuloACargar.precio | currency: '$'" |
| 214 | + ng-show="idLista != -1" | |
| 199 | 215 | readonly |
| 200 | 216 | > |
| 217 | + <input | |
| 218 | + class="form-control" | |
| 219 | + type="number" | |
| 220 | + step="0.01" | |
| 221 | + ng-model="articuloACargar.precio" | |
| 222 | + esc-key="resetFilter()" | |
| 223 | + ng-keypress="agregarATabla($event.keyCode)" | |
| 224 | + ng-show="idLista == -1" | |
| 225 | + > | |
| 201 | 226 | </td> |
| 202 | 227 | <td class="col text-right"> |
| 203 | 228 | <input |