controller.js 5.83 KB
angular.module('focaModalCheque')
    .controller('focaModalChequeController', 
        [
            '$filter',
            '$scope',
            '$uibModalInstance',
            '$uibModal',
            'cheque',
            'focaModalService',
            function($filter, $scope, $uibModalInstance, $uibModal, cheque, focaModalService) {
                if(cheque.esNuevo) {
                    $scope.cheque = {
                        banco: {
                            desbco: ''//Nombre del banco
                        },
                        provincia: {
                            NOMBRE:''
                        },
                        localidad: {
                            NOMBRE: ''
                        },
                        fechaEmision: new Date(),
                        importe: cheque.importe
                    };
                } else {
                    $scope.cheque = cheque;
                }
                $scope.focused = 1;

                $scope.next = function(key) {
                    if(key === 13) $scope.focused++;
                };

                $scope.seleccionarBanco = function(key) {
                    if(key === 13) {
                        var parametrosModal = {
                            searchText: $scope.cheque.banco.desbco,
                            query: '/banco',
                            columnas: [
                                {
                                    propiedad: 'ID',
                                    nombre: 'Codigo',
                                    filtro: {
                                        nombre: 'rellenarDigitos',
                                        parametro: 3}
                                    },
                                {
                                    propiedad: 'desbco',
                                    nombre: 'Nombre'
                                }
                            ],
                            titulo:'Búsqueda de bancos',
                            size: 'md'
                        };
                        focaModalService.modal(parametrosModal).then(function(banco) {
                            $scope.cheque.banco = banco;
                            $scope.focused = 2;
                        }, function() {
                            //TODO: función llamada cuando cancela el modal
                        });
                    }
                };

                $scope.seleccionarProvincia = function(key) {
                    if(key === 13) {
                        var parametrosModal = {
                            searchText: $scope.cheque.provincia.NOMBRE,
                            query: '/provincia',
                            columnas: [
                                {
                                    propiedad: 'ID',
                                    nombre: 'Codigo',
                                    filtro: {
                                        nombre: 'rellenarDigitos',
                                        parametro: 3}
                                    },
                                {
                                    propiedad: 'NOMBRE',
                                    nombre: 'Nombre'
                                }
                            ],
                            titulo:'Búsqueda de provincias',
                            size: 'md'
                        };
                        focaModalService.modal(parametrosModal).then(function(provincia) {
                            $scope.cheque.provincia = provincia;
                            $scope.focused = 3;
                        }, function() {
                            //TODO: función llamada cuando cancela el modal
                        });
                    }
                };

                $scope.seleccionarLocalidad = function(key) {
                    if($scope.cheque.provincia.ID === undefined) {
                        focaModalService.alert('Seleccione una provincia');
                        return;
                    }
                    if(key === 13) {
                        var parametrosModal = {
                            searchText: $scope.cheque.localidad.NOMBRE,
                            query: '/localidad/' + $scope.cheque.provincia.ID,
                            columnas: [
                                {
                                    propiedad: 'ID',
                                    nombre: 'Codigo',
                                    filtro: {
                                        nombre: 'rellenarDigitos',
                                        parametro: 3}
                                    },
                                {
                                    propiedad: 'NOMBRE',
                                    nombre: 'Nombre'
                                }
                            ],
                            titulo:'Búsqueda de localidades',
                            size: 'md'
                        };
                        focaModalService.modal(parametrosModal).then(function(localidad) {
                            $scope.cheque.localidad = localidad;
                            $scope.focused = 4;
                        }, function() {
                            //TODO: función llamada cuando cancela el modal
                        });
                    }
                };

                $scope.aceptar = function() {
                    delete $scope.cheque.provincia.localidades;
                    //TODO: al enviar el importe con punto se pone como mil, no como decimal
                    $scope.cheque.importe = parseFloat($scope.cheque.importe);
                    $uibModalInstance.close($scope.cheque);
                };

                $scope.cancel = function() {
                    $uibModalInstance.dismiss('cancel');
                };
            }
        ]
    );