Commit c935a29397693c09bb7207dea0a55a62bc6d094e

Authored by Luigi
1 parent f39681b13b
Exists in master and in 2 other branches develop, lab

Buscar Provincia y Localidad

Showing 1 changed file with 2 additions and 0 deletions   Show diff stats
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 (!isNaN($scope.vendedorCobrador.comisionCobrador) || 89 } else if (!isNaN($scope.vendedorCobrador.comisionCobrador) ||
90 !isNaN($scope.vendedorCobrador.comisionVendedor)) { 90 !isNaN($scope.vendedorCobrador.comisionVendedor)) {
91 focaModalService.alert('Ingrese una comision válida'); 91 focaModalService.alert('Ingrese una comision válida');
92 return; 92 return;
93 } 93 }
94 94
95 if ($scope.guardado) { 95 if ($scope.guardado) {
96 $scope.cambiarPassword(); 96 $scope.cambiarPassword();
97 } else { 97 } else {
98 98
99 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 99 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
100 100
101 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID; 101 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID;
102 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID; 102 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID;
103 103
104 delete vendedorCobrador.provincia; 104 delete vendedorCobrador.provincia;
105 delete vendedorCobrador.localidad; 105 delete vendedorCobrador.localidad;
106 if (vendedorCobrador.rol == 1) { 106 if (vendedorCobrador.rol == 1) {
107 delete vendedorCobrador.comisionCobrador; 107 delete vendedorCobrador.comisionCobrador;
108 } else if (vendedorCobrador.rol == 2) { 108 } else if (vendedorCobrador.rol == 2) {
109 delete vendedorCobrador.comisionVendedor; 109 delete vendedorCobrador.comisionVendedor;
110 } 110 }
111 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; 111 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar';
112 112
113 focaAbmVendedorCobradorService 113 focaAbmVendedorCobradorService
114 .guardarVendedorCobrador(vendedorCobrador) 114 .guardarVendedorCobrador(vendedorCobrador)
115 .then(function(res) { 115 .then(function(res) {
116 if ($scope.edicion) { 116 if ($scope.edicion) {
117 $location.path('/vendedor-cobrador'); 117 $location.path('/vendedor-cobrador');
118 } else { 118 } else {
119 $scope.vendedorCobrador = res.data; 119 $scope.vendedorCobrador = res.data;
120 $scope.cambiarPassword(); 120 $scope.cambiarPassword();
121 $scope.guardado = true; 121 $scope.guardado = true;
122 } 122 }
123 }) 123 })
124 .catch(function(err) { 124 .catch(function(err) {
125 if (err.status === 409) { 125 if (err.status === 409) {
126 focaModalService.alert(err.data); 126 focaModalService.alert(err.data);
127 } 127 }
128 }); 128 });
129 } 129 }
130 }; 130 };
131 131
132 $scope.seleccionarProvincia = function(key) { 132 $scope.seleccionarProvincia = function(key) {
133 if (key === 13) { 133 if (key === 13) {
134 var parametrosModal = { 134 var parametrosModal = {
135 searchText: $scope.vendedorCobrador.provincia.NOMBRE,
135 query: '/provincia', 136 query: '/provincia',
136 columnas: [ 137 columnas: [
137 { 138 {
138 propiedad: 'ID', 139 propiedad: 'ID',
139 nombre: 'Codigo', 140 nombre: 'Codigo',
140 filtro: { 141 filtro: {
141 nombre: 'rellenarDigitos', 142 nombre: 'rellenarDigitos',
142 parametro: 3 143 parametro: 3
143 } 144 }
144 }, 145 },
145 { 146 {
146 propiedad: 'NOMBRE', 147 propiedad: 'NOMBRE',
147 nombre: 'Nombre' 148 nombre: 'Nombre'
148 } 149 }
149 ], 150 ],
150 titulo: 'Búsqueda de provincias', 151 titulo: 'Búsqueda de provincias',
151 size: 'md' 152 size: 'md'
152 }; 153 };
153 focaModalService.modal(parametrosModal).then(function(provincia) { 154 focaModalService.modal(parametrosModal).then(function(provincia) {
154 $scope.vendedorCobrador.provincia = provincia; 155 $scope.vendedorCobrador.provincia = provincia;
155 $timeout(function() { 156 $timeout(function() {
156 $scope.focused = 5; 157 $scope.focused = 5;
157 }); 158 });
158 }, function() { 159 }, function() {
159 //TODO: función llamada cuando cancela el modal 160 //TODO: función llamada cuando cancela el modal
160 }); 161 });
161 } 162 }
162 }; 163 };
163 164
164 $scope.seleccionarLocalidad = function(key) { 165 $scope.seleccionarLocalidad = function(key) {
165 if (!$scope.vendedorCobrador.provincia.ID) { 166 if (!$scope.vendedorCobrador.provincia.ID) {
166 focaModalService.alert('Seleccione una provincia'); 167 focaModalService.alert('Seleccione una provincia');
167 return; 168 return;
168 } 169 }
169 if (key === 13) { 170 if (key === 13) {
170 var parametrosModal = { 171 var parametrosModal = {
172 searchText: $scope.vendedorCobrador.localidad.NOMBRE,
171 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, 173 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID,
172 columnas: [ 174 columnas: [
173 { 175 {
174 propiedad: 'ID', 176 propiedad: 'ID',
175 nombre: 'Código', 177 nombre: 'Código',
176 filtro: { 178 filtro: {
177 nombre: 'rellenarDigitos', 179 nombre: 'rellenarDigitos',
178 parametro: 3 180 parametro: 3
179 } 181 }
180 }, 182 },
181 { 183 {
182 propiedad: 'NOMBRE', 184 propiedad: 'NOMBRE',
183 nombre: 'Nombre' 185 nombre: 'Nombre'
184 } 186 }
185 ], 187 ],
186 titulo: 'Búsqueda de localidades', 188 titulo: 'Búsqueda de localidades',
187 size: 'md' 189 size: 'md'
188 }; 190 };
189 focaModalService.modal(parametrosModal).then(function(localidad) { 191 focaModalService.modal(parametrosModal).then(function(localidad) {
190 $scope.vendedorCobrador.localidad = localidad; 192 $scope.vendedorCobrador.localidad = localidad;
191 $timeout(function() { 193 $timeout(function() {
192 $scope.focused = 6; 194 $scope.focused = 6;
193 }); 195 });
194 }, function() { 196 }, function() {
195 //TODO: función llamada cuando cancela el modal 197 //TODO: función llamada cuando cancela el modal
196 }); 198 });
197 } 199 }
198 }; 200 };
199 201
200 $scope.$watch('vendedorCobrador', function(newValue) { 202 $scope.$watch('vendedorCobrador', function(newValue) {
201 focaBotoneraLateralService.setPausarData({ 203 focaBotoneraLateralService.setPausarData({
202 label:'vendedorCobrador', 204 label:'vendedorCobrador',
203 val: newValue 205 val: newValue
204 }); 206 });
205 }, true); 207 }, true);
206 208
207 function getLSVendedor() { 209 function getLSVendedor() {
208 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null); 210 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null);
209 if (vendedorCobrador) { 211 if (vendedorCobrador) {
210 setearVendedor(vendedorCobrador); 212 setearVendedor(vendedorCobrador);
211 delete $localStorage.vendedorCobrador; 213 delete $localStorage.vendedorCobrador;
212 } 214 }
213 } 215 }
214 216
215 function setearVendedor(vendedorCobrador) { 217 function setearVendedor(vendedorCobrador) {
216 $scope.vendedorCobrador = vendedorCobrador; 218 $scope.vendedorCobrador = vendedorCobrador;
217 $scope.$broadcast('addCabecera', { 219 $scope.$broadcast('addCabecera', {
218 label: 'Vendedor / Cobrador:', 220 label: 'Vendedor / Cobrador:',
219 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + ' - ' + vendedorCobrador.NOM 221 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + ' - ' + vendedorCobrador.NOM
220 }); 222 });
221 } 223 }
222 224
223 $scope.cancelar = function() { 225 $scope.cancelar = function() {
224 if (!$scope.formVendedorCobrador.$pristine) { 226 if (!$scope.formVendedorCobrador.$pristine) {
225 227
226 focaModalService.confirm('¿Está seguro de que desea salir?' + 228 focaModalService.confirm('¿Está seguro de que desea salir?' +
227 'Se perderán todos los datos cargados.') 229 'Se perderán todos los datos cargados.')
228 .then(function(confirmed) { 230 .then(function(confirmed) {
229 if (confirmed && $scope.guardado && !$scope.edicion) { 231 if (confirmed && $scope.guardado && !$scope.edicion) {
230 232
231 focaAbmVendedorCobradorService 233 focaAbmVendedorCobradorService
232 .destroyVendedorCobrador($scope.vendedorCobrador.id) 234 .destroyVendedorCobrador($scope.vendedorCobrador.id)
233 .then(function() { 235 .then(function() {
234 $location.path('/vendedor-cobrador'); 236 $location.path('/vendedor-cobrador');
235 }); 237 });
236 238
237 } else if (confirmed) { 239 } else if (confirmed) {
238 $location.path('/vendedor-cobrador'); 240 $location.path('/vendedor-cobrador');
239 } 241 }
240 }); 242 });
241 243
242 } else { 244 } else {
243 $location.path('/vendedor-cobrador'); 245 $location.path('/vendedor-cobrador');
244 } 246 }
245 }; 247 };
246 248
247 $scope.next = function(key) { 249 $scope.next = function(key) {
248 if (key === 13) $scope.focused++; 250 if (key === 13) $scope.focused++;
249 }; 251 };
250 252
251 $scope.cambiarPassword = function() { 253 $scope.cambiarPassword = function() {
252 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 254 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
253 vendedorCobrador.nombre = vendedorCobrador.NOM; 255 vendedorCobrador.nombre = vendedorCobrador.NOM;
254 vendedorCobrador.codigo = vendedorCobrador.NUM; 256 vendedorCobrador.codigo = vendedorCobrador.NUM;
255 257
256 var parametros = { 258 var parametros = {
257 cuenta: vendedorCobrador, 259 cuenta: vendedorCobrador,
258 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores' 260 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores'
259 }; 261 };
260 262
261 var modalInstance = $uibModal.open( 263 var modalInstance = $uibModal.open(
262 { 264 {
263 ariaLabelledBy: 'Configuracion de Logueo', 265 ariaLabelledBy: 'Configuracion de Logueo',
264 templateUrl: 'modal-login.html', 266 templateUrl: 'modal-login.html',
265 controller: 'focaModalLoginController', 267 controller: 'focaModalLoginController',
266 size: 'md', 268 size: 'md',
267 resolve: { 269 resolve: {
268 parametros: function() { 270 parametros: function() {
269 return parametros; 271 return parametros;
270 } 272 }
271 } 273 }
272 } 274 }
273 ); 275 );
274 276
275 modalInstance.result.then(function() { 277 modalInstance.result.then(function() {
276 if (!$scope.edicion) $location.path('/vendedor-cobrador'); 278 if (!$scope.edicion) $location.path('/vendedor-cobrador');
277 }); 279 });
278 280
279 }; 281 };
280 } 282 }
281 ]); 283 ]);
282 284