Commit 7745e407875104c2c3088d325a3c303e580a9592

Authored by Jose Pinto
Exists in master

Merge branch 'master' into 'master'

Master

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