From 186f7e77fe0730358e5b9a1c9b92164a01ab4a95 Mon Sep 17 00:00:00 2001 From: efernandez Date: Wed, 7 Nov 2018 13:34:59 -0300 Subject: [PATCH] refactor agregar domicilio en modal --- src/js/controller.js | 61 +++++++++++++++++---------- src/js/service.js | 8 ++-- src/views/modal-domicilio.html | 95 +++++++++++++----------------------------- 3 files changed, 75 insertions(+), 89 deletions(-) diff --git a/src/js/controller.js b/src/js/controller.js index 72624d4..55939cd 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -9,8 +9,9 @@ angular.module('focaModalDomicilio') function($filter, $scope, $uibModalInstance, idCliente,focaModalDomicilioService) { $scope.buscar = function() { - focaModalDomicilioService.getDomiciliosByIdCliente($scope.idCliente).then( - function(res) { + focaModalDomicilioService + .getDomiciliosEntregaByIdCliente($scope.idCliente) + .then(function(res) { $scope.domicilios = res.data; $scope.search(); $scope.primerBusqueda = true; @@ -95,29 +96,47 @@ angular.module('focaModalDomicilio') } }; - $scope.agregarContacto = function() { - $scope.contactos.push({item: $scope.contactos[$scope.contactos.length]}); - }; - - $scope.quitarContacto = function(key) { - $scope.contactos.splice(key, 1); - }; - $scope.agregarDomicilio= function() { + $scope.domicilio.valores = []; $scope.domicilio.idCliente = $scope.idCliente; - $scope.domicilio.idDomicilioTipo = 2; //siempre es tipo de entrega - for(var i = 0; i < $scope.contactos.length; i++) { - $scope.contactos[i].idCliente = idCliente; - focaModalDomicilioService.guardarContacto($scope.contactos[i]); + if($scope.domicilio.calle) { + $scope.domicilio.valores.push({ + ID_ADAC_1: 1, + dato: $scope.domicilio.calle + }); } - focaModalDomicilioService - .guardarDomicilio($scope.domicilio) - .then(function() { - $scope.buscar(); + if($scope.domicilio.numeroCalle) { + $scope.domicilio.valores.push({ + ID_ADAC_1: 2, + dato: $scope.domicilio.numeroCalle }); - $scope.ingreso = false; - $scope.domicilio = {}; - $scope.contactos = [{}]; + } + if($scope.domicilio.localidad) { + $scope.domicilio.valores.push({ + ID_ADAC_1: 3, + dato: $scope.domicilio.localidad + }); + } + if($scope.domicilio.provincia) { + $scope.domicilio.valores.push({ + ID_ADAC_1: 4, + dato: $scope.domicilio.provincia + }); + } + //domicilios de entrega corresponden al 1 + focaModalDomicilioService + .obtenerUltimoPorNivelPadre(1) + .then(function(res) { + $scope.domicilio.nivel1 = 1;//domicilio de entrega corresponde 1 + $scope.domicilio.nivel2 = res.data[0].ultimo + 1; + focaModalDomicilioService + .guardarDomicilio($scope.domicilio) + .then(function() { + $scope.buscar(); + $scope.ingreso = false; + $scope.domicilio = {}; + }); + }); }; function calcularPages(paginaActual) { diff --git a/src/js/service.js b/src/js/service.js index 3155bc8..e6ca51c 100644 --- a/src/js/service.js +++ b/src/js/service.js @@ -4,16 +4,18 @@ angular.module('focaModalDomicilio') 'API_ENDPOINT', function($http, API_ENDPOINT) { return { - getDomiciliosByIdCliente: function(id) { - var idTipoDom = 2;//El tipo para nota de pedido es 2 (tipo de entrega) + getDomiciliosEntregaByIdCliente: function(id) { return $http.get(API_ENDPOINT.URL + - '/domicilio/tipo/' + idTipoDom + '/cliente/' + id); + '/domicilio/entrega/cliente/' + id); }, guardarDomicilio: function(domicilio) { return $http.post(API_ENDPOINT.URL + '/domicilio', {domicilio: domicilio}); }, guardarContacto: function(contacto) { return $http.post(API_ENDPOINT.URL + '/contacto', {contacto: contacto}); + }, + obtenerUltimoPorNivelPadre: function(nivel1) { + return $http.get(API_ENDPOINT.URL + '/domicilio/ultimo/' + nivel1); } }; } diff --git a/src/views/modal-domicilio.html b/src/views/modal-domicilio.html index 92bc5fd..3732700 100644 --- a/src/views/modal-domicilio.html +++ b/src/views/modal-domicilio.html @@ -17,28 +17,21 @@ - + + - - - - - - - - - - - - - - + + + +
DomicilioTituloCalle Localidad ProvinciaContacto
TipoContacto
+ No se encontraron resultados.
+ - - -
- -
- -- 1.9.1