Commit 67c3de77 authored by D’jalmar Gutierrez Titirico's avatar D’jalmar Gutierrez Titirico 🚲

Merge branch 'iss4366-Busqueda-postulante-por-nombre-apellido-ci' into 'desarrollo'

#6  iss4366-Se adiciono la búsqueda de postulantes por nombre, apellido y ci

@tnina @dgutierrez Se adiciono la búsqueda de postulantes por nombre, apellido y ci

See merge request !11
parents 9ca41d02 711ab357
......@@ -15,6 +15,7 @@
this.postulacionService = postulacionService;
this.tagService = tagService;
this.paginaActual = 1;
this.datosPersonalesBusqueda = [];
this.tags = [];
this.tagsSeleccionados = [];
this.cambiarPagina();
......@@ -47,45 +48,51 @@
})(postulante.nombres + " " + postulante.apellidos, postulante);
}
buscar(valor) {
this.datosPersonalesBusqueda = [];
var palabras = valor.split(" ");
var campos = ['nombres', 'apellidos', 'ci'];
campos.forEach(campo=> {
palabras.forEach(palabra=> {
this.datosPersonalesBusqueda.push({en: campo, palabra: palabra})
})
});
this.cambiarPagina();
}
formatearTags() {
this.tagsBusqueda = [];
this.tagsSeleccionados.forEach(tag=> {
this.tagsBusqueda.push({palabra: tag.nombre, en: 'nombre'})
});
this.cambiarPagina();
}
cambiarPagina() {
var parametros = {
pagina: this.paginaActual,
elementos: 10,
ordenarPor: this.ordenarPor,
orden: this.ordenDescendente
};
if (this.tagsSeleccionados.length > 0) {
var palabras = [];
this.tagsSeleccionados.forEach(tag=> {
palabras.push({palabra: tag.nombre, en: 'nombre'})
});
this.service.getPostulantes({
pagina: this.paginaActual,
elementos: 10,
ordenarPor: this.ordenarPor,
orden: this.ordenDescendente,
incluye: [{entidad: 'Tags', buscar: palabras}]
})
.then(respuesta=> {
console.log(respuesta);
this.postulantes = respuesta.rows;
this.totalElementos = respuesta.count;
})
parametros.incluye = [{entidad: 'Tags', buscar: this.tagsBusqueda}]
}
else {
this.service.getPostulantes({
pagina: this.paginaActual,
elementos: 10,
ordenarPor: this.ordenarPor,
orden: this.ordenDescendente
})
.then(respuesta=> {
console.log(respuesta);
this.postulantes = respuesta.rows;
this.totalElementos = respuesta.count;
})
if (this.datosPersonalesBusqueda.length > 0) {
parametros.buscar = this.datosPersonalesBusqueda;
}
this.service.getPostulantes(parametros)
.then(respuesta=> {
console.log(respuesta);
this.postulantes = respuesta.rows;
this.totalElementos = respuesta.count;
})
}
ordenar(campo) {
this.ordenDescendente = campo != this.ordenarPor ? false : this.ordenDescendente;
this.ordenDescendente = campo != this.ordenarPor ? false : !this.ordenDescendente;
this.ordenarPor = campo;
this.cambiarPagina();
this.ordenDescendente = !this.ordenDescendente;
}
//region busqueda y filtros
......@@ -104,4 +111,5 @@
}
angular.module('moduloPersonalApp')
.controller('PostulantesCtrl', PostulanteController);
})();
})
();
......@@ -21,13 +21,16 @@
<div class="form-group">
<div class="">
<div class="input-group">
<span class="input-group-addon" id="basic-addon1"><i class="fa fa-search" aria-hidden="true"></i></span>
<span class="input-group-addon"><i class="fa fa-search" aria-hidden="true"></i></span>
<tags-input ng-model="vm.tagsSeleccionados" name="tags" placeholder="Buscar por tag" display-property="nombre"
min-length="2" on-tag-added="vm.cambiarPagina()" on-tag-removed="vm.cambiarPagina()"
min-length="2" on-tag-added="vm.formatearTags()" on-tag-removed="vm.formatearTags()"
add-from-autocomplete-only="true">
<auto-complete source="vm.autoCompletarTags($query)" min-length="2"></auto-complete>
</tags-input>
</div>
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-search" aria-hidden="true"></i></span>
<input type="text" class="form-control" placeholder="Buscar al postulante" ng-model="vm.palabra" ng-change="vm.buscar(vm.palabra)" ng-model-options="{debounce: 1000}">
</div>
</div>
<div class="table-responsive">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment