Commit ba72cea3808ad4dbbe20d56fec89890a7300a70f

Authored by Jose Pinto
1 parent d51531d84f
Exists in master and in 1 other branch develop

seleccionar vendedor al seleccionar cliente

Showing 2 changed files with 56 additions and 51 deletions   Show diff stats
src/js/controller.js
... ... @@ -28,6 +28,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
28 28 $scope.datepickerAbierto = false;
29 29 $scope.show = false;
30 30 $scope.cargando = true;
  31 + $scope.botonera = crearNotaPedidoService.getBotonera();
31 32 $scope.puntoVenta = $filter('rellenarDigitos')(0, 4);
32 33 $scope.comprobante = $filter('rellenarDigitos')(0, 8);
33 34 $scope.dateOptions = {
... ... @@ -46,9 +47,6 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
46 47 // SETEA BOTONERA DE FACTURADOR TENIENDO EN CUENTA SI ESTA SETEADO EL VENDEDOR
47 48 if (APP === 'distribuidor') {
48 49 $scope.idVendedor = focaLoginService.getLoginData().vendedorCobrador;
49   - $scope.botonera = crearNotaPedidoService.getBotonera($scope.idVendedor);
50   - } else {
51   - $scope.botonera = crearNotaPedidoService.getBotonera();
52 50 }
53 51  
54 52 //Trabajo con la cotización más reciente, por eso uso siempre la primera '[0]'
... ... @@ -125,10 +123,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
125 123 }, true);
126 124  
127 125 $scope.crearNotaPedido = function() {
128   - if (!$scope.notaPedido.vendedor.id) {
129   - focaModalService.alert('Ingrese Vendedor');
130   - return;
131   - } else if (!$scope.notaPedido.cliente.COD) {
  126 + if (!$scope.notaPedido.cliente.COD) {
132 127 focaModalService.alert('Ingrese Cliente');
133 128 return;
134 129 } else if (!$scope.notaPedido.proveedor.COD) {
... ... @@ -346,7 +341,12 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
346 341 }
347 342 };
348 343  
349   - $scope.seleccionarVendedor = function() {
  344 + $scope.seleccionarVendedor = function(callback, ocultarVendedor) {
  345 + if(APP === 'distribuidor' || ocultarVendedor) {
  346 + callback();
  347 + return;
  348 + }
  349 +
350 350 if(validarNotaRemitada()) {
351 351 var parametrosModal = {
352 352 titulo: 'Búsqueda vendedores',
... ... @@ -375,13 +375,43 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
375 375 vendedor.NOM
376 376 });
377 377 $scope.notaPedido.vendedor = vendedor;
378   - }, function() {
379   -
380   - }
  378 + deleteCliente();
  379 + callback();
  380 + }, function() {}
381 381 );
382 382 }
383 383 };
384 384  
  385 + $scope.seleccionarCliente = function(ocultarVendedor) {
  386 + $scope.seleccionarVendedor(function() {
  387 + if (!$scope.notaPedido.vendedor.NUM) {
  388 + focaModalService.alert('Primero seleccione un vendedor');
  389 + return;
  390 + }
  391 + if (validarNotaRemitada()) {
  392 + var modalInstance = $uibModal.open(
  393 + {
  394 + ariaLabelledBy: 'Busqueda de Cliente',
  395 + templateUrl: 'foca-busqueda-cliente-modal.html',
  396 + controller: 'focaBusquedaClienteModalController',
  397 + resolve: {
  398 + vendedor: function() { return $scope.notaPedido.vendedor; }
  399 + },
  400 + size: 'lg'
  401 + }
  402 + );
  403 + modalInstance.result.then(
  404 + function(cliente) {
  405 + $scope.abrirModalDomicilios(cliente);
  406 + $scope.cliente = cliente;
  407 + }, function() {
  408 + if (APP !== 'distribuidor') $scope.seleccionarCliente();
  409 + }
  410 + );
  411 + }
  412 + }, ocultarVendedor);
  413 + };
  414 +
