Ir al contenido principal

Ver deducciones JS

  Se realizaron las paginas de ver semanas y meses, además de la configuracion para los detalles, las paginas en general se hicieron muy similar a como funcionaban las tablas en el anterior proyecto, lo difícil aquí fue ir actualizando los detalles de la vista de detalles dinámicamente.


Lo primero que hacemos es renderizar la pagina, y pasar como parámetros las detalles de planillas, los detalles de salario, y las deducciones, luego los datos de salario bruto y deducciones funcionan como botones que invocan a un popout, estos botones tienen un parámetro llamado "data-button" que contienen un array con los datos de salario o deducciones según corresponda.


{% for planilla in planillas %}
<tr>
    <td scope="row">
        <a href="" class="text-dark boton_salario" data-button="{{detalles_salario[planilla[0]]}}" data-toggle="modal"
            data-target="#salarioModal">{{planilla[1]}}</a>
    </td>

    <td scope="row">
        <a href="" class="text-dark boton_deduccion" data-button="{{deducciones[planilla[0]]}}"  data-toggle="modal"
            data-target="#deduccionesModal">{{planilla[2]}}</a>
    </td>

Luego de esto pasamos al JavaScript, en donde vamos a leer cuando damos click a dichos botones y vamos a actualizar los parametros del popout:

//al presionar en unn boton de salario obtenemoos datos y los actualizamos en la pagina
$('.boton_salario').bind('click', function(e) {
    var data = ($(this).attr('data-button'));
    data = data.replace(/'/g, '"');
    data = JSON.parse(data);

    
    tabla = getHTMLTablaSalario(data);
    document.getElementById("tabla_popuot_detalles_salario").innerHTML = tabla;
});

un problema  tenia al principio es que solo se pasaba el primer elemento del array, esto fue solucionado al convertir ese array a string dentro del HTML, el problema de esto fue que ahora tenia que encontrar la forma de convertir un string en un array dentro de JS, una solución que encontré fue usar el método JSON.parse() este metodo me permite convertir el string en un array, pero al principio me dio errores debido a que el array contenía comillas simples, las cuales eran confundidas por JS y todo se desarmaba horrible, la solución fue simplemente cambiar todas las comillas simples por comillas dobles antes de convertirlo a un array, y con esto ya teníamos nuestro array, luego usando la función que cree llamada getHTMLTablaSalario(data), con la que convertimos ese array en código html que luego inyectamos en la pagina


//con esta funcoin convertimos el array en una tabla en html
function getHTMLTablaSalario(data){

    var tabla = ''
    $.each(data, function( index, value ) {
        tabla = tabla + '<tr >'+
        '<th>'+value[0]+'</th>'+
        '<td>'+value[1]+'</td>'+
        '<td>'+value[2]+'</td>'+
        '<td>'+value[3]+'</td>'+
        '<td>'+value[4]+'</td>'+
        '<td>'+value[5]+'</td>'+
        '<td>'+value[6]+'</td>';
        
      });


    return tabla;
};


Finalmente la pagina se ve así: (de momento son datos placeholder)





Además de esto se actualizó la pagina principal de esta forma:


En el panel lateral no todos los botones son funcionales, pero estas ahí como un previsto para la tarea 3 en caso de que se necesiten, la tabla de últimos movimientos aun no se sabe si la vamos a usar o no, pero el plan es tener ahí los últimos 15 movimientos realizados, el tiempo dirá si esta funcionalidad se mantiene o no

Comentarios

Entradas populares de este blog

TAREA 3

Cantidad de horas trabajadas: Oswaldo: 26 Jenaro: 26 Debido a la elaboración de la tercera tarea programada podemos concluir que: Se tiene un mejor conocimiento y una mejor practica en la elaboración de una base de datos Aprendimos sobre leer archivos XML en SQL Server y como añadir los datos del XML a las tablas respectivas de la base de datos, sobre como modificar estos archivos, y como "jugar" con estos Se instruyo  la elaboración de una pagina web utilizando HTML y Python, usando la librería de Flask y el framework de Bootstrap y conectar la pagina web con la base de datos para poder añadir, editar, buscar y eliminar datos en la página web y que estos procesos se reflejen en la base de datos Se tiene un mejor conocimiento en la creación de vistas, manejo de errores y uso de transacciones Análisis de resultados: En general nos sentimos bastante orgullosos del trabajo realizado, tanto en la pagina como en la base de datos implementamos todas las funcionalidades, el programa...

Casi Finalización de la Pagina Web y Placeholders para Conexión con la BD

Esta ultima semana fue dedicada a la casi completa finalización de la pagina web del sistema de administración, todas las partes que faltaban de implementar están listas, además se realizo una conexión con la parte de datos de forma provisional, a continuación se hace un resumen de lo realizado: La opción de listar empleados  fue mejorada con iconos para editar y eliminar, aunque de momento debido al no tener una BD real estos no hacen nada. Edición de empleado y puesto fue mejorada drásticamente, con sus datos tomados de un catalogo y siendo mostrados en forma de drop menu, además la inserción de la fecha de nacimiento se hace mediante un calendario, por lo que de esta forma es imposible que se inserten datos no validos o en el formato incorrecto. Respecto a lo que mencioné anteriormente de los iconos de editar y borrar, hay una implementación básica realizada: En la lista de puestos si se seleccionan estos iconos, nos en...

Últimos 2 días de trabajo

Los últimos 2 días de trabajo, correspondientes al jueves 15 y viernes 16, fueron los días mas productivos que hemos tenido. La pagina web fue finalizada su totalidad, esto correspone a cambios esteticos minimos y la creacion de un menú de ajustes, se creó la BD con sus respectivas tablas, y se hicieron los stored procedures para conectar todo, además se finalizó el parseo de los archivos xml. Respecto a la creación de los procedures para hacer los CRUD, no hubo muchas complicaciones, como ya antes habíamos hecho pruebas con una Bd de prueba, crear las versiones finales de los procedures se redujo a simplemente crearlos siguiendo la plantilla dada por el profesor, e ir modificándolos según cada tabla. se puede ver nuestro repositorio de GitHub para notar que prácticamente ya son creadas en sus versiones finales, y son modificadas solo para hacer correcciones menores. La lectura de los xml si tuvo varios problemas, si bien la version creada pot el compañero era perfectamente funcional, ...