Commit c09ac249b620b8ed260f4bef986b5765bc325f28

Authored by Pablo Marco del Pont
Exists in master

Merge branch 'master' into 'master'

Master

See merge request modulos-npm/foca-crear-nota-pedido!41
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(&#39;focaCrearNotaPedido&#39;) .controller(&#39;notaPedidoCtrl&#39;,
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(&#39;focaCrearNotaPedido&#39;) .controller(&#39;notaPedidoCtrl&#39;,
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(&#39;focaCrearNotaPedido&#39;) .controller(&#39;notaPedidoCtrl&#39;,
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(&#39;focaCrearNotaPedido&#39;) .controller(&#39;notaPedidoCtrl&#39;,
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(&#39;focaCrearNotaPedido&#39;) .controller(&#39;notaPedidoCtrl&#39;,
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