controller.js 6.83 KB
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.vendedor = {};
            
            $scope.botonCliente = [{
                label: 'Cliente',
                image: 'cliente.png'
            }];

            $scope.botonera = [
                {
                    label: 'Datos Cliente',
                    image: 'datoscliente.png',
                },
                {
                    label: 'Domicilios de entrega',
                    image: 'dimiciliodeentrega.png'
                },
                {
                    label: 'Precio y Condiciones',
                    image: 'precios-condiciones.png'
                }
            ];

            //SETEO BOTONERA LATERAL
            $timeout(function() {
                focaBotoneraLateralService.showSalir(true);
                focaBotoneraLateralService.showPausar(false);
                focaBotoneraLateralService.showCancelar(false);
                focaBotoneraLateralService.showGuardar(false);
            });

            $scope.seleccionarCliente = function() {
                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.$broadcast('addCabecera', {
                                    label: 'Cliente:',
                                    valor: $filter('rellenarDigitos')
                                           ($scope.cliente.COD, 5) + ' - ' + $scope.cliente.NOM
                                });
                            }).catch(function (e) {
                                console.log(e);
                            });
                        });
            };

            $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.seleccionarPrecioYCondiciones = function () {

                if ($scope.cliente.NOM === undefined || $scope.cliente.COD === undefined) {
                    focaModalService.alert('Seleccione cliente');
                    return;
                }
                var modalInstance = $uibModal.open(
                    {
                        ariaLabelledBy: 'Busqueda de Precio Condición',
                        templateUrl: 'modal-precio-condicion.html',
                        controller: 'focaModalPrecioCondicionController',
                        size: 'lg',
                        resolve: {
                            idListaPrecio: function () {
                                return $scope.cliente.MOD || null;
                            }
                        }
                    }
                );

                modalInstance.result.then( function (data) {
                    if (data) {
                        console.log('Data: ', data);
                    }

                    }, function () {

                    }
                );
            };


    }
]);