From 9f6a02e51e53017b482afa37e7842f517191a394 Mon Sep 17 00:00:00 2001 From: efernandez Date: Mon, 5 Nov 2018 17:44:48 -0300 Subject: [PATCH] =?UTF-8?q?implementaci=C3=B3n=20agregar=20domicilio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- src/js/controller.js | 48 ++++++++++-- src/js/service.js | 6 ++ src/views/modal-domicilio.html | 162 +++++++++++++++++++++++++++++++++++++---- 4 files changed, 195 insertions(+), 23 deletions(-) diff --git a/index.html b/index.html index e519be7..5fb61a0 100644 --- a/index.html +++ b/index.html @@ -39,7 +39,7 @@ templateUrl: 'src/views/modal-domicilio.html', controller: 'focaModalDomicilioController', size: 'lg', - resolve: {idLista : function() { return null; }} + resolve: {idCliente : function() { return 1; }} } ); diff --git a/src/js/controller.js b/src/js/controller.js index 50101b2..72624d4 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -8,13 +8,20 @@ angular.module('focaModalDomicilio') 'focaModalDomicilioService', function($filter, $scope, $uibModalInstance, idCliente,focaModalDomicilioService) { - focaModalDomicilioService.getDomiciliosByIdCliente(idCliente).then( - function(res) { - $scope.domicilios = res.data; - $scope.search(); - } - ); - + $scope.buscar = function() { + focaModalDomicilioService.getDomiciliosByIdCliente($scope.idCliente).then( + function(res) { + $scope.domicilios = res.data; + $scope.search(); + $scope.primerBusqueda = true; + } + ); + }; + $scope.idCliente = idCliente; + $scope.buscar(); + $scope.ingreso = false; + $scope.primerBusqueda = false; + $scope.contactos = [{}]; // pagination $scope.numPerPage = 5; $scope.currentPage = 1; @@ -88,6 +95,31 @@ 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.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]); + } + focaModalDomicilioService + .guardarDomicilio($scope.domicilio) + .then(function() { + $scope.buscar(); + }); + $scope.ingreso = false; + $scope.domicilio = {}; + $scope.contactos = [{}]; + }; + function calcularPages(paginaActual) { var paginas = []; paginas.push(paginaActual); @@ -131,7 +163,7 @@ angular.module('focaModalDomicilio') } function siguiente() { - if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length - 1 ) { + if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length ) { $scope.selectedDomicilio++; } else { avanzarPagina(); diff --git a/src/js/service.js b/src/js/service.js index 4044d2b..3155bc8 100644 --- a/src/js/service.js +++ b/src/js/service.js @@ -8,6 +8,12 @@ angular.module('focaModalDomicilio') var idTipoDom = 2;//El tipo para nota de pedido es 2 (tipo de entrega) return $http.get(API_ENDPOINT.URL + '/domicilio/tipo/' + idTipoDom + '/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}); } }; } diff --git a/src/views/modal-domicilio.html b/src/views/modal-domicilio.html index da9018c..92bf68c 100644 --- a/src/views/modal-domicilio.html +++ b/src/views/modal-domicilio.html @@ -2,7 +2,7 @@