//alumnosObj.push({id: , nombre:"", plan:"", matArr:[{id, desc, clave, plan, sem, grupo_id, grupo, califArr{calif, fecha, calif_tipo, revalidada}}]}); //carga las materias en el objeto alumnosObj function loadMaterias(){ if(idArr.length > 0){ $.ajax({ url: './action/asignamaterias_select.php', type: 'POST', dataType: 'json', data: { idArr: idArr, plan: _plan}, success: function(result) { if(result["error"]!= "" && result["error"] !== undefined){ $("#errorBox").collapse('show'); $("#errorBox_text").html(result["error"]); $('#messageBox')[0].scrollIntoView({ block: "end" }); }else{ //cargar datos de materias if(result["alumnos"].length > 0){//hay materias alumnosObj = result["alumnos"]; }//hay materias printAlumnosDataHTML();//imprime datos de alumnos updateAll();//actualiza materias para todos printMateriasHTML();//imprime listado } }, error: function(jqXHR, textStatus, errorThrown ){ $("#errorBox").collapse('show'); $("#errorBox_text").html(errorThrown); $('#messageBox')[0].scrollIntoView({ block: "end" }); } });// }//fin hay semestre } function buscaAlumno(clave){ var i; for(i = 0; i= 0){//si está alumnosObj[index].matArr.splice(pos, 1); return true; } return false; } function buscaMateriaAll(id, arreglo){ var i; for(i = 0; i'+desc+'
['+clave+'] '+plan+''; return ''+grupo+' '+desc+'
['+clave+'] '+plan+''; } //Para materias cargdas. Ya pueden tener Calificación function printMateriasHTML(){ for(var index=0; index < alumnosObj.length; index++){ var alumno = alumnosObj[index].id; for(var m = 0; m < alumnosObj[index].matArr.length; m++){ //{id, desc, clave, plan, calif, fecha, extra, revalidada} var id_mat = alumnosObj[index].matArr[m].id; var desc = alumnosObj[index].matArr[m].desc; var clave = alumnosObj[index].matArr[m].clave; var plan = alumnosObj[index].matArr[m].plan; //var extra = (alumnosObj[index].matArr[m].extra) ? 'Sí' : 'No'; var revalidada = false; if(alumnosObj[index].matArr[m].califArr.length > 0 && alumnosObj[index].matArr[m].califArr[0].revalidada){ revalidada = true; } alumnosObj[index].matArr[m].revalidada; var grupo = alumnosObj[index].matArr[m].grupo; var nuevaMateria =""; if(!revalidada){//No es revalidada, puede borrar nuevaMateria = ''; nuevaMateria += '\ '; nuevaMateria += datosMateriaHTML(desc, clave, plan, grupo); nuevaMateria += ' '; }else{ nuevaMateria = ''; nuevaMateria += ' '; nuevaMateria += datosMateriaHTML(desc, clave, plan, ""); nuevaMateria += 'Equivalencia'; } nuevaMateria += ''; $(nuevaMateria).appendTo("#tab"+alumno+" .table-asignadas tbody"); } } } //Para concentrado de materias function allMateriaHTML(id_mat, desc, clave, plan, total){ var nuevaMateria =""; nuevaMateria = '\ \ \ '+datosMateriaHTML(desc, clave, plan, '')+'\ Total: '+total+'\ '; $(nuevaMateria).appendTo("#tab0 .table-asignadas tbody"); } //Para materias nuevas. No necesita Calificación y se puede borrar function creaMateriaHTML(index, id_mat, desc, clave, plan, grupo){ var alumno = alumnosObj[index].id; var nuevaMateria = '\ \ \ '+datosMateriaHTML(desc, clave, plan, grupo)+'\  \ '; $(nuevaMateria).appendTo("#tab"+alumno+" .table-asignadas tbody"); } function changeAllChecks(activo){ $(".selectAll").prop("checked", activo);//deselecciona general $(".select_materia").prop("checked", activo);//deselecciona cada uno $("#btn_lote").prop("disabled", !activo);//bloquea boton } function preguntarAntesDeSalir(){ if (_modificado) return "¿Deseas abandonar la página? Los últimos cambios que realizaste no se guardarán"; } window.onbeforeunload = preguntarAntesDeSalir; $('body').on('change', '.selectAll', function() { var check = $(this).prop("checked"); $(this).parents(".table").find(".select_materia").prop("checked", check); if($(".select_materia:checked").length > 0) $("#btn_lote").prop("disabled", false); else $("#btn_lote").prop("disabled", true); }); $('body').on('change', '.select_materia', function() { event.stopPropagation(); //var check = $(this).prop("checked"); var numberOfChecked = $(this).parents(".table").find('.select_materia:checked').length; var totalCheckboxes = $(this).parents(".table").find('.select_materia').length; if(numberOfChecked == totalCheckboxes){ $(this).parents(".table").find(".selectAll").prop("checked", true); }else{ $(this).parents(".table").find(".selectAll").prop("checked", false); } if($(".select_materia:checked").length > 0){ $("#btn_lote").prop("disabled", false); }else{ $("#btn_lote").prop("disabled", true); } }); $(document).ready(function(){ loadMaterias(); _selected = $(".nav-pills .active").data("id"); $("#btn_lote").prop("disabled", true); $("#btn_lote").click(function(){//asigna materias seleccionadas var asignadas = 0; var total = 0; if(_selected == 0){//asigna a todos for(thisIndex = 0; thisIndex 0){ $("#errorBox").collapse('show'); if(_selected == 0){//asigna a todos $("#errorBox_text").html(asignadas+" materias ya está asignadas a algunos alumnos y fueron omitidas."); }else{ $("#errorBox_text").html(asignadas+" materias ya está asignadas al alumno y fueron omitidas."); } } if(asignadas < total){ $("#successBox").collapse('show'); $("#successBox_text").html("Las materias se asignaron correctamente. Recuerda guardar los cambios"); } $('#messageBox')[0].scrollIntoView({ block: "end" }); }); //cambia tab, cambia variable de activo $(".nav-pills .nav-link").click(function(){ _selected = $(this).data("id"); }); $("#filter_sem").change(function(){ if($("#filter_sem").val() == ""){ $("#result_block").addClass("d-none"); }else{ $.ajax({ url: './action/materiaasignar_busca.php', type: 'POST', dataType: 'json', data: { sem: $("#filter_sem").val(), plan:_plan}, success: function(result) { if(result["error"]!= "" && result["error"] !== undefined){ $("#errorBox").collapse('show'); $("#errorBox_text").html(result["error"]); $('#messageBox')[0].scrollIntoView({ block: "end" }); }else{ //cargar grupos y materias if(result["materias"].length == 0){//no hay materias $("#result_block").addClass("d-none"); $("#result_sin").removeClass("d-none"); }else{ $("#result_sin").addClass("d-none"); $("#result_block").removeClass("d-none"); var grupos = $("#accordion > .card").length;//cuenta bloques de grupo actuales $('#accordion .collapse').not('#grupoCollapse0').collapse('hide'); if(grupos > result["materias"].length){//sobran //borrar renglones extra (rows - result.length) pero dejar al menos 1 while(grupos > result["materias"].length && grupos > 1){ $("#accordion .card:last-child").remove(); grupos--; } }else{//faltan // clone the rest of the rows for(var i=0; i<(result["materias"].length - grupos); i++){ var cloned = $("#accordion .card:first-child").clone();//sirvió sin (true) cloned.find(".collapse").removeClass("in"); cloned.find(".accordion-toggle").prop("href", "#grupoCollapse"+(i+grupos)); cloned.find(".panel-collapse").prop("id", "grupoCollapse"+(i+grupos)).addClass("collapse"); cloned.find(".selectAll").prop("id", "selectAll"+(i+grupos)); cloned.find(".selectAll").siblings("label").prop("for", "selectAll"+(i+grupos)); $("#accordion").append(cloned); } } $('#grupoCollapse0').collapse('show'); if(result["materias"].length != 0){//hay grupos? $("#accordion .card").each(function(index) { if(index < result["materias"].length){//llenar info $(this).find(".grupo-nombre").text(result["materias"][index][0]["gpo"]); //clonar renglones de tabla var rows = $(this).find(".mat_asignar tr").length;//cuenta accesos actuales if(rows > result["materias"][index].length){//sobran //borrar renglones extra (rows - result.length) pero dejar al menos 1 while(rows > result["materias"][index].length && rows > 1){ $(this).find(".mat_asignar tr:last-child").remove(); rows--; } }else{//faltan // clone the rest of the rows for(var i=0; i<(result["materias"][index].length - rows); i++){ $(this).find(".mat_asignar tr:first-child").clone(true).appendTo("#grupoCollapse"+index+" .mat_asignar"); } } var index_gpo = index; $("#grupoCollapse"+index_gpo+" .mat_asignar tr").each(function(index2) { if(index2 < result["materias"][index_gpo].length){//llenar info $(this).prop("id", "mat"+result["materias"][index_gpo][index2]["id"]); $(this).data("id", result["materias"][index_gpo][index2]["id"]); $(this).find(".materia-nombre").html(result["materias"][index_gpo][index2]["desc"]); $(this).find(".materia-clave").html(result["materias"][index_gpo][index2]["clave"]); $(this).find(".materia-plan").html(result["materias"][index_gpo][index2]["plan"]); $(this).find(".select_materia").prop("id", "check"+index_gpo+"_"+result["materias"][index_gpo][index2]["id"]); $(this).find(".select_materia").val(result["materias"][index_gpo][index2]["id"]); $(this).find(".select_materia").data("id", result["materias"][index_gpo][index2]["id"]) .data("desc", result["materias"][index_gpo][index2]["desc"]) .data("clave", result["materias"][index_gpo][index2]["clave"]) .data("plan", result["materias"][index_gpo][index2]["plan"]) .data("grupo_id", result["materias"][index_gpo][index2]["gpo_id"]) .data("grupo", result["materias"][index_gpo][index2]["gpo"]); $(this).find("label").prop("for", "check"+index_gpo+"_"+result["materias"][index_gpo][index2]["id"]); } }); } }); } }//hay materias }//sin error }, error: function(jqXHR, textStatus, errorThrown ){ $("#errorBox").collapse('show'); $("#errorBox_text").html(errorThrown); $('#messageBox')[0].scrollIntoView({ block: "end" }); } });// }//fin hay semestre }); //click //al abrir modal $("#modal_confirm").on('show.bs.modal', function (event) { var button = $(event.relatedTarget);// Button that triggered the modal $("#cve_borrar").val(button.data("cve")); $("#mat_borrar").val(button.data("mat")); if(button.data("cve") == 0) $("#all-msg").removeClass("d-none"); else $("#all-msg").addClass("d-none"); }); $(".btn-borrar").click(function(){ var pos; if($("#cve_borrar").val() == 0){//todos for(pos=0; pos"+result["error"]); }else{ if(result["sin_borrar"] !== undefined && result["sin_borrar"] > 0){ $("#errorBox").collapse('show'); $("#errorBox_text").html(result["sin_borrar"]+" materias no pudieron ser borradas"); }else if(result["aprobadas"] !== undefined && result["aprobadas"] > 0){ $("#errorBox").collapse('show'); $("#errorBox_text").html(result["aprobadas"]+" materias ya estaban aprobadas y no se guardaron"); for(i=0; i