Commit f2515ee9ff027a3bb82d23751f5b246ff0c00612

Authored by Eric Fernandez
Exists in master

conflictos

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 'focaModalService', 8 'sugerido',
9 'focaModalService',
9 function($filter, $scope, $uibModalInstance, $uibModal, focaModalService) { 10 function($filter, $scope, $uibModalInstance, $uibModal, sugerido, focaModalService) {
10 $scope.cheque = { 11 $scope.cheque = {
11 banco: { 12 banco: {
12 desbco: ''//Nombre del banco 13 desbco: ''//Nombre del banco
13 }, 14 },
14 provincia: { 15 provincia: {
15 NOMBRE:'' 16 NOMBRE:''
16 }, 17 },
17 localidad: { 18 localidad: {
18 NOMBRE: '' 19 NOMBRE: ''
19 }, 20 },
20 fechaEmision: new Date() 21 fechaEmision: new Date()
22 };
21 }; 23 $scope.focused = 1;
22 24
25 if(sugerido && sugerido < 0) {
26 $scope.cheque.importe = Math.abs(sugerido);
23 27 }
24 28
25 $scope.seleccionarBanco = function(key) { 29 $scope.seleccionarBanco = function(key) {
26 if(key === 13) { 30 if(key === 13) {
27 var modalInstance = $uibModal.open( 31 var modalInstance = $uibModal.open(
28 { 32 {
29 ariaLabelledBy: 'Busqueda de Bancos', 33 ariaLabelledBy: 'Busqueda de Bancos',
30 templateUrl: 'modal-bancos.html', 34 templateUrl: 'modal-bancos.html',
31 controller: 'focaModalBancoController', 35 controller: 'focaModalBancoController',
32 size: 'md', 36 size: 'md',
33 resolve: {filters: function() {return $scope.cheque.banco.desbco;}} 37 resolve: {filters: function() {return $scope.cheque.banco.desbco;}}
34 } 38 }
35 ); 39 );
36 modalInstance.result.then(function(banco) { 40 modalInstance.result.then(function(banco) {
41 $scope.cheque.banco = banco;
37 $scope.cheque.banco = banco; 42 $scope.focused = 2;
38 }, function() { 43 }, function() {
39 //TODO: función llamada cuando cancela el modal 44 //TODO: función llamada cuando cancela el modal
40 }); 45 });
41 } 46 }
42 }; 47 };
43 48
44 $scope.seleccionarProvincia = function(key) { 49 $scope.seleccionarProvincia = function(key) {
45 if(key === 13) { 50 if(key === 13) {
46 var parametrosModal = { 51 var parametrosModal = {
47 query: '/provincia', 52 query: '/provincia',
48 columnas: [ 53 columnas: [
49 { 54 {
50 propiedad: 'ID', 55 propiedad: 'ID',
51 nombre: 'Codigo', 56 nombre: 'Codigo',
52 filtro: { 57 filtro: {
53 nombre: 'rellenarDigitos', 58 nombre: 'rellenarDigitos',
54 parametro: 3} 59 parametro: 3}
55 }, 60 },
56 { 61 {
57 propiedad: 'NOMBRE', 62 propiedad: 'NOMBRE',
63 nombre: 'Nombre'
58 nombre: 'Nombre' 64 }
59 } 65 ],
60 ], 66 titulo:'Búsqueda de provincias',
61 titulo:'Búsqueda de provincias', 67 size: 'md'
62 size: 'md' 68 };
63 }; 69 focaModalService.modal(parametrosModal).then(function(provincia) {
64 focaModalService.modal(parametrosModal).then(function(provincia) { 70 $scope.cheque.provincia = provincia;
65 $scope.cheque.provincia = provincia; 71 $scope.focused = 3;
66 }, function() { 72 }, function() {
67 //TODO: función llamada cuando cancela el modal 73 //TODO: función llamada cuando cancela el modal
68 }); 74 });
69 } 75 }
70 }; 76 };
71 77
72 $scope.seleccionarLocalidad = function(key) { 78 $scope.seleccionarLocalidad = function(key) {
73 if($scope.cheque.provincia.ID === undefined) { 79 if($scope.cheque.provincia.ID === undefined) {
74 focaModalService.alert('Seleccione una provincia'); 80 focaModalService.alert('Seleccione una provincia');
75 return; 81 return;
76 } 82 }
77 if(key === 13) { 83 if(key === 13) {
78 var parametrosModal = { 84 var parametrosModal = {
79 query: '/localidad/' + $scope.cheque.provincia.ID, 85 query: '/localidad/' + $scope.cheque.provincia.ID,
80 columnas: [ 86 columnas: [
81 { 87 {
82 propiedad: 'ID', 88 propiedad: 'ID',
83 nombre: 'Codigo', 89 nombre: 'Codigo',
84 filtro: { 90 filtro: {
85 nombre: 'rellenarDigitos', 91 nombre: 'rellenarDigitos',
86 parametro: 3} 92 parametro: 3}
93 },
87 }, 94 {
88 { 95 propiedad: 'NOMBRE',
89 propiedad: 'NOMBRE', 96 nombre: 'Nombre'
90 nombre: 'Nombre' 97 }
91 } 98 ],
92 ], 99 titulo:'Búsqueda de localidades',
93 titulo:'Búsqueda de localidades', 100 size: 'md'
94 size: 'md' 101 };
95 }; 102 focaModalService.modal(parametrosModal).then(function(localidad) {
96 focaModalService.modal(parametrosModal).then(function(localidad) { 103 $scope.cheque.localidad = localidad;
97 $scope.cheque.localidad = localidad; 104 $scope.focused = 4;
98 }, function() { 105 }, function() {
99 //TODO: función llamada cuando cancela el modal 106 //TODO: función llamada cuando cancela el modal
100 }); 107 });
101 } 108 }
102 }; 109 };
103 110
104 $scope.aceptar = function() { 111 $scope.aceptar = function() {
105 delete $scope.cheque.provincia.localidades; 112 delete $scope.cheque.provincia.localidades;
106 //TODO: al enviar el importe con punto se pone como mil, no como decimal 113 //TODO: al enviar el importe con punto se pone como mil, no como decimal
107 $scope.cheque.importe = parseFloat($scope.cheque.importe); 114 $scope.cheque.importe = parseFloat($scope.cheque.importe);
108 $uibModalInstance.close($scope.cheque); 115 $uibModalInstance.close($scope.cheque);
109 }; 116 };
110 117
111 $scope.cancel = function() { 118 $scope.cancel = function() {
112 $uibModalInstance.dismiss('cancel'); 119 $uibModalInstance.dismiss('cancel');
113 }; 120 };
114 } 121 }
115 ] 122 ]
116 ); 123 );
117 124
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"
14 teclado-virtual 13 teclado-virtual
15 class="form-control form-control-sm" 14 class="form-control form-control-sm"
16 placeholder="Nombre del banco o código" 15 placeholder="Nombre del banco o código"
17 ng-model="cheque.banco.desbco" 16 ng-model="cheque.banco.desbco"
18 ng-required="true" 17 ng-required="true"
19 ng-keypress="seleccionarBanco($event.keyCode)" 18 ng-keypress="seleccionarBanco($event.keyCode)"
19 foca-focus="focused == 1"
20 ng-focus="focused = 1"
20 /> 21 />
21 <div class="input-group-append"> 22 <div class="input-group-append">
22 <button 23 <button
23 ladda="searchLoading" 24 ladda="searchLoading"
24 class="btn btn-outline-secondary form-control-sm" 25 class="btn btn-outline-secondary form-control-sm"
25 type="button" 26 type="button"
26 ng-click="seleccionarBanco(13)" 27 ng-click="seleccionarBanco(13)"
27 > 28 >
28 <i class="fa fa-search" aria-hidden="true"></i> 29 <i class="fa fa-search" aria-hidden="true"></i>
29 </button> 30 </button>
30 </div> 31 </div>
31 </div> 32 </div>
32 <div class="col-12 col-md-2"> 33 <div class="col-12 col-md-2">
33 <label class="form-control-sm">Provincia:</label> 34 <label class="form-control-sm">Provincia:</label>
34 </div> 35 </div>
35 <div class="col-12 col-md-5 input-group"> 36 <div class="col-12 col-md-5 input-group">
36 <input 37 <input
37 type="text" 38 type="text"
38 teclado-virtual 39 teclado-virtual
39 class="form-control form-control-sm" 40 class="form-control form-control-sm"
40 placeholder="Nombre o Código de Provincia " 41 placeholder="Nombre o Código de Provincia "
41 ng-model="cheque.provincia.NOMBRE" 42 ng-model="cheque.provincia.NOMBRE"
42 ng-required="true" 43 ng-required="true"
43 ng-keypress="seleccionarProvincia($event.keyCode)"/> 44 ng-keypress="seleccionarProvincia($event.keyCode)"
45 foca-focus="focused == 2"
46 ng-focus="focused = 2"/>
44 <div class="input-group-append"> 47 <div class="input-group-append">
45 <button 48 <button
46 ladda="searchLoading" 49 ladda="searchLoading"
47 class="btn btn-outline-secondary form-control-sm" 50 class="btn btn-outline-secondary form-control-sm"
48 type="button" 51 type="button"
49 ng-click="seleccionarProvincia(13)" 52 ng-click="seleccionarProvincia(13)"
50 > 53 >
51 <i class="fa fa-search" aria-hidden="true"></i> 54 <i class="fa fa-search" aria-hidden="true"></i>
52 </button> 55 </button>
53 </div> 56 </div>
54 </div> 57 </div>
55 <div class="col-12 col-md-1"> 58 <div class="col-12 col-md-1">
56 <label class="form-control-sm">Lugar:</label> 59 <label class="form-control-sm">Lugar:</label>
57 </div> 60 </div>
58 <div class="col-12 col-md-4 input-group"> 61 <div class="col-12 col-md-4 input-group">
59 <input 62 <input
60 type="text" 63 type="text"
61 teclado-virtual 64 teclado-virtual
62 class="form-control form-control-sm" 65 class="form-control form-control-sm"
63 placeholder="Nombre o código del lugar" 66 placeholder="Nombre o código del lugar"
64 ng-model="cheque.localidad.NOMBRE" 67 ng-model="cheque.localidad.NOMBRE"
65 ng-required="true" 68 ng-required="true"
66 ng-keypress="seleccionarLocalidad($event.keyCode)"/> 69 ng-keypress="seleccionarLocalidad($event.keyCode)"
70 foca-focus="focused == 3"
71 ng-focus="focused = 3"/>
67 <div class="input-group-append"> 72 <div class="input-group-append">
68 <button 73 <button
69 ladda="searchLoading" 74 ladda="searchLoading"
70 class="btn btn-outline-secondary form-control-sm" 75 class="btn btn-outline-secondary form-control-sm"
71 type="button" 76 type="button"
72 ng-click="seleccionarLocalidad(13)" 77 ng-click="seleccionarLocalidad(13)"
73 > 78 >
74 <i class="fa fa-search" aria-hidden="true"></i> 79 <i class="fa fa-search" aria-hidden="true"></i>
75 </button> 80 </button>
76 </div> 81 </div>
77 </div> 82 </div>
78 <div class="col-12 col-md-2"> 83 <div class="col-12 col-md-2">
79 <label class="form-control-sm">Librador:</label> 84 <label class="form-control-sm">Librador:</label>
80 </div> 85 </div>
81 <div class="col-12 col-md-10"> 86 <div class="col-12 col-md-10">
82 <input 87 <input
83 type="text" 88 type="text"
84 teclado-virtual 89 teclado-virtual
85 class="form-control form-control-sm" 90 class="form-control form-control-sm"
86 placeholder="Librador" 91 placeholder="Librador"
87 ng-model="cheque.librador" 92 ng-model="cheque.librador"
88 ng-required="true"/> 93 ng-required="true"
94 ng-keypress="focused = 5"
95 foca-focus="focused == 4"
96 ng-focus="focused = 4"/>
89 </div> 97 </div>
90 <div class="col-12 col-md-2"> 98 <div class="col-12 col-md-2">
91 <label class="form-control-sm">Cheque:</label> 99 <label class="form-control-sm">Cheque:</label>
92 </div> 100 </div>
93 <div class="col-6 col-md-3"> 101 <div class="col-6 col-md-3">
94 <input 102 <input
95 foca-tipo-input 103 foca-tipo-input
96 teclado-virtual 104 teclado-virtual
97 class="form-control form-control-sm" 105 class="form-control form-control-sm"
98 placeholder="Número" 106 placeholder="Número"
99 ng-model="cheque.numero" 107 ng-model="cheque.numero"
100 ng-required="true"/> 108 ng-required="true"
109 ng-keypress="focused = 6"
110 foca-focus="focused == 5"
111 ng-focus="focused = 5"/>
101 </div> 112 </div>
102 <div class="col-6 col-md-7 input-group mb-2"> 113 <div class="col-6 col-md-7 input-group mb-2">
103 <div class="input-group-prepend"> 114 <div class="input-group-prepend">
104 <div class="input-group-text form-control form-control-sm">$</div> 115 <div class="input-group-text form-control form-control-sm">$</div>
105 </div> 116 </div>
106 <input 117 <input
107 foca-tipo-input 118 foca-tipo-input
108 teclado-virtual 119 teclado-virtual
109 class="form-control form-control-sm" 120 class="form-control form-control-sm"
110 placeholder="Importe" 121 placeholder="Importe"
111 ng-model="cheque.importe" 122 ng-model="cheque.importe"
112 ng-required="true"/> 123 ng-keypress="focused = 7; datepickerOpen = true"
124 ng-required="true"
125 foca-focus="focused == 6"
126 ng-focus="focused = 6"/>
113 </div> 127 </div>
114 <div class="col-12 col-md-2"> 128 <div class="col-12 col-md-2">
115 <label class="form-control-sm">Emisión:</label> 129 <label class="form-control-sm">Emisión:</label>
116 </div> 130 </div>
117 <div class="col-12 col-md-4 input-group"> 131 <div class="col-12 col-md-4 input-group">
118 <div class="input-group-prepend"> 132 <div class="input-group-prepend">
119 <div class="input-group-text form-control form-control-sm"> 133 <div class="input-group-text form-control form-control-sm">
120 <i class="fa fa-calendar"></i> 134 <i class="fa fa-calendar"></i>
121 </div> 135 </div>
122 </div> 136 </div>
123 <input 137 <input
124 type="date" 138 type="text"
125 class="form-control form-control-sm" 139 class="form-control form-control-sm"
126 placeholder="Fecha" 140 placeholder="Fecha"
127 ng-model="cheque.fechaEmision" 141 ng-model="cheque.fechaEmision"
128 ng-required="true"/> 142 uib-datepicker-popup="dd/MM/yyyy"
143 show-button-bar="false"
144 is-open="datepickerOpen"
145 on-open-focus="false"
146 ng-focus="datepickerOpen = true; focused = 7"
147 ng-required="true"
148 foca-focus="focused == 7"
149 ng-blur="focused = 8"/>
129 </div> 150 </div>
130 <div class="col-12 col-md-2"> 151 <div class="col-12 col-md-2">
131 <label class="form-control-sm">Presentación:</label> 152 <label class="form-control-sm">Presentación:</label>
132 </div> 153 </div>
133 <div class="col-12 col-md-4 input-group"> 154 <div class="col-12 col-md-4 input-group">
134 <div class="input-group-prepend"> 155 <div class="input-group-prepend">
135 <div class="input-group-text form-control form-control-sm"> 156 <div class="input-group-text form-control form-control-sm">
136 <i class="fa fa-calendar"></i> 157 <i class="fa fa-calendar"></i>
137 </div> 158 </div>
138 </div> 159 </div>
139 <input 160 <input
140 type="date" 161 type="text"
141 class="form-control form-control-sm" 162 class="form-control form-control-sm"
142 placeholder="Fecha" 163 placeholder="Fecha"
143 ng-model="cheque.fechaPresentacion" 164 ng-model="cheque.fechaPresentacion"
144 ng-required="true"/> 165 uib-datepicker-popup="dd/MM/yyyy"
166 show-button-bar="false"
167 is-open="datepicker2Open"
168 on-open-focus="false"
169 ng-focus="datepicker2Open = true; focused = 8"
170 ng-required="true"
171 foca-focus="focused == 8"
172 ng-blur="focused = 9"/>
145 </div> 173 </div>
146 <div class="col-12 col-md-2"> 174 <div class="col-12 col-md-2">
147 <label class="form-control-sm">Observaciones:</label> 175 <label class="form-control-sm">Observaciones:</label>
148 </div> 176 </div>
149 <div class="col-12 col-md-10"> 177 <div class="col-12 col-md-10">
150 <textarea teclado-virtual ng-model="cheque.observaciones" class="form-control form-control-sm"></textarea> 178 <textarea teclado-virtual
179 ng-model="cheque.observaciones"
180 class="form-control form-control-sm"
181 foca-focus="focused == 9"
182 ng-focus="focused = 9"></textarea>
151 </div> 183 </div>
152 </div> 184 </div>
153 </form> 185 </form>
154 </div> 186 </div>
155 <div class="modal-footer"> 187 <div class="modal-footer">
156 <button 188 <button
157 class="btn btn-primary" 189 class="btn btn-primary"
158 type="button" 190 type="button"
159 ng-click="aceptar()" 191 ng-click="aceptar()"
160 ng-disabled="!formCheque.$valid" 192 ng-disabled="!formCheque.$valid"
161 >Aceptar</button> 193 >Aceptar</button>
162 <button class="btn btn-secondary" type="button" ng-click="cancel()">Cancelar</button> 194 <button class="btn btn-secondary" type="button" ng-click="cancel()">Cancelar</button>
163 </div> 195 </div>