Commit a159da92f7fa199ac4a6b10733689c8066c1aa8d

Authored by Marcelo Puebla
1 parent 105ca960f6
Exists in develop

Fix

Inputs de localidad y provincia
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>&laquo;</span> 221 <span>&laquo;</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>&raquo;</span> 238 <span>&raquo;</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