Commit fc869a4032c4e3c38b994bacf943dc1c280fd0f5

Authored by Jose Pinto
Exists in master

Merge branch 'master' into 'develop'

Master

See merge request !26
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 = {
135 searchText: $scope.vendedorCobrador.provincia.NOMBRE,
134 query: '/provincia', 136 query: '/provincia',
135 columnas: [ 137 columnas: [
136 { 138 {
137 propiedad: 'ID', 139 propiedad: 'ID',
138 nombre: 'Codigo', 140 nombre: 'Codigo',
139 filtro: { 141 filtro: {
140 nombre: 'rellenarDigitos', 142 nombre: 'rellenarDigitos',
141 parametro: 3 143 parametro: 3
142 } 144 }
143 }, 145 },
144 { 146 {
145 propiedad: 'NOMBRE', 147 propiedad: 'NOMBRE',
146 nombre: 'Nombre' 148 nombre: 'Nombre'
147 } 149 }
148 ], 150 ],
149 titulo: 'Búsqueda de provincias', 151 titulo: 'Búsqueda de provincias',
150 size: 'md' 152 size: 'md'
151 }; 153 };
152 focaModalService.modal(parametrosModal).then(function(provincia) { 154 focaModalService.modal(parametrosModal).then(function(provincia) {
153 $scope.vendedorCobrador.provincia = provincia; 155 $scope.vendedorCobrador.provincia = provincia;
154 $timeout(function() { 156 $timeout(function() {
155 $scope.focused = 5; 157 $scope.focused = 5;
156 }); 158 });
157 }, function() { 159 }, function() {
158 //TODO: función llamada cuando cancela el modal 160 //TODO: función llamada cuando cancela el modal
159 }); 161 });
160 } 162 }
161 }; 163 };
162 164
163 $scope.seleccionarLocalidad = function(key) { 165 $scope.seleccionarLocalidad = function(key) {
164 if (!$scope.vendedorCobrador.provincia.ID) { 166 if (!$scope.vendedorCobrador.provincia.ID) {
165 focaModalService.alert('Seleccione una provincia'); 167 focaModalService.alert('Seleccione una provincia');
166 return; 168 return;
167 } 169 }
168 if (key === 13) { 170 if (key === 13) {
169 var parametrosModal = { 171 var parametrosModal = {
172 searchText: $scope.vendedorCobrador.localidad.NOMBRE,
170 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, 173 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID,
171 columnas: [ 174 columnas: [
172 { 175 {
173 propiedad: 'ID', 176 propiedad: 'ID',
174 nombre: 'Código', 177 nombre: 'Código',
175 filtro: { 178 filtro: {
176 nombre: 'rellenarDigitos', 179 nombre: 'rellenarDigitos',
177 parametro: 3 180 parametro: 3
178 } 181 }
179 }, 182 },
180 { 183 {
181 propiedad: 'NOMBRE', 184 propiedad: 'NOMBRE',
182 nombre: 'Nombre' 185 nombre: 'Nombre'
183 } 186 }
184 ], 187 ],
185 titulo: 'Búsqueda de localidades', 188 titulo: 'Búsqueda de localidades',
186 size: 'md' 189 size: 'md'
187 }; 190 };
188 focaModalService.modal(parametrosModal).then(function(localidad) { 191 focaModalService.modal(parametrosModal).then(function(localidad) {
189 $scope.vendedorCobrador.localidad = localidad; 192 $scope.vendedorCobrador.localidad = localidad;
190 $timeout(function() { 193 $timeout(function() {
191 $scope.focused = 6; 194 $scope.focused = 6;
192 }); 195 });
193 }, function() { 196 }, function() {
194 //TODO: función llamada cuando cancela el modal 197 //TODO: función llamada cuando cancela el modal
195 }); 198 });
196 } 199 }
197 }; 200 };
198 201
199 $scope.$watch('vendedorCobrador', function(newValue) { 202 $scope.$watch('vendedorCobrador', function(newValue) {
200 focaBotoneraLateralService.setPausarData({ 203 focaBotoneraLateralService.setPausarData({
201 label:'vendedorCobrador', 204 label:'vendedorCobrador',
202 val: newValue 205 val: newValue
203 }); 206 });
204 }, true); 207 }, true);
205 208
206 function getLSVendedor() { 209 function getLSVendedor() {
207 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null); 210 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null);
208 if (vendedorCobrador) { 211 if (vendedorCobrador) {
209 setearVendedor(vendedorCobrador); 212 setearVendedor(vendedorCobrador);
210 delete $localStorage.vendedorCobrador; 213 delete $localStorage.vendedorCobrador;
211 } 214 }
212 } 215 }
213 216
214 function setearVendedor(vendedorCobrador) { 217 function setearVendedor(vendedorCobrador) {
215 $scope.vendedorCobrador = vendedorCobrador; 218 $scope.vendedorCobrador = vendedorCobrador;
216 $scope.$broadcast('addCabecera', { 219 $scope.$broadcast('addCabecera', {
217 label: 'Vendedor / Cobrador:', 220 label: 'Vendedor / Cobrador:',
218 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + ' - ' + vendedorCobrador.NOM 221 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + ' - ' + vendedorCobrador.NOM
219 }); 222 });
220 } 223 }
221 224
222 $scope.cancelar = function() { 225 $scope.cancelar = function() {
223 if (!$scope.formVendedorCobrador.$pristine) { 226 if (!$scope.formVendedorCobrador.$pristine) {
224 227
225 focaModalService.confirm('¿Está seguro de que desea salir?' + 228 focaModalService.confirm('¿Está seguro de que desea salir?' +
226 'Se perderán todos los datos cargados.') 229 'Se perderán todos los datos cargados.')
227 .then(function(confirmed) { 230 .then(function(confirmed) {
228 if (confirmed && $scope.guardado && !$scope.edicion) { 231 if (confirmed && $scope.guardado && !$scope.edicion) {
229 232
230 focaAbmVendedorCobradorService 233 focaAbmVendedorCobradorService
231 .destroyVendedorCobrador($scope.vendedorCobrador.id) 234 .destroyVendedorCobrador($scope.vendedorCobrador.id)
232 .then(function() { 235 .then(function() {
233 $location.path('/vendedor-cobrador'); 236 $location.path('/vendedor-cobrador');
234 }); 237 });
235 238
236 } else if (confirmed) { 239 } else if (confirmed) {
237 $location.path('/vendedor-cobrador'); 240 $location.path('/vendedor-cobrador');
238 } 241 }
239 }); 242 });
240 243
241 } else { 244 } else {
242 $location.path('/vendedor-cobrador'); 245 $location.path('/vendedor-cobrador');
243 } 246 }
244 }; 247 };
245 248
246 $scope.next = function(key) { 249 $scope.next = function(key) {
247 if (key === 13) $scope.focused++; 250 if (key === 13) $scope.focused++;
248 }; 251 };
249 252
250 $scope.cambiarPassword = function() { 253 $scope.cambiarPassword = function() {
251 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 254 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
252 vendedorCobrador.nombre = vendedorCobrador.NOM; 255 vendedorCobrador.nombre = vendedorCobrador.NOM;
253 vendedorCobrador.codigo = vendedorCobrador.NUM; 256 vendedorCobrador.codigo = vendedorCobrador.NUM;
254 257
255 var parametros = { 258 var parametros = {
256 cuenta: vendedorCobrador, 259 cuenta: vendedorCobrador,
257 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores' 260 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores'
258 }; 261 };
259 262
260 var modalInstance = $uibModal.open( 263 var modalInstance = $uibModal.open(
261 { 264 {
262 ariaLabelledBy: 'Configuracion de Logueo', 265 ariaLabelledBy: 'Configuracion de Logueo',
263 templateUrl: 'modal-login.html', 266 templateUrl: 'modal-login.html',
264 controller: 'focaModalLoginController', 267 controller: 'focaModalLoginController',
265 size: 'md', 268 size: 'md',
266 resolve: { 269 resolve: {
267 parametros: function() { 270 parametros: function() {
268 return parametros; 271 return parametros;
269 } 272 }
270 } 273 }
271 } 274 }
272 ); 275 );
273 276
274 modalInstance.result.then(function() { 277 modalInstance.result.then(function() {
275 if (!$scope.edicion) $location.path('/vendedor-cobrador'); 278 if (!$scope.edicion) $location.path('/vendedor-cobrador');
276 }); 279 });
277 280
278 }; 281 };
279 } 282 }
280 ]); 283 ]);
281 284
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