966 lines
27 KiB
JavaScript
966 lines
27 KiB
JavaScript
const noDataTextTabel = "No data available in table";
|
|
const serverErrorText =
|
|
"Gagal terhubung ke Server, cek koneksi internet anda!!!";
|
|
const ajaxTimeout = 15000;
|
|
let idTANow, idKPNow;
|
|
let dataKonsul = [];
|
|
let dataKonsulKP = [];
|
|
let dataKP = [];
|
|
let tabelTugasAkhir, tabelKerjaPraktek, tabelKerjaPraktekKP;
|
|
let isPembKPNow = false;
|
|
|
|
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 verifKonsultasiModal = {
|
|
show: (idKonsultasi) => {
|
|
$("#verifikasiModal")
|
|
.modal({
|
|
autofocus: false,
|
|
onApprove: function() {
|
|
postVerifKonsultasi(idKonsultasi);
|
|
return false;
|
|
},
|
|
allowMultiple: true
|
|
})
|
|
.modal("show");
|
|
},
|
|
hide: () => {
|
|
$("#verifikasiModal").modal("hide");
|
|
}
|
|
};
|
|
|
|
const verifikasiKPModal = {
|
|
show: (idKonsultasi) => {
|
|
$("#verifikasiKPModal")
|
|
.modal({
|
|
onApprove: function() {
|
|
postVerifKonsultasiKP(idKonsultasi);
|
|
return false;
|
|
},
|
|
allowMultiple: true
|
|
})
|
|
.modal("show");
|
|
},
|
|
hide: () => {
|
|
$("#verifikasiKPModal").modal("hide");
|
|
}
|
|
};
|
|
|
|
$(document).ready(function() {
|
|
document.getElementById("x").click();
|
|
setInterval(refreshSession, 60 * 1000);
|
|
$('.ui.dropdown').dropdown();
|
|
$('.ui.radio.checkbox').checkbox();
|
|
$('#tabKerjaPraktek .item').tab();
|
|
});
|
|
|
|
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";
|
|
refreshTabelTugasAkhir();
|
|
break;
|
|
case "kerjaPraktek":
|
|
judul = "Kerja Praktek";
|
|
refreshTabelKerjaPraktek();
|
|
refreshTabelKerjaPraktekPembKP();
|
|
break;
|
|
|
|
}
|
|
|
|
$("#judulMenu").html(judul);
|
|
}
|
|
|
|
function openLogoutModal() {
|
|
sideBar();
|
|
logoutModal.show();
|
|
}
|
|
|
|
|
|
function refreshTabelKerjaPraktek() {
|
|
const verif = $('#kerjaPraktekDropdown').val();
|
|
const urlTabelKerjaPraktek =
|
|
urlDataTable +`/data_kerja_praktek.php?pa&verif=${verif}`;
|
|
|
|
if (tabelKerjaPraktek == null) {
|
|
tabelKerjaPraktek = $("#tabelKerjaPraktek").dataTable({
|
|
ajax: urlTabelKerjaPraktek,
|
|
processing: true,
|
|
serverSide: true,
|
|
contentType: "application/json",
|
|
ordering: false,
|
|
sortable: false,
|
|
oLanguage: {
|
|
sSearch: "Nama/ NIM Mahasiswa:"
|
|
},
|
|
autoWidth: false,
|
|
columns: [
|
|
{ data: "0" },
|
|
{
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
return `${full[17]}<br>NIM : ${full[18]}`;
|
|
}
|
|
},
|
|
{
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
return `${full[3]} - ${full[4]}`;
|
|
}
|
|
},
|
|
{
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
return `${full[1]} ${getLabelKPBaru(full[26])}<br><div style="font-size:10px"><b>Waktu Input</b> : ${full[12]}<br><b>Waktu Verifikasi Dosen PA</b> : ${full[13]}<br><b>Waktu Verifikasi Admin</b> : ${full[22]}</div>`;
|
|
}
|
|
},
|
|
{
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
return `${full[2]}`;
|
|
}
|
|
},
|
|
{
|
|
data: 6,
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
return getLabelSetuju(data) ;
|
|
}
|
|
},
|
|
{
|
|
data: 7,
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
dataKP[data] = full;
|
|
const isPembimbingKP = full[20];
|
|
const isPembimbingPA = full[21];
|
|
const status = full[6];
|
|
if(isPembimbingKP){
|
|
return `<button class="ui icon blue button" onClick="showVerifKP(${data})" title="Lihat Data Kerja Praktek" >
|
|
<i class="eye icon"></i>
|
|
</button>`;
|
|
}else{
|
|
if(status == "0"){
|
|
return `<button class="ui icon green button" onClick="showVerifKP(${data})" title="Verifikasi Data Kerja Praktek" >
|
|
<i class="check icon"></i>
|
|
</button>`;
|
|
}else{
|
|
return `<button class="ui icon blue button" onClick="showVerifKP(${data})" title="Lihat Data Kerja Praktek" >
|
|
<i class="eye icon"></i>
|
|
</button>`;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
]
|
|
});
|
|
} else {
|
|
tabelKerjaPraktek
|
|
.api()
|
|
.ajax.url(urlTabelKerjaPraktek)
|
|
.load();
|
|
}
|
|
}
|
|
|
|
function refreshTabelKerjaPraktekPembKP(){
|
|
const verif = $('#kerjaPraktekKPDropdown').val();
|
|
const urlTabelKerjaPraktek =
|
|
urlDataTable +`/data_kerja_praktek.php?kp&verif=${verif}`;
|
|
|
|
if (tabelKerjaPraktekKP == null) {
|
|
tabelKerjaPraktekKP = $("#tabelKPKerjaPraktek").dataTable({
|
|
ajax: urlTabelKerjaPraktek,
|
|
processing: true,
|
|
serverSide: true,
|
|
contentType: "application/json",
|
|
ordering: false,
|
|
sortable: false,
|
|
oLanguage: {
|
|
sSearch: "Nama/ NIM Mahasiswa:"
|
|
},
|
|
autoWidth: false,
|
|
columns: [
|
|
{ data: "0" },
|
|
{
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
return `${full[17]}<br>NIM : ${full[18]}`;
|
|
}
|
|
},
|
|
{
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
return `${full[3]} - ${full[4]}`;
|
|
}
|
|
},
|
|
{
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
return `${full[1]} ${getLabelKPBaru(full[26])}`;
|
|
}
|
|
},
|
|
{
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
return `${full[2]}`;
|
|
}
|
|
},
|
|
{
|
|
data: 23,
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
return getLabelStatusProposal(data, full[24]) ;
|
|
}
|
|
},
|
|
{
|
|
data: 7,
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
dataKP[data] = full;
|
|
const isPembimbingKP = full[20];
|
|
const isPembimbingPA = full[21];
|
|
const status = full[23];
|
|
if(!isPembimbingKP){
|
|
return `<button class="ui icon blue button" onClick="showVerifKP(${data}, 'kp')" title="Lihat Data Kerja Praktek" >
|
|
<i class="eye icon"></i>
|
|
</button>`;
|
|
}else{
|
|
if(status == "0"){
|
|
return `<button class="ui icon green button" onClick="showVerifKP(${data}, 'kp')" title="Verifikasi Proposal Kerja Praktek" >
|
|
<i class="check icon"></i>
|
|
</button>`;
|
|
}else{
|
|
return `<button class="ui icon blue button" onClick="showVerifKP(${data}, 'kp')" title="Lihat Data Kerja Praktek" >
|
|
<i class="eye icon"></i>
|
|
</button>`;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
]
|
|
});
|
|
} else {
|
|
tabelKerjaPraktekKP
|
|
.api()
|
|
.ajax.url(urlTabelKerjaPraktek)
|
|
.load();
|
|
}
|
|
}
|
|
|
|
function getLabelSetuju(setuju){
|
|
switch(setuju){
|
|
case "0" : return `<label class="ui grey label">Belum Disetujui</label>`;
|
|
case "1" : return `<label class="ui green label">Disetujui</label>`;
|
|
case "2" : return `<label class="ui red label">Ditolak</label>`;
|
|
default : return `-`;
|
|
}
|
|
}
|
|
|
|
function getLabelStatusProposal(statusProposal, fileProposal){
|
|
if(fileProposal == null || fileProposal == ''){
|
|
return `<label class="ui grey label">Belum Diupload</label>`
|
|
}else{
|
|
switch(statusProposal){
|
|
case "0" : return `<label class="ui yellow label">Belum Diproses</label>`;
|
|
case "1" : return `<label class="ui green label">Disetujui</label>`;
|
|
case "2" : return `<label class="ui red label">Ditolak</label>`;
|
|
default : return `-`;
|
|
}
|
|
}
|
|
}
|
|
function refreshTabelTugasAkhir() {
|
|
const order = $('#orderTugasAkhir').val();
|
|
const selesai = $('#selesaiTugasAkhir').val();
|
|
const urlTabelTugasAkhir =
|
|
urlDataTable +`/data_tugas_akhir.php?orderBy=${order}&selesai=${selesai}`;
|
|
|
|
if (tabelTugasAkhir == null) {
|
|
tabelTugasAkhir = $("#tabelTugasAkhir").dataTable({
|
|
ajax: urlTabelTugasAkhir,
|
|
processing: true,
|
|
serverSide: true,
|
|
contentType: "application/json",
|
|
ordering: false,
|
|
sortable: false,
|
|
oLanguage: {
|
|
sSearch: "Judul TA/ Nama/ NIM Mahasiswa:"
|
|
},
|
|
autoWidth: false,
|
|
columns: [
|
|
{ data: "0" },
|
|
{
|
|
data: "1",
|
|
render: function(data, type, full, meta) {
|
|
return `${data} ${getLabelSelesai(full[6])}`;
|
|
}
|
|
},
|
|
{ data: "2" },
|
|
{ data: "3" },
|
|
{ data: "4" },
|
|
{
|
|
sortable: false,
|
|
render: function(data, type, full, meta) {
|
|
return `<button class="ui icon blue button" onClick="showDetailTugasAkhir(${data})" title="Lihat Detail Tugas Akhir" >
|
|
<i class="eye icon"></i>
|
|
</button>`;
|
|
}
|
|
}
|
|
]
|
|
});
|
|
} else {
|
|
tabelTugasAkhir
|
|
.api()
|
|
.ajax.url(urlTabelTugasAkhir)
|
|
.load();
|
|
}
|
|
}
|
|
|
|
|
|
function showDetailTugasAkhir(idTA){
|
|
let formData = new FormData();
|
|
formData.append("token", token);
|
|
formData.append("id", idTA);
|
|
formData.append("tipe", "dosen");
|
|
|
|
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;
|
|
const hp = data.hp;
|
|
const email = data.email;
|
|
|
|
let aksiUser = '';
|
|
if(!(hp == '' || hp == null)){
|
|
aksiUser += `<a href="https://web.whatsapp.com/send?phone=62${hp}" target="_blank"><button class="ui circular whatsapp icon button">
|
|
<i class="whatsapp icon"></i>
|
|
</button></a>`;
|
|
}
|
|
|
|
if(!(email == '' || email == null)){
|
|
aksiUser += `<a href="mailto:${email}" target="_blank"><button class="ui circular red icon button">
|
|
<i class="mail icon"></i>
|
|
</button></a>`;
|
|
}
|
|
|
|
$('#namaMahasiswaTugasAkhir').html(`${mahasiswa}<br><b>(${nim})</b>`);
|
|
$('#callMahasiswa').html(`HP : ${hp} / Email : ${email}`);
|
|
$('#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) {
|
|
showToast("error", serverErrorText);
|
|
});
|
|
}
|
|
|
|
function fillKonsultasiHistory(){
|
|
dataKonsul = [];
|
|
const idTA = idTANow;
|
|
let formData = new FormData();
|
|
formData.append("token", token);
|
|
formData.append("id", idTA);
|
|
formData.append("tipe", "dosen");
|
|
|
|
$('#tabelListKonsultasi > tbody').html(`<tr><td colspan="6" style="text-align:center"><div class="ui active centered inline blue loader"></div></td></tr>`);
|
|
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(`<tr><td colspan="6" style="text-align:center">Tidak Ada Data</td></tr>`);
|
|
}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;
|
|
|
|
if(isPembKPNow){
|
|
editable = false;
|
|
}
|
|
|
|
let aksi = `<button class="ui blue icon button" title="Detail Konsultasi" onClick="showDetailKonsultasi(${id})"><i class="eye icon"></i></button> `;
|
|
if(editable){
|
|
aksi += `<button class="ui green icon button" title="Verifikasi Konsultasi Ini" onClick="verifKonsultasi(${id})"><i class="check icon"></i></button>`;
|
|
}else{
|
|
aksi += `<button class="ui yellow icon button" title="Edit Verifikasi Konsultasi Ini" onClick="verifKonsultasi(${id})"><i class="pen icon"></i></button>`;
|
|
}
|
|
isiTabel += `<tr><td>${no}</td><td>${waktu}</td><td><span class="giveMeEllipsis" style="white-space: pre-line">${topik}</span></td><td>${getVerifikasiLabel(verifPemb1)}</td><td>${getVerifikasiLabel(verifPemb2)}</td><td>${aksi}</td></tr>`;
|
|
}
|
|
$('#tabelListKonsultasi > tbody').html(isiTabel);
|
|
}
|
|
}else{
|
|
showToast('warning', msg.msg);
|
|
}
|
|
});
|
|
|
|
request.fail(function(jqXHR, textStatus) {
|
|
$('#tabelListKonsultasi > tbody').html(`<tr><td colspan="6" style="text-align:center">Gagal mengambil data, cek koneksi internet anda.</td></tr>`);
|
|
showToast("error", serverErrorText);
|
|
});
|
|
}
|
|
|
|
function fillKonsultasiKPHistory(){
|
|
dataKonsulKP = [];
|
|
const idKP = idKPNow;
|
|
let formData = new FormData();
|
|
formData.append("token", token);
|
|
formData.append("id", idKP);
|
|
formData.append("tipe", "dosen");
|
|
|
|
$('#tabelListKonsultasiKP > tbody').html(`<tr><td colspan="6" style="text-align:center"><div class="ui active centered inline blue loader"></div></td></tr>`);
|
|
let request = $.ajax({
|
|
url: "https://informatika.untan.ac.id/API/KP/getKonsultasiHistory.php?dosen",
|
|
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){
|
|
$('#tabelListKonsultasiKP > tbody').html(`<tr><td colspan="6" style="text-align:center">Tidak Ada Data</td></tr>`);
|
|
}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 verifPemb = konsultasi.verifPemb;
|
|
|
|
const no = i + 1;
|
|
konsultasi.konsulKe = no;
|
|
dataKonsulKP[id] = konsultasi;
|
|
let aksi = `<button class="ui blue icon button" title="Detail Konsultasi" onClick="showDetailKonsultasiKP(${id})"><i class="eye icon"></i></button> `;
|
|
if(editable){
|
|
aksi += `<button class="ui green icon button" title="Verifikasi Konsultasi Ini" onClick="verifKonsultasiKP(${id})"><i class="check icon"></i></button>`;
|
|
}
|
|
isiTabel += `<tr><td>${no}</td><td>${waktu}</td><td><span class="giveMeEllipsis">${topik}</span></td><td>${getVerifikasiLabel(verifPemb)}</td><td>${aksi}</td></tr>`;
|
|
}
|
|
$('#tabelListKonsultasiKP > tbody').html(isiTabel);
|
|
}
|
|
}else{
|
|
showToast('warning', msg.msg);
|
|
}
|
|
});
|
|
|
|
request.fail(function(jqXHR, textStatus) {
|
|
$('#tabelListKonsultasiKP > tbody').html(`<tr><td colspan="6" style="text-align:center">Gagal mengambil data, cek koneksi internet anda.</td></tr>`);
|
|
showToast("error", serverErrorText);
|
|
});
|
|
}
|
|
|
|
function verifKonsultasi(id){
|
|
const konsultasi = dataKonsul[id];
|
|
const tanggal = konsultasi.waktu;
|
|
const topik = konsultasi.topik;
|
|
let catatan = '';
|
|
if(konsultasi.isPemb1){
|
|
catatan = konsultasi.catatanPemb1;
|
|
}
|
|
|
|
if(konsultasi.isPemb2){
|
|
catatan = konsultasi.catatanPemb2;
|
|
}
|
|
|
|
if(catatan == "Tidak Ada Catatan"){
|
|
catatan = "";
|
|
}
|
|
|
|
$('#catatanVerif').html('');
|
|
$('#contentVerif').html(`Konsultasi tanggal ${tanggal} dengan topik:\n ${topik}?`);
|
|
verifKonsultasiModal.show(id);
|
|
|
|
initCalendarHari('dateKonsultasiCalendar');
|
|
$('#dateKonsultasiField').val(tanggal);
|
|
$('#catatanVerif').val(catatan)
|
|
}
|
|
|
|
function verifKonsultasiKP(id){
|
|
const konsultasi = dataKonsulKP[id];
|
|
const tanggal = konsultasi.waktu;
|
|
const topik = konsultasi.topik;
|
|
|
|
$('#catatanVerifKP').html('');
|
|
$('#contentVerifKP').html(`Konsultasi tanggal ${tanggal} dengan topik:\n ${topik}?`);
|
|
verifikasiKPModal.show(id);
|
|
|
|
initCalendarHari('dateKonsultasiCalendarKP');
|
|
$('#dateKonsultasiFieldKP').val(tanggal);
|
|
}
|
|
|
|
function showToast(status, pesan) {
|
|
$("body").toast({
|
|
class: status,
|
|
message: pesan
|
|
});
|
|
}
|
|
|
|
function getVerifikasiLabel(verif){
|
|
if(verif){
|
|
return `<label class="ui green label">SUDAH</label>`;
|
|
}else{
|
|
return `<label class="ui grey label">BELUM</label>`;
|
|
}
|
|
}
|
|
|
|
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}<br>Status Konsultasi : ${verifPemb1}<br>Waktu Verifikasi : ${waktuPemb1}`);
|
|
$('#detailKonsulPemb2').html(`${namaPemb2}<br>Status Konsultasi : ${verifPemb2}<br>Waktu Verifikasi : ${waktuPemb2}`);
|
|
$('#detailKonsultasiModal').modal({allowMultiple:true}).modal('show');
|
|
}
|
|
|
|
function showDetailKonsultasiKP(id){
|
|
const konsultasi = dataKonsulKP[id];
|
|
let verifPemb = getVerifikasiLabel(konsultasi.verifPemb);
|
|
let waktuPemb = konsultasi.waktuPemb;
|
|
const topik = konsultasi.topik;
|
|
const konsulKe = konsultasi.konsulKe;
|
|
const catatanPemb = konsultasi.catatanDosen;
|
|
|
|
// if(!konsultasi.verifPemb){
|
|
// verifPemb = '-';
|
|
// }
|
|
|
|
$('#detailKonsulKeKP').html(konsulKe);
|
|
$('#detailKonsulTopikKP').html(topik);
|
|
$('#catatanPembKP').html(catatanPemb);
|
|
$('#detailKonsulPembKP').html(`${verifPemb}<br>Waktu Verifikasi : ${waktuPemb}`);
|
|
$('#detailKonsultasiKPModal').modal({allowMultiple:true}).modal('show');
|
|
}
|
|
|
|
|
|
|
|
function postVerifKonsultasi(id){
|
|
const catatanVerif = $('#catatanVerif').val();
|
|
let formData = new FormData();
|
|
formData.append("token", token);
|
|
formData.append("id", id);
|
|
formData.append("catatan", catatanVerif);
|
|
formData.append("tanggal", $("#dateKonsultasiField").val());
|
|
|
|
loader.show();
|
|
let request = $.ajax({
|
|
url: urlAPI + "/verifKonsultasi.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);
|
|
verifKonsultasiModal.hide();
|
|
fillKonsultasiHistory();
|
|
}else{
|
|
showToast('warning', pesan);
|
|
}
|
|
});
|
|
|
|
request.fail(function(jqXHR, textStatus) {
|
|
showToast("error", serverErrorText);
|
|
});
|
|
}
|
|
|
|
function postVerifKonsultasiKP(id){
|
|
const catatanVerif = $('#catatanVerifKP').val();
|
|
let formData = new FormData();
|
|
formData.append("token", token);
|
|
formData.append("id", id);
|
|
formData.append("catatan", catatanVerif);
|
|
formData.append("tanggal", $("#dateKonsultasiFieldKP").val());
|
|
|
|
loader.show();
|
|
let request = $.ajax({
|
|
url: urlAPI + "/verifKonsultasiKP.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);
|
|
verifikasiKPModal.hide();
|
|
fillKonsultasiKPHistory();
|
|
}else{
|
|
showToast('warning', pesan);
|
|
}
|
|
});
|
|
|
|
request.fail(function(jqXHR, textStatus) {
|
|
showToast("error", serverErrorText);
|
|
});
|
|
}
|
|
|
|
function showVerifKP(idKP, tipeView = 'pa'){
|
|
idKPNow = idKP;
|
|
const kp = dataKP[idKP];
|
|
const isPembimbingKP = kp[20];
|
|
const isPembimbingPA = kp[21];
|
|
isPembKPNow = isPembimbingKP;
|
|
|
|
$('#namaKPDetail').html(`${kp[17]}`);
|
|
$('#nimKPDetail').html(`${kp[18]}`);
|
|
$('#telpKPDetail').html(`${kp[27]} / ${kp[28]}`);
|
|
$('#emailKPDetail').html(`${kp[29]}`);
|
|
$('#periodeKPDetail').html(`${kp[3]} - ${kp[4]}`);
|
|
$('#pembimbingLapanganKPDetail').html(kp[5]);
|
|
$('#verifPAKPDetail').html(getLabelSetuju(kp[6]));
|
|
$('#verifAdminKPDetail').html(getLabelSetuju(kp[16]));
|
|
$('#kptopikDetail').html(kp[1]);
|
|
$('#kpdeskripsiDetail').html(kp[10]);
|
|
$('#kpnamaInstansiDetail').html(kp[2]);
|
|
$('#kpnamaPimpinanDetail').html(kp[14]);
|
|
$('#kpalamatInstansiDetail').html(kp[15]);
|
|
$('#kpnamaNarahubungDetail').html(kp[8]);
|
|
$('#kptelpNarahubungDetail').html(kp[9]);
|
|
$('#kpCatatanDetail').html(kp[11]);
|
|
$('#statusProposalKPDetail').html(getLabelStatusProposal(kp[23], kp[24]));
|
|
$('#fileProposalKPDetail').html(getDownloadFileButton(kp[24]));
|
|
|
|
$('#formKP').form('clear');
|
|
$('#formKP').form('set values',{
|
|
verifikasiKP: kp[6],
|
|
catatanKP: kp[19],
|
|
verifikasiProposalKP: kp[23],
|
|
catatanProposalKP: kp[25]
|
|
});
|
|
|
|
|
|
$('#kerjaPraktekDetailModal').modal({allowMultiple:true, autofocus: false}).modal('show');
|
|
|
|
$('#verifikasiPembKP').hide();
|
|
|
|
if(tipeView == "pa"){
|
|
$('#verifikasiPAKP').show();
|
|
}else{
|
|
if(kp[24] != null && kp[24] != ''){
|
|
$('#verifikasiPembKP').show();
|
|
}
|
|
|
|
$('#verifikasiPAKP').hide();
|
|
}
|
|
|
|
fillKonsultasiKPHistory();
|
|
}
|
|
|
|
function simpanVerifKP(){
|
|
const allFields = $('#formKP').form('get values');
|
|
const verif = allFields.verifikasiKP;
|
|
const catatan = allFields.catatanKP;
|
|
|
|
if(verif == undefined || verif == ""){
|
|
showToast('warning', "Status Verifikasi harus diisi");
|
|
return;
|
|
}
|
|
|
|
let formData = new FormData();
|
|
formData.append("token", token);
|
|
formData.append("id", idKPNow);
|
|
formData.append("verif", verif);
|
|
formData.append("catatan", catatan);
|
|
|
|
loader.show();
|
|
let request = $.ajax({
|
|
url: urlAPI + "/verifKP.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);
|
|
$('#kerjaPraktekDetailModal').modal('hide');
|
|
refreshTabelKerjaPraktek();
|
|
}else{
|
|
showToast('warning', pesan);
|
|
}
|
|
});
|
|
|
|
request.fail(function(jqXHR, textStatus) {
|
|
showToast("error", serverErrorText);
|
|
});
|
|
}
|
|
|
|
function simpanVerifProposalKP(){
|
|
const allFields = $('#formKP').form('get values');
|
|
const verif = allFields.verifikasiProposalKP;
|
|
const catatan = allFields.catatanProposalKP;
|
|
|
|
if(verif == undefined || verif == ""){
|
|
showToast('warning', "Status Verifikasi harus diisi");
|
|
return;
|
|
}
|
|
|
|
let formData = new FormData();
|
|
formData.append("token", token);
|
|
formData.append("id", idKPNow);
|
|
formData.append("verif", verif);
|
|
formData.append("catatan", catatan);
|
|
|
|
loader.show();
|
|
let request = $.ajax({
|
|
url: urlAPI + "/verifProposalKP.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);
|
|
$('#kerjaPraktekDetailModal').modal('hide');
|
|
refreshTabelKerjaPraktekPembKP();
|
|
}else{
|
|
showToast('warning', pesan);
|
|
}
|
|
});
|
|
|
|
request.fail(function(jqXHR, textStatus) {
|
|
showToast("error", serverErrorText);
|
|
});
|
|
}
|
|
|
|
function getDownloadFileButton(urlFile){
|
|
if(urlFile == null || urlFile == ''){
|
|
return `<label class="ui grey label">Tidak Ada File</label>`;
|
|
}else{
|
|
return `<a href="${urlFile}" target="_blank"><label class="ui small blue button">Lihat File</label></a>`;
|
|
}
|
|
}
|
|
|
|
function getLabelKPBaru(val){
|
|
if(val != undefined && val != null){
|
|
val = Number(val);
|
|
if(val > 0){
|
|
return `<label class="ui blue label">Lanjutan</label>`;
|
|
}
|
|
}
|
|
|
|
return "";
|
|
}
|
|
|
|
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());;
|
|
}
|
|
|
|
function cetakB4(){
|
|
window.open(`../print/cetak_konsultasi_ta.php?dosen&id=${idTANow}`, '_blank');
|
|
}
|
|
|
|
function getLabelSelesai(status){
|
|
if(status == 1){
|
|
return `<label class="ui tiny green label">Selesai</label>`;
|
|
}
|
|
|
|
return ``;
|
|
} |