Commit a71f89fd7d1b1ba5b916724c05eb7e1082caf547

Authored by Luis Suarez
1 parent dba11d2077
Exists in develop

validar crear vendedor/cobrador

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