Commit 0273c1b9b9d11bd322c5f963f05458676098583d

Authored by Luigi
1 parent 4a20a29adf
Exists in master

Pasar parametros de Longitud y Latitud

Showing 1 changed file with 2 additions and 2 deletions   Show diff stats
src/js/controller.js
1 angular.module('focaModalDomicilio') 1 angular.module('focaModalDomicilio')
2 .controller('focaModalDomicilioController', 2 .controller('focaModalDomicilioController',
3 [ 3 [
4 '$timeout', 4 '$timeout',
5 '$filter', 5 '$filter',
6 '$scope', 6 '$scope',
7 '$uibModalInstance', 7 '$uibModalInstance',
8 'focaModalDomicilioService', 8 'focaModalDomicilioService',
9 '$uibModal', 9 '$uibModal',
10 'idCliente', 10 'idCliente',
11 'esNuevo', 11 'esNuevo',
12 'focaModalService', 12 'focaModalService',
13 function($timeout, $filter, $scope, $uibModalInstance, focaModalDomicilioService, 13 function($timeout, $filter, $scope, $uibModalInstance, focaModalDomicilioService,
14 $uibModal, idCliente, esNuevo, focaModalService) { 14 $uibModal, idCliente, esNuevo, focaModalService) {
15 15
16 $scope.buscar = function() { 16 $scope.buscar = function() {
17 focaModalDomicilioService 17 focaModalDomicilioService
18 .getDomiciliosEntregaByIdCliente($scope.idCliente) 18 .getDomiciliosEntregaByIdCliente($scope.idCliente)
19 .then(function(res) { 19 .then(function(res) {
20 $scope.domicilios = res.data; 20 $scope.domicilios = res.data;
21 $scope.search(); 21 $scope.search();
22 $scope.primerBusqueda = true; 22 $scope.primerBusqueda = true;
23 } 23 }
24 ); 24 );
25 }; 25 };
26 $scope.filters = ''; 26 $scope.filters = '';
27 $scope.idCliente = idCliente; 27 $scope.idCliente = idCliente;
28 $scope.buscar(); 28 $scope.buscar();
29 $scope.ingreso = esNuevo; 29 $scope.ingreso = esNuevo;
30 $scope.primerBusqueda = false; 30 $scope.primerBusqueda = false;
31 $scope.contactos = [{}]; 31 $scope.contactos = [{}];
32 // pagination 32 // pagination
33 $scope.numPerPage = 5; 33 $scope.numPerPage = 5;
34 $scope.currentPage = 1; 34 $scope.currentPage = 1;
35 $scope.filteredDomicilios = []; 35 $scope.filteredDomicilios = [];
36 $scope.currentPageDomicilios = []; 36 $scope.currentPageDomicilios = [];
37 $scope.selectedDomicilio = -1; 37 $scope.selectedDomicilio = -1;
38 $scope.focused = 1; 38 $scope.focused = 1;
39 $scope.domicilio = {}; 39 $scope.domicilio = {};
40 40
41 //METODOS 41 //METODOS
42 $scope.search = function(pressed) { 42 $scope.search = function(pressed) {
43 $scope.filteredDomicilios = $filter('filter')( 43 $scope.filteredDomicilios = $filter('filter')(
44 $scope.domicilios, 44 $scope.domicilios,
45 {$: $scope.filters} 45 {$: $scope.filters}
46 ); 46 );
47 47
48 if (pressed) { 48 if (pressed) {
49 if ($scope.filteredDomicilios.length === 0) { 49 if ($scope.filteredDomicilios.length === 0) {
50 $timeout(function() { 50 $timeout(function() {
51 angular.element('#search')[0].focus(); 51 angular.element('#search')[0].focus();
52 $scope.filters = ''; 52 $scope.filters = '';
53 }); 53 });
54 } else { 54 } else {
55 primera(); 55 primera();
56 } 56 }
57 } 57 }
58 58
59 $scope.lastPage = Math.ceil( 59 $scope.lastPage = Math.ceil(
60 $scope.filteredDomicilios.length / $scope.numPerPage 60 $scope.filteredDomicilios.length / $scope.numPerPage
61 ); 61 );
62 62
63 $scope.resetPage(); 63 $scope.resetPage();
64 }; 64 };
65 65
66 $scope.resetPage = function() { 66 $scope.resetPage = function() {
67 $scope.currentPage = 1; 67 $scope.currentPage = 1;
68 $scope.selectPage(1); 68 $scope.selectPage(1);
69 }; 69 };
70 70
71 $scope.selectPage = function(page) { 71 $scope.selectPage = function(page) {
72 var start = (page - 1) * $scope.numPerPage; 72 var start = (page - 1) * $scope.numPerPage;
73 var end = start + $scope.numPerPage; 73 var end = start + $scope.numPerPage;
74 $scope.paginas = []; 74 $scope.paginas = [];
75 $scope.paginas = calcularPages(page); 75 $scope.paginas = calcularPages(page);
76 $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end); 76 $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end);
77 $scope.currentPage = page; 77 $scope.currentPage = page;
78 }; 78 };
79 79
80 $scope.select = function(domicilio) { 80 $scope.select = function(domicilio) {
81 $uibModalInstance.close(domicilio); 81 $uibModalInstance.close(domicilio);
82 }; 82 };
83 83
84 $scope.cancel = function() { 84 $scope.cancel = function() {
85 $uibModalInstance.dismiss('cancel'); 85 $uibModalInstance.dismiss('cancel');
86 }; 86 };
87 87
88 $scope.busquedaDown = function(key) { 88 $scope.busquedaDown = function(key) {
89 if (key === 40) { 89 if (key === 40) {
90 primera(key); 90 primera(key);
91 } 91 }
92 }; 92 };
93 93
94 $scope.busquedaPress = function(key) { 94 $scope.busquedaPress = function(key) {
95 if (key === 13) { 95 if (key === 13) {
96 $scope.search(true); 96 $scope.search(true);
97 } 97 }
98 }; 98 };
99 99
100 $scope.itemDomicilio = function(key) { 100 $scope.itemDomicilio = function(key) {
101 if (key === 38) { 101 if (key === 38) {
102 anterior(key); 102 anterior(key);
103 } 103 }
104 104
105 if (key === 40) { 105 if (key === 40) {
106 siguiente(key); 106 siguiente(key);
107 } 107 }
108 108
109 if (key === 37) { 109 if (key === 37) {
110 retrocederPagina(); 110 retrocederPagina();
111 } 111 }
112 112
113 if (key === 39) { 113 if (key === 39) {
114 avanzarPagina(); 114 avanzarPagina();
115 } 115 }
116 }; 116 };
117 117
118 $scope.agregarDomicilio = function() { 118 $scope.agregarDomicilio = function() {
119 119
120 $scope.domicilio.valores = []; 120 $scope.domicilio.valores = [];
121 $scope.domicilio.idCliente = $scope.idCliente; 121 $scope.domicilio.idCliente = $scope.idCliente;
122 if ($scope.domicilio.calle) { 122 if ($scope.domicilio.calle) {
123 $scope.domicilio.valores.push({ 123 $scope.domicilio.valores.push({
124 ID_ADAC_1: 1, 124 ID_ADAC_1: 1,
125 dato: $scope.domicilio.calle 125 dato: $scope.domicilio.calle
126 }); 126 });
127 } 127 }
128 if ($scope.domicilio.numeroCalle) { 128 if ($scope.domicilio.numeroCalle) {
129 $scope.domicilio.valores.push({ 129 $scope.domicilio.valores.push({
130 ID_ADAC_1: 2, 130 ID_ADAC_1: 2,
131 dato: $scope.domicilio.numeroCalle 131 dato: $scope.domicilio.numeroCalle
132 }); 132 });
133 } 133 }
134 if ($scope.domicilio.localidad) { 134 if ($scope.domicilio.localidad) {
135 $scope.domicilio.valores.push({ 135 $scope.domicilio.valores.push({
136 ID_ADAC_1: 3, 136 ID_ADAC_1: 3,
137 dato: $scope.domicilio.localidad 137 dato: $scope.domicilio.localidad
138 }); 138 });
139 } 139 }
140 if ($scope.domicilio.provincia) { 140 if ($scope.domicilio.provincia) {
141 $scope.domicilio.valores.push({ 141 $scope.domicilio.valores.push({
142 ID_ADAC_1: 4, 142 ID_ADAC_1: 4,
143 dato: $scope.domicilio.provincia 143 dato: $scope.domicilio.provincia
144 }); 144 });
145 } 145 }
146 if ($scope.domicilio.latitud) { 146 if ($scope.domicilio.latitud) {
147 $scope.domicilio.valores.push({ 147 $scope.domicilio.valores.push({
148 ID_ADAC_1: 23, 148 ID_ADAC_1: 23,
149 dato: $scope.domicilio.latitud.toString() 149 dato: $scope.domicilio.latitud.toString()
150 }); 150 });
151 } 151 }
152 if ($scope.domicilio.longitud) { 152 if ($scope.domicilio.longitud) {
153 $scope.domicilio.valores.push({ 153 $scope.domicilio.valores.push({
154 ID_ADAC_1: 24, 154 ID_ADAC_1: 24,
155 dato: $scope.domicilio.longitud.toString() 155 dato: $scope.domicilio.longitud.toString()
156 }); 156 });
157 } 157 }
158 158
159 if (!$scope.domicilio.titulo) { 159 if (!$scope.domicilio.titulo) {
160 focaModalService.alert('Ingrese titulo'); 160 focaModalService.alert('Ingrese titulo');
161 return; 161 return;
162 } else if (!$scope.domicilio.calle) { 162 } else if (!$scope.domicilio.calle) {
163 focaModalService.alert('Ingrese calle'); 163 focaModalService.alert('Ingrese calle');
164 return; 164 return;
165 } else if (!$scope.domicilio.numeroCalle) { 165 } else if (!$scope.domicilio.numeroCalle) {
166 focaModalService.alert('Ingrese numero de calle'); 166 focaModalService.alert('Ingrese numero de calle');
167 return; 167 return;
168 } else if (!$scope.domicilio.localidad) { 168 } else if (!$scope.domicilio.localidad) {
169 focaModalService.alert('Ingrese localidad'); 169 focaModalService.alert('Ingrese localidad');
170 return; 170 return;
171 } else if (!$scope.domicilio.provincia) { 171 } else if (!$scope.domicilio.provincia) {
172 focaModalService.alert('Ingrese provincia'); 172 focaModalService.alert('Ingrese provincia');
173 return; 173 return;
174 } 174 }
175 175
176 //domicilios de entrega corresponden al 1 176 //domicilios de entrega corresponden al 1
177 focaModalDomicilioService 177 focaModalDomicilioService
178 .obtenerUltimoPorNivelPadre(1) 178 .obtenerUltimoPorNivelPadre(1)
179 .then(function(res) { 179 .then(function(res) {
180 $scope.domicilio.nivel1 = 1;//domicilio de entrega corresponde 1 180 $scope.domicilio.nivel1 = 1;//domicilio de entrega corresponde 1
181 $scope.domicilio.nivel2 = res.data[0].ultimo + 1; 181 $scope.domicilio.nivel2 = res.data[0].ultimo + 1;
182 focaModalDomicilioService 182 focaModalDomicilioService
183 .guardarDomicilio($scope.domicilio) 183 .guardarDomicilio($scope.domicilio)
184 .then(function() { 184 .then(function() {
185 $scope.buscar(); 185 $scope.buscar();
186 $scope.ingreso = false; 186 $scope.ingreso = false;
187 $scope.domicilio = {}; 187 $scope.domicilio = {};
188 }) 188 })
189 .catch(function() { 189 .catch(function() {
190 focaModalService.alert('Hubo un error al crear el domicilio'); 190 focaModalService.alert('Hubo un error al crear el domicilio');
191 $scope.ingreso = false; 191 $scope.ingreso = false;
192 }); 192 });
193 }); 193 });
194 }; 194 };
195 195
196 $scope.verPuntosDescarga = function(key) { 196 $scope.verPuntosDescarga = function(key) {
197 197
198 $scope.currentPageDomicilios[key].verPuntos = true; 198 $scope.currentPageDomicilios[key].verPuntos = true;
199 $scope.select($scope.currentPageDomicilios[key]); 199 $scope.select($scope.currentPageDomicilios[key]);
200 }; 200 };
201 201
202 $scope.localizarDomicilio = function(localizar) { 202 $scope.localizarDomicilio = function(localizar) {
203 var direccion = null; 203 var direccion = null;
204 if (localizar) { 204 if (localizar) {
205 direccion = { 205 direccion = {
206 calle: $scope.domicilio.calle, 206 calle: $scope.domicilio.calle,
207 numero: $scope.domicilio.numeroCalle, 207 numero: $scope.domicilio.numeroCalle,
208 localidad: $scope.domicilio.localidad, 208 localidad: $scope.domicilio.localidad,
209 provincia: $scope.domicilio.provincia 209 provincia: $scope.domicilio.provincia
210 }; 210 };
211 } 211 }
212 var modalInstance = $uibModal.open( 212 var modalInstance = $uibModal.open(
213 { 213 {
214 ariaLabelledBy: 'Buscar domicilio', 214 ariaLabelledBy: 'Buscar domicilio',
215 templateUrl: 'modal-localizar.html', 215 templateUrl: 'modal-localizar.html',
216 controller: 'focaModalLocalizarController', 216 controller: 'focaModalLocalizarController',
217 size: 'lg', 217 size: 'lg',
218 resolve: { 218 resolve: {
219 parametros: { 219 parametros: {
220 direccion: direccion, 220 direccion: direccion,
221 latitud: '', 221 latitud: $scope.domicilio.latitud,
222 longitud:'' 222 longitud: $scope.domicilio.longitud
223 } 223 }
224 } 224 }
225 } 225 }
226 ); 226 );
227 modalInstance.result.then(function(res) { 227 modalInstance.result.then(function(res) {
228 $scope.domicilio.latitud = res.latitud; 228 $scope.domicilio.latitud = res.latitud;
229 $scope.domicilio.longitud = res.longitud; 229 $scope.domicilio.longitud = res.longitud;
230 }, function() { 230 }, function() {
231 //TODO: función llamada cuando cancela el modal 231 //TODO: función llamada cuando cancela el modal
232 }); 232 });
233 }; 233 };
234 234
235 $scope.next = function(key) { 235 $scope.next = function(key) {
236 if (key === 13) $scope.focused++; 236 if (key === 13) $scope.focused++;
237 }; 237 };
238 238
239 function calcularPages(paginaActual) { 239 function calcularPages(paginaActual) {
240 var paginas = []; 240 var paginas = [];
241 paginas.push(paginaActual); 241 paginas.push(paginaActual);
242 242
243 if (paginaActual - 1 > 1) { 243 if (paginaActual - 1 > 1) {
244 244
245 paginas.unshift(paginaActual - 1); 245 paginas.unshift(paginaActual - 1);
246 if (paginaActual - 2 > 1) { 246 if (paginaActual - 2 > 1) {
247 paginas.unshift(paginaActual - 2); 247 paginas.unshift(paginaActual - 2);
248 } 248 }
249 } 249 }
250 250
251 if (paginaActual + 1 < $scope.lastPage) { 251 if (paginaActual + 1 < $scope.lastPage) {
252 paginas.push(paginaActual + 1); 252 paginas.push(paginaActual + 1);
253 if (paginaActual + 2 < $scope.lastPage) { 253 if (paginaActual + 2 < $scope.lastPage) {
254 paginas.push(paginaActual + 2); 254 paginas.push(paginaActual + 2);
255 } 255 }
256 } 256 }
257 257
258 if (paginaActual !== 1) { 258 if (paginaActual !== 1) {
259 paginas.unshift(1); 259 paginas.unshift(1);
260 } 260 }
261 261
262 if (paginaActual !== $scope.lastPage) { 262 if (paginaActual !== $scope.lastPage) {
263 paginas.push($scope.lastPage); 263 paginas.push($scope.lastPage);
264 } 264 }
265 265
266 return paginas; 266 return paginas;
267 } 267 }
268 268
269 function primera() { 269 function primera() {
270 $scope.selectedDomicilio = 0; 270 $scope.selectedDomicilio = 0;
271 } 271 }
272 272
273 function anterior() { 273 function anterior() {
274 if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) { 274 if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) {
275 retrocederPagina(); 275 retrocederPagina();
276 } else { 276 } else {
277 $scope.selectedDomicilio--; 277 $scope.selectedDomicilio--;
278 } 278 }
279 } 279 }
280 280
281 function siguiente() { 281 function siguiente() {
282 if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length ) { 282 if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length ) {
283 $scope.selectedDomicilio++; 283 $scope.selectedDomicilio++;
284 } else { 284 } else {
285 avanzarPagina(); 285 avanzarPagina();
286 } 286 }
287 } 287 }
288 288
289 function retrocederPagina() { 289 function retrocederPagina() {
290 if ($scope.currentPage > 1) { 290 if ($scope.currentPage > 1) {
291 $scope.selectPage($scope.currentPage - 1); 291 $scope.selectPage($scope.currentPage - 1);
292 $scope.selectedDomicilio = $scope.numPerPage - 1; 292 $scope.selectedDomicilio = $scope.numPerPage - 1;
293 } 293 }
294 } 294 }
295 295
296 function avanzarPagina() { 296 function avanzarPagina() {
297 if ($scope.currentPage < $scope.lastPage) { 297 if ($scope.currentPage < $scope.lastPage) {
298 $scope.selectPage($scope.currentPage + 1); 298 $scope.selectPage($scope.currentPage + 1);
299 $scope.selectedDomicilio = 0; 299 $scope.selectedDomicilio = 0;
300 } 300 }
301 } 301 }
302 } 302 }
303 ] 303 ]
304 ); 304 );
305 305