Commit 524bb4b071b362999d1a9d9636dc11e63075164c

Authored by Luis Suarez
1 parent 05e97a4931
Exists in develop

validacion en crear vendedor comprador

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', '$localStorage', '$filter', 4 '$timeout', '$uibModal', '$location', 'focaModalService', '$localStorage', '$filter',
5 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, 5 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService,
6 $timeout, $uibModal, $location, focaModalService, $localStorage, $filter) { 6 $timeout, $uibModal, $location, focaModalService, $localStorage, $filter) {
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 dni: '', 12 dni: '',
13 CNET: '0', 13 CNET: '0',
14 CFIN: '0', 14 CFIN: '0',
15 CCOB: '0', 15 CCOB: '0',
16 comisionVendedor: '0.00', 16 comisionVendedor: '0.00',
17 comisionCobrador: '0.00', 17 comisionCobrador: '0.00',
18 provincia: { 18 provincia: {
19 NOMBRE: '' 19 NOMBRE: ''
20 }, 20 },
21 localidad: { 21 localidad: {
22 NOMBRE: '' 22 NOMBRE: ''
23 }, 23 },
24 rol: '' 24 rol: ''
25 }; 25 };
26 $scope.options = [ 26 $scope.options = [
27 { 27 {
28 label: 'Vendedor', 28 label: 'Vendedor',
29 value: 1 29 value: 1
30 }, 30 },
31 { 31 {
32 label: 'Cobrador', 32 label: 'Cobrador',
33 value: 2 33 value: 2
34 }, 34 },
35 { 35 {
36 label: 'Vendedor y cobrador', 36 label: 'Vendedor y cobrador',
37 value: 3 37 value: 3
38 } 38 }
39 ]; 39 ];
40 //SETEO BOTONERA LATERAL 40 //SETEO BOTONERA LATERAL
41 $timeout(function() { 41 $timeout(function() {
42 focaBotoneraLateralService.showSalir(false); 42 focaBotoneraLateralService.showSalir(false);
43 focaBotoneraLateralService.showPausar(true); 43 focaBotoneraLateralService.showPausar(true);
44 focaBotoneraLateralService.showCancelar(false); 44 focaBotoneraLateralService.showCancelar(false);
45 focaBotoneraLateralService.showGuardar(true, $scope.guardar); 45 focaBotoneraLateralService.showGuardar(true, $scope.guardar);
46 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); 46 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar);
47 }); 47 });
48 48
49 $timeout(function() {getLSVendedor();}); 49 $timeout(function() {getLSVendedor();});
50 50
51 focaAbmVendedorCobradorService 51 focaAbmVendedorCobradorService
52 .getCodigoVendedores() 52 .getCodigoVendedores()
53 .then(function (res) { 53 .then(function (res) {
54 $scope.vendedorCobrador.NUM = res.data.proximoCodigo; 54 $scope.vendedorCobrador.NUM = res.data.proximoCodigo;
55 }); 55 });
56 56
57 focaAbmVendedorCobradorService 57 focaAbmVendedorCobradorService
58 .getVendedorCobradorById($routeParams.id) 58 .getVendedorCobradorById($routeParams.id)
59 .then(function(res) { 59 .then(function(res) {
60 if (res.data) { 60 if (res.data) {
61 $scope.edicion = true; 61 $scope.edicion = true;
62 $scope.vendedorCobrador = res.data; 62 $scope.vendedorCobrador = res.data;
63 } 63 }
64 }); 64 });
65 65
66 $scope.guardar = function() { 66 $scope.guardar = function() {
67 var cobradorComision = parseFloat($scope.vendedorCobrador.comisionCobrador); 67 var cobradorComision = parseFloat($scope.vendedorCobrador.comisionCobrador);
68 var vendedorComision = parseFloat($scope.vendedorCobrador.comisionVendedor); 68 var vendedorComision = parseFloat($scope.vendedorCobrador.comisionVendedor);
69 69
70 if (!$scope.vendedorCobrador.NOM) { 70 if (!$scope.vendedorCobrador.NOM) {
71 focaModalService.alert('Ingrese nombre'); 71 focaModalService.alert('Ingrese nombre');
72 return; 72 return;
73 } else if (!$scope.vendedorCobrador.domicilio) { 73 } else if (!$scope.vendedorCobrador.domicilio) {
74 focaModalService.alert('Ingrese domicilio'); 74 focaModalService.alert('Ingrese domicilio');
75 return; 75 return;
76 } else if (!$scope.vendedorCobrador.codigoPostal) { 76 } else if (!$scope.vendedorCobrador.codigoPostal ||
77 focaModalService.alert('Ingrese código postal'); 77 $scope.vendedorCobrador.codigoPostal.length != 8) {
78 focaModalService.alert('Ingrese un código postal válido');
78 return; 79 return;
79 } else if (!$scope.vendedorCobrador.dni) { 80 } else if (!$scope.vendedorCobrador.dni ||
80 focaModalService.alert('Ingrese dni'); 81 $scope.vendedorCobrador.dni.length < 7 ||
82 $scope.vendedorCobrador.dni.length < 12) {
83 focaModalService.alert('Ingrese un DNI válido');
81 return; 84 return;
82 } else if (!$scope.vendedorCobrador.rol) { 85 } else if (!$scope.vendedorCobrador.rol) {
83 focaModalService.alert('Seleccione tipo'); 86 focaModalService.alert('Seleccione tipo');
84 return; 87 return;
85 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) { 88 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) {
86 focaModalService.alert('Seleccione una provincia'); 89 focaModalService.alert('Seleccione una provincia');
87 return; 90 return;
88 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) { 91 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) {
89 focaModalService.alert('Seleccione una localidad'); 92 focaModalService.alert('Seleccione una localidad');
90 return; 93 return;
94 } else if (!$scope.vendedorCobrador.telefono ||
95 $scope.vendedorCobrador.telefono < 7 ||
96 $scope.vendedorCobrador.telefono > 10) {
97 focaModalService.alert('Ingrese un teléfono válido');
98 return;
91 } else if (($scope.vendedorCobrador.rol === 2 && isNaN(cobradorComision)) || 99 } else if (($scope.vendedorCobrador.rol === 2 && isNaN(cobradorComision)) ||
92 (($scope.vendedorCobrador.rol === 3) && isNaN(cobradorComision))) { 100 (($scope.vendedorCobrador.rol === 3) && isNaN(cobradorComision))) {
93 focaModalService.alert('Ingrese una comision cobrador válida'); 101 focaModalService.alert('Ingrese una comision cobrador válida');
94 return; 102 return;
95 } else if (($scope.vendedorCobrador.rol === 1 && isNaN(vendedorComision)) || 103 } else if (($scope.vendedorCobrador.rol === 1 && isNaN(vendedorComision)) ||
96 ($scope.vendedorCobrador.rol === 3 && isNaN(vendedorComision))) { 104 ($scope.vendedorCobrador.rol === 3 && isNaN(vendedorComision))) {
97 focaModalService.alert('Ingrese una comision vendedor válida'); 105 focaModalService.alert('Ingrese una comision vendedor válida');
98 return; 106 return;
99 } 107 }
100 108
101 if ($scope.guardado) { 109 if ($scope.guardado) {
102 $scope.cambiarPassword(); 110 $scope.cambiarPassword();
103 } else { 111 } else {
104 112
105 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 113 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
106 114
107 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID; 115 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID;
108 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID; 116 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID;
109 117
110 delete vendedorCobrador.provincia; 118 delete vendedorCobrador.provincia;
111 delete vendedorCobrador.localidad; 119 delete vendedorCobrador.localidad;
112 if (vendedorCobrador.rol === 1) { 120 if (vendedorCobrador.rol === 1) {
113 delete vendedorCobrador.comisionCobrador; 121 delete vendedorCobrador.comisionCobrador;
114 } else if (vendedorCobrador.rol === 2) { 122 } else if (vendedorCobrador.rol === 2) {
115 delete vendedorCobrador.comisionVendedor; 123 delete vendedorCobrador.comisionVendedor;
116 } 124 }
117 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; 125 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar';
118 126
119 focaAbmVendedorCobradorService 127 focaAbmVendedorCobradorService
120 .guardarVendedorCobrador(vendedorCobrador) 128 .guardarVendedorCobrador(vendedorCobrador)
121 .then(function(res) { 129 .then(function(res) {
122 if ($scope.edicion) { 130 if ($scope.edicion) {
123 $location.path('/vendedor-cobrador'); 131 $location.path('/vendedor-cobrador');
124 } else { 132 } else {
125 $scope.vendedorCobrador = res.data; 133 $scope.vendedorCobrador = res.data;
126 $scope.cambiarPassword(); 134 $scope.cambiarPassword();
127 $scope.guardado = true; 135 $scope.guardado = true;
128 } 136 }
129 }) 137 })
130 .catch(function(err) { 138 .catch(function(err) {
131 if (err.status === 409) { 139 if (err.status === 409) {
132 focaModalService.alert(err.data); 140 focaModalService.alert(err.data);
133 } 141 }
134 }); 142 });
135 } 143 }
136 }; 144 };
137 145
138 $scope.seleccionarProvincia = function(key) { 146 $scope.seleccionarProvincia = function(key) {
139 if (key === 13) { 147 if (key === 13) {
140 var parametrosModal = { 148 var parametrosModal = {
141 searchText: $scope.vendedorCobrador.provincia.NOMBRE, 149 searchText: $scope.vendedorCobrador.provincia.NOMBRE,
142 query: '/provincia', 150 query: '/provincia',
143 columnas: [ 151 columnas: [
144 { 152 {
145 propiedad: 'ID', 153 propiedad: 'ID',
146 nombre: 'Codigo', 154 nombre: 'Codigo',
147 filtro: { 155 filtro: {
148 nombre: 'rellenarDigitos', 156 nombre: 'rellenarDigitos',
149 parametro: 3 157 parametro: 3
150 } 158 }
151 }, 159 },
152 { 160 {
153 propiedad: 'NOMBRE', 161 propiedad: 'NOMBRE',
154 nombre: 'Nombre' 162 nombre: 'Nombre'
155 } 163 }
156 ], 164 ],
157 titulo: 'Búsqueda de provincias', 165 titulo: 'Búsqueda de provincias',
158 size: 'md' 166 size: 'md'
159 }; 167 };
160 focaModalService.modal(parametrosModal).then(function(provincia) { 168 focaModalService.modal(parametrosModal).then(function(provincia) {
161 $scope.vendedorCobrador.provincia = provincia; 169 $scope.vendedorCobrador.provincia = provincia;
162 $timeout(function() { 170 $timeout(function() {
163 $scope.focused = 5; 171 $scope.focused = 5;
164 }); 172 });
165 }, function() { 173 }, function() {
166 //TODO: función llamada cuando cancela el modal 174 //TODO: función llamada cuando cancela el modal
167 }); 175 });
168 } 176 }
169 }; 177 };
170 178
171 $scope.seleccionarLocalidad = function(key) { 179 $scope.seleccionarLocalidad = function(key) {
172 if (!$scope.vendedorCobrador.provincia.ID) { 180 if (!$scope.vendedorCobrador.provincia.ID) {
173 focaModalService.alert('Seleccione una provincia'); 181 focaModalService.alert('Seleccione una provincia');
174 return; 182 return;
175 } 183 }
176 if (key === 13) { 184 if (key === 13) {
177 var parametrosModal = { 185 var parametrosModal = {
178 searchText: $scope.vendedorCobrador.localidad.NOMBRE, 186 searchText: $scope.vendedorCobrador.localidad.NOMBRE,
179 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, 187 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID,
180 columnas: [ 188 columnas: [
181 { 189 {
182 propiedad: 'ID', 190 propiedad: 'ID',
183 nombre: 'Código', 191 nombre: 'Código',
184 filtro: { 192 filtro: {
185 nombre: 'rellenarDigitos', 193 nombre: 'rellenarDigitos',
186 parametro: 3 194 parametro: 3
187 } 195 }
188 }, 196 },
189 { 197 {
190 propiedad: 'NOMBRE', 198 propiedad: 'NOMBRE',
191 nombre: 'Nombre' 199 nombre: 'Nombre'
192 } 200 }
193 ], 201 ],
194 titulo: 'Búsqueda de localidades', 202 titulo: 'Búsqueda de localidades',
195 size: 'md' 203 size: 'md'
196 }; 204 };
197 focaModalService.modal(parametrosModal).then(function(localidad) { 205 focaModalService.modal(parametrosModal).then(function(localidad) {
198 $scope.vendedorCobrador.localidad = localidad; 206 $scope.vendedorCobrador.localidad = localidad;
199 $timeout(function() { 207 $timeout(function() {
200 $scope.focused = 6; 208 $scope.focused = 6;
201 }); 209 });
202 }, function() { 210 }, function() {
203 //TODO: función llamada cuando cancela el modal 211 //TODO: función llamada cuando cancela el modal
204 }); 212 });
205 } 213 }
206 }; 214 };
207 215
208 $scope.$watch('vendedorCobrador', function(newValue) { 216 $scope.$watch('vendedorCobrador', function(newValue) {
209 focaBotoneraLateralService.setPausarData({ 217 focaBotoneraLateralService.setPausarData({
210 label:'vendedorCobrador', 218 label:'vendedorCobrador',
211 val: newValue 219 val: newValue
212 }); 220 });
213 }, true); 221 }, true);
214 222
215 function getLSVendedor() { 223 function getLSVendedor() {
216 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null); 224 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null);
217 if (vendedorCobrador) { 225 if (vendedorCobrador) {
218 setearVendedor(vendedorCobrador); 226 setearVendedor(vendedorCobrador);
219 delete $localStorage.vendedorCobrador; 227 delete $localStorage.vendedorCobrador;
220 } 228 }
221 } 229 }
222 230
223 function setearVendedor(vendedorCobrador) { 231 function setearVendedor(vendedorCobrador) {
224 $scope.vendedorCobrador = vendedorCobrador; 232 $scope.vendedorCobrador = vendedorCobrador;
225 $scope.$broadcast('addCabecera', { 233 $scope.$broadcast('addCabecera', {
226 label: 'Vendedor / Cobrador:', 234 label: 'Vendedor / Cobrador:',
227 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + 235 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) +
228 ' - ' + vendedorCobrador.NOM 236 ' - ' + vendedorCobrador.NOM
229 }); 237 });
230 } 238 }
231 239
232 $scope.cancelar = function() { 240 $scope.cancelar = function() {
233 if (!$scope.formVendedorCobrador.$pristine) { 241 if (!$scope.formVendedorCobrador.$pristine) {
234 242
235 focaModalService.confirm('¿Está seguro de que desea salir? ' + 243 focaModalService.confirm('¿Está seguro de que desea salir? ' +
236 'Se perderán todos los datos cargados.') 244 'Se perderán todos los datos cargados.')
237 .then(function(confirmed) { 245 .then(function(confirmed) {
238 if (confirmed && $scope.guardado && !$scope.edicion) { 246 if (confirmed && $scope.guardado && !$scope.edicion) {
239 247
240 focaAbmVendedorCobradorService 248 focaAbmVendedorCobradorService
241 .destroyVendedorCobrador($scope.vendedorCobrador.id) 249 .destroyVendedorCobrador($scope.vendedorCobrador.id)
242 .then(function() { 250 .then(function() {
243 $location.path('/vendedor-cobrador'); 251 $location.path('/vendedor-cobrador');
244 }); 252 });
245 253
246 } else if (confirmed) { 254 } else if (confirmed) {
247 $location.path('/vendedor-cobrador'); 255 $location.path('/vendedor-cobrador');
248 } 256 }
249 }); 257 });
250 258
251 } else { 259 } else {
252 $location.path('/vendedor-cobrador'); 260 $location.path('/vendedor-cobrador');
253 } 261 }
254 }; 262 };
255 263
256 $scope.next = function(key) { 264 $scope.next = function(key) {
257 if (key === 13) $scope.focused++; 265 if (key === 13) $scope.focused++;
258 }; 266 };
259 267
260 $scope.cambiarPassword = function() { 268 $scope.cambiarPassword = function() {
261 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 269 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
262 vendedorCobrador.nombre = vendedorCobrador.NOM; 270 vendedorCobrador.nombre = vendedorCobrador.NOM;
263 vendedorCobrador.codigo = vendedorCobrador.NUM; 271 vendedorCobrador.codigo = vendedorCobrador.NUM;
264 272
265 var parametros = { 273 var parametros = {
266 cuenta: vendedorCobrador, 274 cuenta: vendedorCobrador,
267 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores', 275 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores',
268 btnAceptar: true 276 btnAceptar: true
269 }; 277 };
270 278
271 var modalInstance = $uibModal.open( 279 var modalInstance = $uibModal.open(
272 { 280 {
273 ariaLabelledBy: 'Configuracion de Logueo', 281 ariaLabelledBy: 'Configuracion de Logueo',
274 templateUrl: 'modal-login.html', 282 templateUrl: 'modal-login.html',
275 controller: 'focaModalLoginController', 283 controller: 'focaModalLoginController',
276 size: 'md', 284 size: 'md',
277 resolve: { 285 resolve: {
278 parametros: function() { 286 parametros: function() {
279 return parametros; 287 return parametros;
280 } 288 }
281 } 289 }
282 } 290 }
283 ); 291 );
284 292
285 modalInstance.result.then(function() { 293 modalInstance.result.then(function() {
286 if (!$scope.edicion) $location.path('/vendedor-cobrador'); 294 if (!$scope.edicion) $location.path('/vendedor-cobrador');
287 }); 295 });
288 296
289 }; 297 };
298
299 $scope.validarDatos = function() {
300 if (!/^([a-zA-ZÀ-ÿ ])*$/.test($scope.chofer.nombre)) {
301 focaModalService.alert('el campo Nombre no debe incluir números o símbolos');
302 $scope.vendedorCobrador.NOM = '';
303 } else if (vendedorCobrador.comisionCobrador > 100) {
304 focaModalService.alert('La Comisión debe ser menor al 100%');
305 vendedorCobrador.comisionCobrador='';
306 } else if (vendedorCobrador.comisionVendedor > 100) {
307 focaModalService.alert('La Comisión debe ser menor al 100%');
308 vendedorCobrador.comisionVendedor='';
309 }
310 }
290 } 311 }
291 ]); 312 ]);
292 313
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.NUM" 17 ng-model="vendedorCobrador.NUM"
18 solo-positivos 18 solo-positivos
19 ng-disabled="edicion"/> 19 ng-disabled="edicion"
20 disabled/>
20 </div> 21 </div>
21 </div> 22 </div>
22 <div class="form-group d-flex mb-2 col-md-6"> 23 <div class="form-group d-flex mb-2 col-md-6">
23 <label class="col-form-label col-md-4">Tipo</label> 24 <label class="col-form-label col-md-4">Tipo</label>
24 <div class="col-md-8 pl-0"> 25 <div class="col-md-8 pl-0">
25 <select 26 <select
26 class="form-control form-control-sm" 27 class="form-control form-control-sm"
27 ng-model="vendedorCobrador.rol" 28 ng-model="vendedorCobrador.rol"
28 ng-options="option.value as option.label for option in options" 29 ng-options="option.value as option.label for option in options"
29 foca-focus="focused == 0" 30 foca-focus="focused == 0"
30 ng-focus="focused = 0"> 31 ng-focus="focused = 0">
31 </select> 32 </select>
32 </div> 33 </div>
33 </div> 34 </div>
34 <div class="form-group d-flex mb-2 col-md-6"> 35 <div class="form-group d-flex mb-2 col-md-6">
35 <label class="col-form-label col-md-4">Nombre</label> 36 <label class="col-form-label col-md-4">Nombre</label>
36 <div class="input-group col-md-8 pl-0"> 37 <div class="input-group col-md-8 pl-0">
37 <input 38 <input
38 class="form-control form-control-sm" 39 class="form-control form-control-sm"
39 type="text" 40 type="text"
40 teclado-virtual 41 teclado-virtual
41 ng-model="vendedorCobrador.NOM" 42 ng-model="vendedorCobrador.NOM"
43 ng-keyup="validarDatos()"
42 foca-focus="focused == 1" 44 foca-focus="focused == 1"
43 ng-focus="focused = 1" 45 ng-focus="focused = 1"
44 ng-keypress="next($event.keyCode)" 46 ng-keypress="next($event.keyCode)"
45 autocomplete="off" 47 autocomplete="off"
46 uppercase-only 48 uppercase-only
47 49
48 /> 50 />
49 </div> 51 </div>
50 </div> 52 </div>
51 <div class="form-group d-flex mb-2 col-md-6"> 53 <div class="form-group d-flex mb-2 col-md-6">
52 <label class="col-form-label col-md-4">Domicilio</label> 54 <label class="col-form-label col-md-4">Domicilio</label>
53 <div class="input-group col-md-8 pl-0"> 55 <div class="input-group col-md-8 pl-0">
54 <input 56 <input
55 class="form-control form-control-sm" 57 class="form-control form-control-sm"
56 type="text" 58 type="text"
57 teclado-virtual 59 teclado-virtual
58 ng-model="vendedorCobrador.domicilio" 60 ng-model="vendedorCobrador.domicilio"
59 ng-required="true" 61 ng-required="true"
60 foca-focus="focused == 2" 62 foca-focus="focused == 2"
61 ng-focus="focused = 2" 63 ng-focus="focused = 2"
62 ng-keypress="next($event.keyCode)" 64 ng-keypress="next($event.keyCode)"
63 autocomplete="off" 65 autocomplete="off"
64 uppercase-only 66 uppercase-only
65 /> 67 />
66 </div> 68 </div>
67 </div> 69 </div>
68 <div class="form-group d-flex mb-2 col-md-6"> 70 <div class="form-group d-flex mb-2 col-md-6">
69 <label class="col-form-label col-md-4">Código postal</label> 71 <label class="col-form-label col-md-4">Código postal</label>
70 <div class="input-group col-md-8 pl-0"> 72 <div class="input-group col-md-8 pl-0">
71 <input 73 <input
72 class="form-control form-control-sm" 74 class="form-control form-control-sm"
73 foca-tipo-input 75 foca-tipo-input
74 teclado-virtual 76 teclado-virtual
75 solo-positivos 77 solo-positivos
76 ng-model="vendedorCobrador.codigoPostal" 78 ng-model="vendedorCobrador.codigoPostal"
77 ng-required="true" 79 ng-required="true"
78 foca-focus="focused == 3" 80 foca-focus="focused == 3"
79 ng-focus="focused = 3" 81 ng-focus="focused = 3"
80 ng-keypress="next($event.keyCode)" 82 ng-keypress="next($event.keyCode)"
81 autocomplete="off" 83 autocomplete="off"
82 string-to-number 84 string-to-number
83 /> 85 />
84 </div> 86 </div>
85 </div> 87 </div>
86 <div class="form-group d-flex mb-2 col-md-6"> 88 <div class="form-group d-flex mb-2 col-md-6">
87 <label class="col-form-label col-md-4">Provincia</label> 89 <label class="col-form-label col-md-4">Provincia</label>
88 <div class="col-md-8 pl-0"> 90 <div class="col-md-8 pl-0">
89 <div class="input-group"> 91 <div class="input-group">
90 <input 92 <input
91 type="text" 93 type="text"
92 class="form-control form-control-sm" 94 class="form-control form-control-sm"
93 ng-model="vendedorCobrador.provincia.NOMBRE" 95 ng-model="vendedorCobrador.provincia.NOMBRE"
94 ng-keypress="seleccionarProvincia($event.keyCode)" 96 ng-keypress="seleccionarProvincia($event.keyCode)"
95 ng-required="true" 97 ng-required="true"
96 foca-focus="focused == 4" 98 foca-focus="focused == 4"
97 ng-focus="focused = 4" 99 ng-focus="focused = 4"
98 teclado-virtual 100 teclado-virtual
99 /> 101 />
100 <div class="input-group-append"> 102 <div class="input-group-append">
101 <button 103 <button
102 ladda="searchLoading" 104 ladda="searchLoading"
103 class="btn btn-outline-secondary" 105 class="btn btn-outline-secondary"
104 type="button" 106 type="button"
105 ng-click="seleccionarProvincia(13)" 107 ng-click="seleccionarProvincia(13)"
106 > 108 >
107 <i class="fa fa-search" aria-hidden="true"></i> 109 <i class="fa fa-search" aria-hidden="true"></i>
108 </button> 110 </button>
109 </div> 111 </div>
110 </div> 112 </div>
111 </div> 113 </div>
112 </div> 114 </div>
113 <div class="form-group d-flex mb-2 col-md-6"> 115 <div class="form-group d-flex mb-2 col-md-6">
114 <label class="col-form-label col-md-4">Localidad</label> 116 <label class="col-form-label col-md-4">Localidad</label>
115 <div class="col-md-8 pl-0"> 117 <div class="col-md-8 pl-0">
116 <div class="input-group"> 118 <div class="input-group">
117 <input 119 <input
118 type="text" 120 type="text"
119 class="form-control form-control-sm" 121 class="form-control form-control-sm"
120 ng-model="vendedorCobrador.localidad.NOMBRE" 122 ng-model="vendedorCobrador.localidad.NOMBRE"
121 ng-keypress="seleccionarLocalidad($event.keyCode)" 123 ng-keypress="seleccionarLocalidad($event.keyCode)"
122 ng-required="true" 124 ng-required="true"
123 foca-focus="focused == 5" 125 foca-focus="focused == 5"
124 ng-focus="focused = 5" 126 ng-focus="focused = 5"
125 teclado-virtual 127 teclado-virtual
126 autocomplete="off" 128 autocomplete="off"
127 /> 129 />
128 <div class="input-group-append"> 130 <div class="input-group-append">
129 <button 131 <button
130 ladda="searchLoading" 132 ladda="searchLoading"
131 class="btn btn-outline-secondary" 133 class="btn btn-outline-secondary"
132 type="button" 134 type="button"
133 ng-click="seleccionarLocalidad(13)" 135 ng-click="seleccionarLocalidad(13)"
134 > 136 >
135 <i class="fa fa-search" aria-hidden="true"></i> 137 <i class="fa fa-search" aria-hidden="true"></i>
136 </button> 138 </button>
137 </div> 139 </div>
138 </div> 140 </div>
139 </div> 141 </div>
140 </div> 142 </div>
141 <div class="form-group d-flex mb-2 col-md-6"> 143 <div class="form-group d-flex mb-2 col-md-6">
142 <label class="col-form-label col-md-4">Teléfono</label> 144 <label class="col-form-label col-md-4">Teléfono</label>
143 <div class="input-group col-md-8 pl-0"> 145 <div class="input-group col-md-8 pl-0">
144 <input 146 <input
145 class="form-control form-control-sm" 147 class="form-control form-control-sm"
146 foca-tipo-input 148 foca-tipo-input
147 teclado-virtual 149 teclado-virtual
148 solo-positivos 150 solo-positivos
149 limite-numeros-max="15" 151 limite-numeros-max="10"
152 maxlength="10"
153 minlength="7"
150 ng-model="vendedorCobrador.telefono" 154 ng-model="vendedorCobrador.telefono"
151 ng-required="true" 155 ng-required="true"
152 foca-focus="focused == 6" 156 foca-focus="focused == 6"
153 ng-focus="focused = 6" 157 ng-focus="focused = 6"
154 ng-keypress="next($event.keyCode)" 158 ng-keypress="next($event.keyCode)"
155 autocomplete="off" 159 autocomplete="off"
156 string-to-number 160 string-to-number
157 /> 161 />
158 </div> 162 </div>
159 </div> 163 </div>
160 <div class="form-group d-flex mb-2 col-md-6"> 164 <div class="form-group d-flex mb-2 col-md-6">
161 <label class="col-form-label col-md-4">DNI</label> 165 <label class="col-form-label col-md-4">DNI</label>
162 <div class="input-group col-md-8 pl-0"> 166 <div class="input-group col-md-8 pl-0">
163 <input 167 <input
164 class="form-control form-control-sm" 168 class="form-control form-control-sm"
165 foca-tipo-input 169 foca-tipo-input
166 teclado-virtual 170 teclado-virtual
167 solo-positivos 171 solo-positivos
168 limite-numeros-max="15" 172 limite-numeros-max="12"
173 maxlength="12"
174 minlength="7"
169 ng-model="vendedorCobrador.dni" 175 ng-model="vendedorCobrador.dni"
170 ng-required="true" 176 ng-required="true"
171 foca-focus="focused == 7" 177 foca-focus="focused == 7"
172 ng-focus="focused = 7" 178 ng-focus="focused = 7"
173 ng-keypress="next($event.keyCode)" 179 ng-keypress="next($event.keyCode)"
174 autocomplete="off" 180 autocomplete="off"
175 /> 181 />
176 </div> 182 </div>
177 </div> 183 </div>
178 <div class="form-group d-flex mb-2 col-md-6" 184 <div class="form-group d-flex mb-2 col-md-6"
179 ng-show="vendedorCobrador.rol == 1 || vendedorCobrador.rol == 3"> 185 ng-show="vendedorCobrador.rol == 1 || vendedorCobrador.rol == 3">
180 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">vendedor</span></label> 186 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">vendedor</span></label>
181 <div class="input-group col-md-8 pl-0"> 187 <div class="input-group col-md-8 pl-0">
182 <input 188 <input
183 class="form-control form-control-sm" 189 class="form-control form-control-sm"
184 foca-tipo-input 190 foca-tipo-input
185 teclado-virtual 191 teclado-virtual
186 ng-model="vendedorCobrador.comisionVendedor" 192 ng-model="vendedorCobrador.comisionVendedor"
187 ng-required="true" 193 ng-required="true"
194 max="100"
195 maxlength="3"
188 foca-focus="focused == 10" 196 foca-focus="focused == 10"
189 ng-focus="focused = 10" 197 ng-focus="focused = 10"
190 ng-keypress="next($event.keyCode)" 198 ng-keypress="next($event.keyCode)"
191 autocomplete="off" 199 autocomplete="off"
192 string-to-number 200 string-to-number
193 solo-positivos 201 solo-positivos
194 /> 202 />
195 </div> 203 </div>
196 </div> 204 </div>
197 <div class="form-group d-flex mb-2 col-md-6" 205 <div class="form-group d-flex mb-2 col-md-6"
198 ng-show="vendedorCobrador.rol == 2 || vendedorCobrador.rol == 3"> 206 ng-show="vendedorCobrador.rol == 2 || vendedorCobrador.rol == 3">
199 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">cobrador</span></label> 207 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">cobrador</span></label>
200 <div class="input-group col-md-8 pl-0"> 208 <div class="input-group col-md-8 pl-0">
201 <input 209 <input
202 class="form-control form-control-sm" 210 class="form-control form-control-sm"
203 foca-tipo-input 211 foca-tipo-input
204 teclado-virtual 212 teclado-virtual
205 ng-model="vendedorCobrador.comisionCobrador" 213 ng-model="vendedorCobrador.comisionCobrador"
214 max="100"
215 maxlength="3"
206 ng-required="true" 216 ng-required="true"
207 foca-focus="focused == 10" 217 foca-focus="focused == 10"
208 ng-focus="focused = 10" 218 ng-focus="focused = 10"
209 ng-keypress="next($event.keyCode)" 219 ng-keypress="next($event.keyCode)"
210 autocomplete="off" 220 autocomplete="off"
211 string-to-number 221 string-to-number
212 solo-positivos 222 solo-positivos
213 /> 223 />
214 </div> 224 </div>
215 </div> 225 </div>
216 <div class="ml-auto w-50"> 226 <div class="ml-auto w-50">
217 <button 227 <button
218 class="btn btn-primary float-right mr-3" 228 class="btn btn-primary float-right mr-3"
219 type="button" 229 type="button"
220 ng-click="cambiarPassword()" 230 ng-click="cambiarPassword()"
221 ng-show="edicion" 231 ng-show="edicion"
222 >Cambiar contraseña</button> 232 >Cambiar contraseña</button>
223 </div> 233 </div>
224 </div> 234 </div>
225 </form> 235 </form>
226 </div> 236 </div>
227 </div> 237 </div>
228 238