diff --git a/src/js/controllerDetalleVehiculo.js b/src/js/controllerDetalleVehiculo.js index b4aa186..4c3ed81 100644 --- a/src/js/controllerDetalleVehiculo.js +++ b/src/js/controllerDetalleVehiculo.js @@ -33,7 +33,7 @@ angular.module('focaLogisticaPedidoRuta') $uibModalInstance.close(); } $scope.articulos = $scope.remito.articulosRemito; - $scope.cambioArticulo($scope.articulos[0]); + $scope.seleccionarArticulo($scope.articulos[0]); }); $scope.aceptar = function() { $scope.cargando = true; @@ -66,11 +66,9 @@ angular.module('focaLogisticaPedidoRuta') focaModalService.alert('Hubo un error al cargar las cisternas'); }); }; - $scope.cancelar = function() { $uibModalInstance.close(); }; - $scope.cargarACisternas = function(vehiculo) { for(var i = 0; i < vehiculo.cisternas.length; i++) { var cisterna = vehiculo.cisternas[i]; @@ -117,9 +115,8 @@ angular.module('focaLogisticaPedidoRuta') } ); if(articuloSiguiente.length > 0) { - $scope.cambioArticulo(articuloSiguiente[0]); + $scope.seleccionarArticulo(articuloSiguiente[0]); } - $scope.aCargar = []; }; $scope.calcularPorcentaje = function(cisterna) { if(!cisterna.cisternaCarga.cantidad) { @@ -132,17 +129,10 @@ angular.module('focaLogisticaPedidoRuta') elementHtml.style.width = porcentaje; } }; - $scope.cambioArticulo = function(articulo) { - $scope.aCargar = []; - $filter('filter')($scope.articulos, {id: articulo.id})[0].checked = true; + $scope.seleccionarArticulo = function(articulo) { $scope.articuloSeleccionado = articulo; - for(var i = 0; i < $scope.vehiculo.cisternas.length; i++) { - $scope.vehiculo.cisternas[i] = - $scope.cisternaDisabled($scope.vehiculo.cisternas[i]); - } - var disponible = $filter('filter')($scope.vehiculo.cisternas, {disabled: false}); - var index = $scope.vehiculo.cisternas.indexOf(disponible[0]); - $scope.aCargar[index] = $scope.articuloSeleccionado.cantidad; + $scope.cisternaDisabled(); + $scope.autoCompletar(); $scope.actualizarArticulo(); }; $scope.actualizarArticulo = function () { @@ -152,26 +142,33 @@ angular.module('focaLogisticaPedidoRuta') parseFloat($scope.aCargar[i]) || 0; } }; - $scope.cisternaDisabled = function(cisterna) { - if(!$scope.articuloSeleccionado || ($scope.articuloSeleccionado.idArticulo !== - cisterna.cisternaCarga.idProducto && cisterna.cisternaCarga.idProducto) || - !$scope.tieneArticulosPendientes()|| $scope.articuloSeleccionado.cantidad > - cisterna.disponible) { - cisterna.disabled = true; - }else { - cisterna.disabled = false; - } - return cisterna; + $scope.autoCompletar = function() { + $scope.aCargar = []; + var disponible = $filter('filter')($scope.vehiculo.cisternas, {disabled: false}); + var index = $scope.vehiculo.cisternas.indexOf(disponible[0]); + $scope.aCargar[index] = $scope.articuloSeleccionado.cantidad; + }; + $scope.cisternaDisabled = function() { + for (var i = 0; i < $scope.vehiculo.cisternas.length; i++) { + var cisterna = $scope.vehiculo.cisternas[i]; + if(!$scope.articuloSeleccionado || ($scope.articuloSeleccionado.idArticulo !== + cisterna.cisternaCarga.idProducto && cisterna.cisternaCarga.idProducto) || + !$scope.tieneArticulosPendientes()|| $scope.articuloSeleccionado.cantidad > + cisterna.disponible) { + cisterna.disabled = true; + }else { + cisterna.disabled = false; + } + } }; $scope.rellenarInput = function(input) { if(!$scope.articuloSeleccionado) return; + if($scope.articuloSeleccionado.cantidad - + $scope.articuloSeleccionado.cantidadCargada === 0) { + return input; + } if(!input) input = 0; input = parseFloat(input); - if(input === $scope.articuloSeleccionado.cantidad || - $scope.articuloSeleccionado.cantidad - - $scope.articuloSeleccionado.cantidadCargada === 0) { - return input; - } input += parseFloat($scope.articuloSeleccionado.cantidad - $scope.articuloSeleccionado.cantidadCargada); return input; diff --git a/src/views/foca-detalle-vehiculo.html b/src/views/foca-detalle-vehiculo.html index 2720f5f..422c85c 100644 --- a/src/views/foca-detalle-vehiculo.html +++ b/src/views/foca-detalle-vehiculo.html @@ -35,9 +35,9 @@ type="radio" name="articuloRadio" id="{{'articulo' + articulo.id}}" - ng-checked="articulo.checked" + ng-checked="articuloSeleccionado.id === articulo.id" ng-disabled="articulo.cargado" - ng-click="cambioArticulo(articulo)" + ng-click="seleccionarArticulo(articulo)" >