Commit 58888f80223892e396b55e65015dba45b668b669

Authored by Luigi
1 parent fb66976cf0
Exists in master

Agregar Cisternas (Modificado)

src/js/controller.js
... ... @@ -102,6 +102,7 @@ angular.module('focaAbmVehiculo')
102 102 $scope.focused = 1;
103 103 $scope.creando = false;
104 104 $scope.transportistaStamp = '';
  105 + $scope.cisternasABorrar = [];
105 106 $scope.cisternas = [];
106 107 $scope.cisterna = {
107 108 codigo: '',
... ... @@ -205,7 +206,6 @@ angular.module('focaAbmVehiculo')
205 206 };
206 207  
207 208 $scope.guardar = function(key) {
208   -
209 209 key = (typeof key === 'undefined') ? 13 : key;
210 210  
211 211 if (key === 13) {
... ... @@ -231,9 +231,12 @@ angular.module('focaAbmVehiculo')
231 231 //Valida si existe numero de unidad
232 232 if (!validaTotalCargas() && !$scope.nuevo) {
233 233 focaModalService.alert('La suma de las capacidades de las cisternas' +
234   - ' debe ser igual a la capacidad total del vehículo');
  234 + ' debe ser igual a la capacidad total del vehículo');
235 235 return;
236 236 }
  237 +
  238 + borrarCisternas();
  239 +
237 240 validaCodigoUnidad().then(function() {
238 241 delete $scope.vehiculo.transportista;
239 242 delete $scope.vehiculo.cisternas;
... ... @@ -279,6 +282,17 @@ angular.module('focaAbmVehiculo')
279 282 return false;
280 283 }
281 284  
  285 + function borrarCisternas() {
  286 + $scope.cisternasABorrar.forEach(cisternaABorrar => {
  287 + focaAbmVehiculoService.deleteCisterna(cisternaABorrar);
  288 + focaAbmVehiculoService
  289 + .getCisternas($routeParams.idVehiculo)
  290 + .then(function(res) {
  291 + $scope.cisternas = res;
  292 + });
  293 + });
  294 + }
  295 +
282 296 function setearVehiculo(vehiculo) {
283 297 $scope.vehiculo = vehiculo;
284 298 $scope.$broadcast('addCabecera', {
... ... @@ -287,20 +301,15 @@ angular.module('focaAbmVehiculo')
287 301 });
288 302 }
289 303  
290   - $scope.solicitarConfirmacionCisterna = function(cisterna, idx) {
291   - focaModalService.confirm('¿Está seguro que desea borrar la cisterna ' +
292   - cisterna.id + ' ' + cisterna.codigo + ' ?').then(
293   - function(data) {
294   - if (data) {
295   - focaAbmVehiculoService.deleteCisterna(idx);
296   - focaAbmVehiculoService
297   - .getCisternas($routeParams.idVehiculo)
298   - .then(function(res) {
299   - $scope.cisternas = res;
300   - });
301   - }
  304 + $scope.solicitarConfirmacionTabla = function(cisterna, idx){
  305 + focaModalService.confirm('¿Está seguro que desea borrar la cisterna ' + cisterna.id + ' ' + cisterna.codigo + ' ?')
  306 + .then( function(data) {
  307 + if (data) {
  308 + $scope.cisternasABorrar.push(cisterna);
  309 + $scope.cisternas.splice(idx,1);
302 310 }
303   - );
  311 + });
  312 + return;
304 313 };
305 314  
306 315 function validaCodigoUnidad() {
... ... @@ -330,7 +339,7 @@ angular.module('focaAbmVehiculo')
330 339 total += parseInt(cisterna.capacidad);
331 340 }
332 341 });
333   - return $scope.vehiculo.capacidad === total;
  342 + return $scope.vehiculo.capacidad >= total;
334 343 }
335 344 function guardarCisternas() {
336 345 var cisternas = $scope.cisternas.map(function(cisterna) {
... ... @@ -347,7 +356,7 @@ angular.module('focaAbmVehiculo')
347 356 return focaAbmVehiculoService.guardarCisternas(cisternas);
348 357 }
349 358  
350   - $scope.guardarCisterna = function() {
  359 + $scope.agregarCisterna = function() {
351 360 if (!$scope.cisterna.codigo) {
352 361 focaModalService.alert('Ingrese codigo de cisterna');
353 362 return;
... ... @@ -374,22 +383,10 @@ angular.module('focaAbmVehiculo')
374 383 function saveCisterna () {
375 384 $scope.cisterna.idVehiculo = parseInt($routeParams.idVehiculo);
376 385 delete $scope.cisterna.vehiculo;
377   - var auxCisternas = $scope.cisternas;
378 386 if (!$scope.cisterna.id) {
379   - auxCisternas.push($scope.cisterna);
  387 + $scope.cisternas.push($scope.cisterna);
  388 + $scope.$apply();
380 389 }
381   - guardarCisternas(auxCisternas)
382   - .then(function() {
383   - focaAbmVehiculoService
384   - .getCisternas($routeParams.idVehiculo)
385   - .then(function(res) {
386   - $scope.cisternas = res;
387   - $scope.cisterna = {};
388   - });
389   - })
390   - .catch(function (err) {
391   - console.log('Err: ', err);
392   - });
393 390 }
394 391  
395 392 if ($routeParams.idx !== -1) {
... ... @@ -47,10 +47,10 @@ angular.module('focaAbmVehiculo')
47 47 guardarCisternas: function(cisternas) {
48 48 return $http.post(API_ENDPOINT.URL + '/cisterna', {cisternas: cisternas});
49 49 },
50   - deleteCisterna: function(idx) {
51   - cisternas[idx].desactivado = true;
  50 + deleteCisterna: function(cisterna) {
  51 + cisterna.desactivado = true;
52 52 cisternasPristine = false;
53   - return $http.delete(API_ENDPOINT.URL + '/cisterna/' + cisternas[idx].id);
  53 + return $http.delete(API_ENDPOINT.URL + '/cisterna/' + cisterna.id);
54 54 },
55 55 cleanCisternas: function() {
56 56 cisternas = [];
src/views/foca-abm-vehiculos-item.html
... ... @@ -138,7 +138,7 @@
138 138 <td align="center">
139 139 <button
140 140 class="btn btn-outline-dark boton-accion"
141   - ng-click="guardarCisterna()"
  141 + ng-click="agregarCisterna()"
142 142 >
143 143 <i class="fa fa-save"></i>
144 144 </button>
... ... @@ -161,7 +161,7 @@
161 161 <button
162 162 class="btn btn-outline-dark boton-accion"
163 163 title="Eliminar"
164   - ng-click="solicitarConfirmacionCisterna(cisterna, key)"
  164 + ng-click="solicitarConfirmacionTabla(cisterna,$index)"
165 165 >
166 166 <i class="fa fa-trash"></i>
167 167 </button>