const noDataTextTabel = "No data available in table"; const serverErrorText = "Gagal terhubung ke Server, cek koneksi internet anda!!!"; const ajaxTimeout = 15000; let idTANow; let dataKonsul = []; const logoutModal = { show: () => { $("#logoutModal").modal({ onApprove: function(){ doLogout(); return false; } }).modal("show"); }, hide: () => { $("#logoutModal").modal("hide"); } }; const loader = { show: () => { $("#loaderSegment").show(); }, hide: () => { $("#loaderSegment").hide(); } }; const konsultasiModal = { show: (status, idKonsul = "") => { if (status == "tambah") { $("#konsultasiModal") .modal({ autofocus: false, onApprove: function() { postTambahKonsultasi(); return false; }, allowMultiple: true }) .modal("show"); } else { $("#konsultasiModal") .modal({ onApprove: function() { postEditKonsultasi(idKonsul); return false; }, allowMultiple: true }) .modal("show"); } }, hide: () => { $("#konsultasiModal").modal("hide"); } }; const hapusDataModal = { show: (idKonsultasi) => { $("#hapusDataModal") .modal({ onApprove: function() { postHapusKonsultasi(idKonsultasi); return false; }, allowMultiple: true }) .modal("show"); }, hide: () => { $("#hapusDataModal").modal("hide"); } }; $(document).ready(function() { document.getElementById("x").click(); setInterval(refreshSession, 60 * 1000); initForm(); }); function initForm() { $("#formKonsultasi").form({ fields: { dateKonsultasiField: "empty", topikField: "empty" } }); $("#formPengaturan").form({ fields: { userEmail: ["empty", "email"], userHP: "empty" } }); } function refreshSession() { let request = $.ajax({ url: urlAPI + `/web-refreshSession.php`, type: "GET", contentType: "application/json", processData: false, contentType: false, cache: false }); request.done(function(msg) {}); request.fail(function(jqXHR, textStatus) {}); } function doLogout() { window.location.replace("logout.php"); } function sideBar() { $(".ui.sidebar").sidebar("toggle"); } function openTab(evt, divName) { var i, tabcontent, tablinks; var namatabcontent = "tabContent"; var namatablink = "tabLinks"; let judul = ""; tabcontent = document.getElementsByName(namatabcontent); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } tablinks = document.getElementsByName(namatablink); for (i = 0; i < tablinks.length; i++) { tablinks[i].className = tablinks[i].className.replace("active", ""); } $(".ui.sidebar").sidebar("hide"); evt.currentTarget.className += " active"; document.getElementById(divName).style.display = "block"; doEvent(divName); } function doEvent(namaEvent) { judul = ""; switch (namaEvent) { case "konsultasi": judul = "Konsultasi Tugas Akhir"; getMyTugasAkhirList(); break; case "pengaturan": judul = "Ubah Data Pribadi"; getMyPengaturan(); break; } $("#judulMenu").html(judul); } function openLogoutModal() { sideBar(); logoutModal.show(); } function getMyTugasAkhirList() { let formData = new FormData(); formData.append("token", token); formData.append("tipe", "mahasiswa"); $('#tabelTugasAkhir > tbody').html(`
`); let request = $.ajax({ url: urlAPI + "/getTugasAkhirMahasiswa.php", timeout: ajaxTimeout, type: "POST", data: formData, processData: false, contentType: false }); request.done(function(msg) { const status = msg.status; if(status === 1){ const data = msg.tugasAkhir; const banyakData = data.length; if(banyakData === 0){ $('#tabelTugasAkhir > tbody').html(`Tidak Ada Data`); }else{ let isiTabel = ''; for(let i = 0; i < banyakData; i++){ const tugasAkhir = data[i]; const id = tugasAkhir.id; const judul = tugasAkhir.judul; const semester = tugasAkhir.semester; const no = i + 1; isiTabel += `${no}${judul}${semester}`; } $('#tabelTugasAkhir > tbody').html(isiTabel); } }else{ showToast('warning', msg.msg); } }); request.fail(function(jqXHR, textStatus) { $('#tabelTugasAkhir > tbody').html(`Gagal mengambil data, cek koneksi internet anda.`); showToast("error", serverErrorText); }); } function showDetailTugasAkhir(idTA){ let formData = new FormData(); formData.append("token", token); formData.append("id", idTA); formData.append("tipe", "mahasiswa"); loader.show(); let request = $.ajax({ url: urlAPI + "/getDetailTA.php", timeout: ajaxTimeout, type: "POST", data: formData, processData: false, contentType: false }); request.done(function(msg) { const status = msg.status; loader.hide(); if(status === 1){ const data = msg.tugasAkhir; const judul = data.judul; const mahasiswa = data.mahasiswa; const nim = data.nim; const pembimbing1 = data.pembimbing1; const pembimbing2 = data.pembimbing2; const penguji1 = data.penguji1; const penguji2 = data.penguji2; const semester = data.semester; const tahun = data.tahun; const tanggalKeputusan = data.tanggalKeputusan; $('#judulTugasAkhir').html(judul); $('#semTATugasAkhir').html(semester); $('#waktuKepTugasAkhir').html(tanggalKeputusan); $('#pemb1TugasAkhir').html(pembimbing1); $('#pemb2TugasAkhir').html(pembimbing2); $('#peng1TugasAkhir').html(penguji1); $('#peng2TugasAkhir').html(penguji2); idTANow = idTA; $('#detailTugasAkhirModal').modal({allowMultiple: true, autofocus: false}).modal('show'); fillKonsultasiHistory(); }else{ showToast('warning', msg.msg); } }); request.fail(function(jqXHR, textStatus) { loader.hide(); showToast("error", serverErrorText); }); } function fillKonsultasiHistory(){ dataKonsul = []; const idTA = idTANow; let formData = new FormData(); formData.append("token", token); formData.append("id", idTA); formData.append("tipe", "mahasiswa"); $('#tabelListKonsultasi > tbody').html(`Tidak Ada Data`); let request = $.ajax({ url: urlAPI + "/getKonsultasiHistory.php", timeout: ajaxTimeout, type: "POST", data: formData, processData: false, contentType: false }); request.done(function(msg) { const status = msg.status; loader.hide(); if(status === 1){ const listData = msg.data; const banyakData = listData.length; if(banyakData === 0){ $('#tabelListKonsultasi > tbody').html(`Tidak Ada Data`); }else{ let isiTabel = ''; for(let i = (banyakData-1); i >= 0; i--){ let konsultasi = listData[i]; const id = konsultasi.id; const waktu = konsultasi.waktu; const topik = konsultasi.topik; const editable = konsultasi.editable; const verifPemb1 = konsultasi.verifPemb1; const verifPemb2 = konsultasi.verifPemb2; const no = i + 1; konsultasi.konsulKe = no; dataKonsul[id] = konsultasi; let aksi = ` `; if(editable){ aksi += ` `; } isiTabel += `${no}${waktu}${topik}${getVerifikasiLabel(verifPemb1)}${getVerifikasiLabel(verifPemb2)}${aksi}`; } $('#tabelListKonsultasi > tbody').html(isiTabel); } }else{ showToast('warning', msg.msg); } }); request.fail(function(jqXHR, textStatus) { $('#tabelListKonsultasi > tbody').html(`Gagal mengambil data, cek koneksi internet anda.`); showToast("error", serverErrorText); }); } function showToast(status, pesan) { $("body").toast({ class: status, message: pesan }); } function getVerifikasiLabel(verif){ if(verif){ return ``; }else{ return ``; } } function showTambahKonsultasiModal(){ $('#judulFormKonsultasi').html('Tambah Data Konsultasi'); $('#formKonsultasi').form('clear'); konsultasiModal.show('tambah'); initCalendarHari('dateKonsultasiCalendar'); $('#dateKonsultasiField').val(todayDMY); } function postTambahKonsultasi(){ if (!$("#formKonsultasi").form("validate form")) { return; } const allFields = $("#formKonsultasi").form("get values"); const topik = allFields.topikField; let formData = new FormData(); formData.append("token", token); formData.append("id", idTANow); formData.append("topik", topik); formData.append("tanggal", $('#dateKonsultasiField').val()); loader.show(); let request = $.ajax({ url: urlAPI + "/tambahKonsultasi.php", timeout: ajaxTimeout, type: "POST", data: formData, processData: false, contentType: false }); request.done(function(msg) { const status = msg.status; const pesan = msg.msg; loader.hide(); if(status === 1){ showToast('success', pesan); konsultasiModal.hide(); fillKonsultasiHistory(); }else{ showToast('warning', pesan); } }); request.fail(function(jqXHR, textStatus) { loader.hide(); showToast("error", serverErrorText); }); } function showEditKonsultasi(id){ $('#judulFormKonsultasi').html('Edit Data Konsultasi'); $('#formKonsultasi').form('clear'); $('#formKonsultasi').form('set values',{ topikField: dataKonsul[id].topik }); konsultasiModal.show('edit', id); initCalendarHari('dateKonsultasiCalendar'); $('#dateKonsultasiField').val(dataKonsul[id].waktu); } function showHapusKonsultasi(id){ const tanggalKonsul = dataKonsul[id].waktu; const topik = dataKonsul[id].topik; $('#isiDataHapus').html(`Data Konsultasi tanggal ${tanggalKonsul} dengan topik ${topik}?`); hapusDataModal.show(id); } function showDetailKonsultasi(id){ const konsultasi = dataKonsul[id]; const namaPemb1 = konsultasi.pemb1; const namaPemb2 = konsultasi.pemb2; const verifPemb1 = getVerifikasiLabel(konsultasi.verifPemb1); const verifPemb2 = getVerifikasiLabel(konsultasi.verifPemb2); let waktuPemb1 = konsultasi.waktuPemb1; let waktuPemb2 = konsultasi.waktuPemb2; const topik = konsultasi.topik; const konsulKe = konsultasi.konsulKe; const catatanPemb1 = konsultasi.catatanPemb1; const catatanPemb2 = konsultasi.catatanPemb2; if(!konsultasi.verifPemb1){ waktuPemb1 = '-'; } if(!konsultasi.verifPemb2){ waktuPemb2 = '-'; } $('#detailKonsulKe').html(konsulKe); $('#detailKonsulTopik').html(topik); $('#catatanPemb1').html(catatanPemb1); $('#catatanPemb2').html(catatanPemb2); $('#detailKonsulPemb1').html(`${namaPemb1}
Status Konsultasi : ${verifPemb1}
Waktu Verifikasi : ${waktuPemb1}`); $('#detailKonsulPemb2').html(`${namaPemb2}
Status Konsultasi : ${verifPemb2}
Waktu Verifikasi : ${waktuPemb2}`); $('#detailKonsultasiModal').modal({allowMultiple:true}).modal('show'); } function postEditKonsultasi(id){ if (!$("#formKonsultasi").form("validate form")) { return; } const allFields = $("#formKonsultasi").form("get values"); const topik = allFields.topikField; let formData = new FormData(); formData.append("token", token); formData.append("id", id); formData.append("topik", topik); formData.append("tanggal", $('#dateKonsultasiField').val()); loader.show(); let request = $.ajax({ url: urlAPI + "/editKonsultasi.php", timeout: ajaxTimeout, type: "POST", data: formData, processData: false, contentType: false }); request.done(function(msg) { const status = msg.status; const pesan = msg.msg; loader.hide(); if(status === 1){ showToast('success', pesan); konsultasiModal.hide(); fillKonsultasiHistory(); }else{ showToast('warning', pesan); } }); request.fail(function(jqXHR, textStatus) { loader.hide(); showToast("error", serverErrorText); }); } function postHapusKonsultasi(id){ let formData = new FormData(); formData.append("token", token); formData.append("id", id); loader.show(); let request = $.ajax({ url: urlAPI + "/hapusKonsultasi.php", timeout: ajaxTimeout, type: "POST", data: formData, processData: false, contentType: false }); request.done(function(msg) { const status = msg.status; const pesan = msg.msg; loader.hide(); if(status === 1){ showToast('success', pesan); hapusDataModal.hide(); fillKonsultasiHistory(); }else{ showToast('warning', pesan); } }); request.fail(function(jqXHR, textStatus) { loader.hide(); showToast("error", serverErrorText); }); } function getMyPengaturan(){ let formData = new FormData(); formData.append("token", token); loader.show(); let request = $.ajax({ url: urlAPI + "/getMyPengaturan.php", timeout: ajaxTimeout, type: "POST", data: formData, processData: false, contentType: false }); request.done(function(msg) { const status = msg.status; loader.hide(); if(status === 1){ const hp = msg.hp; const email = msg.email; $('#formPengaturan').form('set values',{ userEmail: email, userHP: hp }); }else{ const pesan = msg.msg; showToast('warning', pesan); } }); request.fail(function(jqXHR, textStatus) { loader.hide(); showToast("error", serverErrorText); }); } function postPengaturan(){ if (!$("#formPengaturan").form("validate form")) { return; } const allFields = $('#formPengaturan').form('get values'); let formData = new FormData(); formData.append("token", token); formData.append("email", allFields.userEmail); formData.append("hp", allFields.userHP); loader.show(); let request = $.ajax({ url: urlAPI + "/postPengaturan.php", timeout: ajaxTimeout, type: "POST", data: formData, processData: false, contentType: false }); request.done(function(msg) { loader.hide(); const status = msg.status; const pesan = msg.msg; if(status === 1){ showToast('success', pesan); }else{ showToast('warning', pesan); } }); request.fail(function(jqXHR, textStatus) { loader.hide(); showToast("error", serverErrorText); }); } function cetakB4(){ window.open(`../print/cetak_konsultasi_ta.php?id=${idTANow}`, '_blank'); } function initCalendarHari(idCalendar) { $(`#${idCalendar}`).calendar({ type: "date", monthFirst: false, formatter: { date: function (date, settings) { if (!date) return ""; var day = "" + date.getDate(); var month = "" + (date.getMonth() + 1); var year = date.getFullYear(); if (day.length == 1) { day = "0" + day; } if (month.length == 1) { month = "0" + month; } return day + "-" + month + "-" + year; }, }, popupOptions: { position: "bottom left", forcePosition: true, lastResort: "bottom left", prefer: "opposite", hideOnScroll: false, }, }).calendar('set date', new Date());; }