Commit 105ca960f6da63493a5e4538758400b3d9ca6efc

Authored by Marcelo Puebla
1 parent 9faff659aa
Exists in develop

Fix

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