Commit e41de44e6a35b922e0836f09f0e6e8a79d26ecec

Authored by Jose Pinto
Exists in master

Merge remote-tracking branch 'upstream/master'

src/js/controller.js
1 angular.module('focaAbmVendedorCobrador') 1 angular.module('focaAbmVendedorCobrador')
2 .controller('focaAbmVendedoresCobradoresController', [ 2 .controller('focaAbmVendedoresCobradoresController', [
3 '$scope', 'focaAbmVendedorCobradorService', '$location', '$filter', 3 '$scope', 'focaAbmVendedorCobradorService', '$location', '$filter',
4 'focaBotoneraLateralService', 'focaModalService', 4 'focaBotoneraLateralService', 'focaModalService',
5 function($scope, focaAbmVendedorCobradorService, $location, $filter, 5 function($scope, focaAbmVendedorCobradorService, $location, $filter,
6 focaBotoneraLateralService, focaModalService) { 6 focaBotoneraLateralService, focaModalService) {
7
8 $scope.now = new Date(); 7 $scope.now = new Date();
9 $scope.vendedoresCobradores = []; 8 $scope.vendedoresCobradores = [];
10 $scope.filters = ''; 9 $scope.filters = '';
11 $scope.numPerPage = 10; 10 $scope.numPerPage = 10;
12 $scope.currentPageVendedoresCobradores = []; 11 $scope.currentPageVendedoresCobradores = [];
13 $scope.vendedoresCobradores = []; 12 $scope.vendedoresCobradores = [];
14 13
15 //SETEO BOTONERA LATERAL 14 //SETEO BOTONERA LATERAL
16 focaBotoneraLateralService.showSalir(true); 15 focaBotoneraLateralService.showSalir(true);
17 focaBotoneraLateralService.showPausar(false); 16 focaBotoneraLateralService.showPausar(false);
18 focaBotoneraLateralService.showCancelar(false); 17 focaBotoneraLateralService.showCancelar(false);
19 focaBotoneraLateralService.showGuardar(false); 18 focaBotoneraLateralService.showGuardar(false);
20 19
21 $scope.editar = function(id) { 20 $scope.editar = function(id) {
22 $location.path('/vendedor-cobrador/' + id); 21 $location.path('/vendedor-cobrador/' + id);
23 }; 22 };
24 23
25 $scope.eliminar = function(vendedorCobrador) { 24 $scope.eliminar = function(vendedorCobrador) {
26 var tipo = vendedorCobrador.ES_COBRADOR ? 'cobrador' : 'vendedor'; 25 var tipo = !!(vendedorCobrador.rol | 2) ? 'cobrador' : 'vendedor';
27 focaModalService.confirm('¿Está seguro que desea borrar el ' + tipo + 26 focaModalService.confirm('¿Está seguro que desea borrar el ' + tipo +
28 ' ' + vendedorCobrador.NomVen + '?') 27 ' ' + vendedorCobrador.NOM + '?')
29 .then(function(data) { 28 .then(function(data) {
30 if(data) { 29 if(data) {
31 focaAbmVendedorCobradorService 30 focaAbmVendedorCobradorService
32 .eliminarVendedorCobrador(vendedorCobrador.CodVen) 31 .eliminarVendedorCobrador(vendedorCobrador.NUM)
33 .then(function() { 32 .then(function() {
34 $scope.search(13); 33 $scope.search(13);
35 }); 34 });
36 } 35 }
37 }); 36 });
38 }; 37 };
39 38
40 $scope.selectPage = function(page) { 39 $scope.selectPage = function(page) {
41 var start = (page - 1) * $scope.numPerPage; 40 var start = (page - 1) * $scope.numPerPage;
42 var end = start + $scope.numPerPage; 41 var end = start + $scope.numPerPage;
43 $scope.paginas = []; 42 $scope.paginas = [];
44 $scope.paginas = calcularPages(page); 43 $scope.paginas = calcularPages(page);
45 $scope.currentPageVendedoresCobradores = 44 $scope.currentPageVendedoresCobradores =
46 $scope.vendedoresCobradores.slice(start, end); 45 $scope.vendedoresCobradores.slice(start, end);
47 $scope.currentPage = page; 46 $scope.currentPage = page;
48 }; 47 };
49 48
50 $scope.resetPage = function() { 49 $scope.resetPage = function() {
51 $scope.currentPage = 1; 50 $scope.currentPage = 1;
52 $scope.selectPage(1); 51 $scope.selectPage(1);
53 }; 52 };
54 53
55 $scope.search = function(key) { 54 $scope.search = function(key) {
56 if(key !== 13) return; 55 if(key !== 13) return;
57 56
58 focaAbmVendedorCobradorService 57 focaAbmVendedorCobradorService
59 .getVendedoresCobradores($scope.filters) 58 .getVendedoresCobradores($scope.filters)
60 .then(function(res) { 59 .then(function(res) {
61 $scope.vendedoresCobradores = res.data; 60 $scope.vendedoresCobradores = res.data;
62 61
63 $scope.lastPage = Math.ceil( 62 $scope.lastPage = Math.ceil(
64 $scope.vendedoresCobradores.length / $scope.numPerPage 63 $scope.vendedoresCobradores.length / $scope.numPerPage
65 ); 64 );
66 65
67 $scope.resetPage(); 66 $scope.resetPage();
68 }); 67 });
69 }; 68 };
70 69
71 function calcularPages(paginaActual) { 70 function calcularPages(paginaActual) {
72 var paginas = []; 71 var paginas = [];
73 paginas.push(paginaActual); 72 paginas.push(paginaActual);
74 73
75 if(paginaActual - 1 > 1) { 74 if(paginaActual - 1 > 1) {
76 75
77 paginas.unshift(paginaActual - 1); 76 paginas.unshift(paginaActual - 1);
78 if(paginaActual - 2 > 1) { 77 if(paginaActual - 2 > 1) {
79 paginas.unshift(paginaActual - 2); 78 paginas.unshift(paginaActual - 2);
80 } 79 }
81 } 80 }
82 81
83 if(paginaActual + 1 < $scope.lastPage) { 82 if(paginaActual + 1 < $scope.lastPage) {
84 paginas.push(paginaActual + 1); 83 paginas.push(paginaActual + 1);
85 if(paginaActual + 2 < $scope.lastPage) { 84 if(paginaActual + 2 < $scope.lastPage) {
86 paginas.push(paginaActual + 2); 85 paginas.push(paginaActual + 2);
87 } 86 }
88 } 87 }
89 88
90 if(paginaActual !== 1) { 89 if(paginaActual !== 1) {
91 paginas.unshift(1); 90 paginas.unshift(1);
92 } 91 }
93 92
94 if(paginaActual !== $scope.lastPage) { 93 if(paginaActual !== $scope.lastPage) {
95 paginas.push($scope.lastPage); 94 paginas.push($scope.lastPage);
96 } 95 }
97 96
98 return paginas; 97 return paginas;
99 } 98 }
100 99
101 function primera() { 100 function primera() {
102 $scope.selectedClientes = 0; 101 $scope.selectedClientes = 0;
103 } 102 }
104 103
105 function anterior() { 104 function anterior() {
106 if ($scope.selectedClientes === 0 && $scope.currentPage > 1) { 105 if ($scope.selectedClientes === 0 && $scope.currentPage > 1) {
107 retrocederPagina(); 106 retrocederPagina();
108 } else { 107 } else {
109 $scope.selectedClientes--; 108 $scope.selectedClientes--;
110 } 109 }
111 } 110 }
112 111
113 function siguiente() { 112 function siguiente() {
114 if ($scope.selectedClientes < $scope.currentPageVendedoresCobradores.length - 1 ) { 113 if ($scope.selectedClientes < $scope.currentPageVendedoresCobradores.length - 1 ) {
115 $scope.selectedClientes++; 114 $scope.selectedClientes++;
116 } else { 115 } else {
117 avanzarPagina(); 116 avanzarPagina();
118 } 117 }
119 } 118 }
120 119
121 function retrocederPagina() { 120 function retrocederPagina() {
122 if ($scope.currentPage > 1) { 121 if ($scope.currentPage > 1) {
123 $scope.selectPage($scope.currentPage - 1); 122 $scope.selectPage($scope.currentPage - 1);
124 $scope.selectedClientes = $scope.numPerPage - 1; 123 $scope.selectedClientes = $scope.numPerPage - 1;
125 } 124 }
126 } 125 }
127 126
128 function avanzarPagina() { 127 function avanzarPagina() {
129 if ($scope.currentPage < $scope.lastPage) { 128 if ($scope.currentPage < $scope.lastPage) {
130 $scope.selectPage($scope.currentPage + 1); 129 $scope.selectPage($scope.currentPage + 1);
131 $scope.selectedClientes = 0; 130 $scope.selectedClientes = 0;
132 } 131 }
133 } 132 }
134 } 133 }
135 ]); 134 ]);
136 135
src/js/controllerItem.js
1 angular.module('focaAbmVendedorCobrador') 1 angular.module('focaAbmVendedorCobrador')
2 .controller('focaAbmVendedorCobradorController', [ 2 .controller('focaAbmVendedorCobradorController', [
3 '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService', 3 '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService',
4 '$timeout', '$uibModal', '$location', 'focaModalService', 4 '$timeout', '$uibModal', '$location', 'focaModalService',
5 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, 5 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService,
6 $timeout, $uibModal, $location, focaModalService) { 6 $timeout, $uibModal, $location, focaModalService) {
7 7
8 $scope.guardado = false; 8 $scope.guardado = false;
9 $scope.now = new Date(); 9 $scope.now = new Date();
10 $scope.focused = 0; 10 $scope.focused = 0;
11 $scope.vendedorCobrador = { 11 $scope.vendedorCobrador = {
12 ES_COBRADOR: false, 12 dni: ' ',
13 DNI: ' ', 13 CNET: '0',
14 ClaVen: '', 14 CFIN: '0',
15 CCOB: '0',
15 ComVen: '0.00', 16 comisionVendedor: '0.00',
16 comisionCobrador: '0.00', 17 comisionCobrador: '0.00',
17 provincia: { 18 provincia: {
18 NOMBRE: '' 19 NOMBRE: ''
19 }, 20 },
20 localidad: { 21 localidad: {
21 NOMBRE: ' ' 22 NOMBRE: ' '
22 } 23 }
23 }; 24 };
24 $scope.options = [ 25 $scope.options = [
25 { 26 {
26 label: 'Vendedor', 27 label: 'Vendedor',
27 value: 1 28 value: 1
28 }, 29 },
29 { 30 {
30 label: 'Cobrador', 31 label: 'Cobrador',
31 value: 2 32 value: 2
32 }, 33 },
33 { 34 {
34 label: 'Vendedor y cobrador', 35 label: 'Vendedor y cobrador',
35 value: 3 36 value: 3
36 } 37 }
37 ]; 38 ];
38 //SETEO BOTONERA LATERAL 39 //SETEO BOTONERA LATERAL
39 $timeout(function() { 40 $timeout(function() {
40 focaBotoneraLateralService.showSalir(false); 41 focaBotoneraLateralService.showSalir(false);
41 focaBotoneraLateralService.showPausar(true); 42 focaBotoneraLateralService.showPausar(true);
42 focaBotoneraLateralService.showCancelar(false); 43 focaBotoneraLateralService.showCancelar(false);
43 focaBotoneraLateralService.showGuardar(true, $scope.guardar); 44 focaBotoneraLateralService.showGuardar(true, $scope.guardar);
44 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); 45 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar);
45 }); 46 });
46 focaAbmVendedorCobradorService 47 focaAbmVendedorCobradorService
47 .getCodigoSiguiente() 48 .getCodigoSiguiente()
48 .then(function(res) { 49 .then(function(res) {
49 $scope.vendedorCobrador.CodVen = res.data.mayor; 50 $scope.vendedorCobrador.NUM = res.data.mayor;
51 });
50 }); 52
51 focaAbmVendedorCobradorService 53 focaAbmVendedorCobradorService
52 .getVendedorCobradorById($routeParams.id) 54 .getVendedorCobradorById($routeParams.id)
53 .then(function(res) { 55 .then(function(res) {
54 if(res.data){ 56 if (res.data) {
55 $scope.edicion = true; 57 $scope.edicion = true;
56 $scope.vendedorCobrador = res.data;
57 delete $scope.vendedorCobrador.FCVEN;
58 delete $scope.vendedorCobrador.FEC; 58 $scope.vendedorCobrador = res.data;
59 } 59 }
60 }); 60 });
61 61
62 $scope.guardar = function() { 62 $scope.guardar = function() {
63 if($scope.guardado) { 63 if($scope.guardado) {
64 $scope.cambiarPassword(); 64 $scope.cambiarPassword();
65 65
66 } else { 66 } else {
67 67
68 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 68 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
69 69
70 vendedorCobrador.PciVen = vendedorCobrador.provincia.ID; 70 vendedorCobrador.PciVen = vendedorCobrador.provincia.ID;
71 vendedorCobrador.LocVen = vendedorCobrador.localidad.ID; 71 vendedorCobrador.LocVen = vendedorCobrador.localidad.ID;
72 72
73 delete vendedorCobrador.provincia; 73 delete vendedorCobrador.provincia;
74 delete vendedorCobrador.localidad;
74 delete vendedorCobrador.localidad; 75 if (vendedorCobrador.rol == 1) {
75 if (vendedorCobrador.rol == 1) { 76 delete vendedorCobrador.comisionCobrador;
76 delete vendedorCobrador.comisionCobrador; 77 } else if (vendedorCobrador.rol == 2) {
77 } else if (vendedorCobrador.rol == 2) { 78 delete vendedorCobrador.ComVen;
78 delete vendedorCobrador.ComVen; 79 }
79 } 80 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar';
80 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; 81
81 82 focaAbmVendedorCobradorService
82 focaAbmVendedorCobradorService 83 .guardarVendedorCobrador(vendedorCobrador)
83 .guardarVendedorCobrador(vendedorCobrador) 84 .then(function(res) {
84 .then(function(res) { 85 if ($scope.edicion) {
85 if ($scope.edicion) { 86 $location.path('/vendedor-cobrador');
86 $location.path('/vendedor-cobrador'); 87 } else {
87 } else { 88 $scope.vendedorCobrador = res.data;
88 $scope.vendedorCobrador = res.data; 89 $scope.cambiarPassword();
89 $scope.cambiarPassword(); 90 $scope.guardado = true;
90 $scope.guardado = true; 91 }
91 } 92 })
92 }) 93 .catch(function(err) {
93 .catch(function(err) { 94 if (err.status === 409) {
94 if (err.status === 409) { 95 focaModalService.alert(err.data);
95 focaModalService.alert(err.data); 96 }
96 } 97 });
97 }); 98 }
98 } 99 };
99 }; 100
100 101 $scope.seleccionarProvincia = function(key) {
101 $scope.seleccionarProvincia = function(key) { 102 if(key === 13) {
102 if(key === 13) { 103 var parametrosModal = {
103 var parametrosModal = { 104 query: '/provincia',
104 query: '/provincia', 105 columnas: [
105 columnas: [ 106 {
106 { 107 propiedad: 'ID',
107 propiedad: 'ID', 108 nombre: 'Codigo',
108 nombre: 'Codigo', 109 filtro: {
109 filtro: { 110 nombre: 'rellenarDigitos',
110 nombre: 'rellenarDigitos', 111 parametro: 3}
111 parametro: 3} 112 },
112 }, 113 {
113 { 114 propiedad: 'NOMBRE',
114 propiedad: 'NOMBRE', 115 nombre: 'Nombre'
115 nombre: 'Nombre' 116 }
116 } 117 ],
117 ], 118 titulo:'Búsqueda de provincias',
118 titulo:'Búsqueda de provincias', 119 size: 'md'
119 size: 'md' 120 };
120 }; 121 focaModalService.modal(parametrosModal).then(function(provincia) {
121 focaModalService.modal(parametrosModal).then(function(provincia) { 122 $scope.vendedorCobrador.provincia = provincia;
122 $scope.vendedorCobrador.provincia = provincia; 123 $timeout(function() {
123 $timeout(function() { 124 $scope.focused = 5;
124 $scope.focused = 5; 125 });
125 }); 126 }, function() {
126 }, function() { 127 //TODO: función llamada cuando cancela el modal
127 //TODO: función llamada cuando cancela el modal 128 });
128 }); 129 }
129 } 130 };
130 }; 131 $scope.seleccionarLocalidad = function(key) {
131 $scope.seleccionarLocalidad = function(key) { 132 if(!$scope.vendedorCobrador.provincia.ID) {
132 if(!$scope.vendedorCobrador.provincia.ID) { 133 focaModalService.alert('Seleccione una provincia');
133 focaModalService.alert('Seleccione una provincia'); 134 return;
134 return; 135 }
135 } 136 if(key === 13) {
136 if(key === 13) { 137 var parametrosModal = {
137 var parametrosModal = { 138 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID,
138 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, 139 columnas: [
139 columnas: [ 140 {
140 { 141 propiedad: 'ID',
141 propiedad: 'ID', 142 nombre: 'Código',
142 nombre: 'Código', 143 filtro: {
143 filtro: { 144 nombre: 'rellenarDigitos',
144 nombre: 'rellenarDigitos', 145 parametro: 3
145 parametro: 3 146 }
146 } 147 },
147 }, 148 {
148 { 149 propiedad: 'NOMBRE',
149 propiedad: 'NOMBRE', 150 nombre: 'Nombre'
150 nombre: 'Nombre' 151 }
151 } 152 ],
152 ], 153 titulo:'Búsqueda de localidades',
153 titulo:'Búsqueda de localidades', 154 size: 'md'
154 size: 'md' 155 };
155 }; 156 focaModalService.modal(parametrosModal).then(function(localidad) {
156 focaModalService.modal(parametrosModal).then(function(localidad) { 157 $scope.vendedorCobrador.localidad = localidad;
157 $scope.vendedorCobrador.localidad = localidad; 158 $timeout(function() {
158 $timeout(function() { 159 $scope.focused = 6;
159 $scope.focused = 6; 160 });
160 }); 161 }, function() {
161 }, function() { 162 //TODO: función llamada cuando cancela el modal
162 //TODO: función llamada cuando cancela el modal 163 });
163 }); 164 }
164 } 165 };
165 }; 166
166 167 $scope.cancelar = function() {
167 $scope.cancelar = function() { 168 if(!$scope.formVendedorCobrador.$pristine) {
168 if(!$scope.formVendedorCobrador.$pristine) { 169
169 170 focaModalService.confirm('¿Está seguro de que desea salir?' +
170 focaModalService.confirm('¿Está seguro de que desea salir?' +
171 'Se perderán todos los datos cargados.')
172 .then(function(confirmed) {
173 if(confirmed && $scope.guardado && !$scope.edicion) { 171 'Se perderán todos los datos cargados.')
174 172 .then(function(confirmed) {
175 focaAbmVendedorCobradorService 173 if(confirmed && $scope.guardado && !$scope.edicion) {
176 .eliminarVendedorCobrador($scope.vendedorCobrador.CodVen) 174
177 .then(function() { 175 focaAbmVendedorCobradorService
178 $location.path('/vendedor-cobrador'); 176 .eliminarVendedorCobrador($scope.vendedorCobrador.CodVen)
179 }); 177 .then(function() {
180 178 $location.path('/vendedor-cobrador');
181 } else if (confirmed) { 179 });
182 $location.path('/vendedor-cobrador'); 180
183 } 181 } else if (confirmed) {
184 }); 182 $location.path('/vendedor-cobrador');
185 183 }
186 } else { 184 });
187 $location.path('/vendedor-cobrador'); 185
188 } 186 } else {
189 }; 187 $location.path('/vendedor-cobrador');
190 188 }
191 $scope.next = function(key) { 189 };
192 if(key === 13) $scope.focused++; 190
193 }; 191 $scope.next = function(key) {
194 192 if(key === 13) $scope.focused++;
195 $scope.cambiarPassword = function() { 193 };
196 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 194
197 vendedorCobrador.id = vendedorCobrador.CodVen; 195 $scope.cambiarPassword = function() {
198 vendedorCobrador.nombre = vendedorCobrador.NomVen; 196 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
199 vendedorCobrador.dni = vendedorCobrador.DNI; 197 vendedorCobrador.nombre = vendedorCobrador.NOM;
200 vendedorCobrador.telefono = vendedorCobrador.TelVen; 198
201 199 var parametros = {
202 var parametros = { 200 cuenta: vendedorCobrador,
203 cuenta: vendedorCobrador, 201 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores'
204 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores' 202 };
205 }; 203
206 204 var modalInstance = $uibModal.open(
207 var modalInstance = $uibModal.open( 205 {
208 { 206 ariaLabelledBy: 'Configuracion de Logueo',
209 ariaLabelledBy: 'Configuracion de Logueo', 207 templateUrl: 'modal-login.html',
210 templateUrl: 'modal-login.html', 208 controller: 'focaModalLoginController',
211 controller: 'focaModalLoginController', 209 size: 'md',
212 size: 'md', 210 resolve: {
213 resolve: { 211 parametros: function() {
214 parametros: function() { 212 return parametros;
215 return parametros; 213 }
216 } 214 }
217 } 215 }
218 } 216 );
219 ); 217
220 218 modalInstance.result.then(function() {
221 modalInstance.result.then(function() { 219 if (!$scope.edicion) $location.path('/vendedor-cobrador');
222 if (!$scope.edicion) $location.path('/vendedor-cobrador'); 220 });
223 }); 221
224 222 };
225 }; 223 }
src/views/foca-abm-vendedor-cobrador-item.html
1 <div class="row"> 1 <div class="row">
2 <foca-cabecera-facturador 2 <foca-cabecera-facturador
3 titulo="'Vendedores / Cobradores'" 3 titulo="'Vendedores / Cobradores'"
4 fecha="now" 4 fecha="now"
5 class="mb-0 col-lg-12" 5 class="mb-0 col-lg-12"
6 ></foca-cabecera-facturador> 6 ></foca-cabecera-facturador>
7 </div> 7 </div>
8 <div class="row"> 8 <div class="row">
9 <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded"> 9 <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded">
10 <form name="formVendedorCobrador" class="px-3" autocomplete="off"> 10 <form name="formVendedorCobrador" class="px-3" autocomplete="off">
11 <div class="row mt-3"> 11 <div class="row mt-3">
12 <div class="form-group d-flex mb-2 col-md-6"> 12 <div class="form-group d-flex mb-2 col-md-6">
13 <label class="col-form-label col-md-4">Código</label> 13 <label class="col-form-label col-md-4">Código</label>
14 <div class="col-md-8 pl-0"> 14 <div class="col-md-8 pl-0">
15 <input 15 <input
16 class="form-control form-control-sm" 16 class="form-control form-control-sm"
17 ng-model="vendedorCobrador.CodVen" 17 ng-model="vendedorCobrador.NUM"
18 ng-disabled="edicion"/> 18 ng-disabled="edicion"/>
19 </div> 19 </div>
20 </div> 20 </div>
21 <div class="form-group d-flex mb-2 col-md-6"> 21 <div class="form-group d-flex mb-2 col-md-6">
22 <label class="col-form-label col-md-4">Tipo</label> 22 <label class="col-form-label col-md-4">Tipo</label>
23 <div class="col-md-8 pl-0"> 23 <div class="col-md-8 pl-0">
24 <select 24 <select
25 class="form-control form-control-sm" 25 class="form-control form-control-sm"
26 ng-model="vendedorCobrador.rol" 26 ng-model="vendedorCobrador.rol"
27 ng-options="option.value as option.label for option in options" 27 ng-options="option.value as option.label for option in options"
28 foca-focus="focused == 0" 28 foca-focus="focused == 0"
29 ng-focus="focused = 0"> 29 ng-focus="focused = 0">
30 </select> 30 </select>
31 </div> 31 </div>
32 </div> 32 </div>
33 <div class="form-group d-flex mb-2 col-md-6"> 33 <div class="form-group d-flex mb-2 col-md-6">
34 <label class="col-form-label col-md-4">Nombre</label> 34 <label class="col-form-label col-md-4">Nombre</label>
35 <div class="input-group col-md-8 pl-0"> 35 <div class="input-group col-md-8 pl-0">
36 <input 36 <input
37 class="form-control form-control-sm" 37 class="form-control form-control-sm"
38 type="text" 38 type="text"
39 teclado-virtual 39 teclado-virtual
40 ng-model="vendedorCobrador.NomVen" 40 ng-model="vendedorCobrador.NOM"
41 foca-focus="focused == 1" 41 foca-focus="focused == 1"
42 ng-focus="focused = 1" 42 ng-focus="focused = 1"
43 ng-keypress="next($event.keyCode)" 43 ng-keypress="next($event.keyCode)"
44 autocomplete="off" 44 autocomplete="off"
45 uppercase-only 45 uppercase-only
46 /> 46 />
47 </div> 47 </div>
48 </div> 48 </div>
49 <div class="form-group d-flex mb-2 col-md-6"> 49 <div class="form-group d-flex mb-2 col-md-6">
50 <label class="col-form-label col-md-4">Domicilio</label> 50 <label class="col-form-label col-md-4">Domicilio</label>
51 <div class="input-group col-md-8 pl-0"> 51 <div class="input-group col-md-8 pl-0">
52 <input 52 <input
53 class="form-control form-control-sm" 53 class="form-control form-control-sm"
54 type="text" 54 type="text"
55 teclado-virtual 55 teclado-virtual
56 ng-model="vendedorCobrador.DomVen" 56 ng-model="vendedorCobrador.domicilio"
57 ng-required="true" 57 ng-required="true"
58 foca-focus="focused == 2" 58 foca-focus="focused == 2"
59 ng-focus="focused = 2" 59 ng-focus="focused = 2"
60 ng-keypress="next($event.keyCode)" 60 ng-keypress="next($event.keyCode)"
61 autocomplete="off" 61 autocomplete="off"
62 uppercase-only 62 uppercase-only
63 /> 63 />
64 </div> 64 </div>
65 </div> 65 </div>
66 <div class="form-group d-flex mb-2 col-md-6"> 66 <div class="form-group d-flex mb-2 col-md-6">
67 <label class="col-form-label col-md-4">Código postal</label> 67 <label class="col-form-label col-md-4">Código postal</label>
68 <div class="input-group col-md-8 pl-0"> 68 <div class="input-group col-md-8 pl-0">
69 <input 69 <input
70 class="form-control form-control-sm" 70 class="form-control form-control-sm"
71 foca-tipo-input 71 foca-tipo-input
72 teclado-virtual 72 teclado-virtual
73 ng-model="vendedorCobrador.CPoVen" 73 ng-model="vendedorCobrador.codigoPostal"
74 ng-required="true" 74 ng-required="true"
75 foca-focus="focused == 3" 75 foca-focus="focused == 3"
76 ng-focus="focused = 3" 76 ng-focus="focused = 3"
77 ng-keypress="next($event.keyCode)" 77 ng-keypress="next($event.keyCode)"
78 autocomplete="off" 78 autocomplete="off"
79 string-to-number 79 string-to-number
80 /> 80 />
81 </div> 81 </div>
82 </div> 82 </div>
83 <div class="form-group d-flex mb-2 col-md-6"> 83 <div class="form-group d-flex mb-2 col-md-6">
84 <label class="col-form-label col-md-4">Provincia</label> 84 <label class="col-form-label col-md-4">Provincia</label>
85 <div class="input-group col-md-8 pl-0"> 85 <div class="input-group col-md-8 pl-0">
86 <input 86 <input
87 type="text" 87 type="text"
88 class="form-control form-control-sm" 88 class="form-control form-control-sm"
89 ng-model="vendedorCobrador.provincia.NOMBRE" 89 ng-model="vendedorCobrador.provincia.NOMBRE"
90 ng-keypress="seleccionarProvincia($event.keyCode)" 90 ng-keypress="seleccionarProvincia($event.keyCode)"
91 ng-required="true" 91 ng-required="true"
92 foca-focus="focused == 4" 92 foca-focus="focused == 4"
93 ng-focus="focused = 4" 93 ng-focus="focused = 4"
94 teclado-virtual 94 teclado-virtual
95 /> 95 />
96 <div class="input-group-append"> 96 <div class="input-group-append">
97 <button 97 <button
98 ladda="searchLoading" 98 ladda="searchLoading"
99 class="btn btn-outline-secondary form-control-sm" 99 class="btn btn-outline-secondary form-control-sm"
100 type="button" 100 type="button"
101 ng-click="seleccionarProvincia(13)" 101 ng-click="seleccionarProvincia(13)"
102 > 102 >
103 <i class="fa fa-search" aria-hidden="true"></i> 103 <i class="fa fa-search" aria-hidden="true"></i>
104 </button> 104 </button>
105 </div> 105 </div>
106 </div> 106 </div>
107 </div> 107 </div>
108 <div class="form-group d-flex mb-2 col-md-6"> 108 <div class="form-group d-flex mb-2 col-md-6">
109 <label class="col-form-label col-md-4">Localidad</label> 109 <label class="col-form-label col-md-4">Localidad</label>
110 <div class="input-group col-md-8 pl-0"> 110 <div class="input-group col-md-8 pl-0">
111 <input 111 <input
112 type="text" 112 type="text"
113 class="form-control form-control-sm" 113 class="form-control form-control-sm"
114 ng-model="vendedorCobrador.localidad.NOMBRE" 114 ng-model="vendedorCobrador.localidad.NOMBRE"
115 ng-keypress="seleccionarLocalidad($event.keyCode)" 115 ng-keypress="seleccionarLocalidad($event.keyCode)"
116 ng-required="true" 116 ng-required="true"
117 foca-focus="focused == 5" 117 foca-focus="focused == 5"
118 ng-focus="focused = 5" 118 ng-focus="focused = 5"
119 teclado-virtual 119 teclado-virtual
120 autocomplete="off" 120 autocomplete="off"
121 /> 121 />
122 <div class="input-group-append"> 122 <div class="input-group-append">
123 <button 123 <button
124 ladda="searchLoading" 124 ladda="searchLoading"
125 class="btn btn-outline-secondary form-control-sm" 125 class="btn btn-outline-secondary form-control-sm"
126 type="button" 126 type="button"
127 ng-click="seleccionarLocalidad(13)" 127 ng-click="seleccionarLocalidad(13)"
128 > 128 >
129 <i class="fa fa-search" aria-hidden="true"></i> 129 <i class="fa fa-search" aria-hidden="true"></i>
130 </button> 130 </button>
131 </div> 131 </div>
132 </div> 132 </div>
133 </div> 133 </div>
134 <div class="form-group d-flex mb-2 col-md-6"> 134 <div class="form-group d-flex mb-2 col-md-6">
135 <label class="col-form-label col-md-4">Teléfono</label> 135 <label class="col-form-label col-md-4">Teléfono</label>
136 <div class="input-group col-md-8 pl-0"> 136 <div class="input-group col-md-8 pl-0">
137 <input 137 <input
138 class="form-control form-control-sm" 138 class="form-control form-control-sm"
139 foca-tipo-input 139 foca-tipo-input
140 teclado-virtual 140 teclado-virtual
141 ng-model="vendedorCobrador.TelVen" 141 ng-model="vendedorCobrador.telefono"
142 ng-required="true" 142 ng-required="true"
143 foca-focus="focused == 6" 143 foca-focus="focused == 6"
144 ng-focus="focused = 6" 144 ng-focus="focused = 6"
145 ng-keypress="next($event.keyCode)" 145 ng-keypress="next($event.keyCode)"
146 autocomplete="off" 146 autocomplete="off"
147 string-to-number 147 string-to-number
148 /> 148 />
149 </div> 149 </div>
150 </div> 150 </div>
151 <div class="form-group d-flex mb-2 col-md-6"> 151 <div class="form-group d-flex mb-2 col-md-6">
152 <label class="col-form-label col-md-4">DNI</label> 152 <label class="col-form-label col-md-4">DNI</label>
153 <div class="input-group col-md-8 pl-0"> 153 <div class="input-group col-md-8 pl-0">
154 <input 154 <input
155 class="form-control form-control-sm" 155 class="form-control form-control-sm"
156 foca-tipo-input 156 foca-tipo-input
157 teclado-virtual 157 teclado-virtual
158 ng-model="vendedorCobrador.DNI" 158 ng-model="vendedorCobrador.dni"
159 ng-required="true" 159 ng-required="true"
160 foca-focus="focused == 7" 160 foca-focus="focused == 7"
161 ng-focus="focused = 7" 161 ng-focus="focused = 7"
162 ng-keypress="next($event.keyCode)" 162 ng-keypress="next($event.keyCode)"
163 autocomplete="off" 163 autocomplete="off"
164 string-to-number 164 string-to-number
165 /> 165 />
166 </div> 166 </div>
167 </div> 167 </div>
168 <div class="form-group d-flex mb-2 col-md-6" 168 <div class="form-group d-flex mb-2 col-md-6"
169 ng-show="vendedorCobrador.rol == 1 || vendedorCobrador.rol == 3"> 169 ng-show="vendedorCobrador.rol == 1 || vendedorCobrador.rol == 3">
170 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">vendedor</span></label> 170 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">vendedor</span></label>
171 <div class="input-group col-md-8 pl-0"> 171 <div class="input-group col-md-8 pl-0">
172 <input 172 <input
173 class="form-control form-control-sm" 173 class="form-control form-control-sm"
174 foca-tipo-input 174 foca-tipo-input
175 teclado-virtual 175 teclado-virtual
176 ng-model="vendedorCobrador.ComVen" 176 ng-model="vendedorCobrador.comisionVendedor"
177 ng-required="true" 177 ng-required="true"
178 foca-focus="focused == 10" 178 foca-focus="focused == 10"
179 ng-focus="focused = 10" 179 ng-focus="focused = 10"
180 ng-keypress="next($event.keyCode)" 180 ng-keypress="next($event.keyCode)"
181 autocomplete="off" 181 autocomplete="off"
182 string-to-number 182 string-to-number
183 /> 183 />
184 </div> 184 </div>
185 </div> 185 </div>
186 <div class="form-group d-flex mb-2 col-md-6" 186 <div class="form-group d-flex mb-2 col-md-6"
187 ng-show="vendedorCobrador.rol == 2 || vendedorCobrador.rol == 3"> 187 ng-show="vendedorCobrador.rol == 2 || vendedorCobrador.rol == 3">
188 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">cobrador</span></label> 188 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">cobrador</span></label>
189 <div class="input-group col-md-8 pl-0"> 189 <div class="input-group col-md-8 pl-0">
190 <input 190 <input
191 class="form-control form-control-sm" 191 class="form-control form-control-sm"
192 foca-tipo-input 192 foca-tipo-input
193 teclado-virtual 193 teclado-virtual
194 ng-model="vendedorCobrador.comisionCobrador" 194 ng-model="vendedorCobrador.comisionCobrador"
195 ng-required="true" 195 ng-required="true"
196 foca-focus="focused == 10" 196 foca-focus="focused == 10"
197 ng-focus="focused = 10" 197 ng-focus="focused = 10"
198 ng-keypress="next($event.keyCode)" 198 ng-keypress="next($event.keyCode)"
199 autocomplete="off" 199 autocomplete="off"
200 string-to-number 200 string-to-number
201 /> 201 />
202 </div> 202 </div>
203 </div> 203 </div>
204 <div class="ml-auto w-50"> 204 <div class="ml-auto w-50">
205 <button 205 <button
206 class="btn btn-primary float-right mr-3" 206 class="btn btn-primary float-right mr-3"
207 type="button" 207 type="button"
208 ng-click="cambiarPassword()" 208 ng-click="cambiarPassword()"
209 ng-show="edicion" 209 ng-show="edicion"
210 >Cambiar contraseña</button> 210 >Cambiar contraseña</button>
211 </div> 211 </div>
212 </div> 212 </div>
213 </form> 213 </form>
214 </div> 214 </div>
215 </div> 215 </div>
216 216
src/views/foca-abm-vendedor-cobrador-listado.html
1 <div class="row"> 1 <div class="row">
2 <foca-cabecera-facturador 2 <foca-cabecera-facturador
3 titulo="'Vendedores / Cobradores'" 3 titulo="'Vendedores / Cobradores'"
4 fecha="now" 4 fecha="now"
5 class="mb-0 col-lg-12" 5 class="mb-0 col-lg-12"
6 ></foca-cabecera-facturador> 6 ></foca-cabecera-facturador>
7 </div> 7 </div>
8 <div class="row"> 8 <div class="row">
9 <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded"> 9 <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded">
10 <div class="form-group input-group mt-3 px-5"> 10 <div class="form-group input-group mt-3 px-5">
11 <input 11 <input
12 type="text" 12 type="text"
13 class="form-control form-control-sm" 13 class="form-control form-control-sm"
14 id="search" 14 id="search"
15 placeholder="Búsqueda" 15 placeholder="Búsqueda"
16 teclado-virtual 16 teclado-virtual
17 ng-keypress="search($event.keyCode)" 17 ng-keypress="search($event.keyCode)"
18 ng-model="filters" 18 ng-model="filters"
19 foca-focus="true" 19 foca-focus="true"
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="search(13)" 26 ng-click="search(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 <table class="table table-default table-hover table-sm table-abm table-striped mb-0"> 32 <table class="table table-default table-hover table-sm table-abm table-striped mb-0">
33 <thead> 33 <thead>
34 <tr> 34 <tr>
35 <th class="text-center">Código</th> 35 <th class="text-center">Código</th>
36 <th>Nombre</th> 36 <th>Nombre</th>
37 <th>Tipo</th> 37 <th>Tipo</th>
38 <th class="text-center"> 38 <th class="text-center">
39 <button 39 <button
40 class="btn btn-outline-debo boton-accion" 40 class="btn btn-outline-debo boton-accion"
41 title="Agregar" 41 title="Agregar"
42 ng-click="editar(0)" 42 ng-click="editar(0)"
43 ><i class="fa fa-plus"></i> 43 ><i class="fa fa-plus"></i>
44 </button> 44 </button>
45 </th> 45 </th>
46 </tr> 46 </tr>
47 </thead> 47 </thead>
48 <tbody> 48 <tbody>
49 <tr ng-repeat="vendedorCobrador in currentPageVendedoresCobradores"> 49 <tr ng-repeat="vendedorCobrador in currentPageVendedoresCobradores">
50 <td ng-bind="vendedorCobrador.CodVen" class="text-center"></td> 50 <td ng-bind="vendedorCobrador.NUM" class="text-center"></td>
51 <td ng-bind="vendedorCobrador.NomVen"></td> 51 <td ng-bind="vendedorCobrador.NOM"></td>
52 <td ng-if="vendedorCobrador.rol == 1">Vendedor</td> 52 <td ng-if="vendedorCobrador.rol == 1">Vendedor</td>
53 <td ng-if="vendedorCobrador.rol == 2">Cobrador</td> 53 <td ng-if="vendedorCobrador.rol == 2">Cobrador</td>
54 <td ng-if="vendedorCobrador.rol == 3">Vendedor / Cobrador</td> 54 <td ng-if="vendedorCobrador.rol == 3">Vendedor / Cobrador</td>
55 <td ng-if="!vendedorCobrador.rol"></td> 55 <td ng-if="!vendedorCobrador.rol"></td>
56 <td class="text-center"> 56 <td class="text-center">
57 <button 57 <button
58 class="btn btn-outline-dark boton-accion" 58 class="btn btn-outline-dark boton-accion"
59 title="Editar" 59 title="Editar"
60 ng-click="editar(vendedorCobrador.CodVen)" 60 ng-click="editar(vendedorCobrador.id)"
61 > 61 >
62 <i class="fa fa-pencil"></i> 62 <i class="fa fa-pencil"></i>
63 </button> 63 </button>
64 <button 64 <button
65 class="btn btn-outline-dark boton-accion" 65 class="btn btn-outline-dark boton-accion"
66 title="Eliminar" 66 title="Eliminar"
67 ng-click="eliminar(vendedorCobrador)" 67 ng-click="eliminar(vendedorCobrador)"
68 > 68 >
69 <i class="fa fa-trash"></i> 69 <i class="fa fa-trash"></i>
70 </button> 70 </button>
71 </td> 71 </td>
72 </tr> 72 </tr>
73 </body> 73 </body>
74 </table> 74 </table>
75 </div> 75 </div>
76 </div> 76 </div>
77 <div class="row"> 77 <div class="row">
78 <nav ng-show="currentPageVendedoresCobradores.length > 0" class="mr-auto paginador-abm"> 78 <nav ng-show="currentPageVendedoresCobradores.length > 0" class="mr-auto paginador-abm">
79 <ul class="pagination pagination-sm mb-0"> 79 <ul class="pagination pagination-sm mb-0">
80 <li class="page-item" ng-class="{'disabled': currentPage == 1}"> 80 <li class="page-item" ng-class="{'disabled': currentPage == 1}">
81 <a class="page-link" href="javascript:void()" ng-click="selectPage(currentPage - 1)"> 81 <a class="page-link" href="javascript:void()" ng-click="selectPage(currentPage - 1)">
82 <span aria-hidden="true">&laquo;</span> 82 <span aria-hidden="true">&laquo;</span>
83 <span class="sr-only">Anterior</span> 83 <span class="sr-only">Anterior</span>
84 </a> 84 </a>
85 </li> 85 </li>
86 <li 86 <li
87 class="page-item" 87 class="page-item"
88 ng-repeat="pagina in paginas" 88 ng-repeat="pagina in paginas"
89 ng-class="{'active': pagina == currentPage}" 89 ng-class="{'active': pagina == currentPage}"
90 > 90 >
91 <a 91 <a
92 class="page-link" 92 class="page-link"
93 href="javascript:void()" 93 href="javascript:void()"
94 ng-click="selectPage(pagina)" 94 ng-click="selectPage(pagina)"
95 ng-bind="pagina" 95 ng-bind="pagina"
96 ></a> 96 ></a>
97 </li> 97 </li>
98 <li class="page-item" ng-class="{'disabled': currentPage == lastPage}"> 98 <li class="page-item" ng-class="{'disabled': currentPage == lastPage}">
99 <a class="page-link" href="javascript:void()" ng-click="selectPage(currentPage + 1)"> 99 <a class="page-link" href="javascript:void()" ng-click="selectPage(currentPage + 1)">
100 <span aria-hidden="true">&raquo;</span> 100 <span aria-hidden="true">&raquo;</span>
101 <span class="sr-only">Siguiente</span> 101 <span class="sr-only">Siguiente</span>
102 </a> 102 </a>
103 </li> 103 </li>
104 </ul> 104 </ul>
105 </nav> 105 </nav>
106 </div> 106 </div>
107 107