Add consultation module assets and libraries
This commit is contained in:
0
konsultasi/dosen/css/index.php
Normal file
0
konsultasi/dosen/css/index.php
Normal file
88
konsultasi/dosen/css/style.css
Normal file
88
konsultasi/dosen/css/style.css
Normal file
@@ -0,0 +1,88 @@
|
||||
.giveMeEllipsis {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* number of lines to show */
|
||||
}
|
||||
|
||||
.blueBackground{
|
||||
background-color: #F1F8FB !important;
|
||||
}
|
||||
|
||||
.backgroundLoader{
|
||||
position:fixed;
|
||||
height:100%;
|
||||
width:100%;
|
||||
top:0;
|
||||
left:0;
|
||||
margin:0rem 0rem ;
|
||||
z-index:2000 ;
|
||||
}
|
||||
|
||||
.addSubHeaderMargin{
|
||||
margin-top: 0.5rem !important;
|
||||
}
|
||||
|
||||
.fitButton{
|
||||
background-color : transparent;
|
||||
border-color : transparent;
|
||||
}
|
||||
|
||||
.contentContainer{
|
||||
margin-top:80px;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 678px) {
|
||||
.contentContainer {
|
||||
margin-top:170px;
|
||||
}
|
||||
}
|
||||
|
||||
.blueColor {
|
||||
color: #2185D0 !important;
|
||||
}
|
||||
|
||||
.overlayMap{
|
||||
position:absolute;
|
||||
left:0 ;
|
||||
top:0;
|
||||
margin-top :1rem;
|
||||
margin-left :1rem;
|
||||
margin-bottom :1rem;
|
||||
width:97%;
|
||||
height:80vh;
|
||||
background-color:black;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.middleText{
|
||||
color:white;
|
||||
opacity: 1;
|
||||
font-weight: 900;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.fixedKoordinatMap{
|
||||
height :200px;
|
||||
}
|
||||
|
||||
#mapEditTitikKoordinat .centerMarker{
|
||||
position:absolute;
|
||||
/*url of the marker*/
|
||||
background:url(http://maps.gstatic.com/mapfiles/markers2/marker.png) no-repeat;
|
||||
/*center the marker*/
|
||||
top:50%;left:50%;
|
||||
z-index:1;
|
||||
/*fix offset when needed*/
|
||||
margin-left:-10px;
|
||||
margin-top:-34px;
|
||||
/*size of the image*/
|
||||
height:34px;
|
||||
width:20px;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
168
konsultasi/dosen/index.php
Normal file
168
konsultasi/dosen/index.php
Normal file
@@ -0,0 +1,168 @@
|
||||
<?php
|
||||
session_start();
|
||||
include '../conf/class.server.php';
|
||||
include '../conf/function.php';
|
||||
include '../conf/koneksiPDO.php';
|
||||
|
||||
$server = new Server();
|
||||
|
||||
if (!isset($_SESSION['konsulDosen'])) {
|
||||
$loginPage = $server->getLoginPage();
|
||||
header('Location: '.$loginPage);
|
||||
exit();
|
||||
}
|
||||
$dataUser = $_SESSION['konsulDosen'];
|
||||
|
||||
$token = $dataUser['token'];
|
||||
$namaUser = $dataUser['nama'];
|
||||
|
||||
$urlAPI = $server->getAPIUrl();
|
||||
$urlDataTable = $server->getDataTableURL();
|
||||
$urlBerkas = $server->getBerkasUrl();
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
<link rel="shortcut icon" href="../assets/logo-small.png" />
|
||||
<title>Konsultasi Skripsi - Dosen</title>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="../libs/Fomantic-UI/semantic.css"
|
||||
type="text/css"
|
||||
charset="utf-8"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="../libs/DataTable/datatables.min.css"
|
||||
type="text/css"
|
||||
charset="utf-8"
|
||||
/>
|
||||
<link href="css/style.css" rel="stylesheet" type="text/css" />
|
||||
<script>
|
||||
const todayDate = "<?php echo date('d-m-Y'); ?>";
|
||||
const todayPeriode = "<?php echo date('m-Y'); ?>";
|
||||
const token = "<?php echo $token; ?>";
|
||||
const namaUser = "<?php echo $namaUser; ?>";
|
||||
const urlAPI = "<?php echo $urlAPI; ?>";
|
||||
const urlDataTable = "<?php echo $urlDataTable; ?>";
|
||||
const urlBerkas = "<?php echo $urlBerkas; ?>";
|
||||
</script>
|
||||
<script src="../libs/jquery-3.3.1.js"></script>
|
||||
<script src="../libs/Fomantic-UI/semantic.min.js"></script>
|
||||
<script src="../libs/DataTable/datatables.min.js"></script>
|
||||
<script type="text/javascript" src="../libs/Chartjs/dist/Chart.bundle.min.js"></script>
|
||||
<script src="js/4eed0cb4b7d8326b9cc764890ea2a342.js?v=0.0.9"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div
|
||||
class="ui segment"
|
||||
style="position:fixed;height:100%;width:100%;display:none;top:0;left:0;margin:0rem 0rem !important;z-index:2000 !important"
|
||||
id="loaderSegment"
|
||||
>
|
||||
<div class="ui active inverted dimmer">
|
||||
<div class="ui large blue text loader">
|
||||
<h3 class="ui blue header">Tunggu Sebentar . . .</h3>
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p></p>
|
||||
</div>
|
||||
|
||||
<div class="ui sidebar vertical menu">
|
||||
<a class="disabled item">
|
||||
<h2 class="ui small header" style="width:100%">
|
||||
<img src="../assets/untan.svg" alt="Logo UNTAN" class="ui image" />
|
||||
<div class="blueColor content">
|
||||
<div class="sub header">Teknik Informatika UNTAN</div>
|
||||
</div>
|
||||
</h2>
|
||||
</a>
|
||||
<a onClick="openTab(event,'konsultasi')" name="tabLinks" id="x" class="item">
|
||||
Konsultasi Tugas Akhir
|
||||
</a>
|
||||
<a onClick="openTab(event,'kerjaPraktek')" name="tabLinks" id="x" class="item" style="display:none">
|
||||
Kerja Praktek
|
||||
</a>
|
||||
<a onClick="openLogoutModal()" name="tabLinks" class="item">
|
||||
Logout
|
||||
</a>
|
||||
</div>
|
||||
<div class="pusher blueBackground">
|
||||
<div
|
||||
class="ui sticky vertically fitted segment"
|
||||
style="position:fixed;width:100% !important;padding:0em 0em;margin:0"
|
||||
>
|
||||
<div
|
||||
class="ui secondary stackable menu"
|
||||
id="menuDiv"
|
||||
style="width:100%"
|
||||
>
|
||||
<a class="item" onClick="sideBar()" id="burgerDiv">
|
||||
<span class="ui large blue text"><i class="sidebar icon"></i></span>
|
||||
</a>
|
||||
<a class="disabled item"
|
||||
><h2 class="ui blue header" id="judulMenu">-</h2></a
|
||||
>
|
||||
<div class="right menu">
|
||||
<a class="disabled blueColor item"
|
||||
><h3 class="ui blue header"><?php echo $namaUser; ?></h3></a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<?php
|
||||
include 'layout/_konsultasi.php';
|
||||
|
||||
include 'layout/_kerjaPraktek.php';
|
||||
?>
|
||||
</div>
|
||||
|
||||
<div class="ui small modal" id="hapusDataModal">
|
||||
<i class="close icon"></i>
|
||||
<div class="redHukum header">
|
||||
Hapus Data Ini?
|
||||
</div>
|
||||
<div class="content">
|
||||
<h2 class="ui center aligned icon header">
|
||||
<i class="ui red trash icon"></i>
|
||||
<div class="content">
|
||||
Hapus Data Ini?
|
||||
<div class="sub header" id="isiDataHapus"></div>
|
||||
</div>
|
||||
</h2>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui cancel button">BATAL</div>
|
||||
<div class="ui approve red button">HAPUS</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui small modal" id="logoutModal">
|
||||
<i class="close icon"></i>
|
||||
<div class="header">
|
||||
Logout
|
||||
</div>
|
||||
<div class="content">
|
||||
<h2 class="ui center aligned icon header">
|
||||
<i class="grey sign out alternate icon"></i>
|
||||
<div class="content">
|
||||
Apakah anda ingin logout?
|
||||
</div>
|
||||
</h2>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui cancel button">BATAL</div>
|
||||
<div class="ui positive button">YA</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
966
konsultasi/dosen/js/4eed0cb4b7d8326b9cc764890ea2a342.js
Normal file
966
konsultasi/dosen/js/4eed0cb4b7d8326b9cc764890ea2a342.js
Normal file
@@ -0,0 +1,966 @@
|
||||
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 ``;
|
||||
}
|
||||
0
konsultasi/dosen/js/index.php
Normal file
0
konsultasi/dosen/js/index.php
Normal file
297
konsultasi/dosen/layout/_kerjaPraktek.php
Normal file
297
konsultasi/dosen/layout/_kerjaPraktek.php
Normal file
@@ -0,0 +1,297 @@
|
||||
<div class="ui container" name="tabContent" id="kerjaPraktek">
|
||||
<div class="ui segment">
|
||||
<h3 class="ui blue header">Kerja Praktek</h3>
|
||||
<div class="ui top attached tabular menu" id="tabKerjaPraktek">
|
||||
<a class="disabled item" style="color:#2185D0;font-weight:bold">Sebagai : </a>
|
||||
<a class="active item" data-tab="dosenPA">Dosen PA</a>
|
||||
<a class="item" data-tab="dosenKP">Dosen Pemb. KP</a>
|
||||
</div>
|
||||
<div class="ui bottom attached active tab segment" data-tab="dosenPA">
|
||||
<div style="margin-bottom:1rem">Tampilkan:
|
||||
<select id="kerjaPraktekDropdown" class="ui dropdown" onChange="refreshTabelKerjaPraktek()">
|
||||
<option value="all">Semua</option>
|
||||
<option value="0">Belum Disetujui</option>
|
||||
<option value="1">Disetujui</option>
|
||||
<option value="2">Ditolak</option>
|
||||
</select>
|
||||
</div>
|
||||
<table class="ui selected celled blue table" id="tabelKerjaPraktek">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No.</th>
|
||||
<th>Mahasiswa</th>
|
||||
<th>Periode</th>
|
||||
<th>Topik</th>
|
||||
<th>Instansi</th>
|
||||
<th>Status</th>
|
||||
<th class="one wide">Aksi</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="ui bottom attached tab segment" data-tab="dosenKP">
|
||||
<div style="margin-bottom:1rem">Tampilkan:
|
||||
<select id="kerjaPraktekKPDropdown" class="ui dropdown" onChange="refreshTabelKerjaPraktekPembKP()">
|
||||
<option value="all">Semua</option>
|
||||
<option value="0">Belum Disetujui</option>
|
||||
<option value="1">Disetujui</option>
|
||||
<option value="2">Ditolak</option>
|
||||
</select>
|
||||
</div>
|
||||
<table class="ui selected celled blue table" id="tabelKPKerjaPraktek">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No.</th>
|
||||
<th>Mahasiswa</th>
|
||||
<th>Periode</th>
|
||||
<th>Topik</th>
|
||||
<th>Instansi</th>
|
||||
<th>Status Proposal</th>
|
||||
<th class="one wide">Aksi</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui fullscreen modal" id="kerjaPraktekDetailModal">
|
||||
<i class="close icon"></i>
|
||||
<div class="header">
|
||||
Verifikasi Data Kerja Praktek
|
||||
</div>
|
||||
<div class="scrolling content">
|
||||
<div class="ui grid" style="padding-bottom:2rem">
|
||||
<div class="eight wide column">
|
||||
<div class="ui equal width form" id="formKP">
|
||||
<h3 class="ui blue header">MAHASISWA</h3>
|
||||
<div class="fields">
|
||||
<div class="field">
|
||||
<label>Nama</label>
|
||||
<span id="namaKPDetail"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>NIM</label>
|
||||
<span id="nimKPDetail"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>No. Telp/HP</label>
|
||||
<span id="telpKPDetail"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Email</label>
|
||||
<span id="emailKPDetail"></span>
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="ui blue header">Kerja Praktek</h3>
|
||||
<div class="fields">
|
||||
<div class="field">
|
||||
<label>Periode</label>
|
||||
<span id="periodeKPDetail"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Pembimbing KP</label>
|
||||
<span id="pembimbingLapanganKPDetail"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Verifikasi Dosen PA</label>
|
||||
<span id="verifPAKPDetail"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Verifikasi Admin</label>
|
||||
<span id="verifAdminKPDetail"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fields">
|
||||
<div class="field">
|
||||
<label>Topik Kerja Praktek</label>
|
||||
<span id="kptopikDetail"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Deskripsi Singkat</label>
|
||||
<div id="kpdeskripsiDetail" style="height:200px;overflow-y:scroll"></div>
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="ui blue header">Instansi</h3>
|
||||
<div class="fields">
|
||||
<div class="field">
|
||||
<label>Nama Instansi</label>
|
||||
<span id="kpnamaInstansiDetail"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Nama Pimpinan</label>
|
||||
<span id="kpnamaPimpinanDetail"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Alamat Instansi</label>
|
||||
<span id="kpalamatInstansiDetail"></span>
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="ui blue header">Narahubung</h3>
|
||||
<div class="fields">
|
||||
<div class="field">
|
||||
<label>Nama Narahubung</label>
|
||||
<span id="kpnamaNarahubungDetail"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>No. Telp Narahubung</label>
|
||||
<span id="kptelpNarahubungDetail"></span>
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="ui blue header">Catatan Dari Kepala Jurusan</h3>
|
||||
<div class="field">
|
||||
<span id="kpCatatanDetail"></span>
|
||||
</div>
|
||||
<h3 class="ui blue header">Proposal KP</h3>
|
||||
<div class="fields">
|
||||
<div class="field">
|
||||
<label>Status Proposal KP</label>
|
||||
<span id="statusProposalKPDetail"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>File Proposal</label>
|
||||
<span id="fileProposalKPDetail"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="verifikasiPAKP">
|
||||
<h3 class="ui blue header">Verifikasi</h3>
|
||||
<div class="inline fields" style="width:300px">
|
||||
<label for="verifikasiKP">Status:</label>
|
||||
<div class="field">
|
||||
<div class="ui radio checkbox checked">
|
||||
<input type="radio" name="verifikasiKP" tabindex="0" value="1" class="hidden">
|
||||
<label>Setuju</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="ui radio checkbox">
|
||||
<input type="radio" name="verifikasiKP" tabindex="0" value="2" class="hidden">
|
||||
<label>Tolak</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="catatanKP">Catatan kepada mahasiswa</label>
|
||||
<textarea name="catatanKP" rows="3"></textarea>
|
||||
</div>
|
||||
<button class="ui green icon button" onClick="simpanVerifKP()"><i class="check icon"></i> Simpan</button>
|
||||
</div>
|
||||
<div id="verifikasiPembKP">
|
||||
<h3 class="ui blue header">Verifikasi Proposal</h3>
|
||||
<div class="inline fields" style="width:300px">
|
||||
<label for="verifikasiProposalKP">Status:</label>
|
||||
<div class="field">
|
||||
<div class="ui radio checkbox checked">
|
||||
<input type="radio" name="verifikasiProposalKP" tabindex="0" value="1" class="hidden">
|
||||
<label>Setuju</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="ui radio checkbox">
|
||||
<input type="radio" name="verifikasiProposalKP" tabindex="0" value="2" class="hidden">
|
||||
<label>Tolak</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="catatanProposalKP">Catatan kepada mahasiswa</label>
|
||||
<textarea name="catatanProposalKP" rows="3"></textarea>
|
||||
</div>
|
||||
<button class="ui green icon button" onClick="simpanVerifProposalKP()"><i class="check icon"></i> Simpan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="eight wide column">
|
||||
<div class="ui secondary menu">
|
||||
<div class="item">
|
||||
<h4 class="ui blue header">Konsultasi Dengan Pembimbing KP</h4>
|
||||
</div>
|
||||
</div>
|
||||
<table class="ui blue selectable definition celled table" id="tabelListKonsultasiKP">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Ke-</th>
|
||||
<th>Tanggal</th>
|
||||
<th>Topik</th>
|
||||
<th>Verifikasi</th>
|
||||
<th>Aksi</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui fullscreen modal" id="verifikasiKPModal">
|
||||
<i class="close icon"></i>
|
||||
<div class="header">
|
||||
Verifikasi Konsultasi Kerja Praktek
|
||||
</div>
|
||||
<div class="content">
|
||||
<h2 class="ui icon center aligned green header">
|
||||
<i class="check icon"></i>
|
||||
<div class="content">
|
||||
Verifikasi Konsultasi Ini?
|
||||
<div class="sub header" id="contentVerifKP" style="white-space:pre-wrap;">
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>Tanggal</label>
|
||||
<div class="ui calendar" id="dateKonsultasiCalendarKP">
|
||||
<div class="ui input left icon">
|
||||
<i class="calendar icon"></i>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Tanggal"
|
||||
name="dateKonsultasiFieldKP"
|
||||
id="dateKonsultasiFieldKP"
|
||||
onkeydown="return false; return false;"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="">Catatan</label>
|
||||
<textarea id="catatanVerifKP" rows="3"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui cancel button">BATAL</div>
|
||||
<div class="ui positive button">VERIFIKASI</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui fullscreen modal" id="detailKonsultasiKPModal">
|
||||
<i class="close icon"></i>
|
||||
<div class="header">
|
||||
Detail Konsultasi
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="ui form">
|
||||
<div class="two fields">
|
||||
<div class="field">
|
||||
<label>Konsultasi ke-</label>
|
||||
<span id="detailKonsulKeKP"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Topik</label>
|
||||
<div id="detailKonsulTopikKP" style="white-space:pre-wrap;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Status Konsultasi</label>
|
||||
<span id="detailKonsulPembKP"></span>
|
||||
<label for="">Catatan</label>
|
||||
<span id="catatanPembKP"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
200
konsultasi/dosen/layout/_konsultasi.php
Normal file
200
konsultasi/dosen/layout/_konsultasi.php
Normal file
@@ -0,0 +1,200 @@
|
||||
<div class="ui container" name="tabContent" id="konsultasi">
|
||||
<div class="ui segment">
|
||||
<h3 class="ui blue header">Tugas Akhir</h3>
|
||||
<div class="ui secondary menu">
|
||||
<div class="item">
|
||||
<label>Status:</label>
|
||||
<select id="selesaiTugasAkhir" class="ui dropdown" >
|
||||
<option value="0">Sedang Berlangsung</option>
|
||||
<option value="1">Sudah Selesai</option>
|
||||
<option value="all">Semua Status</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="item">
|
||||
<label>Urutkan:</label>
|
||||
<select id="orderTugasAkhir" class="ui dropdown">
|
||||
<option value="judulTerbaru">Judul Terbaru</option>
|
||||
<option value="konsultasiTerbaru">Terakhir Konsultasi (Terbaru)</option>
|
||||
<option value="konsultasiTerlama">Terakhir Konsultasi (Terlama)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="item">
|
||||
<button onClick="refreshTabelTugasAkhir()" class="ui blue button">Filter</button>
|
||||
</div>
|
||||
</div>
|
||||
<table class="ui selected celled blue table" id="tabelTugasAkhir">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No.</th>
|
||||
<th>Judul</th>
|
||||
<th class="three wide">Mahasiswa</th>
|
||||
<th>Semester</th>
|
||||
<th>Terakhir<br>Konsultasi</th>
|
||||
<th>Lihat</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="ui fullscreen modal" id="detailTugasAkhirModal">
|
||||
<i class="close icon"></i>
|
||||
<div class="header">
|
||||
Detail Tugas Akhir
|
||||
</div>
|
||||
<div class="scrolling content">
|
||||
<div class="ui stackable grid">
|
||||
<div class="eight wide column">
|
||||
<div class="ui form">
|
||||
<div class="two fields">
|
||||
<div class="field">
|
||||
<label for="namaMahasiswaTugasAkhir">Mahasiswa</label>
|
||||
<span id="namaMahasiswaTugasAkhir"></span>
|
||||
</div>
|
||||
<div class="field" id="callMahasiswa">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="judulTugasAkhir">Judul</label>
|
||||
<span id="judulTugasAkhir"></span>
|
||||
</div>
|
||||
<div class="two fields">
|
||||
<div class="field">
|
||||
<label for="semTATugasAkhir">Semester/Tahun Ajaran</label>
|
||||
<span id="semTATugasAkhir"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="waktuKepTugasAkhir">Tanggal Keputusan</label>
|
||||
<span id="waktuKepTugasAkhir"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="two fields">
|
||||
<div class="field">
|
||||
<label for="pemb1TugasAkhir">Pembimbing 1</label>
|
||||
<span id="pemb1TugasAkhir"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="pemb2TugasAkhir">Pembimbing 2</label>
|
||||
<span id="pemb2TugasAkhir"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="two fields">
|
||||
<div class="field">
|
||||
<label for="peng1TugasAkhir">Penguji 1</label>
|
||||
<span id="peng1TugasAkhir"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="peng2TugasAkhir">Penguji 2</label>
|
||||
<span id="peng2TugasAkhir"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="eight wide column">
|
||||
<div class="ui secondary menu">
|
||||
<div class="item">
|
||||
<h4 class="ui blue header">Konsultasi</h4>
|
||||
</div>
|
||||
<div class="right menu">
|
||||
<button class="ui blue button" onClick="cetakB4()">Cetak B4</button>
|
||||
</div>
|
||||
</div>
|
||||
<table class="ui blue selectable definition celled table" id="tabelListKonsultasi">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Ke-</th>
|
||||
<th>Tanggal</th>
|
||||
<th>Topik</th>
|
||||
<th>Pemb. 1</th>
|
||||
<th>Pemb. 2</th>
|
||||
<th>Aksi</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui fullscreen modal" id="detailKonsultasiModal">
|
||||
<i class="close icon"></i>
|
||||
<div class="header">
|
||||
Detail Konsultasi
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="ui form">
|
||||
<div class="two fields">
|
||||
<div class="field">
|
||||
<label>Konsultasi ke-</label>
|
||||
<span id="detailKonsulKe"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Topik</label>
|
||||
<span id="detailKonsulTopik" style="white-space:pre-wrap;"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="two fields">
|
||||
<div class="field">
|
||||
<label>Pembimbing 1</label>
|
||||
<span id="detailKonsulPemb1"></span>
|
||||
<label for="">Catatan</label>
|
||||
<span id="catatanPemb1"></span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Pembimbing 2</label>
|
||||
<span id="detailKonsulPemb2"></span>
|
||||
<label for="">Catatan</label>
|
||||
<span id="catatanPemb2"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui fullscreen modal" id="verifikasiModal">
|
||||
<i class="close icon"></i>
|
||||
<div class="header">
|
||||
Verifikasi Konsultasi Tugas Akhir
|
||||
</div>
|
||||
<div class="content">
|
||||
<h2 class="ui icon center aligned green header">
|
||||
<i class="check icon"></i>
|
||||
<div class="content">
|
||||
Verifikasi Konsultasi Ini?
|
||||
<div class="sub header" id="contentVerif" style="white-space:pre-wrap;">
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>Tanggal</label>
|
||||
<div class="ui calendar" id="dateKonsultasiCalendar">
|
||||
<div class="ui input left icon">
|
||||
<i class="calendar icon"></i>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Tanggal"
|
||||
name="dateKonsultasiField"
|
||||
id="dateKonsultasiField"
|
||||
onkeydown="return false; return false;"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="">Catatan</label>
|
||||
<textarea id="catatanVerif" rows="3"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui cancel button">BATAL</div>
|
||||
<div class="ui positive button">VERIFIKASI</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
0
konsultasi/dosen/layout/index.php
Normal file
0
konsultasi/dosen/layout/index.php
Normal file
4
konsultasi/dosen/logout.php
Normal file
4
konsultasi/dosen/logout.php
Normal file
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
session_start();
|
||||
unset($_SESSION['konsulDosen']);
|
||||
header('Location:../index.php');
|
||||
Reference in New Issue
Block a user