diff --git a/src/js/controller.js b/src/js/controller.js index 5aa783c..4c7a767 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -124,6 +124,7 @@ angular.module('focaAbmVehiculo') var codigo = ('00000' + res.data[0].COD).slice(-5); $scope.vehiculo.idTransportista = res.data[0].COD; $scope.vehiculo.transportista = res.data; + $scope.vehiculo.capacidad = 0; $scope.$broadcast('addCabecera', { label: 'Transportista:', valor: codigo + ' - ' + res.data[0].ALI @@ -217,19 +218,22 @@ angular.module('focaAbmVehiculo') $scope.crear = true; }; - $scope.seleccionarUnidadMedida = function (cisterna) { - var modalInstance = $uibModal.open( - { - ariaLabelledBy: 'Busqueda de Unidades de medida', - templateUrl: 'modal-unidad-medida.html', - controller: 'focaModalUnidadMedidaCtrl', - size: 'lg' - } - ); - modalInstance.result.then(function (unidaMedida) { - cisterna.idUnidadMedida = unidaMedida.ID; - cisterna.unidadMedida = unidaMedida; - }); + $scope.seleccionarUnidadMedida = function (key,cisterna) { + + if (key === 13) { + var modalInstance = $uibModal.open( + { + ariaLabelledBy: 'Busqueda de Unidades de medida', + templateUrl: 'modal-unidad-medida.html', + controller: 'focaModalUnidadMedidaCtrl', + size: 'lg' + } + ); + modalInstance.result.then(function (unidaMedida) { + cisterna.idUnidadMedida = unidaMedida.ID; + cisterna.unidadMedida = unidaMedida; + }); + } }; $scope.guardar = function (key) { @@ -254,15 +258,6 @@ angular.module('focaAbmVehiculo') } else if (!$scope.vehiculo.semi) { focaModalService.alert('Ingrese dominio semi'); return; - } else if (!$scope.vehiculo.capacidad) { - focaModalService.alert('Ingrese capacidad total'); - return; - } - //Valida si existe numero de unidad - if (!validaTotalCargas() && !$scope.nuevo) { - focaModalService.alert('La suma de las capacidades de las cisternas' + - ' debe ser igual a la capacidad total del vehículo'); - return; } if ($scope.nuevo) { @@ -280,6 +275,9 @@ angular.module('focaAbmVehiculo') focaModalService.alert('Código de unidad existente'); }); } else { + delete $scope.vehiculo.cisternas; + delete $scope.vehiculo.transportista; + focaAbmVehiculoService.guardarVehiculo($scope.vehiculo); guardarCisternas($scope.cisternas).then(function () { angular.element('#guardar').addClass('guardado'); $timeout(function () {$location.path('/vehiculo');},500); @@ -325,6 +323,7 @@ angular.module('focaAbmVehiculo') .then(function (data) { if (data) { cisterna.desactivado = true; + validaTotalCargas(); } }); return; @@ -355,9 +354,11 @@ angular.module('focaAbmVehiculo') $scope.cisternas.forEach(function (cisterna) { if (!cisterna.desactivado) { total += parseInt(cisterna.capacidad); + } else { + $scope.vehiculo.capacidad -= parseInt(cisterna.capacidad); } }); - return $scope.vehiculo.capacidad >= total; + return $scope.vehiculo.capacidad = total; } function guardarCisternas() { @@ -391,7 +392,8 @@ angular.module('focaAbmVehiculo') } else if (cisterna.id === undefined) { cisterna.id = 0; } - + + validaTotalCargas(); validaCodigo(cisterna); }; diff --git a/src/views/foca-abm-vehiculos-item.html b/src/views/foca-abm-vehiculos-item.html index 05d0e52..4c13113 100644 --- a/src/views/foca-abm-vehiculos-item.html +++ b/src/views/foca-abm-vehiculos-item.html @@ -67,7 +67,7 @@ ng-required="true" foca-focus="focused == 4" ng-focus="focused = 4" - ng-disabled="!nuevo" + ng-disabled="nuevo || !nuevo" /> @@ -185,6 +185,7 @@ @@ -193,7 +194,7 @@ ladda="searchLoading" class="btn btn-outline-secondary form-control" type="button" - ng-click="seleccionarUnidadMedida(cisterna)" + ng-click="seleccionarUnidadMedida(13,cisterna)" foca-focus="focused == 3" >