Files
spota-dev/assets/js/dosen/_earlywarning.php
Power BI Dev a52c2a8462 Add frontend assets and plugin bundles
Add the legacy frontend themes, scripts, and plugin assets required by the main SPOTA interfaces.
2026-05-02 10:09:32 +07:00

201 lines
12 KiB
PHP

<link rel="stylesheet" type="text/css" href="../assets/plugins/select2/select2.css" />
<link rel="stylesheet" href="../assets/plugins/DataTables/media/css/DT_bootstrap.css" />
<link rel="stylesheet" href="../assets/plugins/ckeditor/contents.css">
<link href="../assets/plugins/bootstrap-modal/css/bootstrap-modal-bs3patch.css" rel="stylesheet" type="text/css"/>
<link href="../assets/plugins/bootstrap-modal/css/bootstrap-modal.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="../assets/plugins/gritter/css/jquery.gritter.css">
<script type="text/javascript" src="../assets/plugins/select2/select2.min.js"></script>
<script type="text/javascript" src="../assets/plugins/DataTables/media/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="../assets/plugins/DataTables/media/js/DT_bootstrap.js"></script>
<script src="../assets/plugins/ckeditor/ckeditor.js"></script>
<script src="../assets/plugins/ckeditor/adapters/jquery.js"></script>
<script src="../assets/plugins/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="../assets/plugins/bootstrap-modal/js/bootstrap-modal.js"></script>
<script src="../assets/plugins/bootstrap-modal/js/bootstrap-modalmanager.js"></script>
<script src="../assets/plugins/gritter/js/jquery.gritter.min.js"></script>
<script>
let listDataMonitoring = [];
jQuery(document).ready(function() {
Main.init();
refreshListMonitoring();
});
function refreshListMonitoring(e){
if(e != undefined || e != null){
e.preventDefault();
}
const lewat = $('#statusEarlyWarning').val();
const bimbingan =$('#bimbinganEarlyWarning').val();
const sumber = $('#sumberTanggalEarlyWarning').val();
listDataMonitoring = [];
document.getElementById('contentTabel').innerHTML = buatTabelEarlyWarning(`<tr><td colspan="16" style="text-align:center">Mengambil Data . . .</td></tr>`);
let url = `API/getEarlyWarningMonitoring.php?lewat=${lewat}&bimbingan=${bimbingan}`;
if(sumber == "0"){
url = `API/getEarlyWarningMonitoringByOutline.php?lewat=${lewat}&bimbingan=${bimbingan}`;
}
$.ajax({
url: url,
type:'GET',
dataType:'json',
contentType: false,
cache: false,
processData:false,
beforeSend:function(){
// $("#loading").show();
},
success:function(json){
const data = json;
if(data.length == 0){
document.getElementById('contentTabel').innerHTML = buatTabelEarlyWarning(`<tr><td colspan="16" style="text-align:center">Tidak ada data.</td></tr>`);
}else{
let isiTabel = ``;
let no = 1;
for(let i = 0; i < data.length; i++){
const d = data[i];
listDataMonitoring[d.id] = d;
let textSeminar = ``;
if(d.tanggalSeminar != undefined && d.tanggalSeminar !== null){
textSeminar = `<br>Tanggal Seminar Outline : ${d.tanggalSeminar}`;
}
isiTabel += `<tr>
<td>${no}</td>
<td>${d.nama}<br>(${d.nim})</td>
<td><a style="cursor:pointer" onClick="showKonsultasi('${d.id}')">${d.judul}</a> <br>Diterima : ${d.tglKeputusan} ${textSeminar}</td>
${getKolomTabel(d.bulanBerjalan)}
<td>${d.waktuBerjalan}</td>
</tr>`;
no++;
}
document.getElementById('contentTabel').innerHTML = buatTabelEarlyWarning(isiTabel);
$('#tabelData').DataTable({
"iDisplayLength": -1,
"aLengthMenu": [
[10, 15, 20, 50, 100, -1],
[10, 15, 20, 50, 100, "All"] // change per page values here
],
});
}
}
});
}
function buatTabelEarlyWarning(isiTabel){
return ` <table class="table table-striped table-bordered table-hover table-full-width dataTable" id="tabelData">
<thead>
<tr>
<th rowspan="2">No</th>
<th rowspan="2">Nama Mahasiswa</th>
<th rowspan="2">Judul</th>
<th colspan="12">Bulan</th>
<th rowspan="2">Jumlah Hari</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
<th>10</th>
<th>11</th>
<th>12</th>
</tr>
</thead>
<tbody>${isiTabel}</tbody>
</table>`;
}
function showKonsultasi(idPraoutline){
$('#detailKonsultasiModal').modal('show');
const dataMonitoring = listDataMonitoring[idPraoutline];
document.getElementById('detailKonsultasiContent').innerHTML = `<table class="table">
<tr><td>Nama</td><td>${dataMonitoring.nama}</td></tr>
<tr><td>NIM</td><td>${dataMonitoring.nim}</td></tr>
<tr><td>Judul</td><td>${dataMonitoring.judul}</td></tr>
<table>`;
document.getElementById('isiTabelKonsultasi').innerHTML = `<tr><td colspan="4" style="text-align:center">Mengambil data . . .</td></tr>`;
$.ajax({
url: `https://informatika.untan.ac.id/konsultasi/API/public/getKonsultasiHistory.php?id=${idPraoutline}`,
type:'GET',
dataType:'json',
contentType: false,
cache: false,
processData:false,
beforeSend:function(){
// $("#loading").show();
},
success:function(json){
const data = json.data;
const status = json.status;
if(status == 1){
if(data.length == 0){
document.getElementById('isiTabelKonsultasi').innerHTML = `<tr><td colspan="4" style="text-align:center">Tidak ada data.</td></tr>`;
}else{
let isiTabel = ``;
let no = 1;
for(let i = 0; i < data.length; i++){
const d = data[i];
isiTabel += `<tr>
<td>${no}</td>
<td>${d.waktu}</td>
<td>${d.topik}</td>
<td>${d.pembimbing}</td>
</tr>`;
no++;
}
document.getElementById('isiTabelKonsultasi').innerHTML = isiTabel;
}
}else{
const pesan = json.msg;
document.getElementById('isiTabelKonsultasi').innerHTML = `<tr><td colspan="4" style="text-align:center">${pesan}</td></tr>`;
}
}
});
}
function getKolomTabel(bulanBerjalan){
switch(bulanBerjalan){
case 1 : return `<td style="background-color:#01B0F3"></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>`;
case 2 : return `<td style="background-color:#01B0F3"></td><td style="background-color:#01B0F3"><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>`;
case 3 : return `<td style="background-color:#01B0F3"></td><td style="background-color:#01B0F3"><td style="background-color:#0071BF"></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>`;
case 4 : return `<td style="background-color:#01B0F3"></td><td style="background-color:#01B0F3"><td style="background-color:#0071BF"></td><td style="background-color:#0071BF"></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>`;
case 5 : return `<td style="background-color:#01B0F3"></td><td style="background-color:#01B0F3"><td style="background-color:#0071BF"></td><td style="background-color:#0071BF"></td><td style="background-color:#01AF50"></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>`;
case 6 : return `<td style="background-color:#01B0F3"></td><td style="background-color:#01B0F3"><td style="background-color:#0071BF"></td><td style="background-color:#0071BF"></td><td style="background-color:#01AF50"></td><td style="background-color:#01AF50"></td><td></td><td></td><td></td><td></td><td></td><td></td>`;
case 7 : return `<td style="background-color:#01B0F3"></td><td style="background-color:#01B0F3"><td style="background-color:#0071BF"></td><td style="background-color:#0071BF"></td><td style="background-color:#01AF50"></td><td style="background-color:#01AF50"></td><td style="background-color:#FEFF01"></td><td></td><td></td><td></td><td></td><td></td>`;
case 8 : return `<td style="background-color:#01B0F3"></td><td style="background-color:#01B0F3"><td style="background-color:#0071BF"></td><td style="background-color:#0071BF"></td><td style="background-color:#01AF50"></td><td style="background-color:#01AF50"></td><td style="background-color:#FEFF01"></td><td style="background-color:#FEFF01"></td><td></td><td></td><td></td><td></td>`;
case 9 : return `<td style="background-color:#01B0F3"></td><td style="background-color:#01B0F3"><td style="background-color:#0071BF"></td><td style="background-color:#0071BF"></td><td style="background-color:#01AF50"></td><td style="background-color:#01AF50"></td><td style="background-color:#FEFF01"></td><td style="background-color:#FEFF01"></td><td style="background-color:#FFBF01"></td><td></td><td></td><td></td>`;
case 10 : return `<td style="background-color:#01B0F3"></td><td style="background-color:#01B0F3"><td style="background-color:#0071BF"></td><td style="background-color:#0071BF"></td><td style="background-color:#01AF50"></td><td style="background-color:#01AF50"></td><td style="background-color:#FEFF01"></td><td style="background-color:#FEFF01"></td><td style="background-color:#FFBF01"></td><td style="background-color:#FFBF01"></td><td></td><td>`;
case 11 : return `<td style="background-color:#01B0F3"></td><td style="background-color:#01B0F3"><td style="background-color:#0071BF"></td><td style="background-color:#0071BF"></td><td style="background-color:#01AF50"></td><td style="background-color:#01AF50"></td><td style="background-color:#FEFF01"></td><td style="background-color:#FEFF01"></td><td style="background-color:#FFBF01"></td><td style="background-color:#FFBF01"></td><td style="background-color:#FE0103"></td><td>`;
case 12 : return `<td style="background-color:#01B0F3"></td><td style="background-color:#01B0F3"><td style="background-color:#0071BF"></td><td style="background-color:#0071BF"></td><td style="background-color:#01AF50"></td><td style="background-color:#01AF50"></td><td style="background-color:#FEFF01"></td><td style="background-color:#FEFF01"></td><td style="background-color:#FFBF01"></td><td style="background-color:#FFBF01"></td><td style="background-color:#FE0103"></td><td style="background-color:#FE0103"></td>`;
default : return `<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>`;
}
}
</script>