Commit f39681b13b2f7be4f48bb5dfa71a9203dcd27626
1 parent
d01a61a08e
Exists in
master
Cambio en validación de porcentajes de comision
Showing
3 changed files
with
9 additions
and
6 deletions
Show diff stats
src/js/controller.js
1 | angular.module('focaAbmVendedorCobrador') | 1 | angular.module('focaAbmVendedorCobrador') |
2 | .controller('focaAbmVendedoresCobradoresController', [ | 2 | .controller('focaAbmVendedoresCobradoresController', [ |
3 | '$scope', 'focaAbmVendedorCobradorService', '$location', '$filter', | 3 | '$scope', 'focaAbmVendedorCobradorService', '$location', '$filter', |
4 | 'focaBotoneraLateralService', 'focaModalService', '$localStorage', | 4 | 'focaBotoneraLateralService', 'focaModalService', '$localStorage', |
5 | function($scope, focaAbmVendedorCobradorService, $location, $filter, | 5 | function($scope, focaAbmVendedorCobradorService, $location, $filter, |
6 | focaBotoneraLateralService, focaModalService, $localStorage) { | 6 | focaBotoneraLateralService, focaModalService, $localStorage) { |
7 | $scope.now = new Date(); | 7 | $scope.now = new Date(); |
8 | $scope.vendedoresCobradores = []; | 8 | $scope.vendedoresCobradores = []; |
9 | $scope.filters = ''; | 9 | $scope.filters = ''; |
10 | $scope.numPerPage = 10; | 10 | $scope.numPerPage = 10; |
11 | $scope.currentPageVendedoresCobradores = []; | 11 | $scope.currentPageVendedoresCobradores = []; |
12 | $scope.vendedoresCobradores = []; | 12 | $scope.vendedoresCobradores = []; |
13 | 13 | ||
14 | //SETEO BOTONERA LATERAL | 14 | //SETEO BOTONERA LATERAL |
15 | focaBotoneraLateralService.showSalir(true); | 15 | focaBotoneraLateralService.showSalir(true); |
16 | focaBotoneraLateralService.showPausar(false); | 16 | focaBotoneraLateralService.showPausar(false); |
17 | focaBotoneraLateralService.showCancelar(false); | 17 | focaBotoneraLateralService.showCancelar(false); |
18 | focaBotoneraLateralService.showGuardar(false); | 18 | focaBotoneraLateralService.showGuardar(false); |
19 | 19 | ||
20 | 20 | ||
21 | 21 | ||
22 | $scope.editar = function(id) { | 22 | $scope.editar = function(id) { |
23 | $location.path('/vendedor-cobrador/' + id); | 23 | $location.path('/vendedor-cobrador/' + id); |
24 | }; | 24 | }; |
25 | 25 | ||
26 | $scope.eliminar = function(vendedorCobrador) { | 26 | $scope.eliminar = function(vendedorCobrador) { |
27 | var tipo = !!(vendedorCobrador.rol | 2) ? 'cobrador' : 'vendedor'; | 27 | var tipo = !!(vendedorCobrador.rol | 2) ? 'cobrador' : 'vendedor'; |
28 | focaModalService.confirm('¿Está seguro que desea borrar el ' + tipo + | 28 | focaModalService.confirm('¿Está seguro que desea borrar el ' + tipo + |
29 | ' ' + vendedorCobrador.NOM + '?') | 29 | ' ' + vendedorCobrador.NOM + '?') |
30 | .then(function(data) { | 30 | .then(function(data) { |
31 | if(data) { | 31 | if (data) { |
32 | focaAbmVendedorCobradorService | 32 | focaAbmVendedorCobradorService |
33 | .eliminarVendedorCobrador(vendedorCobrador.id) | 33 | .eliminarVendedorCobrador(vendedorCobrador.id) |
34 | .then(function() { | 34 | .then(function() { |
35 | $scope.search(13); | 35 | $scope.search(13); |
36 | }); | 36 | }); |
37 | } | 37 | } |
38 | }); | 38 | }); |
39 | }; | 39 | }; |
40 | 40 | ||
41 | $scope.selectPage = function(page) { | 41 | $scope.selectPage = function(page) { |
42 | var start = (page - 1) * $scope.numPerPage; | 42 | var start = (page - 1) * $scope.numPerPage; |
43 | var end = start + $scope.numPerPage; | 43 | var end = start + $scope.numPerPage; |
44 | $scope.paginas = []; | 44 | $scope.paginas = []; |
45 | $scope.paginas = calcularPages(page); | 45 | $scope.paginas = calcularPages(page); |
46 | $scope.currentPageVendedoresCobradores = | 46 | $scope.currentPageVendedoresCobradores = |
47 | $scope.vendedoresCobradores.slice(start, end); | 47 | $scope.vendedoresCobradores.slice(start, end); |
48 | $scope.currentPage = page; | 48 | $scope.currentPage = page; |
49 | }; | 49 | }; |
50 | 50 | ||
51 | $scope.resetPage = function() { | 51 | $scope.resetPage = function() { |
52 | $scope.currentPage = 1; | 52 | $scope.currentPage = 1; |
53 | $scope.selectPage(1); | 53 | $scope.selectPage(1); |
54 | }; | 54 | }; |
55 | 55 | ||
56 | $scope.search = function(key) { | 56 | $scope.search = function(key) { |
57 | if(key !== 13) return; | 57 | if (key !== 13) return; |
58 | 58 | ||
59 | focaAbmVendedorCobradorService | 59 | focaAbmVendedorCobradorService |
60 | .getVendedoresCobradores($scope.filters) | 60 | .getVendedoresCobradores($scope.filters) |
61 | .then(function(res) { | 61 | .then(function(res) { |
62 | $scope.vendedoresCobradores = res.data; | 62 | $scope.vendedoresCobradores = res.data; |
63 | 63 | ||
64 | $scope.lastPage = Math.ceil( | 64 | $scope.lastPage = Math.ceil( |
65 | $scope.vendedoresCobradores.length / $scope.numPerPage | 65 | $scope.vendedoresCobradores.length / $scope.numPerPage |
66 | ); | 66 | ); |
67 | 67 | ||
68 | $scope.resetPage(); | 68 | $scope.resetPage(); |
69 | }); | 69 | }); |
70 | }; | 70 | }; |
71 | 71 | ||
72 | if ($localStorage.vendedorCobrador) { | 72 | if ($localStorage.vendedorCobrador) { |
73 | var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador); | 73 | var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador); |
74 | $location.path('/vendedor-cobrador/' + vendedorCobrador.NUM); | 74 | $location.path('/vendedor-cobrador/' + vendedorCobrador.NUM); |
75 | } | 75 | } |
76 | 76 | ||
77 | function calcularPages(paginaActual) { | 77 | function calcularPages(paginaActual) { |
78 | var paginas = []; | 78 | var paginas = []; |
79 | paginas.push(paginaActual); | 79 | paginas.push(paginaActual); |
80 | 80 | ||
81 | if (paginaActual - 1 > 1) { | 81 | if (paginaActual - 1 > 1) { |
82 | 82 | ||
83 | paginas.unshift(paginaActual - 1); | 83 | paginas.unshift(paginaActual - 1); |
84 | if (paginaActual - 2 > 1) { | 84 | if (paginaActual - 2 > 1) { |
85 | paginas.unshift(paginaActual - 2); | 85 | paginas.unshift(paginaActual - 2); |
86 | } | 86 | } |
87 | } | 87 | } |
88 | 88 | ||
89 | if (paginaActual + 1 < $scope.lastPage) { | 89 | if (paginaActual + 1 < $scope.lastPage) { |
90 | paginas.push(paginaActual + 1); | 90 | paginas.push(paginaActual + 1); |
91 | if (paginaActual + 2 < $scope.lastPage) { | 91 | if (paginaActual + 2 < $scope.lastPage) { |
92 | paginas.push(paginaActual + 2); | 92 | paginas.push(paginaActual + 2); |
93 | } | 93 | } |
94 | } | 94 | } |
95 | 95 | ||
96 | if (paginaActual !== 1) { | 96 | if (paginaActual !== 1) { |
97 | paginas.unshift(1); | 97 | paginas.unshift(1); |
98 | } | 98 | } |
99 | 99 | ||
100 | if (paginaActual !== $scope.lastPage) { | 100 | if (paginaActual !== $scope.lastPage) { |
101 | paginas.push($scope.lastPage); | 101 | paginas.push($scope.lastPage); |
102 | } | 102 | } |
103 | return paginas; | 103 | return paginas; |
104 | } | 104 | } |
105 | 105 | ||
106 | // TODO: descomentar cuando se use | 106 | // TODO: descomentar cuando se use |
107 | // function primera() { | 107 | // function primera() { |
108 | // $scope.selectedClientes = 0; | 108 | // $scope.selectedClientes = 0; |
109 | // } | 109 | // } |
110 | 110 | ||
111 | // function anterior() { | 111 | // function anterior() { |
112 | // if ($scope.selectedClientes === 0 && $scope.currentPage > 1) { | 112 | // if ($scope.selectedClientes === 0 && $scope.currentPage > 1) { |
113 | // retrocederPagina(); | 113 | // retrocederPagina(); |
114 | // } else { | 114 | // } else { |
115 | // $scope.selectedClientes--; | 115 | // $scope.selectedClientes--; |
116 | // } | 116 | // } |
117 | // } | 117 | // } |
118 | 118 | ||
119 | // function siguiente() { | 119 | // function siguiente() { |
120 | // if ($scope.selectedClientes < $scope.currentPageVendedoresCobradores.length - 1 ) | 120 | // if ($scope.selectedClientes < $scope.currentPageVendedoresCobradores.length - 1 ) |
121 | //{ | 121 | //{ |
122 | // $scope.selectedClientes++; | 122 | // $scope.selectedClientes++; |
123 | // } else { | 123 | // } else { |
124 | // avanzarPagina(); | 124 | // avanzarPagina(); |
125 | // } | 125 | // } |
126 | // } | 126 | // } |
127 | 127 | ||
128 | // function retrocederPagina() { | 128 | // function retrocederPagina() { |
129 | // if ($scope.currentPage > 1) { | 129 | // if ($scope.currentPage > 1) { |
130 | // $scope.selectPage($scope.currentPage - 1); | 130 | // $scope.selectPage($scope.currentPage - 1); |
131 | // $scope.selectedClientes = $scope.numPerPage - 1; | 131 | // $scope.selectedClientes = $scope.numPerPage - 1; |
132 | // } | 132 | // } |
133 | // } | 133 | // } |
134 | 134 | ||
135 | // function avanzarPagina() { | 135 | // function avanzarPagina() { |
136 | // if ($scope.currentPage < $scope.lastPage) { | 136 | // if ($scope.currentPage < $scope.lastPage) { |
137 | // $scope.selectPage($scope.currentPage + 1); | 137 | // $scope.selectPage($scope.currentPage + 1); |
138 | // $scope.selectedClientes = 0; | 138 | // $scope.selectedClientes = 0; |
139 | // } | 139 | // } |
140 | // } | 140 | // } |
141 | } | 141 | } |
142 | ]); | 142 | ]); |
143 | 143 |
src/js/controllerItem.js
1 | angular.module('focaAbmVendedorCobrador') | 1 | angular.module('focaAbmVendedorCobrador') |
2 | .controller('focaAbmVendedorCobradorController', [ | 2 | .controller('focaAbmVendedorCobradorController', [ |
3 | '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService', | 3 | '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService', |
4 | '$timeout', '$uibModal', '$location', 'focaModalService', '$localStorage', '$filter', | 4 | '$timeout', '$uibModal', '$location', 'focaModalService', '$localStorage', '$filter', |
5 | function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, | 5 | function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, |
6 | $timeout, $uibModal, $location, focaModalService, $localStorage, $filter) { | 6 | $timeout, $uibModal, $location, focaModalService, $localStorage, $filter) { |
7 | 7 | ||
8 | $scope.guardado = false; | 8 | $scope.guardado = false; |
9 | $scope.now = new Date(); | 9 | $scope.now = new Date(); |
10 | $scope.focused = 0; | 10 | $scope.focused = 0; |
11 | $scope.vendedorCobrador = { | 11 | $scope.vendedorCobrador = { |
12 | dni: '', | 12 | dni: '', |
13 | CNET: '0', | 13 | CNET: '0', |
14 | CFIN: '0', | 14 | CFIN: '0', |
15 | CCOB: '0', | 15 | CCOB: '0', |
16 | comisionVendedor: '0.00', | 16 | comisionVendedor: '0.00', |
17 | comisionCobrador: '0.00', | 17 | comisionCobrador: '0.00', |
18 | provincia: { | 18 | provincia: { |
19 | NOMBRE: '' | 19 | NOMBRE: '' |
20 | }, | 20 | }, |
21 | localidad: { | 21 | localidad: { |
22 | NOMBRE: '' | 22 | NOMBRE: '' |
23 | }, | 23 | }, |
24 | rol: '' | 24 | rol: '' |
25 | }; | 25 | }; |
26 | $scope.options = [ | 26 | $scope.options = [ |
27 | { | 27 | { |
28 | label: 'Vendedor', | 28 | label: 'Vendedor', |
29 | value: 1 | 29 | value: 1 |
30 | }, | 30 | }, |
31 | { | 31 | { |
32 | label: 'Cobrador', | 32 | label: 'Cobrador', |
33 | value: 2 | 33 | value: 2 |
34 | }, | 34 | }, |
35 | { | 35 | { |
36 | label: 'Vendedor y cobrador', | 36 | label: 'Vendedor y cobrador', |
37 | value: 3 | 37 | value: 3 |
38 | } | 38 | } |
39 | ]; | 39 | ]; |
40 | //SETEO BOTONERA LATERAL | 40 | //SETEO BOTONERA LATERAL |
41 | $timeout(function() { | 41 | $timeout(function() { |
42 | focaBotoneraLateralService.showSalir(false); | 42 | focaBotoneraLateralService.showSalir(false); |
43 | focaBotoneraLateralService.showPausar(true); | 43 | focaBotoneraLateralService.showPausar(true); |
44 | focaBotoneraLateralService.showCancelar(false); | 44 | focaBotoneraLateralService.showCancelar(false); |
45 | focaBotoneraLateralService.showGuardar(true, $scope.guardar); | 45 | focaBotoneraLateralService.showGuardar(true, $scope.guardar); |
46 | focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); | 46 | focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); |
47 | }); | 47 | }); |
48 | 48 | ||
49 | $timeout(function() {getLSVendedor();}); | 49 | $timeout(function() {getLSVendedor();}); |
50 | 50 | ||
51 | focaAbmVendedorCobradorService | 51 | focaAbmVendedorCobradorService |
52 | .getCodigoSiguiente() | 52 | .getCodigoSiguiente() |
53 | .then(function(res) { | 53 | .then(function(res) { |
54 | $scope.vendedorCobrador.NUM = res.data.mayor; | 54 | $scope.vendedorCobrador.NUM = res.data.mayor; |
55 | }); | 55 | }); |
56 | 56 | ||
57 | focaAbmVendedorCobradorService | 57 | focaAbmVendedorCobradorService |
58 | .getVendedorCobradorById($routeParams.id) | 58 | .getVendedorCobradorById($routeParams.id) |
59 | .then(function(res) { | 59 | .then(function(res) { |
60 | if (res.data) { | 60 | if (res.data) { |
61 | $scope.edicion = true; | 61 | $scope.edicion = true; |
62 | $scope.vendedorCobrador = res.data; | 62 | $scope.vendedorCobrador = res.data; |
63 | } | 63 | } |
64 | }); | 64 | }); |
65 | 65 | ||
66 | $scope.guardar = function() { | 66 | $scope.guardar = function() { |
67 | 67 | ||
68 | if (!$scope.vendedorCobrador.NOM) { | 68 | if (!$scope.vendedorCobrador.NOM) { |
69 | focaModalService.alert('Ingrese nombre'); | 69 | focaModalService.alert('Ingrese nombre'); |
70 | return; | 70 | return; |
71 | } else if (!$scope.vendedorCobrador.domicilio) { | 71 | } else if (!$scope.vendedorCobrador.domicilio) { |
72 | focaModalService.alert('Ingrese domicilio'); | 72 | focaModalService.alert('Ingrese domicilio'); |
73 | return; | 73 | return; |
74 | } else if (!$scope.vendedorCobrador.codigoPostal) { | 74 | } else if (!$scope.vendedorCobrador.codigoPostal) { |
75 | focaModalService.alert('Ingrese código postal'); | 75 | focaModalService.alert('Ingrese código postal'); |
76 | return; | 76 | return; |
77 | } else if (!$scope.vendedorCobrador.dni) { | 77 | } else if (!$scope.vendedorCobrador.dni) { |
78 | focaModalService.alert('Ingrese dni'); | 78 | focaModalService.alert('Ingrese dni'); |
79 | return; | 79 | return; |
80 | } else if (!$scope.vendedorCobrador.rol) { | 80 | } else if (!$scope.vendedorCobrador.rol) { |
81 | focaModalService.alert('Seleccione tipo'); | 81 | focaModalService.alert('Seleccione tipo'); |
82 | return; | 82 | return; |
83 | } else if (!$scope.vendedorCobrador.provincia.NOMBRE) { | 83 | } else if (!$scope.vendedorCobrador.provincia.NOMBRE) { |
84 | focaModalService.alert('Seleccione una Provincia'); | 84 | focaModalService.alert('Seleccione una provincia'); |
85 | return; | 85 | return; |
86 | } else if (!$scope.vendedorCobrador.localidad.NOMBRE) { | 86 | } else if (!$scope.vendedorCobrador.localidad.NOMBRE) { |
87 | focaModalService.alert('Seleccione una Localidad'); | 87 | focaModalService.alert('Seleccione una localidad'); |
88 | return; | 88 | return; |
89 | } else if ($scope.vendedorCobrador.comisionCobrador < 0 || $scope.vendedorCobrador.comisionVendedor < 0){ | 89 | } else if (!isNaN($scope.vendedorCobrador.comisionCobrador) || |
90 | focaModalService.alert('Ingrese un numero superior a 0 en porcentaje de comision'); | 90 | !isNaN($scope.vendedorCobrador.comisionVendedor)) { |
91 | focaModalService.alert('Ingrese una comision válida'); | ||
91 | return; | 92 | return; |
92 | } | 93 | } |
93 | 94 | ||
94 | if ($scope.guardado) { | 95 | if ($scope.guardado) { |
95 | $scope.cambiarPassword(); | 96 | $scope.cambiarPassword(); |
96 | } else { | 97 | } else { |
97 | 98 | ||
98 | var vendedorCobrador = angular.copy($scope.vendedorCobrador); | 99 | var vendedorCobrador = angular.copy($scope.vendedorCobrador); |
99 | 100 | ||
100 | vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID; | 101 | vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID; |
101 | vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID; | 102 | vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID; |
102 | 103 | ||
103 | delete vendedorCobrador.provincia; | 104 | delete vendedorCobrador.provincia; |
104 | delete vendedorCobrador.localidad; | 105 | delete vendedorCobrador.localidad; |
105 | if (vendedorCobrador.rol == 1) { | 106 | if (vendedorCobrador.rol == 1) { |
106 | delete vendedorCobrador.comisionCobrador; | 107 | delete vendedorCobrador.comisionCobrador; |
107 | } else if (vendedorCobrador.rol == 2) { | 108 | } else if (vendedorCobrador.rol == 2) { |
108 | delete vendedorCobrador.comisionVendedor; | 109 | delete vendedorCobrador.comisionVendedor; |
109 | } | 110 | } |
110 | vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; | 111 | vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; |
111 | 112 | ||
112 | focaAbmVendedorCobradorService | 113 | focaAbmVendedorCobradorService |
113 | .guardarVendedorCobrador(vendedorCobrador) | 114 | .guardarVendedorCobrador(vendedorCobrador) |
114 | .then(function(res) { | 115 | .then(function(res) { |
115 | if ($scope.edicion) { | 116 | if ($scope.edicion) { |
116 | $location.path('/vendedor-cobrador'); | 117 | $location.path('/vendedor-cobrador'); |
117 | } else { | 118 | } else { |
118 | $scope.vendedorCobrador = res.data; | 119 | $scope.vendedorCobrador = res.data; |
119 | $scope.cambiarPassword(); | 120 | $scope.cambiarPassword(); |
120 | $scope.guardado = true; | 121 | $scope.guardado = true; |
121 | } | 122 | } |
122 | }) | 123 | }) |
123 | .catch(function(err) { | 124 | .catch(function(err) { |
124 | if (err.status === 409) { | 125 | if (err.status === 409) { |
125 | focaModalService.alert(err.data); | 126 | focaModalService.alert(err.data); |
126 | } | 127 | } |
127 | }); | 128 | }); |
128 | } | 129 | } |
129 | }; | 130 | }; |
130 | 131 | ||
131 | $scope.seleccionarProvincia = function(key) { | 132 | $scope.seleccionarProvincia = function(key) { |
132 | if (key === 13) { | 133 | if (key === 13) { |
133 | var parametrosModal = { | 134 | var parametrosModal = { |
134 | query: '/provincia', | 135 | query: '/provincia', |
135 | columnas: [ | 136 | columnas: [ |
136 | { | 137 | { |
137 | propiedad: 'ID', | 138 | propiedad: 'ID', |
138 | nombre: 'Codigo', | 139 | nombre: 'Codigo', |
139 | filtro: { | 140 | filtro: { |
140 | nombre: 'rellenarDigitos', | 141 | nombre: 'rellenarDigitos', |
141 | parametro: 3 | 142 | parametro: 3 |
142 | } | 143 | } |
143 | }, | 144 | }, |
144 | { | 145 | { |
145 | propiedad: 'NOMBRE', | 146 | propiedad: 'NOMBRE', |
146 | nombre: 'Nombre' | 147 | nombre: 'Nombre' |
147 | } | 148 | } |
148 | ], | 149 | ], |
149 | titulo: 'Búsqueda de provincias', | 150 | titulo: 'Búsqueda de provincias', |
150 | size: 'md' | 151 | size: 'md' |
151 | }; | 152 | }; |
152 | focaModalService.modal(parametrosModal).then(function(provincia) { | 153 | focaModalService.modal(parametrosModal).then(function(provincia) { |
153 | $scope.vendedorCobrador.provincia = provincia; | 154 | $scope.vendedorCobrador.provincia = provincia; |
154 | $timeout(function() { | 155 | $timeout(function() { |
155 | $scope.focused = 5; | 156 | $scope.focused = 5; |
156 | }); | 157 | }); |
157 | }, function() { | 158 | }, function() { |
158 | //TODO: función llamada cuando cancela el modal | 159 | //TODO: función llamada cuando cancela el modal |
159 | }); | 160 | }); |
160 | } | 161 | } |
161 | }; | 162 | }; |
162 | 163 | ||
163 | $scope.seleccionarLocalidad = function(key) { | 164 | $scope.seleccionarLocalidad = function(key) { |
164 | if (!$scope.vendedorCobrador.provincia.ID) { | 165 | if (!$scope.vendedorCobrador.provincia.ID) { |
165 | focaModalService.alert('Seleccione una provincia'); | 166 | focaModalService.alert('Seleccione una provincia'); |
166 | return; | 167 | return; |
167 | } | 168 | } |
168 | if (key === 13) { | 169 | if (key === 13) { |
169 | var parametrosModal = { | 170 | var parametrosModal = { |
170 | query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, | 171 | query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, |
171 | columnas: [ | 172 | columnas: [ |
172 | { | 173 | { |
173 | propiedad: 'ID', | 174 | propiedad: 'ID', |
174 | nombre: 'Código', | 175 | nombre: 'Código', |
175 | filtro: { | 176 | filtro: { |
176 | nombre: 'rellenarDigitos', | 177 | nombre: 'rellenarDigitos', |
177 | parametro: 3 | 178 | parametro: 3 |
178 | } | 179 | } |
179 | }, | 180 | }, |
180 | { | 181 | { |
181 | propiedad: 'NOMBRE', | 182 | propiedad: 'NOMBRE', |
182 | nombre: 'Nombre' | 183 | nombre: 'Nombre' |
183 | } | 184 | } |
184 | ], | 185 | ], |
185 | titulo: 'Búsqueda de localidades', | 186 | titulo: 'Búsqueda de localidades', |
186 | size: 'md' | 187 | size: 'md' |
187 | }; | 188 | }; |
188 | focaModalService.modal(parametrosModal).then(function(localidad) { | 189 | focaModalService.modal(parametrosModal).then(function(localidad) { |
189 | $scope.vendedorCobrador.localidad = localidad; | 190 | $scope.vendedorCobrador.localidad = localidad; |
190 | $timeout(function() { | 191 | $timeout(function() { |
191 | $scope.focused = 6; | 192 | $scope.focused = 6; |
192 | }); | 193 | }); |
193 | }, function() { | 194 | }, function() { |
194 | //TODO: función llamada cuando cancela el modal | 195 | //TODO: función llamada cuando cancela el modal |
195 | }); | 196 | }); |
196 | } | 197 | } |
197 | }; | 198 | }; |
198 | 199 | ||
199 | $scope.$watch('vendedorCobrador', function(newValue) { | 200 | $scope.$watch('vendedorCobrador', function(newValue) { |
200 | focaBotoneraLateralService.setPausarData({ | 201 | focaBotoneraLateralService.setPausarData({ |
201 | label:'vendedorCobrador', | 202 | label:'vendedorCobrador', |
202 | val: newValue | 203 | val: newValue |
203 | }); | 204 | }); |
204 | }, true); | 205 | }, true); |
205 | 206 | ||
206 | function getLSVendedor() { | 207 | function getLSVendedor() { |
207 | var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null); | 208 | var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null); |
208 | if (vendedorCobrador) { | 209 | if (vendedorCobrador) { |
209 | setearVendedor(vendedorCobrador); | 210 | setearVendedor(vendedorCobrador); |
210 | delete $localStorage.vendedorCobrador; | 211 | delete $localStorage.vendedorCobrador; |
211 | } | 212 | } |
212 | } | 213 | } |
213 | 214 | ||
214 | function setearVendedor(vendedorCobrador) { | 215 | function setearVendedor(vendedorCobrador) { |
215 | $scope.vendedorCobrador = vendedorCobrador; | 216 | $scope.vendedorCobrador = vendedorCobrador; |
216 | $scope.$broadcast('addCabecera', { | 217 | $scope.$broadcast('addCabecera', { |
217 | label: 'Vendedor / Cobrador:', | 218 | label: 'Vendedor / Cobrador:', |
218 | valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + ' - ' + vendedorCobrador.NOM | 219 | valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + ' - ' + vendedorCobrador.NOM |
219 | }); | 220 | }); |
220 | } | 221 | } |
221 | 222 | ||
222 | $scope.cancelar = function() { | 223 | $scope.cancelar = function() { |
223 | if (!$scope.formVendedorCobrador.$pristine) { | 224 | if (!$scope.formVendedorCobrador.$pristine) { |
224 | 225 | ||
225 | focaModalService.confirm('¿Está seguro de que desea salir?' + | 226 | focaModalService.confirm('¿Está seguro de que desea salir?' + |
226 | 'Se perderán todos los datos cargados.') | 227 | 'Se perderán todos los datos cargados.') |
227 | .then(function(confirmed) { | 228 | .then(function(confirmed) { |
228 | if (confirmed && $scope.guardado && !$scope.edicion) { | 229 | if (confirmed && $scope.guardado && !$scope.edicion) { |
229 | 230 | ||
230 | focaAbmVendedorCobradorService | 231 | focaAbmVendedorCobradorService |
231 | .destroyVendedorCobrador($scope.vendedorCobrador.id) | 232 | .destroyVendedorCobrador($scope.vendedorCobrador.id) |
232 | .then(function() { | 233 | .then(function() { |
233 | $location.path('/vendedor-cobrador'); | 234 | $location.path('/vendedor-cobrador'); |
234 | }); | 235 | }); |
235 | 236 | ||
236 | } else if (confirmed) { | 237 | } else if (confirmed) { |
237 | $location.path('/vendedor-cobrador'); | 238 | $location.path('/vendedor-cobrador'); |
238 | } | 239 | } |
239 | }); | 240 | }); |
240 | 241 | ||
241 | } else { | 242 | } else { |
242 | $location.path('/vendedor-cobrador'); | 243 | $location.path('/vendedor-cobrador'); |
243 | } | 244 | } |
244 | }; | 245 | }; |
245 | 246 | ||
246 | $scope.next = function(key) { | 247 | $scope.next = function(key) { |
247 | if (key === 13) $scope.focused++; | 248 | if (key === 13) $scope.focused++; |
248 | }; | 249 | }; |
249 | 250 | ||
250 | $scope.cambiarPassword = function() { | 251 | $scope.cambiarPassword = function() { |
251 | var vendedorCobrador = angular.copy($scope.vendedorCobrador); | 252 | var vendedorCobrador = angular.copy($scope.vendedorCobrador); |
252 | vendedorCobrador.nombre = vendedorCobrador.NOM; | 253 | vendedorCobrador.nombre = vendedorCobrador.NOM; |
253 | vendedorCobrador.codigo = vendedorCobrador.NUM; | 254 | vendedorCobrador.codigo = vendedorCobrador.NUM; |
254 | 255 | ||
255 | var parametros = { | 256 | var parametros = { |
256 | cuenta: vendedorCobrador, | 257 | cuenta: vendedorCobrador, |
257 | tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores' | 258 | tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores' |
258 | }; | 259 | }; |
259 | 260 | ||
260 | var modalInstance = $uibModal.open( | 261 | var modalInstance = $uibModal.open( |
261 | { | 262 | { |
262 | ariaLabelledBy: 'Configuracion de Logueo', | 263 | ariaLabelledBy: 'Configuracion de Logueo', |
263 | templateUrl: 'modal-login.html', | 264 | templateUrl: 'modal-login.html', |
264 | controller: 'focaModalLoginController', | 265 | controller: 'focaModalLoginController', |
265 | size: 'md', | 266 | size: 'md', |
266 | resolve: { | 267 | resolve: { |
267 | parametros: function() { | 268 | parametros: function() { |
268 | return parametros; | 269 | return parametros; |
269 | } | 270 | } |
270 | } | 271 | } |
271 | } | 272 | } |
272 | ); | 273 | ); |
273 | 274 | ||
274 | modalInstance.result.then(function() { | 275 | modalInstance.result.then(function() { |
275 | if (!$scope.edicion) $location.path('/vendedor-cobrador'); | 276 | if (!$scope.edicion) $location.path('/vendedor-cobrador'); |
276 | }); | 277 | }); |
277 | 278 | ||
278 | }; | 279 | }; |
279 | } | 280 | } |
280 | ]); | 281 | ]); |
281 | 282 |
src/views/foca-abm-vendedor-cobrador-item.html
1 | <div class="row"> | 1 | <div class="row"> |
2 | <foca-cabecera-facturador | 2 | <foca-cabecera-facturador |
3 | titulo="'Vendedores / Cobradores'" | 3 | titulo="'Vendedores / Cobradores'" |
4 | fecha="now" | 4 | fecha="now" |
5 | class="mb-0 col-lg-12" | 5 | class="mb-0 col-lg-12" |
6 | ></foca-cabecera-facturador> | 6 | ></foca-cabecera-facturador> |
7 | </div> | 7 | </div> |
8 | <div class="row"> | 8 | <div class="row"> |
9 | <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded"> | 9 | <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded"> |
10 | <form name="formVendedorCobrador" class="px-3" autocomplete="off"> | 10 | <form name="formVendedorCobrador" class="px-3" autocomplete="off"> |
11 | <div class="row mt-3"> | 11 | <div class="row mt-3"> |
12 | <div class="form-group d-flex mb-2 col-md-6"> | 12 | <div class="form-group d-flex mb-2 col-md-6"> |
13 | <label class="col-form-label col-md-4">Código</label> | 13 | <label class="col-form-label col-md-4">Código</label> |
14 | <div class="col-md-8 pl-0"> | 14 | <div class="col-md-8 pl-0"> |
15 | <input | 15 | <input |
16 | class="form-control form-control-sm" | 16 | class="form-control form-control-sm" |
17 | ng-model="vendedorCobrador.NUM" | 17 | ng-model="vendedorCobrador.NUM" |
18 | ng-disabled="edicion"/> | 18 | ng-disabled="edicion"/> |
19 | </div> | 19 | </div> |
20 | </div> | 20 | </div> |
21 | <div class="form-group d-flex mb-2 col-md-6"> | 21 | <div class="form-group d-flex mb-2 col-md-6"> |
22 | <label class="col-form-label col-md-4">Tipo</label> | 22 | <label class="col-form-label col-md-4">Tipo</label> |
23 | <div class="col-md-8 pl-0"> | 23 | <div class="col-md-8 pl-0"> |
24 | <select | 24 | <select |
25 | class="form-control form-control-sm" | 25 | class="form-control form-control-sm" |
26 | ng-model="vendedorCobrador.rol" | 26 | ng-model="vendedorCobrador.rol" |
27 | ng-options="option.value as option.label for option in options" | 27 | ng-options="option.value as option.label for option in options" |
28 | foca-focus="focused == 0" | 28 | foca-focus="focused == 0" |
29 | ng-focus="focused = 0"> | 29 | ng-focus="focused = 0"> |
30 | </select> | 30 | </select> |
31 | </div> | 31 | </div> |
32 | </div> | 32 | </div> |
33 | <div class="form-group d-flex mb-2 col-md-6"> | 33 | <div class="form-group d-flex mb-2 col-md-6"> |
34 | <label class="col-form-label col-md-4">Nombre</label> | 34 | <label class="col-form-label col-md-4">Nombre</label> |
35 | <div class="input-group col-md-8 pl-0"> | 35 | <div class="input-group col-md-8 pl-0"> |
36 | <input | 36 | <input |
37 | class="form-control form-control-sm" | 37 | class="form-control form-control-sm" |
38 | type="text" | 38 | type="text" |
39 | teclado-virtual | 39 | teclado-virtual |
40 | ng-model="vendedorCobrador.NOM" | 40 | ng-model="vendedorCobrador.NOM" |
41 | foca-focus="focused == 1" | 41 | foca-focus="focused == 1" |
42 | ng-focus="focused = 1" | 42 | ng-focus="focused = 1" |
43 | ng-keypress="next($event.keyCode)" | 43 | ng-keypress="next($event.keyCode)" |
44 | autocomplete="off" | 44 | autocomplete="off" |
45 | uppercase-only | 45 | uppercase-only |
46 | 46 | ||
47 | /> | 47 | /> |
48 | </div> | 48 | </div> |
49 | </div> | 49 | </div> |
50 | <div class="form-group d-flex mb-2 col-md-6"> | 50 | <div class="form-group d-flex mb-2 col-md-6"> |
51 | <label class="col-form-label col-md-4">Domicilio</label> | 51 | <label class="col-form-label col-md-4">Domicilio</label> |
52 | <div class="input-group col-md-8 pl-0"> | 52 | <div class="input-group col-md-8 pl-0"> |
53 | <input | 53 | <input |
54 | class="form-control form-control-sm" | 54 | class="form-control form-control-sm" |
55 | type="text" | 55 | type="text" |
56 | teclado-virtual | 56 | teclado-virtual |
57 | ng-model="vendedorCobrador.domicilio" | 57 | ng-model="vendedorCobrador.domicilio" |
58 | ng-required="true" | 58 | ng-required="true" |
59 | foca-focus="focused == 2" | 59 | foca-focus="focused == 2" |
60 | ng-focus="focused = 2" | 60 | ng-focus="focused = 2" |
61 | ng-keypress="next($event.keyCode)" | 61 | ng-keypress="next($event.keyCode)" |
62 | autocomplete="off" | 62 | autocomplete="off" |
63 | uppercase-only | 63 | uppercase-only |
64 | /> | 64 | /> |
65 | </div> | 65 | </div> |
66 | </div> | 66 | </div> |
67 | <div class="form-group d-flex mb-2 col-md-6"> | 67 | <div class="form-group d-flex mb-2 col-md-6"> |
68 | <label class="col-form-label col-md-4">Código postal</label> | 68 | <label class="col-form-label col-md-4">Código postal</label> |
69 | <div class="input-group col-md-8 pl-0"> | 69 | <div class="input-group col-md-8 pl-0"> |
70 | <input | 70 | <input |
71 | class="form-control form-control-sm" | 71 | class="form-control form-control-sm" |
72 | foca-tipo-input | 72 | foca-tipo-input |
73 | teclado-virtual | 73 | teclado-virtual |
74 | ng-model="vendedorCobrador.codigoPostal" | 74 | ng-model="vendedorCobrador.codigoPostal" |
75 | ng-required="true" | 75 | ng-required="true" |
76 | foca-focus="focused == 3" | 76 | foca-focus="focused == 3" |
77 | ng-focus="focused = 3" | 77 | ng-focus="focused = 3" |
78 | ng-keypress="next($event.keyCode)" | 78 | ng-keypress="next($event.keyCode)" |
79 | autocomplete="off" | 79 | autocomplete="off" |
80 | string-to-number | 80 | string-to-number |
81 | /> | 81 | /> |
82 | </div> | 82 | </div> |
83 | </div> | 83 | </div> |
84 | <div class="form-group d-flex mb-2 col-md-6"> | 84 | <div class="form-group d-flex mb-2 col-md-6"> |
85 | <label class="col-form-label col-md-4">Provincia</label> | 85 | <label class="col-form-label col-md-4">Provincia</label> |
86 | <div class="input-group col-md-8 pl-0"> | 86 | <div class="input-group col-md-8 pl-0"> |
87 | <input | 87 | <input |
88 | type="text" | 88 | type="text" |
89 | class="form-control form-control-sm" | 89 | class="form-control form-control-sm" |
90 | ng-model="vendedorCobrador.provincia.NOMBRE" | 90 | ng-model="vendedorCobrador.provincia.NOMBRE" |
91 | ng-keypress="seleccionarProvincia($event.keyCode)" | 91 | ng-keypress="seleccionarProvincia($event.keyCode)" |
92 | ng-required="true" | 92 | ng-required="true" |
93 | foca-focus="focused == 4" | 93 | foca-focus="focused == 4" |
94 | ng-focus="focused = 4" | 94 | ng-focus="focused = 4" |
95 | teclado-virtual | 95 | teclado-virtual |
96 | /> | 96 | /> |
97 | <div class="input-group-append"> | 97 | <div class="input-group-append"> |
98 | <button | 98 | <button |
99 | ladda="searchLoading" | 99 | ladda="searchLoading" |
100 | class="btn btn-outline-secondary form-control-sm" | 100 | class="btn btn-outline-secondary form-control-sm" |
101 | type="button" | 101 | type="button" |
102 | ng-click="seleccionarProvincia(13)" | 102 | ng-click="seleccionarProvincia(13)" |
103 | > | 103 | > |
104 | <i class="fa fa-search" aria-hidden="true"></i> | 104 | <i class="fa fa-search" aria-hidden="true"></i> |
105 | </button> | 105 | </button> |
106 | </div> | 106 | </div> |
107 | </div> | 107 | </div> |
108 | </div> | 108 | </div> |
109 | <div class="form-group d-flex mb-2 col-md-6"> | 109 | <div class="form-group d-flex mb-2 col-md-6"> |
110 | <label class="col-form-label col-md-4">Localidad</label> | 110 | <label class="col-form-label col-md-4">Localidad</label> |
111 | <div class="input-group col-md-8 pl-0"> | 111 | <div class="input-group col-md-8 pl-0"> |
112 | <input | 112 | <input |
113 | type="text" | 113 | type="text" |
114 | class="form-control form-control-sm" | 114 | class="form-control form-control-sm" |
115 | ng-model="vendedorCobrador.localidad.NOMBRE" | 115 | ng-model="vendedorCobrador.localidad.NOMBRE" |
116 | ng-keypress="seleccionarLocalidad($event.keyCode)" | 116 | ng-keypress="seleccionarLocalidad($event.keyCode)" |
117 | ng-required="true" | 117 | ng-required="true" |
118 | foca-focus="focused == 5" | 118 | foca-focus="focused == 5" |
119 | ng-focus="focused = 5" | 119 | ng-focus="focused = 5" |
120 | teclado-virtual | 120 | teclado-virtual |
121 | autocomplete="off" | 121 | autocomplete="off" |
122 | /> | 122 | /> |
123 | <div class="input-group-append"> | 123 | <div class="input-group-append"> |
124 | <button | 124 | <button |
125 | ladda="searchLoading" | 125 | ladda="searchLoading" |
126 | class="btn btn-outline-secondary form-control-sm" | 126 | class="btn btn-outline-secondary form-control-sm" |
127 | type="button" | 127 | type="button" |
128 | ng-click="seleccionarLocalidad(13)" | 128 | ng-click="seleccionarLocalidad(13)" |
129 | > | 129 | > |
130 | <i class="fa fa-search" aria-hidden="true"></i> | 130 | <i class="fa fa-search" aria-hidden="true"></i> |
131 | </button> | 131 | </button> |
132 | </div> | 132 | </div> |
133 | </div> | 133 | </div> |
134 | </div> | 134 | </div> |
135 | <div class="form-group d-flex mb-2 col-md-6"> | 135 | <div class="form-group d-flex mb-2 col-md-6"> |
136 | <label class="col-form-label col-md-4">Teléfono</label> | 136 | <label class="col-form-label col-md-4">Teléfono</label> |
137 | <div class="input-group col-md-8 pl-0"> | 137 | <div class="input-group col-md-8 pl-0"> |
138 | <input | 138 | <input |
139 | class="form-control form-control-sm" | 139 | class="form-control form-control-sm" |
140 | foca-tipo-input | 140 | foca-tipo-input |
141 | teclado-virtual | 141 | teclado-virtual |
142 | ng-model="vendedorCobrador.telefono" | 142 | ng-model="vendedorCobrador.telefono" |
143 | ng-required="true" | 143 | ng-required="true" |
144 | foca-focus="focused == 6" | 144 | foca-focus="focused == 6" |
145 | ng-focus="focused = 6" | 145 | ng-focus="focused = 6" |
146 | ng-keypress="next($event.keyCode)" | 146 | ng-keypress="next($event.keyCode)" |
147 | autocomplete="off" | 147 | autocomplete="off" |
148 | string-to-number | 148 | string-to-number |
149 | /> | 149 | /> |
150 | </div> | 150 | </div> |
151 | </div> | 151 | </div> |
152 | <div class="form-group d-flex mb-2 col-md-6"> | 152 | <div class="form-group d-flex mb-2 col-md-6"> |
153 | <label class="col-form-label col-md-4">DNI</label> | 153 | <label class="col-form-label col-md-4">DNI</label> |
154 | <div class="input-group col-md-8 pl-0"> | 154 | <div class="input-group col-md-8 pl-0"> |
155 | <input | 155 | <input |
156 | class="form-control form-control-sm" | 156 | class="form-control form-control-sm" |
157 | foca-tipo-input | 157 | foca-tipo-input |
158 | teclado-virtual | 158 | teclado-virtual |
159 | ng-model="vendedorCobrador.dni" | 159 | ng-model="vendedorCobrador.dni" |
160 | ng-required="true" | 160 | ng-required="true" |
161 | foca-focus="focused == 7" | 161 | foca-focus="focused == 7" |
162 | ng-focus="focused = 7" | 162 | ng-focus="focused = 7" |
163 | ng-keypress="next($event.keyCode)" | 163 | ng-keypress="next($event.keyCode)" |
164 | autocomplete="off" | 164 | autocomplete="off" |
165 | string-to-number | 165 | string-to-number |
166 | /> | 166 | /> |
167 | </div> | 167 | </div> |
168 | </div> | 168 | </div> |
169 | <div class="form-group d-flex mb-2 col-md-6" | 169 | <div class="form-group d-flex mb-2 col-md-6" |
170 | ng-show="vendedorCobrador.rol == 1 || vendedorCobrador.rol == 3"> | 170 | ng-show="vendedorCobrador.rol == 1 || vendedorCobrador.rol == 3"> |
171 | <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">vendedor</span></label> | 171 | <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">vendedor</span></label> |
172 | <div class="input-group col-md-8 pl-0"> | 172 | <div class="input-group col-md-8 pl-0"> |
173 | <input | 173 | <input |
174 | class="form-control form-control-sm" | 174 | class="form-control form-control-sm" |
175 | foca-tipo-input | 175 | foca-tipo-input |
176 | teclado-virtual | 176 | teclado-virtual |
177 | ng-model="vendedorCobrador.comisionVendedor" | 177 | ng-model="vendedorCobrador.comisionVendedor" |
178 | ng-required="true" | 178 | ng-required="true" |
179 | foca-focus="focused == 10" | 179 | foca-focus="focused == 10" |
180 | ng-focus="focused = 10" | 180 | ng-focus="focused = 10" |
181 | ng-keypress="next($event.keyCode)" | 181 | ng-keypress="next($event.keyCode)" |
182 | autocomplete="off" | 182 | autocomplete="off" |
183 | string-to-number | 183 | string-to-number |
184 | solo-positivo | ||
184 | /> | 185 | /> |
185 | </div> | 186 | </div> |
186 | </div> | 187 | </div> |
187 | <div class="form-group d-flex mb-2 col-md-6" | 188 | <div class="form-group d-flex mb-2 col-md-6" |
188 | ng-show="vendedorCobrador.rol == 2 || vendedorCobrador.rol == 3"> | 189 | ng-show="vendedorCobrador.rol == 2 || vendedorCobrador.rol == 3"> |
189 | <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">cobrador</span></label> | 190 | <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">cobrador</span></label> |
190 | <div class="input-group col-md-8 pl-0"> | 191 | <div class="input-group col-md-8 pl-0"> |
191 | <input | 192 | <input |
192 | class="form-control form-control-sm" | 193 | class="form-control form-control-sm" |
193 | foca-tipo-input | 194 | foca-tipo-input |
194 | teclado-virtual | 195 | teclado-virtual |
195 | ng-model="vendedorCobrador.comisionCobrador" | 196 | ng-model="vendedorCobrador.comisionCobrador" |
196 | ng-required="true" | 197 | ng-required="true" |
197 | foca-focus="focused == 10" | 198 | foca-focus="focused == 10" |
198 | ng-focus="focused = 10" | 199 | ng-focus="focused = 10" |
199 | ng-keypress="next($event.keyCode)" | 200 | ng-keypress="next($event.keyCode)" |
200 | autocomplete="off" | 201 | autocomplete="off" |
201 | string-to-number | 202 | string-to-number |
203 | solo-positivo | ||
202 | /> | 204 | /> |
203 | </div> | 205 | </div> |
204 | </div> | 206 | </div> |
205 | <div class="ml-auto w-50"> | 207 | <div class="ml-auto w-50"> |
206 | <button | 208 | <button |
207 | class="btn btn-primary float-right mr-3" | 209 | class="btn btn-primary float-right mr-3" |
208 | type="button" | 210 | type="button" |
209 | ng-click="cambiarPassword()" | 211 | ng-click="cambiarPassword()" |
210 | ng-show="edicion" | 212 | ng-show="edicion" |
211 | >Cambiar contraseña</button> | 213 | >Cambiar contraseña</button> |
212 | </div> | 214 | </div> |
213 | </div> | 215 | </div> |
214 | </form> | 216 | </form> |
215 | </div> | 217 | </div> |
216 | </div> | 218 | </div> |
217 | 219 |