Current Path : /data/web/virtuals/51568/virtual/www/subdom/agenda/php/ |
Current File : /data/web/virtuals/51568/virtual/www/subdom/agenda/php/ImportBakalari.min.js |
function importBakalari(){$.ajax({url:"php/ImportBakalari.php",type:"POST",dataType:"HTML",data:{data:JSON.stringify({command:"importForma"})},success:function(result){$("#div-supliky-table").html(result),$("#div-dialogy").html("")}})}async function loadFile(){$("#errSkolniRok").addClass("d-none");let soubory=document.getElementById("fileCSV"),soubor=soubory.files[0],pokracovat=!1;if($("#divRok").addClass("d-none"),soubory.files.length<1)$("#file").html(""),$("#rowBtnSubmit").addClass("d-none"),$("#rbJakNaplnit").addClass("d-none"),$("#fileCSVname").html("");else{$("#rbJakNaplnit").removeClass("d-none"),$("#fileCSVname").html(soubor.name);let obsah=await soubor.text(),data=$.csv.toObjects(obsah,{separator:";"}),propertyNames=Object.getOwnPropertyNames(data[0]),zobrazData="";if(pokracovat=6==propertyNames.length,pokracovat&&(pokracovat="intern_kod"==propertyNames[0].toLowerCase()&&"trida"==propertyNames[1].toLowerCase()&&"prijmeni"==propertyNames[2].toLowerCase()&&"jmeno"==propertyNames[3].toLowerCase()&&"pohlavi"==propertyNames[4].toLowerCase()&&"datum_nar"==propertyNames[5].toLowerCase()),pokracovat){$("#rowBtnSubmit").removeClass("d-none"),zobrazData+='<div class="alert primary-light rounded-0 pl-0">\n <ul>\n <li>Pokud se jedná o první import ve školním roce, budou žáci nově do tabulky přidáni s informací zvoleného roku.</li>\n <li>Pokud jde o opakovaný import během jednoho školního roku a některý z žáků se v nově importované tabulce nevyskytuje, \n bude jeho stávající záznam označen jako neaktivní.</li>',zobrazData+="<li>Pokud v zobrazené tabulce jsou místo nabodeníčkových znaků jiné, není kódování CSV souboru UTF8 (kódování nastavíš v exportu v Bakalářích).</li></ul></div>",zobrazData+='<div class="mt-4 scroll-container-40"> \n <table class="table table-striped table-sm">',zobrazData+='<tr style="background-color: rgba(102, 204, 255, 0.5)"><td>#</td>';for(let i=0;i<propertyNames.length;i++)zobrazData+="<td>"+propertyNames[i]+"</td>";zobrazData+="</tr>";for(let i=0;i<data.length;i++){zobrazData+=`<tr><td>${i+1}</td>`;for(let j=0;j<propertyNames.length;j++)zobrazData+="<td>"+data[i][propertyNames[j]]+"</td>";zobrazData+="</tr>"}zobrazData+="</table>\n </div>",$("#divRok").removeClass("d-none"),$("#idPocetCSV").html("Záznamů: "+data.length),$("#div-dialogy").html(zobrazData)}else zobrazData+='<div class="alert alert-danger rounded-0">\n Zdá se, že zvolený soubor nemá očekávanou strukturu.\n <p class="mt-3">První řádek by měl obsahovat názvy polí - pořadí je podstatné <br>\n <strong>intern_kod, trida, prijmeni, jmeno, pohlavi, datum_nar</strong>\n </p>\n </div>',$("#div-dialogy").html(zobrazData)}}