Commit dfe92ca4a65c8085af31b6d2d3432cf5f1ce669d

Authored by Nicolás Guarnieri
Exists in master

Merge branch 'master' into 'master'

Master(efernandez)

See merge request !2
src/js/controller.js
1 angular.module('focaModalCheque') 1 angular.module('focaModalCheque')
2 .controller('focaModalChequeController', 2 .controller('focaModalChequeController',
3 [ 3 [
4 '$filter', 4 '$filter',
5 '$scope', 5 '$scope',
6 '$uibModalInstance', 6 '$uibModalInstance',
7 '$uibModal', 7 '$uibModal',
8 function($filter, $scope, $uibModalInstance, $uibModal) { 8 function($filter, $scope, $uibModalInstance, $uibModal) {
9 $scope.cheque = { 9 $scope.cheque = {
10 banco: '', 10 banco: {
11 provincia: '' 11 desbco: ''//Nombre del banco
12 },
13 provincia: {
14 NOMBRE:''
15 },
16 localidad: {
17 NOMBRE: ''
18 },
19 fechaEmision: new Date()
12 }; 20 };
13 21
22
23
14 $scope.seleccionarBanco = function(key) { 24 $scope.seleccionarBanco = function(key) {
15 if(key === 13) { 25 if(key === 13) {
16 var modalInstance = $uibModal.open( 26 var modalInstance = $uibModal.open(
17 { 27 {
18 ariaLabelledBy: 'Busqueda de Bancos', 28 ariaLabelledBy: 'Busqueda de Bancos',
19 templateUrl: 'modal-bancos.html', 29 templateUrl: 'modal-bancos.html',
20 controller: 'focaModalBancoController', 30 controller: 'focaModalBancoController',
21 size: 'md', 31 size: 'md',
22 resolve: {filters: function() {return $scope.cheque.banco;}} 32 resolve: {filters: function() {return $scope.cheque.banco.desbco;}}
23 } 33 }
24 ); 34 );
25 modalInstance.result.then(function(banco) { 35 modalInstance.result.then(function(banco) {
26 $scope.cheque.banco = (banco.ID + ' ' + banco.desbco).trim(); 36 $scope.cheque.banco = banco;
27 }, function() { 37 }, function() {
28 //TODO: función llamada cuando cancela el modal 38 //TODO: función llamada cuando cancela el modal
29 }); 39 });
30 } 40 }
31 }; 41 };
32 42
33 $scope.seleccionarProvincia = function(key) { 43 $scope.seleccionarProvincia = function(key) {
34 if(key === 13) { 44 if(key === 13) {
35 var modalInstance = $uibModal.open( 45 var modalInstance = $uibModal.open(
36 { 46 {
37 ariaLabelledBy: 'Busqueda de Provincias', 47 ariaLabelledBy: 'Busqueda de Provincias',
38 templateUrl: 'modal-provincias.html', 48 templateUrl: 'modal-provincias.html',
39 controller: 'focaModalProvinciaController', 49 controller: 'focaModalProvinciaController',
40 size: 'md', 50 size: 'md',
41 resolve: {filters: function() {return $scope.cheque.provincia;}} 51 resolve: {filters: function() {
52 return $scope.cheque.provincia.NOMBRE;
53 }}
42 } 54 }
43 ); 55 );
44 modalInstance.result.then(function(provincia) { 56 modalInstance.result.then(function(provincia) {
45 $scope.cheque.provincia = (provincia.ID + 57 $scope.cheque.provincia = provincia;
46 ' ' + provincia.NOMBRE).trim();
47 $scope.cheque.idProvincia = provincia.ID;
48 }, function() { 58 }, function() {
49 //TODO: función llamada cuando cancela el modal 59 //TODO: función llamada cuando cancela el modal
50 }); 60 });
51 } 61 }
52 }; 62 };
53 63
54 $scope.seleccionarLocalidad = function(key) { 64 $scope.seleccionarLocalidad = function(key) {
55 if(!$scope.cheque.idProvincia) { 65 if($scope.cheque.provincia.ID === undefined) {
56 //TODO: Poner modal alert de foca 66 //TODO: Poner modal alert de foca
57 alert('Seleccione una provincia'); 67 alert('Seleccione una provincia');
58 return; 68 return;
59 } 69 }
60 if(key === 13) { 70 if(key === 13) {
61 var modalInstance = $uibModal.open( 71 var modalInstance = $uibModal.open(
62 { 72 {
63 ariaLabelledBy: 'Busqueda de Localidades', 73 ariaLabelledBy: 'Busqueda de Localidades',
64 templateUrl: 'modal-localidades.html', 74 templateUrl: 'modal-localidades.html',
65 controller: 'focaModalLocalidadController', 75 controller: 'focaModalLocalidadController',
66 size: 'md', 76 size: 'md',
67 resolve: { 77 resolve: {
68 filters: { 78 filters: {
69 idProvincia: $scope.cheque.idProvincia, 79 idProvincia: $scope.cheque.provincia.ID,
70 busqueda: $scope.cheque.localidad 80 busqueda: $scope.cheque.localidad.nombre
71 } 81 }
72 } 82 }
73 } 83 }
74 ); 84 );
75 modalInstance.result.then(function(localidad) { 85 modalInstance.result.then(function(localidad) {
76 $scope.cheque.localidad = (localidad.ID + 86 $scope.cheque.localidad = localidad;
77 ' ' + localidad.NOMBRE).trim();
78 }, function() { 87 }, function() {
79 //TODO: función llamada cuando cancela el modal 88 //TODO: función llamada cuando cancela el modal
80 }); 89 });
81 } 90 }
82 }; 91 };
83 92
84 $scope.aceptar = function() { 93 $scope.aceptar = function() {
85 delete $scope.cheque.provincia.localidades; 94 delete $scope.cheque.provincia.localidades;
86 //TODO: al enviar el importe con punto se pone como mil, no como decimal 95 //TODO: al enviar el importe con punto se pone como mil, no como decimal
87 $scope.cheque.importe = parseFloat($scope.cheque.importe); 96 $scope.cheque.importe = parseFloat($scope.cheque.importe);
88 $uibModalInstance.close($scope.cheque); 97 $uibModalInstance.close($scope.cheque);
89 }; 98 };
90 99
91 $scope.cancel = function() { 100 $scope.cancel = function() {
92 $uibModalInstance.dismiss('cancel'); 101 $uibModalInstance.dismiss('cancel');
93 }; 102 };
94 } 103 }
src/views/modal-cheque.html
1 <div class="modal-header"> 1 <div class="modal-header">
2 <h3 class="modal-title">Cobro con cheques</h3> 2 <h3 class="modal-title">Cobro con cheques</h3>
3 </div> 3 </div>
4 <div class="modal-body" id="modal-body"> 4 <div class="modal-body" id="modal-body">
5 <form name="formCheque"> 5 <form name="formCheque">
6 <div class="row"> 6 <div class="row">
7 <div class="col-12 col-md-2"> 7 <div class="col-12 col-md-2">
8 <label class="form-control-sm">Banco:</label> 8 <label class="form-control-sm">Banco:</label>
9 </div> 9 </div>
10 <div class="col-12 col-md-10 input-group"> 10 <div class="col-12 col-md-10 input-group">
11 <input 11 <input
12 type="text" 12 type="text"
13 foca-focus="true" 13 foca-focus="true"
14 teclado-virtual 14 teclado-virtual
15 class="form-control form-control-sm" 15 class="form-control form-control-sm"
16 placeholder="Nombre del banco o código" 16 placeholder="Nombre del banco o código"
17 ng-model="cheque.banco" 17 ng-model="cheque.banco.desbco"
18 ng-required="true" 18 ng-required="true"
19 ng-keypress="seleccionarBanco($event.keyCode)" 19 ng-keypress="seleccionarBanco($event.keyCode)"
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 form-control-sm" 24 class="btn btn-outline-secondary form-control-sm"
25 type="button" 25 type="button"
26 ng-click="seleccionarBanco(13)" 26 ng-click="seleccionarBanco(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 class="col-12 col-md-2"> 32 <div class="col-12 col-md-2">
33 <label class="form-control-sm">Provincia:</label> 33 <label class="form-control-sm">Provincia:</label>
34 </div> 34 </div>
35 <div class="col-12 col-md-5 input-group"> 35 <div class="col-12 col-md-5 input-group">
36 <input 36 <input
37 type="text" 37 type="text"
38 teclado-virtual 38 teclado-virtual
39 class="form-control form-control-sm" 39 class="form-control form-control-sm"
40 placeholder="Nombre o Código de Provincia " 40 placeholder="Nombre o Código de Provincia "
41 ng-model="cheque.provincia" 41 ng-model="cheque.provincia.NOMBRE"
42 ng-required="true" 42 ng-required="true"
43 ng-keypress="seleccionarProvincia($event.keyCode)"/> 43 ng-keypress="seleccionarProvincia($event.keyCode)"/>
44 <div class="input-group-append"> 44 <div class="input-group-append">
45 <button 45 <button
46 ladda="searchLoading" 46 ladda="searchLoading"
47 class="btn btn-outline-secondary form-control-sm" 47 class="btn btn-outline-secondary form-control-sm"
48 type="button" 48 type="button"
49 ng-click="seleccionarProvincia(13)" 49 ng-click="seleccionarProvincia(13)"
50 > 50 >
51 <i class="fa fa-search" aria-hidden="true"></i> 51 <i class="fa fa-search" aria-hidden="true"></i>
52 </button> 52 </button>
53 </div> 53 </div>
54 </div> 54 </div>
55 <div class="col-12 col-md-1"> 55 <div class="col-12 col-md-1">
56 <label class="form-control-sm">Lugar:</label> 56 <label class="form-control-sm">Lugar:</label>
57 </div> 57 </div>
58 <div class="col-12 col-md-4 input-group"> 58 <div class="col-12 col-md-4 input-group">
59 <input 59 <input
60 type="text" 60 type="text"
61 teclado-virtual 61 teclado-virtual
62 class="form-control form-control-sm" 62 class="form-control form-control-sm"
63 placeholder="Nombre o código del lugar" 63 placeholder="Nombre o código del lugar"
64 ng-model="cheque.localidad" 64 ng-model="cheque.localidad.NOMBRE"
65 ng-required="true" 65 ng-required="true"
66 ng-keypress="seleccionarLocalidad($event.keyCode)"/> 66 ng-keypress="seleccionarLocalidad($event.keyCode)"/>
67 <div class="input-group-append"> 67 <div class="input-group-append">
68 <button 68 <button
69 ladda="searchLoading" 69 ladda="searchLoading"
70 class="btn btn-outline-secondary form-control-sm" 70 class="btn btn-outline-secondary form-control-sm"
71 type="button" 71 type="button"
72 ng-click="seleccionarLocalidad(13)" 72 ng-click="seleccionarLocalidad(13)"
73 > 73 >
74 <i class="fa fa-search" aria-hidden="true"></i> 74 <i class="fa fa-search" aria-hidden="true"></i>
75 </button> 75 </button>
76 </div> 76 </div>
77 </div> 77 </div>
78 <div class="col-12 col-md-2"> 78 <div class="col-12 col-md-2">
79 <label class="form-control-sm">Librador:</label> 79 <label class="form-control-sm">Librador:</label>
80 </div> 80 </div>
81 <div class="col-12 col-md-10"> 81 <div class="col-12 col-md-10">
82 <input 82 <input
83 type="text" 83 type="text"
84 teclado-virtual 84 teclado-virtual
85 class="form-control form-control-sm" 85 class="form-control form-control-sm"
86 placeholder="Librador" 86 placeholder="Librador"
87 ng-model="cheque.librador" 87 ng-model="cheque.librador"
88 ng-required="true"/> 88 ng-required="true"/>
89 </div> 89 </div>
90 <div class="col-12 col-md-2"> 90 <div class="col-12 col-md-2">
91 <label class="form-control-sm">Cheque:</label> 91 <label class="form-control-sm">Cheque:</label>
92 </div> 92 </div>
93 <div class="col-6 col-md-3"> 93 <div class="col-6 col-md-3">
94 <input 94 <input
95 foca-tipo-input 95 foca-tipo-input
96 teclado-virtual 96 teclado-virtual
97 class="form-control form-control-sm" 97 class="form-control form-control-sm"
98 placeholder="Número" 98 placeholder="Número"
99 ng-model="cheque.numero" 99 ng-model="cheque.numero"
100 ng-required="true"/> 100 ng-required="true"/>
101 </div> 101 </div>
102 <div class="col-6 col-md-7 input-group mb-2"> 102 <div class="col-6 col-md-7 input-group mb-2">
103 <div class="input-group-prepend"> 103 <div class="input-group-prepend">
104 <div class="input-group-text form-control form-control-sm">$</div> 104 <div class="input-group-text form-control form-control-sm">$</div>
105 </div> 105 </div>
106 <input 106 <input
107 foca-tipo-input 107 foca-tipo-input
108 teclado-virtual 108 teclado-virtual
109 class="form-control form-control-sm" 109 class="form-control form-control-sm"
110 placeholder="Importe" 110 placeholder="Importe"
111 ng-model="cheque.importe" 111 ng-model="cheque.importe"
112 ng-required="true"/> 112 ng-required="true"/>
113 </div> 113 </div>
114 <div class="col-12 col-md-2"> 114 <div class="col-12 col-md-2">
115 <label class="form-control-sm">Emisión:</label> 115 <label class="form-control-sm">Emisión:</label>
116 </div> 116 </div>
117 <div class="col-12 col-md-4 input-group"> 117 <div class="col-12 col-md-4 input-group">
118 <div class="input-group-prepend"> 118 <div class="input-group-prepend">
119 <div class="input-group-text form-control form-control-sm"> 119 <div class="input-group-text form-control form-control-sm">
120 <i class="fa fa-calendar"></i> 120 <i class="fa fa-calendar"></i>
121 </div> 121 </div>
122 </div> 122 </div>
123 <input 123 <input
124 type="date" 124 type="date"
125 class="form-control form-control-sm" 125 class="form-control form-control-sm"
126 placeholder="Fecha" 126 placeholder="Fecha"
127 ng-model="cheque.fechaEmision" 127 ng-model="cheque.fechaEmision"
128 ng-required="true"/> 128 ng-required="true"/>
129 </div> 129 </div>
130 <div class="col-12 col-md-2"> 130 <div class="col-12 col-md-2">
131 <label class="form-control-sm">Presentación:</label> 131 <label class="form-control-sm">Presentación:</label>
132 </div> 132 </div>
133 <div class="col-12 col-md-4 input-group"> 133 <div class="col-12 col-md-4 input-group">
134 <div class="input-group-prepend"> 134 <div class="input-group-prepend">
135 <div class="input-group-text form-control form-control-sm"> 135 <div class="input-group-text form-control form-control-sm">
136 <i class="fa fa-calendar"></i> 136 <i class="fa fa-calendar"></i>
137 </div> 137 </div>
138 </div> 138 </div>
139 <input 139 <input
140 type="date" 140 type="date"
141 class="form-control form-control-sm" 141 class="form-control form-control-sm"
142 placeholder="Fecha" 142 placeholder="Fecha"
143 ng-model="cheque.fechaPresentacion" 143 ng-model="cheque.fechaPresentacion"
144 ng-required="true"/> 144 ng-required="true"/>
145 </div> 145 </div>
146 <div class="col-12 col-md-2"> 146 <div class="col-12 col-md-2">
147 <label class="form-control-sm">Observaciones:</label> 147 <label class="form-control-sm">Observaciones:</label>
148 </div> 148 </div>
149 <div class="col-12 col-md-10"> 149 <div class="col-12 col-md-10">
150 <textarea teclado-virtual class="form-control form-control-sm"></textarea> 150 <textarea teclado-virtual ng-model="cheque.observaciones" class="form-control form-control-sm"></textarea>
151 </div> 151 </div>
152 </div> 152 </div>
153 </form> 153 </form>
154 </div> 154 </div>
155 <div class="modal-footer"> 155 <div class="modal-footer">
156 <button 156 <button
157 class="btn btn-primary" 157 class="btn btn-primary"
158 type="button" 158 type="button"
159 ng-click="aceptar()" 159 ng-click="aceptar()"
160 ng-disabled="!formCheque.$valid" 160 ng-disabled="!formCheque.$valid"
161 >Aceptar</button> 161 >Aceptar</button>
162 <button class="btn btn-secondary" type="button" ng-click="cancel()">Cancelar</button> 162 <button class="btn btn-secondary" type="button" ng-click="cancel()">Cancelar</button>
163 </div> 163 </div>
164 164