Commit f39681b13b2f7be4f48bb5dfa71a9203dcd27626

Authored by Luigi
1 parent d01a61a08e
Exists in master

Cambio en validación de porcentajes de comision

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