Commit 9f6a02e51e53017b482afa37e7842f517191a394

Authored by Eric Fernandez
1 parent d3d096b2a1
Exists in master

implementación agregar domicilio

1 <html ng-app="focaModalDomicilio"> 1 <html ng-app="focaModalDomicilio">
2 <head> 2 <head>
3 <meta charset="UTF-8"/> 3 <meta charset="UTF-8"/>
4 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 4 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
5 5
6 <!--CSS--> 6 <!--CSS-->
7 <link href="node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"/> 7 <link href="node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"/>
8 <link href="node_modules/font-awesome/css/font-awesome.min.css" rel="stylesheet"/> 8 <link href="node_modules/font-awesome/css/font-awesome.min.css" rel="stylesheet"/>
9 9
10 <!--VENDOR JS--> 10 <!--VENDOR JS-->
11 <script src="node_modules/jquery/dist/jquery.min.js"></script> 11 <script src="node_modules/jquery/dist/jquery.min.js"></script>
12 <script src="node_modules/bootstrap/dist/js/bootstrap.min.js"></script> 12 <script src="node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
13 <script src="node_modules/angular/angular.min.js"></script> 13 <script src="node_modules/angular/angular.min.js"></script>
14 <script src="node_modules/ui-bootstrap4/dist/ui-bootstrap-tpls.js"></script> 14 <script src="node_modules/ui-bootstrap4/dist/ui-bootstrap-tpls.js"></script>
15 <script src="node_modules/foca-directivas/dist/foca-directivas.min.js"></script> 15 <script src="node_modules/foca-directivas/dist/foca-directivas.min.js"></script>
16 16
17 <!-- BUILD --> 17 <!-- BUILD -->
18 <script src="src/js/app.js"></script> 18 <script src="src/js/app.js"></script>
19 <script src="src/js/controller.js"></script> 19 <script src="src/js/controller.js"></script>
20 <script src="src/js/service.js"></script> 20 <script src="src/js/service.js"></script>
21 21
22 <!-- /BUILD --> 22 <!-- /BUILD -->
23 23
24 <!-- CONFIG PARA DEVELOP --> 24 <!-- CONFIG PARA DEVELOP -->
25 <script src="src/etc/develop.js"></script> 25 <script src="src/etc/develop.js"></script>
26 <script type="text/javascript"> 26 <script type="text/javascript">
27 angular.module('focaModalDomicilio') 27 angular.module('focaModalDomicilio')
28 .controller('controller', [ 28 .controller('controller', [
29 '$scope', 29 '$scope',
30 '$uibModal', 30 '$uibModal',
31 '$timeout', 31 '$timeout',
32 function($scope, $uibModal, $timeout) { 32 function($scope, $uibModal, $timeout) {
33 openModal(); 33 openModal();
34 34
35 function openModal() { 35 function openModal() {
36 var modalInstance = $uibModal.open( 36 var modalInstance = $uibModal.open(
37 { 37 {
38 ariaLabelledBy: 'Busqueda de Domicilios', 38 ariaLabelledBy: 'Busqueda de Domicilios',
39 templateUrl: 'src/views/modal-domicilio.html', 39 templateUrl: 'src/views/modal-domicilio.html',
40 controller: 'focaModalDomicilioController', 40 controller: 'focaModalDomicilioController',
41 size: 'lg', 41 size: 'lg',
42 resolve: {idLista : function() { return null; }} 42 resolve: {idCliente : function() { return 1; }}
43 } 43 }
44 ); 44 );
45 45
46 modalInstance.result.then( 46 modalInstance.result.then(
47 function (selectedItem) { 47 function (selectedItem) {
48 console.info(selectedItem); 48 console.info(selectedItem);
49 $timeout(openModal, 500); 49 $timeout(openModal, 500);
50 }, function () { 50 }, function () {
51 console.info('modal-component dismissed at: ' + new Date()); 51 console.info('modal-component dismissed at: ' + new Date());
52 $timeout(openModal, 500); 52 $timeout(openModal, 500);
53 } 53 }
54 ); 54 );
55 } 55 }
56 } 56 }
57 ]); 57 ]);
58 </script> 58 </script>
59 </head> 59 </head>
60 <body ng-controller="controller"> 60 <body ng-controller="controller">
61 </body> 61 </body>
62 </html> 62 </html>
63 63
src/js/controller.js
1 angular.module('focaModalDomicilio') 1 angular.module('focaModalDomicilio')
2 .controller('focaModalDomicilioController', 2 .controller('focaModalDomicilioController',
3 [ 3 [
4 '$filter', 4 '$filter',
5 '$scope', 5 '$scope',
6 '$uibModalInstance', 6 '$uibModalInstance',
7 'idCliente', 7 'idCliente',
8 'focaModalDomicilioService', 8 'focaModalDomicilioService',
9 function($filter, $scope, $uibModalInstance, idCliente,focaModalDomicilioService) { 9 function($filter, $scope, $uibModalInstance, idCliente,focaModalDomicilioService) {
10 10
11 focaModalDomicilioService.getDomiciliosByIdCliente(idCliente).then( 11 $scope.buscar = function() {
12 function(res) { 12 focaModalDomicilioService.getDomiciliosByIdCliente($scope.idCliente).then(
13 $scope.domicilios = res.data; 13 function(res) {
14 $scope.search(); 14 $scope.domicilios = res.data;
15 } 15 $scope.search();
16 ); 16 $scope.primerBusqueda = true;
17 17 }
18 );
19 };
20 $scope.idCliente = idCliente;
21 $scope.buscar();
22 $scope.ingreso = false;
23 $scope.primerBusqueda = false;
24 $scope.contactos = [{}];
18 // pagination 25 // pagination
19 $scope.numPerPage = 5; 26 $scope.numPerPage = 5;
20 $scope.currentPage = 1; 27 $scope.currentPage = 1;
21 $scope.filteredDomicilios = []; 28 $scope.filteredDomicilios = [];
22 $scope.currentPageDomicilios = []; 29 $scope.currentPageDomicilios = [];
23 $scope.selectedDomicilio = -1; 30 $scope.selectedDomicilio = -1;
24 31
25 //METODOS 32 //METODOS
26 $scope.search = function() { 33 $scope.search = function() {
27 $scope.filteredDomicilios = $filter('filter')( 34 $scope.filteredDomicilios = $filter('filter')(
28 $scope.domicilios, 35 $scope.domicilios,
29 {$: $scope.filters} 36 {$: $scope.filters}
30 ); 37 );
31 38
32 $scope.lastPage = Math.ceil( 39 $scope.lastPage = Math.ceil(
33 $scope.filteredDomicilios.length / $scope.numPerPage 40 $scope.filteredDomicilios.length / $scope.numPerPage
34 ); 41 );
35 42
36 $scope.resetPage(); 43 $scope.resetPage();
37 }; 44 };
38 45
39 $scope.resetPage = function() { 46 $scope.resetPage = function() {
40 $scope.currentPage = 1; 47 $scope.currentPage = 1;
41 $scope.selectPage(1); 48 $scope.selectPage(1);
42 }; 49 };
43 50
44 $scope.selectPage = function(page) { 51 $scope.selectPage = function(page) {
45 var start = (page - 1) * $scope.numPerPage; 52 var start = (page - 1) * $scope.numPerPage;
46 var end = start + $scope.numPerPage; 53 var end = start + $scope.numPerPage;
47 $scope.paginas = []; 54 $scope.paginas = [];
48 $scope.paginas = calcularPages(page); 55 $scope.paginas = calcularPages(page);
49 $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end); 56 $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end);
50 $scope.currentPage = page; 57 $scope.currentPage = page;
51 }; 58 };
52 59
53 $scope.select = function(domicilio) { 60 $scope.select = function(domicilio) {
54 $uibModalInstance.close(domicilio); 61 $uibModalInstance.close(domicilio);
55 }; 62 };
56 63
57 $scope.cancel = function() { 64 $scope.cancel = function() {
58 $uibModalInstance.dismiss('cancel'); 65 $uibModalInstance.dismiss('cancel');
59 }; 66 };
60 67
61 $scope.busquedaDown = function(key) { 68 $scope.busquedaDown = function(key) {
62 if (key === 40) { 69 if (key === 40) {
63 primera(key); 70 primera(key);
64 } 71 }
65 }; 72 };
66 73
67 $scope.busquedaPress = function(key) { 74 $scope.busquedaPress = function(key) {
68 if (key === 13) { 75 if (key === 13) {
69 primera(key); 76 primera(key);
70 } 77 }
71 }; 78 };
72 79
73 $scope.itemDomicilio = function(key) { 80 $scope.itemDomicilio = function(key) {
74 if (key === 38) { 81 if (key === 38) {
75 anterior(key); 82 anterior(key);
76 } 83 }
77 84
78 if (key === 40) { 85 if (key === 40) {
79 siguiente(key); 86 siguiente(key);
80 } 87 }
81 88
82 if (key === 37) { 89 if (key === 37) {
83 retrocederPagina(); 90 retrocederPagina();
84 } 91 }
85 92
86 if (key === 39) { 93 if (key === 39) {
87 avanzarPagina(); 94 avanzarPagina();
88 } 95 }
89 }; 96 };
90 97
98 $scope.agregarContacto = function() {
99 $scope.contactos.push({item: $scope.contactos[$scope.contactos.length]});
100 };
101
102 $scope.quitarContacto = function(key) {
103 $scope.contactos.splice(key, 1);
104 };
105
106 $scope.agregarDomicilio= function() {
107 $scope.domicilio.idCliente = $scope.idCliente;
108 $scope.domicilio.idDomicilioTipo = 2; //siempre es tipo de entrega
109 for(var i = 0; i < $scope.contactos.length; i++) {
110 $scope.contactos[i].idCliente = idCliente;
111 focaModalDomicilioService.guardarContacto($scope.contactos[i]);
112 }
113 focaModalDomicilioService
114 .guardarDomicilio($scope.domicilio)
115 .then(function() {
116 $scope.buscar();
117 });
118 $scope.ingreso = false;
119 $scope.domicilio = {};
120 $scope.contactos = [{}];
121 };
122
91 function calcularPages(paginaActual) { 123 function calcularPages(paginaActual) {
92 var paginas = []; 124 var paginas = [];
93 paginas.push(paginaActual); 125 paginas.push(paginaActual);
94 126
95 if (paginaActual - 1 > 1) { 127 if (paginaActual - 1 > 1) {
96 128
97 paginas.unshift(paginaActual - 1); 129 paginas.unshift(paginaActual - 1);
98 if (paginaActual - 2 > 1) { 130 if (paginaActual - 2 > 1) {
99 paginas.unshift(paginaActual - 2); 131 paginas.unshift(paginaActual - 2);
100 } 132 }
101 } 133 }
102 134
103 if (paginaActual + 1 < $scope.lastPage) { 135 if (paginaActual + 1 < $scope.lastPage) {
104 paginas.push(paginaActual + 1); 136 paginas.push(paginaActual + 1);
105 if (paginaActual + 2 < $scope.lastPage) { 137 if (paginaActual + 2 < $scope.lastPage) {
106 paginas.push(paginaActual + 2); 138 paginas.push(paginaActual + 2);
107 } 139 }
108 } 140 }
109 141
110 if (paginaActual !== 1) { 142 if (paginaActual !== 1) {
111 paginas.unshift(1); 143 paginas.unshift(1);
112 } 144 }
113 145
114 if (paginaActual !== $scope.lastPage) { 146 if (paginaActual !== $scope.lastPage) {
115 paginas.push($scope.lastPage); 147 paginas.push($scope.lastPage);
116 } 148 }
117 149
118 return paginas; 150 return paginas;
119 } 151 }
120 152
121 function primera() { 153 function primera() {
122 $scope.selectedDomicilio = 0; 154 $scope.selectedDomicilio = 0;
123 } 155 }
124 156
125 function anterior() { 157 function anterior() {
126 if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) { 158 if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) {
127 retrocederPagina(); 159 retrocederPagina();
128 } else { 160 } else {
129 $scope.selectedDomicilio--; 161 $scope.selectedDomicilio--;
130 } 162 }
131 } 163 }
132 164
133 function siguiente() { 165 function siguiente() {
134 if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length - 1 ) { 166 if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length ) {
135 $scope.selectedDomicilio++; 167 $scope.selectedDomicilio++;
136 } else { 168 } else {
137 avanzarPagina(); 169 avanzarPagina();
138 } 170 }
139 } 171 }
140 172
141 function retrocederPagina() { 173 function retrocederPagina() {
142 if ($scope.currentPage > 1) { 174 if ($scope.currentPage > 1) {
143 $scope.selectPage($scope.currentPage - 1); 175 $scope.selectPage($scope.currentPage - 1);
144 $scope.selectedDomicilio = $scope.numPerPage - 1; 176 $scope.selectedDomicilio = $scope.numPerPage - 1;
145 } 177 }
146 } 178 }
147 179
148 function avanzarPagina() { 180 function avanzarPagina() {
149 if ($scope.currentPage < $scope.lastPage) { 181 if ($scope.currentPage < $scope.lastPage) {
150 $scope.selectPage($scope.currentPage + 1); 182 $scope.selectPage($scope.currentPage + 1);
151 $scope.selectedDomicilio = 0; 183 $scope.selectedDomicilio = 0;
152 } 184 }
153 } 185 }
154 } 186 }
155 ] 187 ]
156 ); 188 );
157 189
1 angular.module('focaModalDomicilio') 1 angular.module('focaModalDomicilio')
2 .service('focaModalDomicilioService', [ 2 .service('focaModalDomicilioService', [
3 '$http', 3 '$http',
4 'API_ENDPOINT', 4 'API_ENDPOINT',
5 function($http, API_ENDPOINT) { 5 function($http, API_ENDPOINT) {
6 return { 6 return {
7 getDomiciliosByIdCliente: function(id) { 7 getDomiciliosByIdCliente: function(id) {
8 var idTipoDom = 2;//El tipo para nota de pedido es 2 (tipo de entrega) 8 var idTipoDom = 2;//El tipo para nota de pedido es 2 (tipo de entrega)
9 return $http.get(API_ENDPOINT.URL + 9 return $http.get(API_ENDPOINT.URL +
10 '/domicilio/tipo/' + idTipoDom + '/cliente/' + id); 10 '/domicilio/tipo/' + idTipoDom + '/cliente/' + id);
11 },
12 guardarDomicilio: function(domicilio) {
13 return $http.post(API_ENDPOINT.URL + '/domicilio', {domicilio: domicilio});
14 },
15 guardarContacto: function(contacto) {
16 return $http.post(API_ENDPOINT.URL + '/contacto', {contacto: contacto});
11 } 17 }
12 }; 18 };
13 } 19 }
14 ]); 20 ]);
15 21
src/views/modal-domicilio.html
1 <div class="modal-header"> 1 <div class="modal-header">
2 <h3 class="modal-title">Busqueda de Domicilios</h3> 2 <h3 class="modal-title">Busqueda de Domicilios</h3>
3 </div> 3 </div>
4 <div class="modal-body" id="modal-body"> 4 <div class="modal-body" id="modal-body">
5 <div class="input-group mb-3"> 5 <div class="input-group mb-3" ng-show="!ingreso">
6 <input 6 <input
7 type="text" 7 type="text"
8 class="form-control" 8 class="form-control"
9 placeholder="Busqueda" 9 placeholder="Busqueda"
10 ng-model="filters" 10 ng-model="filters"
11 ng-change="search()" 11 ng-change="search()"
12 ng-keydown="busquedaDown($event.keyCode)" 12 ng-keydown="busquedaDown($event.keyCode)"
13 ng-keypress="busquedaPress($event.keyCode)" 13 ng-keypress="busquedaPress($event.keyCode)"
14 foca-focus="selectedDomicilio == -1" 14 foca-focus="selectedDomicilio == -1"
15 ng-focus="selectedDomicilio = -1" 15 ng-focus="selectedDomicilio = -1"
16 > 16 >
17 <table class="table table-striped table-sm"> 17 <table ng-show="!ingreso" class="table table-striped table-sm">
18 <thead> 18 <thead>
19 <tr> 19 <tr>
20 <th>Domicilio</th> 20 <th>Domicilio</th>
21 <th>Localidad</th> 21 <th>Localidad</th>
22 <th>Provincia</th> 22 <th>Provincia</th>
23 <th colspan="5" class="text-center">Contacto</th> 23 <th colspan="5" class="text-center">Contacto</th>
24 <th></th> 24 <th></th>
25 </tr> 25 </tr>
26 <tr> 26 <tr>
27 <th></th> 27 <th></th>
28 <th></th> 28 <th></th>
29 <th></th> 29 <th></th>
30 <th>Nombre</th> 30 <th>Tipo</th>
31 <th>Telefono 1</th> 31 <th>Contacto</th>
32 <th>Telefono 2</th>
33 <th></th>
34 </tr> 32 </tr>
35 </thead> 33 </thead>
36 <tbody> 34 <tbody>
35 <tr ng-show="currentPageDomicilios.length == 0 && primerBusqueda">
36 <td colspan="6">
37 No se encontraron resultados.
38 </td>
39 </tr>
40 <tr>
41 <td colspan="5" ng-show="!ingreso">
42 <input
43 class="form-control form-control-sm"
44 type="text"
45 placeholder="Selección manual"
46 readonly
47 ng-click="ingreso = !ingreso"
48 />
49 </td>
50 <td colspan="1" ng-show="!ingreso">
51 <button
52 type="button"
53 class="btn btn-sm p-1 float-right"
54 ng-class="{
55 'btn-secondary': selectedDomicilio != 0,
56 'btn-primary': selectedDomicilio == 0
57 }"
58 foca-focus="selectedDomicilio == 0"
59 ng-keydown="itemDomicilio($event.keyCode)"
60 ng-click="ingreso = !ingreso"
61 >
62 <i class="fa fa-arrow-right" aria-hidden="true"></i>
63 </button>
64 </td>
65 </tr>
37 <tr class="selectable" 66 <tr class="selectable"
38 ng-repeat="(key,domicilio) in currentPageDomicilios" 67 ng-repeat="(key,domicilio) in currentPageDomicilios"
39 ng-click="select(domicilio)"> 68 ng-click="select(domicilio)">
40 <td ng-bind="domicilio.dom"></td> 69 <td ng-bind="domicilio.dom"></td>
41 <td ng-bind="domicilio.loc"></td> 70 <td ng-bind="domicilio.loc"></td>
42 <td ng-bind="domicilio.pci"></td> 71 <td ng-bind="domicilio.pci"></td>
43 <td ng-bind="domicilio.contacto[0].nombre"></td> 72 <td ng-bind="domicilio.contacto[0].tipo"></td>
44 <td ng-bind="domicilio.contacto[0].telefono1"></td> 73 <td ng-bind="domicilio.contacto[0].contacto"></td>
45 <td ng-bind="domicilio.contacto[0].telefono2"></td>
46 <td> 74 <td>
47 <button 75 <button
48 type="button" 76 type="button"
49 class="btn p-2 float-right" 77 class="btn p-2 float-right"
50 ng-class="{ 78 ng-class="{
51 'btn-secondary': selectedDomicilio != key, 79 'btn-secondary': selectedDomicilio != key + 1,
52 'btn-primary': selectedDomicilio == key 80 'btn-primary': selectedDomicilio == key + 1
53 }" 81 }"
54 foca-focus="selectedDomicilio == {{key}}" 82 foca-focus="selectedDomicilio == {{key + 1}}"
55 ng-keydown="itemDomicilio($event.keyCode)" 83 ng-keydown="itemDomicilio($event.keyCode)"
56 > 84 >
57 <i class="fa fa-arrow-right" aria-hidden="true"></i> 85 <i class="fa fa-arrow-right" aria-hidden="true"></i>
58 </button> 86 </button>
59 </td> 87 </td>
60 </tr> 88 </tr>
61 </tbody> 89 </tbody>
62 </table> 90 </table>
63 <nav> 91 <nav ng-show="currentPageDomicilios.length > 0 && !ingreso">
64 <ul class="pagination justify-content-end"> 92 <ul class="pagination justify-content-end">
65 <li class="page-item" ng-class="{'disabled': currentPage == 1}"> 93 <li class="page-item" ng-class="{'disabled': currentPage == 1}">
66 <a class="page-link" href="#" ng-click="selectPage(currentPage - 1)"> 94 <a class="page-link" href="#" ng-click="selectPage(currentPage - 1)">
67 <span aria-hidden="true">&laquo;</span> 95 <span aria-hidden="true">&laquo;</span>
68 <span class="sr-only">Anterior</span> 96 <span class="sr-only">Anterior</span>
69 </a> 97 </a>
70 </li> 98 </li>
71 <li 99 <li
72 class="page-item" 100 class="page-item"
73 ng-repeat="pagina in paginas" 101 ng-repeat="pagina in paginas"
74 ng-class="{'active': pagina == currentPage}" 102 ng-class="{'active': pagina == currentPage}"
75 > 103 >
76 <a 104 <a
77 class="page-link" 105 class="page-link"
78 href="#" 106 href="#"
79 ng-click="selectPage(pagina)" 107 ng-click="selectPage(pagina)"
80 ng-bind="pagina" 108 ng-bind="pagina"
81 ></a> 109 ></a>
82 </li> 110 </li>
83 <li class="page-item" ng-class="{'disabled': currentPage == lastPage}"> 111 <li class="page-item" ng-class="{'disabled': currentPage == lastPage}">
84 <a class="page-link" href="#" ng-click="selectPage(currentPage + 1)"> 112 <a class="page-link" href="#" ng-click="selectPage(currentPage + 1)">
85 <span aria-hidden="true">&raquo;</span> 113 <span aria-hidden="true">&raquo;</span>
86 <span class="sr-only">Siguiente</span> 114 <span class="sr-only">Siguiente</span>
87 </a> 115 </a>
88 </li> 116 </li>
89 </ul> 117 </ul>
90 </nav> 118 </nav>
91 </div> 119 </div>
120 <form name="formDomicilio" ng-show="ingreso">
121 <div class="row">
122 <div class="col-4">
123 <label>Tipo</label>
124 <select
125 class="form-control"
126 ng-disabled="true"
127 >
128 <option ng-value="2">Entrega</option>
129 </select>
130 </div>
131 <div class="col-4">
132 <label>Código Postal</label>
133 <input
134 type="text"
135 foca-focus="ingreso"
136 class="form-control"
137 ng-model="domicilio.cpo"
138 ng-required="true"
139 placeholder="Ingrese código postal"
140 />
141 </div>
142 <div class="col-12">
143 <label>Domicilio</label>
144 <input
145 type="text"
146 class="form-control"
147 ng-model="domicilio.dom"
148 ng-required="true"
149 placeholder="Ingrese domicilio"
150 />
151 </div>
152 <div class="col-6">
153 <label>Localidad</label>
154 <input
155 type="text"
156 class="form-control"
157 ng-model="domicilio.loc"
158 ng-required="true"
159 placeholder="Ingrese localidad"
160 />
161 </div>
162 <div class="col-6">
163 <label>Provincia</label>
164 <input
165 type="text"
166 class="form-control"
167 ng-model="domicilio.pci"
168 ng-required="true"
169 placeholder="Ingrese provincia"
170 />
171 </div>
172 <label class="col-12">Ingrese Contactos</label>
173 <div class="col-12 form-row mb-1" ng-repeat="(key, contacto) in contactos">
174 <div class="col-3">
175 <select class="form-control" ng-model="contacto.tipo" ng-required="true">
176 <option ng-value="0">Teléfono Móvil</option>
177 <option ng-value="1">Teléfono Fijo</option>
178 <option ng-value="2">Fax</option>
179 <option ng-value="3">Email</option>
180 </select>
181 </div>
182 <div class="col-7">
183 <input
184 type="text"
185 class="form-control"
186 ng-model="contacto.contacto"
187 placeholder="Ingrese contacto"
188 ng-required="true"
189 >
190 </div>
191 <div class="col-1">
192 <button
193 type="button"
194 class="form-control"
195 ng-click="quitarContacto(key)"
196 ng-disabled="contactos.length === 1"
197 ><i class="fa fa-minus" aria-hidden="true"></i>
198 </button>
199 </div>
200 <div class="col-1">
201 <button
202 type="button"
203 class="form-control"
204 ng-click="agregarContacto()"
205 ><i class="fa fa-plus" aria-hidden="true"></i>
206 </button>
207 </div>
208 </div>
209 </div>
210 </form>
92 </div> 211 </div>
93 <div class="modal-footer"> 212 <div class="modal-footer">
94 <button class="btn btn-secondary" type="button" ng-click="cancel()">Seleccionar otro cliente</button> 213 <button ng-show="!ingreso" class="btn btn-secondary" type="button" ng-click="cancel()">Seleccionar otro cliente</button>
214 <button
215 ng-show="ingreso"
216 class="btn btn-secondary"
217 type="button"
218 ng-click="ingreso = !ingreso; domicilio = {}; contactos = [{}]"
219 >Cancelar
220 </button>
221 <button
222 ng-show="ingreso"
223 class="btn btn-primary"
224 type="button"
225 ng-click="agregarDomicilio()"
226 ng-disabled="!formDomicilio.$valid"
227 >Agregar domicilio