Commit a1162ffd5b52fd61a8e54bc315457aa5eb4e7aaa

Authored by Nicolás Guarnieri
Exists in master

Merge branch 'master' into 'master'

Master(efernandez)

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