angular.module('focaAbmCliente') .controller('focaAbmClienteController', [ '$scope', 'focaBotoneraLateralService', '$timeout', '$uibModal','focaModalService', 'focaAbmClienteService','$filter', function($scope, focaBotoneraLateralService, $timeout, $uibModal,focaModalService, focaAbmClienteService, $filter) { $scope.cliente= { NOM: undefined, COD: undefined }; $scope.botonCliente = [ { label: 'Cliente', image: 'cliente.png' }, { label: 'Nuevo Cliente', image: 'nuevoCliente.png' } ]; $scope.botonera = [ { label: 'Datos Cliente', image: 'datoscliente.png', }, { label: 'Domicilios de entrega', image: 'domicilioDeEntrega.png' }, { label: 'Lista de precios', image: 'precios-condiciones.png' }, { label: 'Plazos', image: 'plazos.png' } ]; //SETEO BOTONERA LATERAL $timeout(function() { focaBotoneraLateralService.showSalir(true); focaBotoneraLateralService.showPausar(false); focaBotoneraLateralService.showCancelar(false); focaBotoneraLateralService.showGuardar(false); }); $scope.seleccionarCliente = function() { $scope.$broadcast('cleanCabecera'); var datos = null; focaAbmClienteService.getAllClientes() .then(function (res) { datos = res.data; focaModalService.modal({ titulo: 'Clientes', data: datos, size: 'md', columnas: [ { propiedad: 'COD', nombre: 'Codigo' }, { propiedad: 'NOM', nombre: 'Nombre' }, { propiedad: 'CUIT', nombre: 'CUIT' } ], }).then(function (res) { $scope.cliente.NOM = res.NOM; $scope.cliente.COD = res.COD; $scope.cliente.MOD = res.MOD; $scope.$broadcast('addCabecera', { label: 'Cliente:', valor: $filter('rellenarDigitos') ($scope.cliente.COD, 5) + ' - ' + $scope.cliente.NOM }); }).catch(function (e) { console.log(e); }); }); }; $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'); return; } else { var modalInstanceCliente = $uibModal.open( { ariaLabelledBy: '', templateUrl: 'foca-modal-cliente.html', controller: 'focaModalClienteController', resolve: { idCliente: function () { return $scope.cliente.COD; }, }, size: 'lg', } ); modalInstanceCliente.result .then( function(data) { if (data) { $scope.cliente.NOM = data.NOM; $scope.$broadcast('cleanCabecera'); $scope.$broadcast('addCabecera', { label: 'Cliente:', valor: $filter('rellenarDigitos')($scope.cliente.NOM) }); } }); } }; $scope.seleccionarDomiciliosDeEntrega = function () { if ($scope.cliente.NOM === undefined || $scope.cliente.COD === undefined) { focaModalService.alert('Seleccione un cliente'); return; } var modalInstanceDomicilio = $uibModal.open( { ariaLabelledBy: 'Busqueda de Domicilios', templateUrl: 'modal-domicilio.html', controller: 'focaModalDomicilioController', resolve: { idCliente: function () { return $scope.cliente.COD; }, esNuevo: function () { return $scope.cliente.esNuevo; } }, size: 'lg', } ); modalInstanceDomicilio.result.then( function(data) { if (data) { $scope.$broadcast('addCabecera', { label: 'Domicilio:', valor: data.Calle + ' ' + data.Numero + ' - ' + data.Localidad + ' - ' + data.Provincia }); } }); }; $scope.seleccionarListaDePrecios = function () { if ($scope.cliente.NOM === undefined || $scope.cliente.COD === undefined) { focaModalService.alert('Seleccione cliente'); return; } var parametros = { idListaPrecio: $scope.cliente.MOD, idCliente: $scope.cliente.COD }; var modalInstance = $uibModal.open( { ariaLabelledBy: 'Precio-Condicion: Listas', templateUrl: 'modal-precios.html', controller: 'focaModalListaPreciosController', size: 'lg', resolve : { parametros: function () { return parametros; } } } ); modalInstance.result.then( function (data) { if (data) { $scope.cliente.MOD = data.listaPrecio.ID; $scope.$broadcast('addCabecera', { label: 'Precio y Condicion:', valor: $filter('rellenarDigitos')(parseInt(data.listaPrecio.ID), 4) + ' - ' + data.listaPrecio.DES }); } }); }; $scope.seleccionarPlazos = function () { if ($scope.cliente.NOM === undefined || $scope.cliente.COD === undefined) { focaModalService.alert('Seleccione cliente'); return; } var modalInstance = $uibModal.open( { ariaLabelledBy: 'Plazos', templateUrl: 'modal-plazos.html', controller: 'focaModalListaPlazosController', size: 'lg', resolve: { idCliente: function () { return $scope.cliente.COD || null; } } } ); modalInstance.result.then( function (data) { if (data) { var plazosConcat = ''; for (var i = 0; i < data.plazoPago.length; i++) { plazosConcat += data.plazoPago[i].dias + ', '; } plazosConcat = plazosConcat.substring(0, plazosConcat.length - 2); $scope.$broadcast('addCabecera', { label: 'Plazos:', valor: $filter('rellenarDigitos')(plazosConcat) }); } }); }; } ]);