385 415 $scope.seleccionarProveedor = function() {
386 416 if(validarNotaRemitada()) {
387 417 var parametrosModal = {
... ... @@ -423,32 +453,6 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
423 453 }
424 454 };
425 455  
426   - $scope.seleccionarCliente = function() {
427   - if(!$scope.notaPedido.vendedor.NUM) {
428   - focaModalService.alert('Primero seleccione un vendedor');
429   - return;
430   - }
431   - if(validarNotaRemitada()) {
432   - var modalInstance = $uibModal.open(
433   - {
434   - ariaLabelledBy: 'Busqueda de Cliente',
435   - templateUrl: 'foca-busqueda-cliente-modal.html',
436   - controller: 'focaBusquedaClienteModalController',
437   - resolve: {
438   - vendedor: function() { return $scope.notaPedido.vendedor; }
439   - },
440   - size: 'lg'
441   - }
442   - );
443   - modalInstance.result.then(
444   - function(cliente) {
445   - $scope.abrirModalDomicilios(cliente);
446   - $scope.cliente = cliente;
447   - }, function() {}
448   - );
449   - }
450   - };
451   -
452 456 $scope.abrirModalDomicilios = function(cliente) {
453 457 var modalInstanceDomicilio = $uibModal.open(
454 458 {
... ... @@ -464,6 +468,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
464 468 );
465 469 modalInstanceDomicilio.result.then(
466 470 function(domicilio) {
  471 +
467 472 $scope.notaPedido.domicilio = domicilio;
468 473 $scope.notaPedido.cliente = {
469 474 COD: cliente.cod,
... ... @@ -485,10 +490,10 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
485 490 label: 'Domicilio:',
486 491 valor: domicilioStamp
487 492 });
488   - if(domicilio.verPuntos) {
  493 + if (domicilio.verPuntos) {
489 494 delete $scope.notaPedido.domicilio.verPuntos;
490 495 $scope.seleccionarPuntosDeDescarga();
491   - }else {
  496 + } else {
492 497 crearNotaPedidoService
493 498 .getPuntosDescargaByClienDom(domicilio.id, cliente.cod)
494 499 .then(function(res) {
... ... @@ -496,7 +501,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
496 501 });
497 502 }
498 503 }, function() {
499   - $scope.seleccionarCliente();
  504 + $scope.seleccionarCliente(true);
500 505 return;
501 506 }
502 507 );
... ... @@ -970,5 +975,15 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
970 975 delete $localStorage.notaPedido;
971 976 }
972 977 }
  978 +
  979 + function deleteCliente() {
  980 + delete $scope.notaPedido.domicilioStamp;
  981 + delete $scope.notaPedido.notaPedidoPuntoDescarga;
  982 + $scope.notaPedido.domicilio = {dom: ''};
  983 + $scope.notaPedido.cliente = {};
  984 + $scope.$broadcast('removeCabecera', 'Cliente:');
  985 + $scope.$broadcast('removeCabecera', 'Domicilio:');
  986 + $scope.$broadcast('removeCabecera', 'Puntos de descarga:');
  987 + }
973 988 }
974 989 ]);
... ... @@ -55,7 +55,7 @@ angular.module('focaCrearNotaPedido')
55 55 getNumeroNotaPedido: function() {
56 56 return $http.get(route + '/nota-pedido/numero-siguiente');
57 57 },
58   - getBotonera: function(vendedor) {
  58 + getBotonera: function() {
59 59 var result = [
60 60 {
61 61 label: 'Cliente',
... ... @@ -86,16 +86,6 @@ angular.module('focaCrearNotaPedido')
86 86 image: 'productos.png'
87 87 }
88 88 ];
89   -
90   - if(!vendedor) {
91   - var botonVendedor = {
92   - label: 'Vendedor',
93   - image: 'vendedor.png'
94   - };
95   -
96   - result.unshift(botonVendedor);
97   - }
98   -
99 89 return result;
100 90 },
101 91 crearPuntosDescarga: function(puntosDescarga) {