Commit a159da92f7fa199ac4a6b10733689c8066c1aa8d
1 parent
105ca960f6
Exists in
develop
Fix
Inputs de localidad y provincia
Showing
2 changed files
with
12 additions
and
6 deletions
Show diff stats
src/js/controller.js
1 | angular.module('focaModalDomicilio') | 1 | angular.module('focaModalDomicilio') |
2 | .controller('focaModalDomicilioController', | 2 | .controller('focaModalDomicilioController', |
3 | ['$timeout', '$filter', '$scope', '$uibModalInstance', 'focaModalDomicilioService', | 3 | ['$timeout', '$filter', '$scope', '$uibModalInstance', 'focaModalDomicilioService', |
4 | '$uibModal', 'idCliente', 'esNuevo', 'focaModalService', 'IDomicilio', | 4 | '$uibModal', 'idCliente', 'esNuevo', 'focaModalService', 'IDomicilio', |
5 | function ($timeout, $filter, $scope, $uibModalInstance, focaModalDomicilioService, | 5 | function ($timeout, $filter, $scope, $uibModalInstance, focaModalDomicilioService, |
6 | $uibModal, idCliente, esNuevo, focaModalService, IDomicilio) { | 6 | $uibModal, idCliente, esNuevo, focaModalService, IDomicilio) { |
7 | 7 | ||
8 | $scope.buscar = function () { | 8 | $scope.buscar = function () { |
9 | focaModalDomicilioService | 9 | focaModalDomicilioService |
10 | .getDomiciliosEntregaByIdCliente($scope.idCliente) | 10 | .getDomiciliosEntregaByIdCliente($scope.idCliente) |
11 | .then(function (res) { | 11 | .then(function (res) { |
12 | $scope.domicilios = res.data; | 12 | $scope.domicilios = res.data; |
13 | $scope.search(); | 13 | $scope.search(); |
14 | $scope.primerBusqueda = true; | 14 | $scope.primerBusqueda = true; |
15 | }); | 15 | }); |
16 | }; | 16 | }; |
17 | $scope.filters = ''; | 17 | $scope.filters = ''; |
18 | $scope.idCliente = idCliente; | 18 | $scope.idCliente = idCliente; |
19 | $scope.buscar(); | 19 | $scope.buscar(); |
20 | $scope.ingreso = esNuevo; | 20 | $scope.ingreso = esNuevo; |
21 | $scope.primerBusqueda = false; | 21 | $scope.primerBusqueda = false; |
22 | $scope.contactos = [{}]; | 22 | $scope.contactos = [{}]; |
23 | // pagination | 23 | // pagination |
24 | $scope.numPerPage = 5; | 24 | $scope.numPerPage = 5; |
25 | $scope.currentPage = 1; | 25 | $scope.currentPage = 1; |
26 | $scope.filteredDomicilios = []; | 26 | $scope.filteredDomicilios = []; |
27 | $scope.currentPageDomicilios = []; | 27 | $scope.currentPageDomicilios = []; |
28 | $scope.selectedDomicilio = -1; | 28 | $scope.selectedDomicilio = -1; |
29 | $scope.focused = 1; | 29 | $scope.focused = 1; |
30 | $scope.domicilio = IDomicilio; | 30 | $scope.domicilio = IDomicilio; |
31 | 31 | ||
32 | //METODOS | 32 | //METODOS |
33 | $scope.search = function (pressed) { | 33 | $scope.search = function (pressed) { |
34 | $scope.filteredDomicilios = $filter('filter')( | 34 | $scope.filteredDomicilios = $filter('filter')( |
35 | $scope.domicilios, | 35 | $scope.domicilios, |
36 | { $: $scope.filters } | 36 | { $: $scope.filters } |
37 | ); | 37 | ); |
38 | 38 | ||
39 | if (pressed) { | 39 | if (pressed) { |
40 | if ($scope.filteredDomicilios.length === 0) { | 40 | if ($scope.filteredDomicilios.length === 0) { |
41 | $timeout(function () { | 41 | $timeout(function () { |
42 | angular.element('#search')[0].focus(); | 42 | angular.element('#search')[0].focus(); |
43 | $scope.filters = ''; | 43 | $scope.filters = ''; |
44 | }); | 44 | }); |
45 | } else { | 45 | } else { |
46 | primera(); | 46 | primera(); |
47 | } | 47 | } |
48 | } | 48 | } |
49 | 49 | ||
50 | $scope.lastPage = Math.ceil( | 50 | $scope.lastPage = Math.ceil( |
51 | $scope.filteredDomicilios.length / $scope.numPerPage | 51 | $scope.filteredDomicilios.length / $scope.numPerPage |
52 | ); | 52 | ); |
53 | 53 | ||
54 | $scope.resetPage(); | 54 | $scope.resetPage(); |
55 | }; | 55 | }; |
56 | 56 | ||
57 | $scope.resetPage = function () { | 57 | $scope.resetPage = function () { |
58 | $scope.currentPage = 1; | 58 | $scope.currentPage = 1; |
59 | $scope.selectPage(1); | 59 | $scope.selectPage(1); |
60 | }; | 60 | }; |
61 | 61 | ||
62 | $scope.selectPage = function (page) { | 62 | $scope.selectPage = function (page) { |
63 | var start = (page - 1) * $scope.numPerPage; | 63 | var start = (page - 1) * $scope.numPerPage; |
64 | var end = start + $scope.numPerPage; | 64 | var end = start + $scope.numPerPage; |
65 | $scope.paginas = []; | 65 | $scope.paginas = []; |
66 | $scope.paginas = calcularPages(page); | 66 | $scope.paginas = calcularPages(page); |
67 | $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end); | 67 | $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end); |
68 | $scope.currentPage = page; | 68 | $scope.currentPage = page; |
69 | }; | 69 | }; |
70 | 70 | ||
71 | $scope.select = function (domicilio) { | 71 | $scope.select = function (domicilio) { |
72 | $uibModalInstance.close(domicilio); | 72 | $uibModalInstance.close(domicilio); |
73 | }; | 73 | }; |
74 | 74 | ||
75 | $scope.cancel = function () { | 75 | $scope.cancel = function () { |
76 | $uibModalInstance.dismiss('cancel'); | 76 | $uibModalInstance.dismiss('cancel'); |
77 | }; | 77 | }; |
78 | 78 | ||
79 | $scope.busquedaDown = function (key) { | 79 | $scope.busquedaDown = function (key) { |
80 | if (!key === 40) return; | 80 | if (key !== 40) return; |
81 | primera(key); | 81 | primera(key); |
82 | }; | 82 | }; |
83 | 83 | ||
84 | $scope.busquedaPress = function (key) { | 84 | $scope.busquedaPress = function (key) { |
85 | if (!key === 13) return; | 85 | if (key !== 13) return; |
86 | $scope.search(true); | 86 | $scope.search(true); |
87 | }; | 87 | }; |
88 | 88 | ||
89 | $scope.seleccionarLocalidad = function (key) { | 89 | $scope.seleccionarLocalidad = function (key) { |
90 | if (!key === 13) return; | 90 | if (key !== 13) return; |
91 | if (!$scope.domicilio.provincia.ID) { | 91 | if (!$scope.domicilio.provincia.ID) { |
92 | focaModalService.alert('Seleccione una provincia'); | 92 | focaModalService.alert('Seleccione una provincia'); |
93 | return; | 93 | return; |
94 | } | 94 | } |
95 | 95 | ||
96 | var parametrosModal = { | 96 | var parametrosModal = { |
97 | searchText: $scope.domicilio.localidad.NOMBRE, | 97 | searchText: $scope.domicilio.localidad.NOMBRE, |
98 | query: '/localidad/' + parseInt($scope.domicilio.provincia.ID), | 98 | query: '/localidad/' + parseInt($scope.domicilio.provincia.ID), |
99 | columnas: focaModalDomicilioService.getLocalidadTableFormat(), | 99 | columnas: focaModalDomicilioService.getLocalidadTableFormat(), |
100 | titulo: 'Búsqueda de localidades', | 100 | titulo: 'Búsqueda de localidades', |
101 | size: 'md' | 101 | size: 'md' |
102 | }; | 102 | }; |
103 | 103 | ||
104 | focaModalService.modal(parametrosModal) | 104 | focaModalService.modal(parametrosModal) |
105 | .then(function (localidad) { | 105 | .then(function (localidad) { |
106 | $scope.domicilio.localidad = localidad; | 106 | $scope.domicilio.localidad = localidad; |
107 | $timeout(function () { | 107 | $timeout(function () { |
108 | $scope.focused = 5; | 108 | $scope.focused = 5; |
109 | }); | 109 | }); |
110 | }, function () { | ||
111 | $scope.domicilio.localidad.NOMBRE = ''; | ||
110 | }); | 112 | }); |
111 | }; | 113 | }; |
112 | 114 | ||
113 | $scope.seleccionarProvincia = function (key) { | 115 | $scope.seleccionarProvincia = function (key) { |
114 | if (!key === 13) return; | 116 | if (key !== 13) return; |
115 | var parametrosModal = { | 117 | var parametrosModal = { |
116 | searchText: $scope.domicilio.provincia.NOMBRE, | 118 | searchText: $scope.domicilio.provincia.NOMBRE, |
117 | query: '/provincia', | 119 | query: '/provincia', |
118 | columnas: focaModalDomicilioService.getProvinciaTableFormat(), | 120 | columnas: focaModalDomicilioService.getProvinciaTableFormat(), |
119 | titulo: 'Búsqueda de provincias', | 121 | titulo: 'Búsqueda de provincias', |
120 | size: 'md' | 122 | size: 'md' |
121 | }; | 123 | }; |
122 | focaModalService.modal(parametrosModal) | 124 | focaModalService.modal(parametrosModal) |
123 | .then(function (provincia) { | 125 | .then(function (provincia) { |
124 | $scope.domicilio.provincia = provincia; | 126 | $scope.domicilio.provincia = provincia; |
125 | $timeout(function () { | 127 | $timeout(function () { |
126 | $scope.focused = 4; | 128 | $scope.focused = 4; |
127 | }); | 129 | }); |
130 | }, function () { | ||
131 | $scope.domicilio.provincia.NOMBRE = ''; | ||
128 | }); | 132 | }); |
129 | }; | 133 | }; |
130 | 134 | ||
131 | $scope.itemDomicilio = function (key) { | 135 | $scope.itemDomicilio = function (key) { |
132 | switch (key) { | 136 | switch (key) { |
133 | case 38: | 137 | case 38: |
134 | anterior(key); | 138 | anterior(key); |
135 | break; | 139 | break; |
136 | case 40: | 140 | case 40: |
137 | siguiente(key); | 141 | siguiente(key); |
138 | break; | 142 | break; |
139 | case 37: | 143 | case 37: |
140 | retrocederPagina(); | 144 | retrocederPagina(); |
141 | break; | 145 | break; |
142 | case 39: | 146 | case 39: |
143 | avanzarPagina(); | 147 | avanzarPagina(); |
144 | break; | 148 | break; |
145 | } | 149 | } |
146 | }; | 150 | }; |
147 | 151 | ||
148 | $scope.agregarDomicilio = function () { | 152 | $scope.agregarDomicilio = function () { |
149 | $scope.domicilio.valores = []; | 153 | $scope.domicilio.valores = []; |
150 | $scope.domicilio.idCliente = $scope.idCliente; | 154 | $scope.domicilio.idCliente = $scope.idCliente; |
151 | if ($scope.domicilio.calle) { | 155 | if ($scope.domicilio.calle) { |
152 | $scope.domicilio.valores.push({ | 156 | $scope.domicilio.valores.push({ |
153 | ID_ADAC_1: 1, | 157 | ID_ADAC_1: 1, |
154 | dato: $scope.domicilio.calle | 158 | dato: $scope.domicilio.calle |
155 | }); | 159 | }); |
156 | } | 160 | } |
157 | if ($scope.domicilio.numeroCalle) { | 161 | if ($scope.domicilio.numeroCalle) { |
158 | $scope.domicilio.valores.push({ | 162 | $scope.domicilio.valores.push({ |
159 | ID_ADAC_1: 2, | 163 | ID_ADAC_1: 2, |
160 | dato: $scope.domicilio.numeroCalle | 164 | dato: $scope.domicilio.numeroCalle |
161 | }); | 165 | }); |
162 | } | 166 | } |
163 | if ($scope.domicilio.localidad.ID) { | 167 | if ($scope.domicilio.localidad.ID) { |
164 | $scope.domicilio.valores.push({ | 168 | $scope.domicilio.valores.push({ |
165 | ID_ADAC_1: 3, | 169 | ID_ADAC_1: 3, |
166 | dato: $scope.domicilio.localidad.NOMBRE | 170 | dato: $scope.domicilio.localidad.NOMBRE |
167 | }); | 171 | }); |
168 | } | 172 | } |
169 | if ($scope.domicilio.provincia.ID) { | 173 | if ($scope.domicilio.provincia.ID) { |
170 | $scope.domicilio.valores.push({ | 174 | $scope.domicilio.valores.push({ |
171 | ID_ADAC_1: 4, | 175 | ID_ADAC_1: 4, |
172 | dato: $scope.domicilio.provincia.NOMBRE | 176 | dato: $scope.domicilio.provincia.NOMBRE |
173 | }); | 177 | }); |
174 | } | 178 | } |
175 | if ($scope.domicilio.latitud) { | 179 | if ($scope.domicilio.latitud) { |
176 | $scope.domicilio.valores.push({ | 180 | $scope.domicilio.valores.push({ |
177 | ID_ADAC_1: 23, | 181 | ID_ADAC_1: 23, |
178 | dato: $scope.domicilio.latitud.toString() | 182 | dato: $scope.domicilio.latitud.toString() |
179 | }); | 183 | }); |
180 | } | 184 | } |
181 | if ($scope.domicilio.longitud) { | 185 | if ($scope.domicilio.longitud) { |
182 | $scope.domicilio.valores.push({ | 186 | $scope.domicilio.valores.push({ |
183 | ID_ADAC_1: 24, | 187 | ID_ADAC_1: 24, |
184 | dato: $scope.domicilio.longitud.toString() | 188 | dato: $scope.domicilio.longitud.toString() |
185 | }); | 189 | }); |
186 | } | 190 | } |
187 | 191 | ||
188 | if (!$scope.domicilio.titulo) { | 192 | if (!$scope.domicilio.titulo) { |
189 | focaModalService.alert('Ingrese titulo'); | 193 | focaModalService.alert('Ingrese titulo'); |
190 | return; | 194 | return; |
191 | } else if (!$scope.domicilio.calle) { | 195 | } else if (!$scope.domicilio.calle) { |
192 | focaModalService.alert('Ingrese calle'); | 196 | focaModalService.alert('Ingrese calle'); |
193 | return; | 197 | return; |
194 | } else if (!$scope.domicilio.numeroCalle) { | 198 | } else if (!$scope.domicilio.numeroCalle) { |
195 | focaModalService.alert('Ingrese numero de calle'); | 199 | focaModalService.alert('Ingrese numero de calle'); |
196 | return; | 200 | return; |
197 | } else if (!$scope.domicilio.localidad.ID) { | 201 | } else if (!$scope.domicilio.localidad.ID) { |
198 | focaModalService.alert('Ingrese localidad'); | 202 | focaModalService.alert('Ingrese localidad'); |
199 | return; | 203 | return; |
200 | } else if (!$scope.domicilio.provincia.ID) { | 204 | } else if (!$scope.domicilio.provincia.ID) { |
201 | focaModalService.alert('Ingrese provincia'); | 205 | focaModalService.alert('Ingrese provincia'); |
202 | return; | 206 | return; |
203 | } | 207 | } |
204 | 208 | ||
205 | //domicilios de entrega corresponden al 1 | 209 | //domicilios de entrega corresponden al 1 |
206 | focaModalDomicilioService | 210 | focaModalDomicilioService |
207 | .obtenerUltimoPorNivelPadre(1) | 211 | .obtenerUltimoPorNivelPadre(1) |
208 | .then(function (res) { | 212 | .then(function (res) { |
209 | $scope.domicilio.nivel1 = 1; //domicilio de entrega corresponde 1 | 213 | $scope.domicilio.nivel1 = 1; //domicilio de entrega corresponde 1 |
210 | $scope.domicilio.nivel2 = res.data[0].ultimo + 1; | 214 | $scope.domicilio.nivel2 = res.data[0].ultimo + 1; |
211 | focaModalDomicilioService | 215 | focaModalDomicilioService |
212 | .guardarDomicilio($scope.domicilio) | 216 | .guardarDomicilio($scope.domicilio) |
213 | .then(function () { | 217 | .then(function () { |
214 | $scope.buscar(); | 218 | $scope.buscar(); |
215 | $scope.ingreso = false; | 219 | $scope.ingreso = false; |
216 | $scope.domicilio = {}; | 220 | $scope.domicilio = {}; |
217 | }) | 221 | }) |
218 | .catch(function () { | 222 | .catch(function () { |
219 | focaModalService.alert('Hubo un error al crear el domicilio'); | 223 | focaModalService.alert('Hubo un error al crear el domicilio'); |
220 | $scope.ingreso = false; | 224 | $scope.ingreso = false; |
221 | }); | 225 | }); |
222 | }); | 226 | }); |
223 | }; | 227 | }; |
224 | 228 | ||
225 | $scope.verPuntosDescarga = function (key) { | 229 | $scope.verPuntosDescarga = function (key) { |
226 | $scope.currentPageDomicilios[key].verPuntos = true; | 230 | $scope.currentPageDomicilios[key].verPuntos = true; |
227 | $scope.select($scope.currentPageDomicilios[key]); | 231 | $scope.select($scope.currentPageDomicilios[key]); |
228 | }; | 232 | }; |
229 | 233 | ||
230 | $scope.localizarDomicilio = function (localizar) { | 234 | $scope.localizarDomicilio = function (localizar) { |
231 | var direccion = null; | 235 | var direccion = null; |
232 | if (localizar) { | 236 | if (localizar) { |
233 | direccion = { | 237 | direccion = { |
234 | calle: $scope.domicilio.calle, | 238 | calle: $scope.domicilio.calle, |
235 | numero: $scope.domicilio.numeroCalle, | 239 | numero: $scope.domicilio.numeroCalle, |
236 | localidad: $scope.domicilio.localidad.NOMBRE, | 240 | localidad: $scope.domicilio.localidad.NOMBRE, |
237 | provincia: $scope.domicilio.provincia.NOMBRE | 241 | provincia: $scope.domicilio.provincia.NOMBRE |
238 | }; | 242 | }; |
239 | } | 243 | } |
240 | var modalInstance = $uibModal.open( | 244 | var modalInstance = $uibModal.open( |
241 | { | 245 | { |
242 | ariaLabelledBy: 'Buscar domicilio', | 246 | ariaLabelledBy: 'Buscar domicilio', |
243 | templateUrl: 'modal-localizar.html', | 247 | templateUrl: 'modal-localizar.html', |
244 | controller: 'focaModalLocalizarController', | 248 | controller: 'focaModalLocalizarController', |
245 | size: 'lg', | 249 | size: 'lg', |
246 | resolve: { | 250 | resolve: { |
247 | parametros: { | 251 | parametros: { |
248 | direccion: direccion, | 252 | direccion: direccion, |
249 | latitud: $scope.domicilio.latitud, | 253 | latitud: $scope.domicilio.latitud, |
250 | longitud: $scope.domicilio.longitud | 254 | longitud: $scope.domicilio.longitud |
251 | } | 255 | } |
252 | } | 256 | } |
253 | } | 257 | } |
254 | ); | 258 | ); |
255 | modalInstance.result.then(function (res) { | 259 | modalInstance.result.then(function (res) { |
256 | $scope.domicilio.latitud = res.latitud; | 260 | $scope.domicilio.latitud = res.latitud; |
257 | $scope.domicilio.longitud = res.longitud; | 261 | $scope.domicilio.longitud = res.longitud; |
258 | }, function () { | 262 | }, function () { |
259 | //TODO: función llamada cuando cancela el modal | 263 | //TODO: función llamada cuando cancela el modal |
260 | }); | 264 | }); |
261 | }; | 265 | }; |
262 | 266 | ||
263 | $scope.next = function (key) { | 267 | $scope.next = function (key) { |
264 | if (key === 13) $scope.focused++; | 268 | if (key === 13) $scope.focused++; |
265 | }; | 269 | }; |
266 | 270 | ||
267 | function calcularPages(paginaActual) { | 271 | function calcularPages(paginaActual) { |
268 | var paginas = []; | 272 | var paginas = []; |
269 | paginas.push(paginaActual); | 273 | paginas.push(paginaActual); |
270 | 274 | ||
271 | if (paginaActual - 1 > 1) { | 275 | if (paginaActual - 1 > 1) { |
272 | 276 | ||
273 | paginas.unshift(paginaActual - 1); | 277 | paginas.unshift(paginaActual - 1); |
274 | if (paginaActual - 2 > 1) { | 278 | if (paginaActual - 2 > 1) { |
275 | paginas.unshift(paginaActual - 2); | 279 | paginas.unshift(paginaActual - 2); |
276 | } | 280 | } |
277 | } | 281 | } |
278 | 282 | ||
279 | if (paginaActual + 1 < $scope.lastPage) { | 283 | if (paginaActual + 1 < $scope.lastPage) { |
280 | paginas.push(paginaActual + 1); | 284 | paginas.push(paginaActual + 1); |
281 | if (paginaActual + 2 < $scope.lastPage) { | 285 | if (paginaActual + 2 < $scope.lastPage) { |
282 | paginas.push(paginaActual + 2); | 286 | paginas.push(paginaActual + 2); |
283 | } | 287 | } |
284 | } | 288 | } |
285 | 289 | ||
286 | if (paginaActual !== 1) { | 290 | if (paginaActual !== 1) { |
287 | paginas.unshift(1); | 291 | paginas.unshift(1); |
288 | } | 292 | } |
289 | 293 | ||
290 | if (paginaActual !== $scope.lastPage) { | 294 | if (paginaActual !== $scope.lastPage) { |
291 | paginas.push($scope.lastPage); | 295 | paginas.push($scope.lastPage); |
292 | } | 296 | } |
293 | 297 | ||
294 | return paginas; | 298 | return paginas; |
295 | } | 299 | } |
296 | 300 | ||
297 | function primera() { | 301 | function primera() { |
298 | $scope.selectedDomicilio = 0; | 302 | $scope.selectedDomicilio = 0; |
299 | } | 303 | } |
300 | 304 | ||
301 | function anterior() { | 305 | function anterior() { |
302 | if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) { | 306 | if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) { |
303 | retrocederPagina(); | 307 | retrocederPagina(); |
304 | } else { | 308 | } else { |
305 | $scope.selectedDomicilio--; | 309 | $scope.selectedDomicilio--; |
306 | } | 310 | } |
307 | } | 311 | } |
308 | 312 | ||
309 | function siguiente() { | 313 | function siguiente() { |
310 | if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length) { | 314 | if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length) { |
311 | $scope.selectedDomicilio++; | 315 | $scope.selectedDomicilio++; |
312 | } else { | 316 | } else { |
313 | avanzarPagina(); | 317 | avanzarPagina(); |
314 | } | 318 | } |
315 | } | 319 | } |
316 | 320 | ||
317 | function retrocederPagina() { | 321 | function retrocederPagina() { |
318 | if ($scope.currentPage > 1) { | 322 | if ($scope.currentPage > 1) { |
319 | $scope.selectPage($scope.currentPage - 1); | 323 | $scope.selectPage($scope.currentPage - 1); |
320 | $scope.selectedDomicilio = $scope.numPerPage - 1; | 324 | $scope.selectedDomicilio = $scope.numPerPage - 1; |
321 | } | 325 | } |
322 | } | 326 | } |
323 | 327 | ||
324 | function avanzarPagina() { | 328 | function avanzarPagina() { |
325 | if ($scope.currentPage < $scope.lastPage) { | 329 | if ($scope.currentPage < $scope.lastPage) { |
326 | $scope.selectPage($scope.currentPage + 1); | 330 | $scope.selectPage($scope.currentPage + 1); |
327 | $scope.selectedDomicilio = 0; | 331 | $scope.selectedDomicilio = 0; |
328 | } | 332 | } |
329 | } | 333 | } |
330 | } | 334 | } |
331 | ] | 335 | ] |
332 | ); | 336 | ); |
333 | 337 |
src/views/modal-domicilio.html
1 | <div class="modal-header py-1"> | 1 | <div class="modal-header py-1"> |
2 | <div class="row w-100 justify-content-between"> | 2 | <div class="row w-100 justify-content-between"> |
3 | <div class="col-auto"> | 3 | <div class="col-auto"> |
4 | <h5 class="modal-title my-1" ng-hide="ingreso">Búsqueda de Domicilios</h5> | 4 | <h5 class="modal-title my-1" ng-hide="ingreso">Búsqueda de Domicilios</h5> |
5 | <h5 class="modal-title my-1" ng-show="ingreso">Crear domicilios de descarga</h5> | 5 | <h5 class="modal-title my-1" ng-show="ingreso">Crear domicilios de descarga</h5> |
6 | </div> | 6 | </div> |
7 | <div class="col-auto pr-0 my-2"> | 7 | <div class="col-auto pr-0 my-2"> |
8 | <button | 8 | <button |
9 | class="btn btn-outline-debo mr-2" | 9 | class="btn btn-outline-debo mr-2" |
10 | ng-click="ingreso = true" | 10 | ng-click="ingreso = true" |
11 | ng-show="!ingreso" | 11 | ng-show="!ingreso" |
12 | title="Nuevo"> | 12 | title="Nuevo"> |
13 | <i class="fa fa-plus"></i> | 13 | <i class="fa fa-plus"></i> |
14 | </button> | 14 | </button> |
15 | </div> | 15 | </div> |
16 | </div> | 16 | </div> |
17 | </div> | 17 | </div> |
18 | <div class="modal-body" id="modal-body"> | 18 | <div class="modal-body" id="modal-body"> |
19 | 19 | ||
20 | <div ng-show="!primerBusqueda">Debe realizar una primer búsqueda.</div> | 20 | <div ng-show="!primerBusqueda">Debe realizar una primer búsqueda.</div> |
21 | 21 | ||
22 | <div ng-show="!ingreso"> | 22 | <div ng-show="!ingreso"> |
23 | <table ng-show="!ingreso" class="table table-striped table-sm"> | 23 | <table ng-show="!ingreso" class="table table-striped table-sm"> |
24 | <thead> | 24 | <thead> |
25 | <tr> | 25 | <tr> |
26 | <th>Titulo</th> | 26 | <th>Titulo</th> |
27 | <th>Calle</th> | 27 | <th>Calle</th> |
28 | <th>Localidad</th> | 28 | <th>Localidad</th> |
29 | <th>Provincia</th> | 29 | <th>Provincia</th> |
30 | <th></th> | 30 | <th></th> |
31 | <th></th> | 31 | <th></th> |
32 | </tr> | 32 | </tr> |
33 | </thead> | 33 | </thead> |
34 | <tbody> | 34 | <tbody> |
35 | <tr ng-show="currentPageDomicilios.length == 0 && primerBusqueda"> | 35 | <tr ng-show="currentPageDomicilios.length == 0 && primerBusqueda"> |
36 | <td colspan="5">No se encontraron resultados.</td> | 36 | <td colspan="5">No se encontraron resultados.</td> |
37 | </tr> | 37 | </tr> |
38 | <tr class="selectable" | 38 | <tr class="selectable" |
39 | ng-repeat="(key,domicilio) in currentPageDomicilios"> | 39 | ng-repeat="(key,domicilio) in currentPageDomicilios"> |
40 | <td | 40 | <td |
41 | ng-bind="domicilio.titulo" | 41 | ng-bind="domicilio.titulo" |
42 | ng-click="select(domicilio)"> | 42 | ng-click="select(domicilio)"> |
43 | </td> | 43 | </td> |
44 | <td | 44 | <td |
45 | ng-bind="domicilio.Calle + ' ' + domicilio.Numero" | 45 | ng-bind="domicilio.Calle + ' ' + domicilio.Numero" |
46 | ng-click="select(domicilio)"> | 46 | ng-click="select(domicilio)"> |
47 | </td> | 47 | </td> |
48 | <td | 48 | <td |
49 | ng-bind="domicilio.Localidad" | 49 | ng-bind="domicilio.Localidad" |
50 | ng-click="select(domicilio)"> | 50 | ng-click="select(domicilio)"> |
51 | </td> | 51 | </td> |
52 | <td | 52 | <td |
53 | ng-bind="domicilio.Provincia" | 53 | ng-bind="domicilio.Provincia" |
54 | ng-click="select(domicilio)"> | 54 | ng-click="select(domicilio)"> |
55 | </td> | 55 | </td> |
56 | <td> | 56 | <td> |
57 | <button | 57 | <button |
58 | class="btn btn-sm p-1 float-right btn-secondary" | 58 | class="btn btn-sm p-1 float-right btn-secondary" |
59 | ng-click="verPuntosDescarga(key)" | 59 | ng-click="verPuntosDescarga(key)" |
60 | title="Puntos de descarga"> | 60 | title="Puntos de descarga"> |
61 | <small>PD</small> | 61 | <small>PD</small> |
62 | </button> | 62 | </button> |
63 | </td> | 63 | </td> |
64 | <td> | 64 | <td> |
65 | <button | 65 | <button |
66 | class="btn btn-sm p-1 float-right" | 66 | class="btn btn-sm p-1 float-right" |
67 | ng-class="{ | 67 | ng-class="{ |
68 | 'btn-secondary': selectedDomicilio != key + 1, | 68 | 'btn-secondary': selectedDomicilio != key + 1, |
69 | 'btn-primary': selectedDomicilio == key + 1 | 69 | 'btn-primary': selectedDomicilio == key + 1 |
70 | }" | 70 | }" |
71 | foca-focus="selectedDomicilio == {{key + 1}}" | 71 | foca-focus="selectedDomicilio == {{key + 1}}" |
72 | ng-keydown="itemDomicilio($event.keyCode)" | 72 | ng-keydown="itemDomicilio($event.keyCode)" |
73 | ng-click="select(domicilio)" | 73 | ng-click="select(domicilio)" |
74 | title="Seleccionar"> | 74 | title="Seleccionar"> |
75 | <i class="fa fa-circle-thin"></i> | 75 | <i class="fa fa-circle-thin"></i> |
76 | </button> | 76 | </button> |
77 | </td> | 77 | </td> |
78 | </tr> | 78 | </tr> |
79 | </tbody> | 79 | </tbody> |
80 | </table> | 80 | </table> |
81 | </div> | 81 | </div> |
82 | <form name="formDomicilio" ng-show="ingreso"> | 82 | <form name="formDomicilio" ng-show="ingreso"> |
83 | <input | 83 | <input |
84 | type="hidden" | 84 | type="hidden" |
85 | ng-model="domicilio.latitud" | 85 | ng-model="domicilio.latitud" |
86 | ng-required="true"> | 86 | ng-required="true"> |
87 | <input | 87 | <input |
88 | type="hidden" | 88 | type="hidden" |
89 | ng-model="domicilio.longitud" | 89 | ng-model="domicilio.longitud" |
90 | ng-required="true"> | 90 | ng-required="true"> |
91 | <div class="row"> | 91 | <div class="row"> |
92 | <div class="col-4"> | 92 | <div class="col-4"> |
93 | <label>Tipo</label> | 93 | <label>Tipo</label> |
94 | <select | 94 | <select |
95 | class="form-control" | 95 | class="form-control" |
96 | ng-disabled="true"> | 96 | ng-disabled="true"> |
97 | <option ng-value="2">Entrega</option> | 97 | <option ng-value="2">Entrega</option> |
98 | </select> | 98 | </select> |
99 | </div> | 99 | </div> |
100 | <div class="col-8"> | 100 | <div class="col-8"> |
101 | <label>Titulo</label> | 101 | <label>Titulo</label> |
102 | <input | 102 | <input |
103 | type="text" | 103 | type="text" |
104 | foca-focus="ingreso" | 104 | foca-focus="ingreso" |
105 | class="form-control" | 105 | class="form-control" |
106 | ng-model="domicilio.titulo" | 106 | ng-model="domicilio.titulo" |
107 | placeholder="Ingrese título" | 107 | placeholder="Ingrese título" |
108 | ng-required="true" | 108 | ng-required="true" |
109 | ng-keypress="next($event.keyCode)" | 109 | ng-keypress="next($event.keyCode)" |
110 | ng-focus="focused = 1" | 110 | ng-focus="focused = 1" |
111 | foca-focus="focused == 1" | 111 | foca-focus="focused == 1" |
112 | teclado-virtual/> | 112 | teclado-virtual/> |
113 | </div> | 113 | </div> |
114 | <div class="col-9"> | 114 | <div class="col-9"> |
115 | <label>Calle</label> | 115 | <label>Calle</label> |
116 | <input | 116 | <input |
117 | type="text" | 117 | type="text" |
118 | class="form-control" | 118 | class="form-control" |
119 | ng-model="domicilio.calle" | 119 | ng-model="domicilio.calle" |
120 | placeholder="Ingrese calle" | 120 | placeholder="Ingrese calle" |
121 | ng-required="true" | 121 | ng-required="true" |
122 | ng-keypress="next($event.keyCode)" | 122 | ng-keypress="next($event.keyCode)" |
123 | ng-focus="focused = 2" | 123 | ng-focus="focused = 2" |
124 | foca-focus="focused == 2" | 124 | foca-focus="focused == 2" |
125 | teclado-virtual/> | 125 | teclado-virtual/> |
126 | </div> | 126 | </div> |
127 | <div class="col-3"> | 127 | <div class="col-3"> |
128 | <label>Nº</label> | 128 | <label>Nº</label> |
129 | <input | 129 | <input |
130 | type="text" | 130 | type="text" |
131 | class="form-control" | 131 | class="form-control" |
132 | ng-model="domicilio.numeroCalle" | 132 | ng-model="domicilio.numeroCalle" |
133 | placeholder="Ingrese Numero" | 133 | placeholder="Ingrese Numero" |
134 | ng-required="true" | 134 | ng-required="true" |
135 | ng-keypress="next($event.keyCode)" | 135 | ng-keypress="next($event.keyCode)" |
136 | ng-focus="focused = 3" | 136 | ng-focus="focused = 3" |
137 | foca-focus="focused == 3" | 137 | foca-focus="focused == 3" |
138 | only-numbers | 138 | only-numbers |
139 | teclado-virtual | 139 | teclado-virtual |
140 | /> | 140 | /> |
141 | </div> | 141 | </div> |
142 | <div class="col-6"> | 142 | <div class="col-6"> |
143 | <label>Localidad</label> | 143 | <label>Localidad</label> |
144 | <div class="input-group"> | 144 | <div class="input-group"> |
145 | <input | 145 | <input |
146 | type="text" | 146 | type="text" |
147 | class="form-control form-control-sm" | 147 | class="form-control form-control-sm" |
148 | ng-model="domicilio.localidad.NOMBRE" | 148 | ng-model="domicilio.localidad.NOMBRE" |
149 | ng-keypress="seleccionarLocalidad($event.keyCode)" | 149 | ng-keypress="seleccionarLocalidad($event.keyCode)" |
150 | placeholder="Seleccione localidad" | 150 | placeholder="Seleccione localidad" |
151 | ng-required="true" | 151 | ng-required="true" |
152 | foca-focus="focused == 5" | 152 | foca-focus="focused == 5" |
153 | ng-focus="focus(5)" | 153 | ng-focus="focus(5)" |
154 | ng-disabled="domicilio.localidad.ID" | ||
154 | teclado-virtual/> | 155 | teclado-virtual/> |
155 | <button | 156 | <button |
156 | ng-show="domicilio.localidad.NOMBRE.length" | 157 | ng-show="domicilio.localidad.NOMBRE.length" |
157 | class="clear-input" | 158 | class="clear-input simple-hover" |
158 | ng-click="domicilio.localidad.ID = null; domicilio.localidad.NOMBRE = ''"> | 159 | ng-click="domicilio.localidad.ID = null; domicilio.localidad.NOMBRE = ''"> |
159 | <i class="fa fa-times"></i> | 160 | <i class="fa fa-times"></i> |
160 | </button> | 161 | </button> |
161 | <div class="input-group-append"> | 162 | <div class="input-group-append"> |
162 | <button | 163 | <button |
163 | ladda="searchLoading" | 164 | ladda="searchLoading" |
164 | class="btn btn-outline-secondary" | 165 | class="btn btn-outline-secondary" |
165 | ng-click="seleccionarLocalidad(13)"> | 166 | ng-click="seleccionarLocalidad(13)"> |
166 | <i class="fa fa-search"></i> | 167 | <i class="fa fa-search"></i> |
167 | </button> | 168 | </button> |
168 | </div> | 169 | </div> |
169 | </div> | 170 | </div> |
170 | </div> | 171 | </div> |
171 | <div class="col-6"> | 172 | <div class="col-6"> |
172 | <label>Provincia</label> | 173 | <label>Provincia</label> |
173 | <div class="input-group"> | 174 | <div class="input-group"> |
174 | <input | 175 | <input |
175 | type="text" | 176 | type="text" |
176 | class="form-control form-control-sm" | 177 | class="form-control form-control-sm" |
177 | ng-model="domicilio.provincia.NOMBRE" | 178 | ng-model="domicilio.provincia.NOMBRE" |
178 | ng-keypress="seleccionarProvincia($event.keyCode)" | 179 | ng-keypress="seleccionarProvincia($event.keyCode)" |
179 | placeholder="Seleccione provincia" | 180 | placeholder="Seleccione provincia" |
180 | ng-required="true" | 181 | ng-required="true" |
181 | ng-focus="focus(4)" | 182 | ng-focus="focus(4)" |
182 | foca-focus="focused == 4" | 183 | foca-focus="focused == 4" |
184 | ng-disabled="domicilio.provincia.ID" | ||
183 | teclado-virtual/> | 185 | teclado-virtual/> |
184 | <button | 186 | <button |
185 | ng-show="domicilio.provincia.NOMBRE.length" | 187 | ng-show="domicilio.provincia.NOMBRE.length" |
186 | class="clear-input" | 188 | class="clear-input simple-hover" |
187 | ng-click="domicilio.provincia.ID = null; domicilio.provincia.NOMBRE = ''"> | 189 | ng-click="domicilio.provincia.ID = null; domicilio.provincia.NOMBRE = ''"> |
188 | <i class="fa fa-times"></i> | 190 | <i class="fa fa-times"></i> |
189 | </button> | 191 | </button> |
190 | <div class="input-group-append"> | 192 | <div class="input-group-append"> |
191 | <button | 193 | <button |
192 | ladda="searchLoading" | 194 | ladda="searchLoading" |
193 | class="btn btn-outline-secondary" | 195 | class="btn btn-outline-secondary" |
194 | ng-click="seleccionarProvincia(13)"> | 196 | ng-click="seleccionarProvincia(13)"> |
195 | <i class="fa fa-search"></i> | 197 | <i class="fa fa-search"></i> |
196 | </button> | 198 | </button> |
197 | </div> | 199 | </div> |
198 | </div> | 200 | </div> |
199 | </div> | 201 | </div> |
200 | </div> | 202 | </div> |
201 | <div class="row mt-3"> | 203 | <div class="row mt-3"> |
202 | <div class="col-12"> | 204 | <div class="col-12"> |
203 | <button | 205 | <button |
204 | class="btn btn-outline-debo float-right ml-3" | 206 | class="btn btn-outline-debo float-right ml-3" |
205 | ng-click="localizarDomicilio()">Buscar</button> | 207 | ng-click="localizarDomicilio()">Buscar</button> |
206 | <button | 208 | <button |
207 | class="btn btn-outline-debo float-right" | 209 | class="btn btn-outline-debo float-right" |
208 | ng-disabled="!domicilio.calle || !domicilio.numeroCalle || !domicilio.localidad || !domicilio.provincia" | 210 | ng-disabled="!domicilio.calle || !domicilio.numeroCalle || !domicilio.localidad || !domicilio.provincia" |
209 | ng-click="localizarDomicilio(true)">Localizar</button> | 211 | ng-click="localizarDomicilio(true)">Localizar</button> |
210 | </div> | 212 | </div> |
211 | </div> | 213 | </div> |
212 | </form> | 214 | </form> |
213 | </div> | 215 | </div> |
214 | <div class="modal-footer"> | 216 | <div class="modal-footer"> |
215 | <nav ng-show="currentPageDomicilios.length > 0 && !ingreso" class="mr-auto"> | 217 | <nav ng-show="currentPageDomicilios.length > 0 && !ingreso" class="mr-auto"> |
216 | <ul class="pagination pagination-sm mb-0 justify-content-end"> | 218 | <ul class="pagination pagination-sm mb-0 justify-content-end"> |
217 | <li class="page-item" ng-class="{'disabled': currentPage == 1}"> | 219 | <li class="page-item" ng-class="{'disabled': currentPage == 1}"> |
218 | <a class="page-link" href="javascript:void();" ng-click="selectPage(currentPage - 1)"> | 220 | <a class="page-link" href="javascript:void();" ng-click="selectPage(currentPage - 1)"> |
219 | <span>«</span> | 221 | <span>«</span> |
220 | <span class="sr-only">Anterior</span> | 222 | <span class="sr-only">Anterior</span> |
221 | </a> | 223 | </a> |
222 | </li> | 224 | </li> |
223 | <li | 225 | <li |
224 | class="page-item" | 226 | class="page-item" |
225 | ng-repeat="pagina in paginas" | 227 | ng-repeat="pagina in paginas" |
226 | ng-class="{'active': pagina == currentPage}"> | 228 | ng-class="{'active': pagina == currentPage}"> |
227 | <a | 229 | <a |
228 | class="page-link" | 230 | class="page-link" |
229 | href="javascript:void();" | 231 | href="javascript:void();" |
230 | ng-click="selectPage(pagina)" | 232 | ng-click="selectPage(pagina)" |
231 | ng-bind="pagina"> | 233 | ng-bind="pagina"> |
232 | </a> | 234 | </a> |
233 | </li> | 235 | </li> |
234 | <li class="page-item" ng-class="{'disabled': currentPage == lastPage}"> | 236 | <li class="page-item" ng-class="{'disabled': currentPage == lastPage}"> |
235 | <a class="page-link" href="javascript:void();" ng-click="selectPage(currentPage + 1)"> | 237 | <a class="page-link" href="javascript:void();" ng-click="selectPage(currentPage + 1)"> |
236 | <span>»</span> | 238 | <span>»</span> |
237 | <span class="sr-only">Siguiente</span> | 239 | <span class="sr-only">Siguiente</span> |
238 | </a> | 240 | </a> |
239 | </li> | 241 | </li> |
240 | </ul> | 242 | </ul> |
241 | </nav> | 243 | </nav> |
242 | <button | 244 | <button |
243 | ng-show="!ingreso" | 245 | ng-show="!ingreso" |
244 | class="btn btn-sm btn-secondary" | 246 | class="btn btn-sm btn-secondary" |
245 | ng-click="cancel()"> | 247 | ng-click="cancel()"> |
246 | Volver | 248 | Volver |
247 | </button> | 249 | </button> |
248 | <button | 250 | <button |
249 | ng-show="ingreso" | 251 | ng-show="ingreso" |
250 | class="btn btn-secondary btn-sm" | 252 | class="btn btn-secondary btn-sm" |
251 | ng-click="ingreso = !ingreso; domicilio = {}; contactos = [{}]"> | 253 | ng-click="ingreso = !ingreso; domicilio = {}; contactos = [{}]"> |
252 | Cancelar | 254 | Cancelar |
253 | </button> | 255 | </button> |
254 | <button | 256 | <button |
255 | ng-show="ingreso" | 257 | ng-show="ingreso" |
256 | class="btn btn-sm btn-primary" | 258 | class="btn btn-sm btn-primary" |
257 | ng-click="agregarDomicilio()"> | 259 | ng-click="agregarDomicilio()"> |
258 | Agregar domicilio | 260 | Agregar domicilio |
259 | </button> | 261 | </button> |
260 | </div> | 262 | </div> |
261 | 263 |