From 7e6ab8cdafd9b0a076c7f3eface3bed738900c8c Mon Sep 17 00:00:00 2001 From: Luigi Date: Tue, 18 Jun 2019 12:08:09 -0300 Subject: [PATCH] Modal para crear nuevo cliente --- src/js/controller.js | 48 ++- src/js/controllerCliente.js | 132 ++++---- src/views/foca-modal-cliente.html | 2 +- src/views/foca-modal-nuevo-cliente.html | 515 ++++++++++++++++++++++++++++++++ 4 files changed, 639 insertions(+), 58 deletions(-) create mode 100644 src/views/foca-modal-nuevo-cliente.html diff --git a/src/js/controller.js b/src/js/controller.js index 0d0c78e..65285e4 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -8,12 +8,17 @@ angular.module('focaAbmCliente') NOM: undefined, COD: undefined }; - $scope.vendedor = {}; - - $scope.botonCliente = [{ - label: 'Cliente', - image: 'cliente.png' - }]; + + $scope.botonCliente = [ + { + label: 'Cliente', + image: 'cliente.png' + }, + { + label: 'Nuevo Cliente', + image: 'nuevoCliente.png' + } + ]; $scope.botonera = [ { @@ -43,6 +48,7 @@ angular.module('focaAbmCliente') }); $scope.seleccionarCliente = function() { + $scope.$broadcast('cleanCabecera'); var datos = null; focaAbmClienteService.getAllClientes() .then(function (res) { @@ -80,6 +86,36 @@ angular.module('focaAbmCliente') }); }; + $scope.seleccionarNuevoCliente = function () { + if ($scope.cliente.NOM !== undefined && $scope.cliente.COD !== undefined) { + $scope.$broadcast('cleanCabecera'); + $scope.cliente= {}; + } + var modalInstanceCliente = $uibModal.open( + { + ariaLabelledBy: '', + templateUrl: 'foca-modal-nuevo-cliente.html', + controller: 'focaModalClienteController', + resolve: { + idCliente: function () { return null; }, + }, + size: 'lg', + } + ); + modalInstanceCliente.result + .then( function(data) { + if (data) { + $scope.cliente.NOM = data.NOM; + $scope.cliente.COD = data.COD; + $scope.$broadcast('cleanCabecera'); + $scope.$broadcast('addCabecera', { + label: 'Cliente:', + valor: $filter('rellenarDigitos')($scope.cliente.NOM) + }); + } + }); + }; + $scope.seleccionarDatosCliente = function () { if ($scope.cliente.NOM === undefined || $scope.cliente.COD === undefined) { focaModalService.alert('Seleccione cliente'); diff --git a/src/js/controllerCliente.js b/src/js/controllerCliente.js index d255b58..edfd769 100644 --- a/src/js/controllerCliente.js +++ b/src/js/controllerCliente.js @@ -4,59 +4,88 @@ angular.module('focaAbmCliente') 'focaAbmClienteService', 'idCliente', function ($scope, $timeout, $uibModalInstance, focaModalService, focaAbmClienteService, idCliente) { - $scope.cliente = { - provincia: {}, - localidad: {}, - zona: {}, - actividad: {}, - cobrador: {}, - vendedor: {}, - iva: {}, - tipoFactura: {}, - tipoComprobante: {}, - formaPago: {} + + $scope.clienteTemplate = { + COD: 0, + ES_MAY: true, + cuit1: '', + cuit2: '', + cuit3: '', + provincia: { + NOMBRE: '' + }, + localidad: { + NOMBRE: '' + }, + iva: { + NOMBRE: '' + }, + actividad: { + NOM: '' + }, + zona: { + NOM: '' + }, + tipoFactura: { + NOMBRE: '' + }, + tipoComprobante: { + NOMBRE: '' + }, + formaPago: { + NOMBRE: '' + }, + cobrador: { + NOM: '' + } }; + + $scope.cliente = angular.copy($scope.clienteTemplate); + $scope.vendedor = {}; + $scope.regexCuit = new RegExp(/\b(20|23|24|27|30|33|34)(\D)?[0-9]{8}(\D)?[0-9]/); $scope.vendedor = {}; - focaAbmClienteService.obtenerClientePorCodigo(idCliente) - .then(function (res) { - var data = res.data[0]; - $scope.cliente.codigo = data.COD; - $scope.cliente.DOM = data.DOM; - $scope.cliente.NOM = data.NOM; - $scope.cliente.CPO = data.CPO; - $scope.cliente.provincia.ID = data.PCX; - $scope.cliente.provincia.NOMBRE = data.PCI; - $scope.cliente.localidad.ID = data.LOX; - $scope.cliente.localidad.NOMBRE = data.LOC; - $scope.cliente.zona.ID = data.zona.ID; - $scope.cliente.zona.NOM = data.zona.NOM; - $scope.cliente.actividad.NOM = data.actividad.NOM; - $scope.cliente.actividad.ID = data.actividad.ID; - $scope.cliente.cobrador.NOM = data.cobrador ? data.cobrador.NOM : ''; - $scope.cliente.cobrador.NUM = data.cobrador ? data.cobrador.NUM : undefined; - $scope.cliente.cobrador.ID = data.cobrador ? data.cobrador.id : undefined; - $scope.vendedor.NOM = data.vendedor.NOM; - $scope.vendedor.id = data.vendedor.id; - $scope.cliente.MAIL = data.MAIL; - $scope.cliente.TEL = data.TEL; - $scope.cliente.iva.NOMBRE = data.iva.NOMBRE; - $scope.cliente.tipoFactura.NOMBRE = data.tipoFactura.NOMBRE; - $scope.cliente.tipoFactura.ID = data.tipoFactura.ID; - var cuit = data.CUIT.split('-'); - $scope.cliente.cuit1 = cuit[0]; - $scope.cliente.cuit2 = cuit[1]; - $scope.cliente.cuit3 = cuit[2]; - $scope.cliente.tipoComprobante.NOMBRE = data.tipoComprobante.NOMBRE; - $scope.cliente.tipoComprobante.ID = data.tipoComprobante.ID; - $scope.cliente.formaPago.NOMBRE = data.formaPago.NOMBRE; - $scope.cliente.formaPago.ID = data.formaPago.ID; - $scope.cliente.ES_PROS = data.ES_PROS; - $scope.cliente.ES_MAY = data.ES_MAY; - $scope.editando = true; - }) - .catch(function (e) { console.log(e); }); + if (idCliente) { + focaAbmClienteService.obtenerClientePorCodigo(idCliente) + .then(function (res) { + var data = res.data[0]; + $scope.cliente.COD = data.COD; + $scope.cliente.DOM = data.DOM; + $scope.cliente.NOM = data.NOM; + $scope.cliente.CPO = data.CPO; + $scope.cliente.provincia.ID = data.PCX; + $scope.cliente.provincia.NOMBRE = data.PCI; + $scope.cliente.localidad.ID = data.LOX; + $scope.cliente.localidad.NOMBRE = data.LOC; + $scope.cliente.zona.ID = data.zona.ID; + $scope.cliente.zona.NOM = data.zona.NOM; + $scope.cliente.actividad.NOM = data.actividad.NOM; + $scope.cliente.actividad.ID = data.actividad.ID; + $scope.cliente.cobrador.NOM = data.cobrador ? data.cobrador.NOM : ''; + $scope.cliente.cobrador.NUM = data.cobrador ? data.cobrador.NUM : undefined; + $scope.cliente.cobrador.ID = data.cobrador ? data.cobrador.id : undefined; + $scope.vendedor.NOM = data.vendedor.NOM; + $scope.vendedor.id = data.vendedor.id; + $scope.cliente.MAIL = data.MAIL; + $scope.cliente.TEL = data.TEL; + $scope.cliente.iva.NOMBRE = data.iva.NOMBRE; + $scope.cliente.tipoFactura.NOMBRE = data.tipoFactura.NOMBRE; + $scope.cliente.tipoFactura.ID = data.tipoFactura.ID; + var cuit = data.CUIT.split('-'); + $scope.cliente.cuit1 = cuit[0]; + $scope.cliente.cuit2 = cuit[1]; + $scope.cliente.cuit3 = cuit[2]; + $scope.cliente.tipoComprobante.NOMBRE = data.tipoComprobante.NOMBRE; + $scope.cliente.tipoComprobante.ID = data.tipoComprobante.ID; + $scope.cliente.formaPago.NOMBRE = data.formaPago.NOMBRE; + $scope.cliente.formaPago.ID = data.formaPago.ID; + $scope.cliente.ES_PROS = data.ES_PROS; + $scope.cliente.ES_MAY = data.ES_MAY; + $scope.editando = true; + }) + .catch(function (e) { console.log(e); }); + } $scope.cancel = function () { $uibModalInstance.dismiss('cancel'); @@ -122,7 +151,8 @@ angular.module('focaAbmCliente') var cliente = crearCopia(); focaAbmClienteService .guardarCliente(cliente) - .then(function () { + .then(function (data) { + cliente.COD = data.data.COD; $uibModalInstance.close(cliente); }) .catch(function (e) { @@ -476,7 +506,7 @@ angular.module('focaAbmCliente') function crearCopia() { var cliente = angular.copy($scope.cliente); - cliente.COD = cliente.codigo; + cliente.COD = cliente.COD; cliente.CPO = cliente.CPO; cliente.PCX = parseInt(cliente.provincia.ID); cliente.LOX = parseInt(cliente.localidad.ID); diff --git a/src/views/foca-modal-cliente.html b/src/views/foca-modal-cliente.html index 7b1c76d..d6caaa9 100644 --- a/src/views/foca-modal-cliente.html +++ b/src/views/foca-modal-cliente.html @@ -26,7 +26,7 @@ diff --git a/src/views/foca-modal-nuevo-cliente.html b/src/views/foca-modal-nuevo-cliente.html new file mode 100644 index 0000000..003847b --- /dev/null +++ b/src/views/foca-modal-nuevo-cliente.html @@ -0,0 +1,515 @@ + + + -- 1.9.1