Commit 7c42b1852e17a8ea941eb70e8e5a719e9b6097a0

Authored by Nicolás Guarnieri
1 parent 16f1bb1958
Exists in master

mejorar inicializacion y salir

Showing 1 changed file with 70 additions and 50 deletions   Show diff stats
src/js/controller.js
... ... @@ -13,14 +13,31 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
13 13 focaCrearHojaRutaService, focaModalService, focaBotoneraLateralService,
14 14 focaLoginSrv)
15 15 {
  16 + config();
16 17  
17   - $scope.botonera = focaCrearHojaRutaService.getBotonera();
18   - $scope.datepickerAbierto = false;
  18 + function config() {
  19 + $scope.botonera = focaCrearHojaRutaService.getBotonera();
  20 + $scope.datepickerAbierto = false;
  21 + $scope.show = false;
  22 + $scope.cargando = true;
  23 + $scope.now = new Date();
  24 + $scope.puntoVenta = $filter('rellenarDigitos')(0, 4);
  25 + $scope.comprobante = $filter('rellenarDigitos')(0, 8);
  26 +
  27 + //SETEO BOTONERA LATERAL
  28 + $timeout(function() {
  29 + focaBotoneraLateralService.showSalir(false);
  30 + focaBotoneraLateralService.showPausar(true);
  31 + focaBotoneraLateralService.showGuardar(true, $scope.crearHojaRuta);
  32 + focaBotoneraLateralService.addCustomButton('Salir', salir);
  33 + });
  34 +
  35 + init();
  36 + }
19 37  
20   - $scope.show = false;
21   - $scope.cargando = true;
  38 + function init() {
  39 + $scope.$broadcast('cleanCabecera');
22 40  
23   - function nuevaHojaRuta() {
24 41 $scope.hojaRuta = {
25 42 fecha: new Date(),
26 43 litros: 0,
... ... @@ -33,33 +50,28 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
33 50 costo: null
34 51 }
35 52 };
  53 +
  54 + $scope.remitosTabla = [];
  55 + $scope.idLista = undefined;
  56 +
  57 + focaCrearHojaRutaService.getNumeroHojaRuta().then(
  58 + function(res) {
  59 + $scope.puntoVenta = $filter('rellenarDigitos')(res.data.sucursal, 4);
  60 + $scope.comprobante = $filter('rellenarDigitos')(res.data.numeroHojaRuta, 8);
  61 + },
  62 + function(err) {
  63 + focaModalService.alert('La terminal no esta configurada correctamente');
  64 + console.info(err);
  65 + }
  66 + );
  67 +
  68 + $scope.inicial = {
  69 + hojaRuta: angular.copy($scope.hojaRuta),
  70 + remitosTabla: angular.copy($scope.remitosTabla),
  71 + idLista: angular.copy($scope.idLista)
  72 + };
36 73 }
37   - nuevaHojaRuta();
38   - $scope.showCabecera = true;
39   -
40   - $scope.now = new Date();
41   - $scope.puntoVenta = '0000';
42   - $scope.comprobante = '00000000';
43   - $scope.remitosTabla = [];
44   - $scope.idLista = undefined;
45   -
46   - //SETEO BOTONERA LATERAL
47   - $timeout(function() {
48   - focaBotoneraLateralService.showSalir(true);
49   - focaBotoneraLateralService.showPausar(true);
50   - focaBotoneraLateralService.showGuardar(true, $scope.crearHojaRuta);
51   - });
52   -
53   - focaCrearHojaRutaService.getNumeroHojaRuta().then(
54   - function(res) {
55   - $scope.puntoVenta = $scope.rellenar(res.data.sucursal, 4);
56   - $scope.comprobante = $scope.rellenar(res.data.numeroHojaRuta, 8);
57   - },
58   - function(err) {
59   - focaModalService.alert('La terminal no esta configurada correctamente');
60   - console.info(err);
61   - }
62   - );
  74 +
63 75 $scope.crearHojaRuta = function() {
64 76 if(!$scope.remitosTabla.length) {
65 77 focaModalService.alert('Ingrese Remitos');
... ... @@ -105,17 +117,11 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
105 117 function(data) {
106 118 focaModalService.alert(
107 119 'Hoja ruta creada Nº: ' +
108   - $scope.rellenar(data.data.sucursal, 4) +
109   - '-' +
110   - $scope.rellenar(data.data.numeroHojaRuta, 8)
  120 + $filter('rellenarDigitos')(data.data.sucursal, 4) + '-' +
  121 + $filter('rellenarDigitos')(data.data.numeroHojaRuta, 8)
111 122 );
112   - nuevaHojaRuta();
113   - $scope.remitosTabla = [];
114   - $scope.$broadcast('cleanCabecera');
115   -
116   - focaCrearHojaRutaService.getNumeroHojaRuta().then(function(res) {
117   - $scope.comprobante = $scope.rellenar(res.data.numeroHojaRuta, 8);
118   - });
  123 +
  124 + init();
119 125 },
120 126 function(error) {
121 127 focaModalService.alert('Hubo un error al crear la hoja de ruta');
... ... @@ -369,18 +375,9 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
369 375 valor: fecha.toLocaleDateString()
370 376 });
371 377 $scope.fechaReparto = fecha;
372   - nuevaHojaRuta();
373 378 });
374 379 }
375 380  
376   - $scope.rellenar = function(relleno, longitud) {
377   - relleno = '' + relleno;
378   - while (relleno.length < longitud) {
379   - relleno = '0' + relleno;
380   - }
381   - return relleno;
382   - };
383   -
384 381 function eligioPreConfirmado() {
385 382 if($scope.eligioPreConfirmado) {
386 383 focaModalService.alert('No puede elegir si eligió un vehiculo pre cargado');
... ... @@ -485,5 +482,28 @@ angular.module(&#39;focaCrearHojaRuta&#39;) .controller(&#39;hojaRutaCtrl&#39;,
485 482 }
486 483 return false;
487 484 }
  485 +
  486 + function salir() {
  487 + var confirmacion = false;
  488 +
  489 + angular.forEach($scope.inicial, function(valor, key) {
  490 + if (!angular.equals($scope[key], $scope.inicial[key])) {
  491 + confirmacion = true;
  492 + }
  493 + });
  494 +
  495 + if (confirmacion) {
  496 + focaModalService.confirm(
  497 + '¿Esta seguro de que desea salir? ' +
  498 + 'Se perderán todos los datos cargados.'
  499 + ).then(function(data) {
  500 + if (data) {
  501 + $location.path('/');
  502 + }
  503 + });
  504 + } else {
  505 + $location.path('/');
  506 + }
  507 + }
488 508 }
489 509 ]);