Commit 13fb8019301956a250d1362782f6299f4e994a20

Authored by Jose Pinto
1 parent db3b64aa1c
Exists in master

reemplazo alert por modal

1 const templateCache = require('gulp-angular-templatecache'); 1 const templateCache = require('gulp-angular-templatecache');
2 const concat = require('gulp-concat'); 2 const concat = require('gulp-concat');
3 const htmlmin = require('gulp-htmlmin'); 3 const htmlmin = require('gulp-htmlmin');
4 const rename = require('gulp-rename'); 4 const rename = require('gulp-rename');
5 const uglify = require('gulp-uglify-es').default; 5 const uglify = require('gulp-uglify-es').default;
6 const gulp = require('gulp'); 6 const gulp = require('gulp');
7 const pump = require('pump'); 7 const pump = require('pump');
8 const jshint = require('gulp-jshint'); 8 const jshint = require('gulp-jshint');
9 const replace = require('gulp-replace'); 9 const replace = require('gulp-replace');
10 const connect = require('gulp-connect'); 10 const connect = require('gulp-connect');
11 const clean = require('gulp-clean'); 11 const clean = require('gulp-clean');
12 12
13 var paths = { 13 var paths = {
14 srcJS: 'src/js/*.js', 14 srcJS: 'src/js/*.js',
15 srcViews: 'src/views/*.html', 15 srcViews: 'src/views/*.html',
16 tmp: 'tmp', 16 tmp: 'tmp',
17 dist: 'dist/' 17 dist: 'dist/'
18 }; 18 };
19 19
20 gulp.task('templates', function() { 20 gulp.task('templates', function() {
21 return pump( 21 return pump(
22 [ 22 [
23 gulp.src(paths.srcViews), 23 gulp.src(paths.srcViews),
24 replace('views/', ''), 24 replace('views/', ''),
25 htmlmin(), 25 htmlmin(),
26 templateCache('views.js', { 26 templateCache('views.js', {
27 module: 'focaAbmVendedorCobrador', 27 module: 'focaAbmVendedorCobrador',
28 root: '' 28 root: ''
29 }), 29 }),
30 gulp.dest(paths.tmp) 30 gulp.dest(paths.tmp)
31 ] 31 ]
32 ); 32 );
33 }); 33 });
34 34
35 gulp.task('uglify', ['templates'], function() { 35 gulp.task('uglify', ['templates'], function() {
36 return pump( 36 return pump(
37 [ 37 [
38 gulp.src([ 38 gulp.src([
39 paths.srcJS, 39 paths.srcJS,
40 'tmp/views.js' 40 'tmp/views.js'
41 ]), 41 ]),
42 concat('foca-abm-vendedor-cobrador.js'), 42 concat('foca-abm-vendedor-cobrador.js'),
43 replace("['ngRoute', 'focaModal', 'ui.bootstrap', 'focaBotoneraLateral']", '[]'), 43 replace("['ngRoute', 'focaModal', 'ui.bootstrap', 'focaBotoneraLateral', 'focaModal']", '[]'),
44 replace("src/views/", ''), 44 replace("src/views/", ''),
45 gulp.dest(paths.tmp), 45 gulp.dest(paths.tmp),
46 rename('foca-abm-vendedor-cobrador.min.js'), 46 rename('foca-abm-vendedor-cobrador.min.js'),
47 uglify(), 47 uglify(),
48 gulp.dest(paths.dist) 48 gulp.dest(paths.dist)
49 ] 49 ]
50 ); 50 );
51 }); 51 });
52 52
53 gulp.task('clean', function() { 53 gulp.task('clean', function() {
54 return gulp.src(['tmp', 'dist'], {read: false}) 54 return gulp.src(['tmp', 'dist'], {read: false})
55 .pipe(clean()); 55 .pipe(clean());
56 }); 56 });
57 57
58 gulp.task('pre-commit', function() { 58 gulp.task('pre-commit', function() {
59 pump( 59 pump(
60 [ 60 [
61 gulp.src(paths.srcJS), 61 gulp.src(paths.srcJS),
62 jshint('.jshintrc'), 62 jshint('.jshintrc'),
63 jshint.reporter('default'), 63 jshint.reporter('default'),
64 jshint.reporter('fail') 64 jshint.reporter('fail')
65 ] 65 ]
66 ); 66 );
67 67
68 gulp.start('uglify'); 68 gulp.start('uglify');
69 }); 69 });
70 70
71 gulp.task('clean-post-install', function() { 71 gulp.task('clean-post-install', function() {
72 return gulp.src(['src', 'tmp', '.jshintrc','readme.md', '.gitignore', 'gulpfile.js', 72 return gulp.src(['src', 'tmp', '.jshintrc','readme.md', '.gitignore', 'gulpfile.js',
73 'index.html'], {read: false}) 73 'index.html'], {read: false})
74 .pipe(clean()); 74 .pipe(clean());
75 }); 75 });
76 76
77 gulp.task('compile', ['templates', 'uglify']); 77 gulp.task('compile', ['templates', 'uglify']);
78 78
79 gulp.task('watch', function() { 79 gulp.task('watch', function() {
80 gulp.watch([paths.srcJS, paths.srcViews], ['uglify']); 80 gulp.watch([paths.srcJS, paths.srcViews], ['uglify']);
81 }); 81 });
82 82
83 gulp.task('webserver', function() { 83 gulp.task('webserver', function() {
84 pump [ 84 pump [
85 connect.server({port: 3000}) 85 connect.server({port: 3000})
86 ] 86 ]
87 }); 87 });
88 88
89 gulp.task('default', ['webserver']); 89 gulp.task('default', ['webserver']);
90 90
1 angular.module('focaAbmVendedorCobrador', [ 1 angular.module('focaAbmVendedorCobrador', [
2 'ngRoute', 2 'ngRoute',
3 'focaModal', 3 'focaModal',
4 'ui.bootstrap', 4 'ui.bootstrap',
5 'focaBotoneraLateral' 5 'focaBotoneraLateral',
6 'focaModal'
6 ]); 7 ]);
7 8
src/js/controller.js
1 angular.module('focaAbmVendedorCobrador') 1 angular.module('focaAbmVendedorCobrador')
2 .controller('focaAbmVendedoresCobradoresController', [ 2 .controller('focaAbmVendedoresCobradoresController', [
3 '$scope', 'focaAbmVendedorCobradorService', '$location', '$filter', 3 '$scope', 'focaAbmVendedorCobradorService', '$location', '$filter',
4 '$uibModal', 'focaBotoneraLateralService', 4 '$uibModal', 'focaBotoneraLateralService',
5 function($scope, focaAbmVendedorCobradorService, $location, $filter, 5 function($scope, focaAbmVendedorCobradorService, $location, $filter,
6 $uibModal, focaBotoneraLateralService) { 6 $uibModal, focaBotoneraLateralService) {
7 7
8 $scope.now = new Date(); 8 $scope.now = new Date();
9 $scope.vendedoresCobradores = []; 9 $scope.vendedoresCobradores = [];
10 $scope.filters = ''; 10 $scope.filters = '';
11 $scope.numPerPage = 10; 11 $scope.numPerPage = 10;
12 $scope.currentPageVendedoresCobradores = []; 12 $scope.currentPageVendedoresCobradores = [];
13 $scope.filteredVendedoresCobradores = []; 13 $scope.filteredVendedoresCobradores = [];
14 14
15 //SETEO BOTONERA LATERAL 15 //SETEO BOTONERA LATERAL
16 focaBotoneraLateralService.showSalir(true); 16 focaBotoneraLateralService.showSalir(true);
17 focaBotoneraLateralService.showPausar(false); 17 focaBotoneraLateralService.showPausar(false);
18 focaBotoneraLateralService.showCancelar(false); 18 focaBotoneraLateralService.showCancelar(false);
19 focaBotoneraLateralService.showGuardar(false); 19 focaBotoneraLateralService.showGuardar(false);
20 20
21 actualizarTabla(); 21 actualizarTabla();
22 22
23 $scope.editar = function(id) { 23 $scope.editar = function(id) {
24 $location.path('/vendedor-cobrador/' + id); 24 $location.path('/vendedor-cobrador/' + id);
25 }; 25 };
26 26
27 $scope.eliminar = function(id) { 27 $scope.eliminar = function(id) {
28 focaAbmVendedorCobradorService 28 focaAbmVendedorCobradorService
29 .eliminarVendedorCobrador(id) 29 .eliminarVendedorCobrador(id)
30 .then(function() { 30 .then(function() {
31 actualizarTabla(); 31 actualizarTabla();
32 }); 32 });
33 }; 33 };
34 34
35 $scope.selectPage = function(page) { 35 $scope.selectPage = function(page) {
36 var start = (page - 1) * $scope.numPerPage; 36 var start = (page - 1) * $scope.numPerPage;
37 var end = start + $scope.numPerPage; 37 var end = start + $scope.numPerPage;
38 $scope.paginas = []; 38 $scope.paginas = [];
39 $scope.paginas = calcularPages(page); 39 $scope.paginas = calcularPages(page);
40 $scope.currentPageVendedoresCobradores = 40 $scope.currentPageVendedoresCobradores =
41 $scope.filteredVendedoresCobradores.slice(start, end); 41 $scope.filteredVendedoresCobradores.slice(start, end);
42 $scope.currentPage = page; 42 $scope.currentPage = page;
43 }; 43 };
44 44
45 $scope.resetPage = function() { 45 $scope.resetPage = function() {
46 $scope.currentPage = 1; 46 $scope.currentPage = 1;
47 $scope.selectPage(1); 47 $scope.selectPage(1);
48 }; 48 };
49 49
50 $scope.search = function() { 50 $scope.search = function() {
51 $scope.filteredVendedoresCobradores = $filter('filter')( 51 $scope.filteredVendedoresCobradores = $filter('filter')(
52 $scope.vendedoresCobradores, {$: $scope.filters} 52 $scope.vendedoresCobradores, {$: $scope.filters}
53 ); 53 );
54 54
55 $scope.lastPage = Math.ceil( 55 $scope.lastPage = Math.ceil(
56 $scope.filteredVendedoresCobradores.length / $scope.numPerPage 56 $scope.filteredVendedoresCobradores.length / $scope.numPerPage
57 ); 57 );
58 58
59 $scope.resetPage(); 59 $scope.resetPage();
60 }; 60 };
61 61
62 function calcularPages(paginaActual) { 62 function calcularPages(paginaActual) {
63 var paginas = []; 63 var paginas = [];
64 paginas.push(paginaActual); 64 paginas.push(paginaActual);
65 65
66 if(paginaActual - 1 > 1) { 66 if(paginaActual - 1 > 1) {
67 67
68 paginas.unshift(paginaActual - 1); 68 paginas.unshift(paginaActual - 1);
69 if(paginaActual - 2 > 1) { 69 if(paginaActual - 2 > 1) {
70 paginas.unshift(paginaActual - 2); 70 paginas.unshift(paginaActual - 2);
71 } 71 }
72 } 72 }
73 73
74 if(paginaActual + 1 < $scope.lastPage) { 74 if(paginaActual + 1 < $scope.lastPage) {
75 paginas.push(paginaActual + 1); 75 paginas.push(paginaActual + 1);
76 if(paginaActual + 2 < $scope.lastPage) { 76 if(paginaActual + 2 < $scope.lastPage) {
77 paginas.push(paginaActual + 2); 77 paginas.push(paginaActual + 2);
78 } 78 }
79 } 79 }
80 80
81 if(paginaActual !== 1) { 81 if(paginaActual !== 1) {
82 paginas.unshift(1); 82 paginas.unshift(1);
83 } 83 }
84 84
85 if(paginaActual !== $scope.lastPage) { 85 if(paginaActual !== $scope.lastPage) {
86 paginas.push($scope.lastPage); 86 paginas.push($scope.lastPage);
87 } 87 }
88 88
89 return paginas; 89 return paginas;
90 } 90 }
91 91
92 function primera() { 92 function primera() {
93 $scope.selectedClientes = 0; 93 $scope.selectedClientes = 0;
94 } 94 }
95 95
96 function anterior() { 96 function anterior() {
97 if ($scope.selectedClientes === 0 && $scope.currentPage > 1) { 97 if ($scope.selectedClientes === 0 && $scope.currentPage > 1) {
98 retrocederPagina(); 98 retrocederPagina();
99 } else { 99 } else {
100 $scope.selectedClientes--; 100 $scope.selectedClientes--;
101 } 101 }
102 } 102 }
103 103
104 function siguiente() { 104 function siguiente() {
105 if ($scope.selectedClientes < $scope.currentPageVendedoresCobradores.length - 1 ) { 105 if ($scope.selectedClientes < $scope.currentPageVendedoresCobradores.length - 1 ) {
106 $scope.selectedClientes++; 106 $scope.selectedClientes++;
107 } else { 107 } else {
108 avanzarPagina(); 108 avanzarPagina();
109 } 109 }
110 } 110 }
111 111
112 function retrocederPagina() { 112 function retrocederPagina() {
113 if ($scope.currentPage > 1) { 113 if ($scope.currentPage > 1) {
114 $scope.selectPage($scope.currentPage - 1); 114 $scope.selectPage($scope.currentPage - 1);
115 $scope.selectedClientes = $scope.numPerPage - 1; 115 $scope.selectedClientes = $scope.numPerPage - 1;
116 } 116 }
117 } 117 }
118 118
119 function avanzarPagina() { 119 function avanzarPagina() {
120 if ($scope.currentPage < $scope.lastPage) { 120 if ($scope.currentPage < $scope.lastPage) {
121 $scope.selectPage($scope.currentPage + 1); 121 $scope.selectPage($scope.currentPage + 1);
122 $scope.selectedClientes = 0; 122 $scope.selectedClientes = 0;
123 } 123 }
124 } 124 }
125 125
126 function actualizarTabla() { 126 function actualizarTabla() {
127 focaAbmVendedorCobradorService.getVendedoresCobradores().then(function(res) { 127 focaAbmVendedorCobradorService.getVendedoresCobradores().then(function(res) {
128 $scope.vendedoresCobradores = res.data; 128 $scope.vendedoresCobradores = res.data;
129 $scope.search(); 129 $scope.search();
130 }); 130 });
131 } 131 }
132 } 132 }
133 ]) 133 ])
134 .controller('focaAbmVendedorCobradorController', [ 134 .controller('focaAbmVendedorCobradorController', [
135 '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService', 135 '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService',
136 '$timeout', '$uibModal', '$location', 'focaModalService', 136 '$timeout', '$uibModal', '$location', 'focaModalService',
137 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, 137 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService,
138 $timeout, $uibModal, $location, focaModalService) { 138 $timeout, $uibModal, $location, focaModalService) {
139 139
140 $scope.now = new Date(); 140 $scope.now = new Date();
141 $scope.focused = 0; 141 $scope.focused = 0;
142 $scope.vendedorCobrador = { 142 $scope.vendedorCobrador = {
143 CodVen: 0, 143 CodVen: 0,
144 ES_COBRADOR: false, 144 ES_COBRADOR: false,
145 DNI: ' ', 145 DNI: ' ',
146 ClaVen: '', 146 ClaVen: '',
147 ComVen: '0.00', 147 ComVen: '0.00',
148 provincia: { 148 provincia: {
149 NOMBRE: '' 149 NOMBRE: ''
150 }, 150 },
151 localidad: { 151 localidad: {
152 NOMBRE: ' ' 152 NOMBRE: ' '
153 } 153 }
154 }; 154 };
155 $scope.options = [ 155 $scope.options = [
156 { 156 {
157 label: 'Vendedor', 157 label: 'Vendedor',
158 value: null 158 value: null
159 }, 159 },
160 { 160 {
161 label: 'Cobrador', 161 label: 'Cobrador',
162 value: true 162 value: true
163 } 163 }
164 ]; 164 ];
165 //SETEO BOTONERA LATERAL 165 //SETEO BOTONERA LATERAL
166 $timeout(function() { 166 $timeout(function() {
167 focaBotoneraLateralService.showSalir(false); 167 focaBotoneraLateralService.showSalir(false);
168 focaBotoneraLateralService.showPausar(true); 168 focaBotoneraLateralService.showPausar(true);
169 focaBotoneraLateralService.showCancelar(false); 169 focaBotoneraLateralService.showCancelar(false);
170 focaBotoneraLateralService.showGuardar(true, $scope.guardar); 170 focaBotoneraLateralService.showGuardar(true, $scope.guardar);
171 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); 171 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar);
172 }); 172 });
173 173
174 focaAbmVendedorCobradorService 174 focaAbmVendedorCobradorService
175 .getVendedorCobradorById($routeParams.id) 175 .getVendedorCobradorById($routeParams.id)
176 .then(function(res) { 176 .then(function(res) {
177 if(res.data){ 177 if(res.data){
178 $scope.vendedorCobrador = res.data; 178 $scope.vendedorCobrador = res.data;
179 delete $scope.vendedorCobrador.FCVEN; 179 delete $scope.vendedorCobrador.FCVEN;
180 delete $scope.vendedorCobrador.FEC; 180 delete $scope.vendedorCobrador.FEC;
181 } 181 }
182 }); 182 });
183 183
184 $scope.guardar = function() { 184 $scope.guardar = function() {
185 if($scope.vendedorCobrador.ClaVen !== $scope.vendedorCobrador.ClaVen2) { 185 if($scope.vendedorCobrador.ClaVen !== $scope.vendedorCobrador.ClaVen2) {
186 focaModalService.alert('Las contraseñas deben coincidir'); 186 focaModalService.alert('Las contraseñas deben coincidir');
187 return; 187 return;
188 } 188 }
189 $scope.vendedorCobrador.PciVen = $scope.vendedorCobrador.provincia.ID; 189 $scope.vendedorCobrador.PciVen = $scope.vendedorCobrador.provincia.ID;
190 $scope.vendedorCobrador.LocVen = $scope.vendedorCobrador.localidad.ID; 190 $scope.vendedorCobrador.LocVen = $scope.vendedorCobrador.localidad.ID;
191 191
192 delete $scope.vendedorCobrador.provincia; 192 delete $scope.vendedorCobrador.provincia;
193 delete $scope.vendedorCobrador.localidad; 193 delete $scope.vendedorCobrador.localidad;
194 delete $scope.vendedorCobrador.ClaVen2; 194 delete $scope.vendedorCobrador.ClaVen2;
195 195
196 focaAbmVendedorCobradorService 196 focaAbmVendedorCobradorService
197 .guardarVendedorCobrador($scope.vendedorCobrador) 197 .guardarVendedorCobrador($scope.vendedorCobrador)
198 .then(function() { 198 .then(function() {
199 $location.path('/vendedor-cobrador'); 199 $location.path('/vendedor-cobrador');
200 }); 200 });
201 }; 201 };
202 202
203 $scope.seleccionarProvincia = function(key) { 203 $scope.seleccionarProvincia = function(key) {
204 if(key === 13) { 204 if(key === 13) {
205 var modalInstance = $uibModal.open( 205 var modalInstance = $uibModal.open(
206 { 206 {
207 ariaLabelledBy: 'Búsqueda de provincias', 207 ariaLabelledBy: 'Búsqueda de provincias',
208 templateUrl: 'modal-provincias.html', 208 templateUrl: 'modal-provincias.html',
209 controller: 'focaModalProvinciaController', 209 controller: 'focaModalProvinciaController',
210 size: 'md', 210 size: 'md',
211 resolve: { 211 resolve: {
212 filters: function() { 212 filters: function() {
213 return $scope.vendedorCobrador.provincia.NOMBRE; 213 return $scope.vendedorCobrador.provincia.NOMBRE;
214 } 214 }
215 } 215 }
216 } 216 }
217 ); 217 );
218 modalInstance.result.then(function(provincia) { 218 modalInstance.result.then(function(provincia) {
219 $scope.vendedorCobrador.provincia = provincia; 219 $scope.vendedorCobrador.provincia = provincia;
220 $timeout(function() { 220 $timeout(function() {
221 $scope.focused = 5; 221 $scope.focused = 5;
222 }); 222 });
223 }, function() { 223 }, function() {
224 //TODO: función llamada cuando cancela el modal 224 //TODO: función llamada cuando cancela el modal
225 }); 225 });
226 } 226 }
227 }; 227 };
228 $scope.seleccionarLocalidad = function(key) { 228 $scope.seleccionarLocalidad = function(key) {
229 if(!$scope.vendedorCobrador.provincia.ID) { 229 if(!$scope.vendedorCobrador.provincia.ID) {
230 //TODO: Poner modal alert de foca 230 focaModalService.alert('Seleccione una provincia');
231 alert('Seleccione una provincia');
232 return; 231 return;
233 } 232 }
234 if(key === 13) { 233 if(key === 13) {
235 var modalInstance = $uibModal.open( 234 var modalInstance = $uibModal.open(
236 { 235 {
237 ariaLabelledBy: 'Búsqueda de localidades', 236 ariaLabelledBy: 'Búsqueda de localidades',
238 templateUrl: 'modal-localidades.html', 237 templateUrl: 'modal-localidades.html',
239 controller: 'focaModalLocalidadController', 238 controller: 'focaModalLocalidadController',
240 size: 'md', 239 size: 'md',
241 resolve: { 240 resolve: {
242 filters: { 241 filters: {
243 idProvincia: $scope.vendedorCobrador.provincia.ID, 242 idProvincia: $scope.vendedorCobrador.provincia.ID,
244 busqueda: $scope.vendedorCobrador.localidad.NOMBRE 243 busqueda: $scope.vendedorCobrador.localidad.NOMBRE
245 } 244 }
246 } 245 }
247 } 246 }
248 ); 247 );
249 modalInstance.result.then(function(localidad) { 248 modalInstance.result.then(function(localidad) {
250 $scope.vendedorCobrador.localidad = localidad; 249 $scope.vendedorCobrador.localidad = localidad;
251 $timeout(function() { 250 $timeout(function() {
252 $scope.focused = 6; 251 $scope.focused = 6;
253 }); 252 });
254 }, function() { 253 }, function() {
255 //TODO: función llamada cuando cancela el modal 254 //TODO: función llamada cuando cancela el modal
256 }); 255 });
257 } 256 }
258 }; 257 };
259 258
260 $scope.cancelar = function() { 259 $scope.cancelar = function() {
261 $location.path('/vendedor-cobrador'); 260 $location.path('/vendedor-cobrador');
262 }; 261 };
263 262
264 $scope.next = function(key) { 263 $scope.next = function(key) {
265 if(key === 13) $scope.focused++; 264 if(key === 13) $scope.focused++;
266 }; 265 };
267 } 266 }
268 ]); 267 ]);
269 268