Commit 88f6b8dd8a59e459466423a67375d88be172358d

Authored by Eric Fernandez
Exists in master and in 2 other branches develop, lab

Merge branch 'develop' into 'master'

Develop

See merge request !33
1 { 1 {
2 "name": "foca-abm-vendedor-cobrador", 2 "name": "foca-abm-vendedor-cobrador",
3 "version": "0.0.1", 3 "version": "0.0.1",
4 "description": "Abm de Vendedores/Compradores", 4 "description": "Abm de Vendedores/Compradores",
5 "main": "index.html", 5 "main": "index.html",
6 "scripts": { 6 "scripts": {
7 "test": "test.html", 7 "test": "test.html",
8 "compile": "gulp uglify", 8 "compile": "gulp uglify",
9 "gulp-pre-commit": "gulp pre-commit", 9 "gulp-pre-commit": "gulp pre-commit",
10 "postinstall": "npm run compile && gulp clean-post-install", 10 "postinstall": "npm run compile && gulp clean-post-install",
11 "install-dev": "npm i --ignore-scripts" 11 "install-dev": "npm i --ignore-scripts"
12 }, 12 },
13 "pre-commit": [ 13 "pre-commit": [
14 "gulp-pre-commit" 14 "gulp-pre-commit"
15 ], 15 ],
16 "repository": { 16 "repository": {
17 "type": "git", 17 "type": "git",
18 "url": "http://git.focasoftware.com/npm/foca-abm-vendedor-cobrador.git" 18 "url": "http://git.focasoftware.com/npm/foca-abm-vendedor-cobrador.git"
19 }, 19 },
20 "author": "Foca Software", 20 "author": "Foca Software",
21 "license": "ISC", 21 "license": "ISC",
22 "peerDependencies": { 22 "peerDependencies": {
23 "angular": "^1.7.x", 23 "angular": "^1.7.x",
24 "angular-route": "^1.7.x", 24 "angular-route": "^1.7.x",
25 "bootstrap": "^4.1.x", 25 "bootstrap": "^4.1.x",
26 "jquery": "^3.3.x", 26 "jquery": "^3.3.x",
27 "font-awesome": "^4.7.x", 27 "font-awesome": "^4.7.x",
28 "gulp": "^3.9.x", 28 "gulp": "^3.9.x",
29 "gulp-concat": "2.6.x", 29 "gulp-concat": "2.6.x",
30 "gulp-jshint": "^2.1.x", 30 "gulp-jshint": "^2.1.x",
31 "gulp-rename": "^1.4.x", 31 "gulp-rename": "^1.4.x",
32 "gulp-replace": "^1.0.x", 32 "gulp-replace": "^1.0.x",
33 "gulp-uglify-es": "^1.0.x", 33 "gulp-uglify-es": "^1.0.x",
34 "jshint": "^2.9.x", 34 "jshint": "^2.9.x",
35 "pump": "^3.0.x" 35 "pump": "^3.0.x"
36 }, 36 },
37 "devDependencies": { 37 "devDependencies": {
38 "angular": "^1.7.5", 38 "angular": "^1.7.8",
39 "angular-mocks": "^1.7.7", 39 "angular-mocks": "^1.7.8",
40 "angular-route": "^1.7.5", 40 "angular-route": "^1.7.8",
41 "bootstrap": "^4.1.3", 41 "bootstrap": "^4.1.3",
42 "foca-modal": "git+http://git.focasoftware.com/npm/foca-modal.git", 42 "foca-modal": "git+http://git.focasoftware.com/npm/foca-modal.git",
43 "font-awesome": "^4.7.0", 43 "font-awesome": "^4.7.0",
44 "gulp": "^3.9.1", 44 "gulp": "^3.9.1",
45 "gulp-angular-templatecache": "^2.2.5", 45 "gulp-angular-templatecache": "^2.2.7",
46 "gulp-clean": "^0.4.0", 46 "gulp-clean": "^0.4.0",
47 "gulp-connect": "^5.6.1", 47 "gulp-connect": "^5.6.1",
48 "gulp-htmlmin": "^5.0.1", 48 "gulp-htmlmin": "^5.0.1",
49 "gulp-jshint": "^2.1.0", 49 "gulp-jshint": "^2.1.0",
50 "gulp-rename": "^1.4.0", 50 "gulp-rename": "^1.4.0",
51 "gulp-replace": "^1.0.0", 51 "gulp-replace": "^1.0.0",
52 "gulp-uglify": "^3.0.1", 52 "gulp-uglify": "^3.0.1",
53 "gulp-uglify-es": "^1.0.4", 53 "gulp-uglify-es": "^1.0.4",
54 "jasmine-core": "^3.3.0", 54 "jasmine-core": "^3.4.0",
55 "jquery": "^3.3.1", 55 "jquery": "^3.4.1",
56 "jshint": "^2.9.6", 56 "jshint": "^2.10.2",
57 "pre-commit": "^1.2.2", 57 "pre-commit": "^1.2.2",
58 "pump": "^3.0.0", 58 "pump": "^3.0.0",
59 "ui-bootstrap4": "^3.0.5" 59 "ui-bootstrap4": "^3.0.5"
60 } 60 }
61 } 61 }
62 62
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 .getCodigoSiguiente() 52 .getCodigoSiguiente()
53 .then(function(res) { 53 .then(function(res) {
54 $scope.vendedorCobrador.NUM = res.data.mayor; 54 $scope.vendedorCobrador.NUM = res.data.mayor;
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);
68 var vendedorComision = parseFloat($scope.vendedorCobrador.comisionVendedor);
67 69
68 if (!$scope.vendedorCobrador.NOM) { 70 if (!$scope.vendedorCobrador.NOM) {
69 focaModalService.alert('Ingrese nombre'); 71 focaModalService.alert('Ingrese nombre');
70 return; 72 return;
71 } else if (!$scope.vendedorCobrador.domicilio) { 73 } else if (!$scope.vendedorCobrador.domicilio) {
72 focaModalService.alert('Ingrese domicilio'); 74 focaModalService.alert('Ingrese domicilio');
73 return; 75 return;
74 } else if (!$scope.vendedorCobrador.codigoPostal) { 76 } else if (!$scope.vendedorCobrador.codigoPostal) {
75 focaModalService.alert('Ingrese código postal'); 77 focaModalService.alert('Ingrese código postal');
76 return; 78 return;
77 } else if (!$scope.vendedorCobrador.dni) { 79 } else if (!$scope.vendedorCobrador.dni) {
78 focaModalService.alert('Ingrese dni'); 80 focaModalService.alert('Ingrese dni');
79 return; 81 return;
80 } else if (!$scope.vendedorCobrador.rol) { 82 } else if (!$scope.vendedorCobrador.rol) {
81 focaModalService.alert('Seleccione tipo'); 83 focaModalService.alert('Seleccione tipo');
82 return; 84 return;
83 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) { 85 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) {
84 focaModalService.alert('Seleccione una provincia'); 86 focaModalService.alert('Seleccione una provincia');
85 return; 87 return;
86 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) { 88 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) {
87 focaModalService.alert('Seleccione una localidad'); 89 focaModalService.alert('Seleccione una localidad');
88 return; 90 return;
89 } else if (!parseFloat($scope.vendedorCobrador.comisionCobrador) && 91 } else if (($scope.vendedorCobrador.rol === 2 && isNaN(cobradorComision)) ||
90 ($scope.vendedorCobrador.rol === 2 || $scope.vendedorCobrador.rol === 3)) { 92 (($scope.vendedorCobrador.rol === 3) && isNaN(cobradorComision))) {
91 focaModalService.alert('Ingrese una comision cobrador válida'); 93 focaModalService.alert('Ingrese una comision cobrador válida');
92 return; 94 return;
93 } else if (!parseFloat($scope.vendedorCobrador.comisionVendedor) && 95 } else if (($scope.vendedorCobrador.rol === 1 && isNaN(vendedorComision)) ||
94 ($scope.vendedorCobrador.rol === 1 || $scope.vendedorCobrador.rol === 3)) { 96 ($scope.vendedorCobrador.rol === 3 && isNaN(vendedorComision))) {
95 focaModalService.alert('Ingrese una comision vendedor válida'); 97 focaModalService.alert('Ingrese una comision vendedor válida');
96 return; 98 return;
97 } 99 }
98 100
99 if ($scope.guardado) { 101 if ($scope.guardado) {
100 $scope.cambiarPassword(); 102 $scope.cambiarPassword();
101 } else { 103 } else {
102 104
103 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 105 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
104 106
105 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID; 107 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID;
106 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID; 108 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID;
107 109
108 delete vendedorCobrador.provincia; 110 delete vendedorCobrador.provincia;
109 delete vendedorCobrador.localidad; 111 delete vendedorCobrador.localidad;
110 if (vendedorCobrador.rol === 1) { 112 if (vendedorCobrador.rol === 1) {
111 delete vendedorCobrador.comisionCobrador; 113 delete vendedorCobrador.comisionCobrador;
112 } else if (vendedorCobrador.rol === 2) { 114 } else if (vendedorCobrador.rol === 2) {
113 delete vendedorCobrador.comisionVendedor; 115 delete vendedorCobrador.comisionVendedor;
114 } 116 }
115 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; 117 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar';
116 118
117 focaAbmVendedorCobradorService 119 focaAbmVendedorCobradorService
118 .guardarVendedorCobrador(vendedorCobrador) 120 .guardarVendedorCobrador(vendedorCobrador)
119 .then(function(res) { 121 .then(function(res) {
120 if ($scope.edicion) { 122 if ($scope.edicion) {
121 $location.path('/vendedor-cobrador'); 123 $location.path('/vendedor-cobrador');
122 } else { 124 } else {
123 $scope.vendedorCobrador = res.data; 125 $scope.vendedorCobrador = res.data;
124 $scope.cambiarPassword(); 126 $scope.cambiarPassword();
125 $scope.guardado = true; 127 $scope.guardado = true;
126 } 128 }
127 }) 129 })
128 .catch(function(err) { 130 .catch(function(err) {
129 if (err.status === 409) { 131 if (err.status === 409) {
130 focaModalService.alert(err.data); 132 focaModalService.alert(err.data);
131 } 133 }
132 }); 134 });
133 } 135 }
134 }; 136 };
135 137
136 $scope.seleccionarProvincia = function(key) { 138 $scope.seleccionarProvincia = function(key) {
137 if (key === 13) { 139 if (key === 13) {
138 var parametrosModal = { 140 var parametrosModal = {
139 searchText: $scope.vendedorCobrador.provincia.NOMBRE, 141 searchText: $scope.vendedorCobrador.provincia.NOMBRE,
140 query: '/provincia', 142 query: '/provincia',
141 columnas: [ 143 columnas: [
142 { 144 {
143 propiedad: 'ID', 145 propiedad: 'ID',
144 nombre: 'Codigo', 146 nombre: 'Codigo',
145 filtro: { 147 filtro: {
146 nombre: 'rellenarDigitos', 148 nombre: 'rellenarDigitos',
147 parametro: 3 149 parametro: 3
148 } 150 }
149 }, 151 },
150 { 152 {
151 propiedad: 'NOMBRE', 153 propiedad: 'NOMBRE',
152 nombre: 'Nombre' 154 nombre: 'Nombre'
153 } 155 }
154 ], 156 ],
155 titulo: 'Búsqueda de provincias', 157 titulo: 'Búsqueda de provincias',
156 size: 'md' 158 size: 'md'
157 }; 159 };
158 focaModalService.modal(parametrosModal).then(function(provincia) { 160 focaModalService.modal(parametrosModal).then(function(provincia) {
159 $scope.vendedorCobrador.provincia = provincia; 161 $scope.vendedorCobrador.provincia = provincia;
160 $timeout(function() { 162 $timeout(function() {
161 $scope.focused = 5; 163 $scope.focused = 5;
162 }); 164 });
163 }, function() { 165 }, function() {
164 //TODO: función llamada cuando cancela el modal 166 //TODO: función llamada cuando cancela el modal
165 }); 167 });
166 } 168 }
167 }; 169 };
168 170
169 $scope.seleccionarLocalidad = function(key) { 171 $scope.seleccionarLocalidad = function(key) {
170 if (!$scope.vendedorCobrador.provincia.ID) { 172 if (!$scope.vendedorCobrador.provincia.ID) {
171 focaModalService.alert('Seleccione una provincia'); 173 focaModalService.alert('Seleccione una provincia');
172 return; 174 return;
173 } 175 }
174 if (key === 13) { 176 if (key === 13) {
175 var parametrosModal = { 177 var parametrosModal = {
176 searchText: $scope.vendedorCobrador.localidad.NOMBRE, 178 searchText: $scope.vendedorCobrador.localidad.NOMBRE,
177 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, 179 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID,
178 columnas: [ 180 columnas: [
179 { 181 {
180 propiedad: 'ID', 182 propiedad: 'ID',
181 nombre: 'Código', 183 nombre: 'Código',
182 filtro: { 184 filtro: {
183 nombre: 'rellenarDigitos', 185 nombre: 'rellenarDigitos',
184 parametro: 3 186 parametro: 3
185 } 187 }
186 }, 188 },
187 { 189 {
188 propiedad: 'NOMBRE', 190 propiedad: 'NOMBRE',
189 nombre: 'Nombre' 191 nombre: 'Nombre'
190 } 192 }
191 ], 193 ],
192 titulo: 'Búsqueda de localidades', 194 titulo: 'Búsqueda de localidades',
193 size: 'md' 195 size: 'md'
194 }; 196 };
195 focaModalService.modal(parametrosModal).then(function(localidad) { 197 focaModalService.modal(parametrosModal).then(function(localidad) {
196 $scope.vendedorCobrador.localidad = localidad; 198 $scope.vendedorCobrador.localidad = localidad;
197 $timeout(function() { 199 $timeout(function() {
198 $scope.focused = 6; 200 $scope.focused = 6;
199 }); 201 });
200 }, function() { 202 }, function() {
201 //TODO: función llamada cuando cancela el modal 203 //TODO: función llamada cuando cancela el modal
202 }); 204 });
203 } 205 }
204 }; 206 };
205 207
206 $scope.$watch('vendedorCobrador', function(newValue) { 208 $scope.$watch('vendedorCobrador', function(newValue) {
207 focaBotoneraLateralService.setPausarData({ 209 focaBotoneraLateralService.setPausarData({
208 label:'vendedorCobrador', 210 label:'vendedorCobrador',
209 val: newValue 211 val: newValue
210 }); 212 });
211 }, true); 213 }, true);
212 214
213 function getLSVendedor() { 215 function getLSVendedor() {
214 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null); 216 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null);
215 if (vendedorCobrador) { 217 if (vendedorCobrador) {
216 setearVendedor(vendedorCobrador); 218 setearVendedor(vendedorCobrador);
217 delete $localStorage.vendedorCobrador; 219 delete $localStorage.vendedorCobrador;
218 } 220 }
219 } 221 }
220 222
221 function setearVendedor(vendedorCobrador) { 223 function setearVendedor(vendedorCobrador) {
222 $scope.vendedorCobrador = vendedorCobrador; 224 $scope.vendedorCobrador = vendedorCobrador;
223 $scope.$broadcast('addCabecera', { 225 $scope.$broadcast('addCabecera', {
224 label: 'Vendedor / Cobrador:', 226 label: 'Vendedor / Cobrador:',
225 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + 227 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) +
226 ' - ' + vendedorCobrador.NOM 228 ' - ' + vendedorCobrador.NOM
227 }); 229 });
228 } 230 }
229 231
230 $scope.cancelar = function() { 232 $scope.cancelar = function() {
231 if (!$scope.formVendedorCobrador.$pristine) { 233 if (!$scope.formVendedorCobrador.$pristine) {
232 234
233 focaModalService.confirm('¿Está seguro de que desea salir? ' + 235 focaModalService.confirm('¿Está seguro de que desea salir? ' +
234 'Se perderán todos los datos cargados.') 236 'Se perderán todos los datos cargados.')
235 .then(function(confirmed) { 237 .then(function(confirmed) {
236 if (confirmed && $scope.guardado && !$scope.edicion) { 238 if (confirmed && $scope.guardado && !$scope.edicion) {
237 239
238 focaAbmVendedorCobradorService 240 focaAbmVendedorCobradorService
239 .destroyVendedorCobrador($scope.vendedorCobrador.id) 241 .destroyVendedorCobrador($scope.vendedorCobrador.id)
240 .then(function() { 242 .then(function() {
241 $location.path('/vendedor-cobrador'); 243 $location.path('/vendedor-cobrador');
242 }); 244 });
243 245
244 } else if (confirmed) { 246 } else if (confirmed) {
245 $location.path('/vendedor-cobrador'); 247 $location.path('/vendedor-cobrador');
246 } 248 }
247 }); 249 });
248 250
249 } else { 251 } else {
250 $location.path('/vendedor-cobrador'); 252 $location.path('/vendedor-cobrador');
251 } 253 }
252 }; 254 };
253 255
254 $scope.next = function(key) { 256 $scope.next = function(key) {
255 if (key === 13) $scope.focused++; 257 if (key === 13) $scope.focused++;
256 }; 258 };
257 259
258 $scope.cambiarPassword = function() { 260 $scope.cambiarPassword = function() {
259 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 261 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
260 vendedorCobrador.nombre = vendedorCobrador.NOM; 262 vendedorCobrador.nombre = vendedorCobrador.NOM;
261 vendedorCobrador.codigo = vendedorCobrador.NUM; 263 vendedorCobrador.codigo = vendedorCobrador.NUM;
262 264
263 var parametros = { 265 var parametros = {
264 cuenta: vendedorCobrador, 266 cuenta: vendedorCobrador,
265 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores' 267 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores'
266 }; 268 };
267 269
268 var modalInstance = $uibModal.open( 270 var modalInstance = $uibModal.open(
269 { 271 {
270 ariaLabelledBy: 'Configuracion de Logueo', 272 ariaLabelledBy: 'Configuracion de Logueo',
271 templateUrl: 'modal-login.html', 273 templateUrl: 'modal-login.html',
272 controller: 'focaModalLoginController', 274 controller: 'focaModalLoginController',
273 size: 'md', 275 size: 'md',
274 resolve: { 276 resolve: {
275 parametros: function() { 277 parametros: function() {
276 return parametros; 278 return parametros;
277 } 279 }
278 } 280 }
279 } 281 }
280 ); 282 );
281 283
282 modalInstance.result.then(function() { 284 modalInstance.result.then(function() {
283 if (!$scope.edicion) $location.path('/vendedor-cobrador'); 285 if (!$scope.edicion) $location.path('/vendedor-cobrador');
284 }); 286 });
285 287
286 }; 288 };
287 } 289 }
288 ]); 290 ]);
289 291
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 ng-disabled="edicion"/> 19 ng-disabled="edicion"/>
19 </div> 20 </div>
20 </div> 21 </div>
21 <div class="form-group d-flex mb-2 col-md-6"> 22 <div class="form-group d-flex mb-2 col-md-6">
22 <label class="col-form-label col-md-4">Tipo</label> 23 <label class="col-form-label col-md-4">Tipo</label>
23 <div class="col-md-8 pl-0"> 24 <div class="col-md-8 pl-0">
24 <select 25 <select
25 class="form-control form-control-sm" 26 class="form-control form-control-sm"
26 ng-model="vendedorCobrador.rol" 27 ng-model="vendedorCobrador.rol"
27 ng-options="option.value as option.label for option in options" 28 ng-options="option.value as option.label for option in options"
28 foca-focus="focused == 0" 29 foca-focus="focused == 0"
29 ng-focus="focused = 0"> 30 ng-focus="focused = 0">
30 </select> 31 </select>
31 </div> 32 </div>
32 </div> 33 </div>
33 <div class="form-group d-flex mb-2 col-md-6"> 34 <div class="form-group d-flex mb-2 col-md-6">
34 <label class="col-form-label col-md-4">Nombre</label> 35 <label class="col-form-label col-md-4">Nombre</label>
35 <div class="input-group col-md-8 pl-0"> 36 <div class="input-group col-md-8 pl-0">
36 <input 37 <input
37 class="form-control form-control-sm" 38 class="form-control form-control-sm"
38 type="text" 39 type="text"
39 teclado-virtual 40 teclado-virtual
40 ng-model="vendedorCobrador.NOM" 41 ng-model="vendedorCobrador.NOM"
41 foca-focus="focused == 1" 42 foca-focus="focused == 1"
42 ng-focus="focused = 1" 43 ng-focus="focused = 1"
43 ng-keypress="next($event.keyCode)" 44 ng-keypress="next($event.keyCode)"
44 autocomplete="off" 45 autocomplete="off"
45 uppercase-only 46 uppercase-only
46 47
47 /> 48 />
48 </div> 49 </div>
49 </div> 50 </div>
50 <div class="form-group d-flex mb-2 col-md-6"> 51 <div class="form-group d-flex mb-2 col-md-6">
51 <label class="col-form-label col-md-4">Domicilio</label> 52 <label class="col-form-label col-md-4">Domicilio</label>
52 <div class="input-group col-md-8 pl-0"> 53 <div class="input-group col-md-8 pl-0">
53 <input 54 <input
54 class="form-control form-control-sm" 55 class="form-control form-control-sm"
55 type="text" 56 type="text"
56 teclado-virtual 57 teclado-virtual
57 ng-model="vendedorCobrador.domicilio" 58 ng-model="vendedorCobrador.domicilio"
58 ng-required="true" 59 ng-required="true"
59 foca-focus="focused == 2" 60 foca-focus="focused == 2"
60 ng-focus="focused = 2" 61 ng-focus="focused = 2"
61 ng-keypress="next($event.keyCode)" 62 ng-keypress="next($event.keyCode)"
62 autocomplete="off" 63 autocomplete="off"
63 uppercase-only 64 uppercase-only
64 /> 65 />
65 </div> 66 </div>
66 </div> 67 </div>
67 <div class="form-group d-flex mb-2 col-md-6"> 68 <div class="form-group d-flex mb-2 col-md-6">
68 <label class="col-form-label col-md-4">Código postal</label> 69 <label class="col-form-label col-md-4">Código postal</label>
69 <div class="input-group col-md-8 pl-0"> 70 <div class="input-group col-md-8 pl-0">
70 <input 71 <input
71 class="form-control form-control-sm" 72 class="form-control form-control-sm"
72 foca-tipo-input 73 foca-tipo-input
73 teclado-virtual 74 teclado-virtual
75 solo-positivos
74 ng-model="vendedorCobrador.codigoPostal" 76 ng-model="vendedorCobrador.codigoPostal"
75 ng-required="true" 77 ng-required="true"
76 foca-focus="focused == 3" 78 foca-focus="focused == 3"
77 ng-focus="focused = 3" 79 ng-focus="focused = 3"
78 ng-keypress="next($event.keyCode)" 80 ng-keypress="next($event.keyCode)"
79 autocomplete="off" 81 autocomplete="off"
80 string-to-number 82 string-to-number
81 /> 83 />
82 </div> 84 </div>
83 </div> 85 </div>
84 <div class="form-group d-flex mb-2 col-md-6"> 86 <div class="form-group d-flex mb-2 col-md-6">
85 <label class="col-form-label col-md-4">Provincia</label> 87 <label class="col-form-label col-md-4">Provincia</label>
86 <div class="input-group col-md-8 pl-0"> 88 <div class="input-group col-md-8 pl-0">
87 <input 89 <input
88 type="text" 90 type="text"
89 class="form-control form-control-sm" 91 class="form-control form-control-sm"
90 ng-model="vendedorCobrador.provincia.NOMBRE" 92 ng-model="vendedorCobrador.provincia.NOMBRE"
91 ng-keypress="seleccionarProvincia($event.keyCode)" 93 ng-keypress="seleccionarProvincia($event.keyCode)"
92 ng-required="true" 94 ng-required="true"
93 foca-focus="focused == 4" 95 foca-focus="focused == 4"
94 ng-focus="focused = 4" 96 ng-focus="focused = 4"
95 teclado-virtual 97 teclado-virtual
96 /> 98 />
97 <div class="input-group-append"> 99 <div class="input-group-append">
98 <button 100 <button
99 ladda="searchLoading" 101 ladda="searchLoading"
100 class="btn btn-outline-secondary form-control-sm" 102 class="btn btn-outline-secondary form-control-sm"
101 type="button" 103 type="button"
102 ng-click="seleccionarProvincia(13)" 104 ng-click="seleccionarProvincia(13)"
103 > 105 >
104 <i class="fa fa-search" aria-hidden="true"></i> 106 <i class="fa fa-search" aria-hidden="true"></i>
105 </button> 107 </button>
106 </div> 108 </div>
107 </div> 109 </div>
108 </div> 110 </div>
109 <div class="form-group d-flex mb-2 col-md-6"> 111 <div class="form-group d-flex mb-2 col-md-6">
110 <label class="col-form-label col-md-4">Localidad</label> 112 <label class="col-form-label col-md-4">Localidad</label>
111 <div class="input-group col-md-8 pl-0"> 113 <div class="input-group col-md-8 pl-0">
112 <input 114 <input
113 type="text" 115 type="text"
114 class="form-control form-control-sm" 116 class="form-control form-control-sm"
115 ng-model="vendedorCobrador.localidad.NOMBRE" 117 ng-model="vendedorCobrador.localidad.NOMBRE"
116 ng-keypress="seleccionarLocalidad($event.keyCode)" 118 ng-keypress="seleccionarLocalidad($event.keyCode)"
117 ng-required="true" 119 ng-required="true"
118 foca-focus="focused == 5" 120 foca-focus="focused == 5"
119 ng-focus="focused = 5" 121 ng-focus="focused = 5"
120 teclado-virtual 122 teclado-virtual
121 autocomplete="off" 123 autocomplete="off"
122 /> 124 />
123 <div class="input-group-append"> 125 <div class="input-group-append">
124 <button 126 <button
125 ladda="searchLoading" 127 ladda="searchLoading"
126 class="btn btn-outline-secondary form-control-sm" 128 class="btn btn-outline-secondary form-control-sm"
127 type="button" 129 type="button"
128 ng-click="seleccionarLocalidad(13)" 130 ng-click="seleccionarLocalidad(13)"
129 > 131 >
130 <i class="fa fa-search" aria-hidden="true"></i> 132 <i class="fa fa-search" aria-hidden="true"></i>
131 </button> 133 </button>
132 </div> 134 </div>
133 </div> 135 </div>
134 </div> 136 </div>
135 <div class="form-group d-flex mb-2 col-md-6"> 137 <div class="form-group d-flex mb-2 col-md-6">
136 <label class="col-form-label col-md-4">Teléfono</label> 138 <label class="col-form-label col-md-4">Teléfono</label>
137 <div class="input-group col-md-8 pl-0"> 139 <div class="input-group col-md-8 pl-0">
138 <input 140 <input
139 class="form-control form-control-sm" 141 class="form-control form-control-sm"
140 foca-tipo-input 142 foca-tipo-input
141 teclado-virtual 143 teclado-virtual
144 solo-positivos
142 limite-numeros-max="15" 145 limite-numeros-max="15"
143 ng-model="vendedorCobrador.telefono" 146 ng-model="vendedorCobrador.telefono"
144 ng-required="true" 147 ng-required="true"
145 foca-focus="focused == 6" 148 foca-focus="focused == 6"
146 ng-focus="focused = 6" 149 ng-focus="focused = 6"
147 ng-keypress="next($event.keyCode)" 150 ng-keypress="next($event.keyCode)"
148 autocomplete="off" 151 autocomplete="off"
149 string-to-number 152 string-to-number
150 /> 153 />
151 </div> 154 </div>
152 </div> 155 </div>
153 <div class="form-group d-flex mb-2 col-md-6"> 156 <div class="form-group d-flex mb-2 col-md-6">
154 <label class="col-form-label col-md-4">DNI</label> 157 <label class="col-form-label col-md-4">DNI</label>
155 <div class="input-group col-md-8 pl-0"> 158 <div class="input-group col-md-8 pl-0">
156 <input 159 <input
157 class="form-control form-control-sm" 160 class="form-control form-control-sm"
158 foca-tipo-input 161 foca-tipo-input
159 teclado-virtual 162 teclado-virtual
163 solo-positivos
160 limite-numeros-max="15" 164 limite-numeros-max="15"
161 ng-model="vendedorCobrador.dni" 165 ng-model="vendedorCobrador.dni"
162 ng-required="true" 166 ng-required="true"
163 foca-focus="focused == 7" 167 foca-focus="focused == 7"
164 ng-focus="focused = 7" 168 ng-focus="focused = 7"
165 ng-keypress="next($event.keyCode)" 169 ng-keypress="next($event.keyCode)"
166 autocomplete="off" 170 autocomplete="off"
167 string-to-number
168 /> 171 />
169 </div> 172 </div>
170 </div> 173 </div>
171 <div class="form-group d-flex mb-2 col-md-6" 174 <div class="form-group d-flex mb-2 col-md-6"
172 ng-show="vendedorCobrador.rol == 1 || vendedorCobrador.rol == 3"> 175 ng-show="vendedorCobrador.rol == 1 || vendedorCobrador.rol == 3">
173 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">vendedor</span></label> 176 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">vendedor</span></label>
174 <div class="input-group col-md-8 pl-0"> 177 <div class="input-group col-md-8 pl-0">
175 <input 178 <input
176 class="form-control form-control-sm" 179 class="form-control form-control-sm"
177 foca-tipo-input 180 foca-tipo-input
178 teclado-virtual 181 teclado-virtual
179 ng-model="vendedorCobrador.comisionVendedor" 182 ng-model="vendedorCobrador.comisionVendedor"
180 ng-required="true" 183 ng-required="true"
181 foca-focus="focused == 10" 184 foca-focus="focused == 10"
182 ng-focus="focused = 10" 185 ng-focus="focused = 10"
183 ng-keypress="next($event.keyCode)" 186 ng-keypress="next($event.keyCode)"
184 autocomplete="off" 187 autocomplete="off"
185 string-to-number 188 string-to-number
186 solo-positivo 189 solo-positivos
187 /> 190 />
188 </div> 191 </div>
189 </div> 192 </div>
190 <div class="form-group d-flex mb-2 col-md-6" 193 <div class="form-group d-flex mb-2 col-md-6"
191 ng-show="vendedorCobrador.rol == 2 || vendedorCobrador.rol == 3"> 194 ng-show="vendedorCobrador.rol == 2 || vendedorCobrador.rol == 3">
192 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">cobrador</span></label> 195 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">cobrador</span></label>
193 <div class="input-group col-md-8 pl-0"> 196 <div class="input-group col-md-8 pl-0">
194 <input 197 <input
195 class="form-control form-control-sm" 198 class="form-control form-control-sm"
196 foca-tipo-input 199 foca-tipo-input
197 teclado-virtual 200 teclado-virtual
198 ng-model="vendedorCobrador.comisionCobrador" 201 ng-model="vendedorCobrador.comisionCobrador"
199 ng-required="true" 202 ng-required="true"
200 foca-focus="focused == 10" 203 foca-focus="focused == 10"
201 ng-focus="focused = 10" 204 ng-focus="focused = 10"
202 ng-keypress="next($event.keyCode)" 205 ng-keypress="next($event.keyCode)"
203 autocomplete="off" 206 autocomplete="off"
204 string-to-number 207 string-to-number
205 solo-positivo 208 solo-positivos
206 /> 209 />
207 </div> 210 </div>
208 </div> 211 </div>
209 <div class="ml-auto w-50"> 212 <div class="ml-auto w-50">
210 <button 213 <button
211 class="btn btn-primary float-right mr-3" 214 class="btn btn-primary float-right mr-3"
212 type="button" 215 type="button"
213 ng-click="cambiarPassword()" 216 ng-click="cambiarPassword()"
214 ng-show="edicion" 217 ng-show="edicion"
215 >Cambiar contraseña</button> 218 >Cambiar contraseña</button>
216 </div> 219 </div>
217 </div> 220 </div>
218 </form> 221 </form>
219 </div> 222 </div>
220 </div> 223 </div>