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

446 lines
12 KiB
PHP

<link rel="stylesheet" href="../assets/plugins/bootstrap-daterangepicker/daterangepicker-bs3.css">
<link rel="stylesheet" href="../assets/plugins/gritter/css/jquery.gritter.css">
<script src="../assets/plugins/bootstrap-daterangepicker/moment.min.js"></script>
<script src="../assets/plugins/bootstrap-daterangepicker/daterangepicker.js"></script>
<script src="../assets/js/form-elements.js"></script>
<script src="../assets/plugins/ckeditor/ckeditor.js"></script>
<script src="../assets/plugins/ckeditor/adapters/jquery.js"></script>
<script src="../assets/plugins/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="../assets/plugins/gritter/js/jquery.gritter.min.js"></script>
<script>
let jadwalSidang = false;
<?php
if (isset($_GET['menu'])) {
$getMenu = $_GET['menu'];
if ($getMenu == 'jadwal_sidang') {
echo 'jadwalSidang = true;';
}
}
?>
jQuery(document).ready(function() {
Main.init();
//function to initiate daterangepicker
$('.date-range').daterangepicker();
$("#tambah_diskusi").validate({
errorPlacement: function(error, element) {
error.appendTo( element.parent("div"));
},
rules:{
pemb:{
required:true
},
stta:{
required:true
},
bab:{
required:true
},
sub:{
required:true
}
},
messages:{
pemb:{
required:"Silakan Pilih Dosen Pembimbing."
},
stta:{
required:"Silakan Pilih Status Tugas Akhir."
},
bab:{
required:"Silakan Pilih BAB Bahasan."
},
sub:{
required:"Silakan Inputkan Sub Bahasan."
}
},
submitHandler:function(form){
$.ajax({
url:'page/outline/act.outline.php',
dataType:'json',
type:'POST',
data:$("#tambah_diskusi").serialize(),
cache:false,
success:function(json){
if(json.result){
$.gritter.add({
title:'Sukses',
time: 1000,
text: json.msg,
after_close: function(){
location.href="?page=outline&menu=list";
}
});
}else{
$.gritter.add({
title:'Kesalahan',
time: 1000,
text: json.msg
});
}
}
});
}
});
$("#post_review").validate({ //
errorPlacement: function(error, element) {
error.appendTo( element.parent("div"));
},
submitHandler:function(form){
for ( instance in CKEDITOR.instances )
{
CKEDITOR.instances[instance].updateElement();
}
if(window.FormData !== undefined) // for HTML5 browsers
{
var formData = new FormData(document.getElementById("post_review"));
$.ajax({
url:'page/outline/act.outline.php',
type:'POST',
data:formData,
dataType:'json',
mimeType:'multipart/form-data',
contentType: false,
cache: false,
processData:false,
beforeSend:function(){
$("#loading").show();
},
success:function(json){
if(json.result){
$("#loading").hide();
$.gritter.add({
title:'Sukses',
time: 1000,
text: json.msg,
after_close: function(){
// location.href="?page=outline&menu=list";
location.reload();
}
});
}else{
$("#loading").hide();
$.gritter.add({
title:'Kesalahan',
time: 4000,
text: json.msg
});
}
}
});
}else{ //for olden browsers
var iframeId = "unique" + (new Date().getTime());
var iframe = $('<iframe src="javascript:false;" name="'+iframeId+'" />');
iframe.hide();
form.attr("target",iframeId);
iframe.appendTo("body");
iframe.load(function(e){
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
});
}
}
});
$("#post_jadwal").validate({
errorPlacement: function(error, element) {
error.appendTo( element.parent("div"));
},
rules:{
pemb1:{
required:true
},
pemb2:{
required:true
},
peng1:{
required:true
},
peng2:{
required:true
}
},
messages:{
pemb1:{
required:"Silakan Inputkan Nama Pembimbing 1."
},
pemb2:{
required:"Silakan Inputkan Nama Pembimbing 2."
},
peng1:{
required:"Silakan Inputkan Nama Penguji 1."
},
peng2:{
required:"Silakan Inputkan Nama Penguji 2."
}
},
submitHandler:function(form){
$.ajax({
url:'page/outline/act.outline.php',
dataType:'json',
type:'POST',
data:$("#post_jadwal").serialize(),
cache:false,
success:function(json){
if(json.result){
$.gritter.add({
title:'Sukses',
time: 1000,
text: json.msg,
after_close: function(){
location.reload();
}
});
}else{
$.gritter.add({
title:'Kesalahan',
time: 1000,
text: json.msg
});
}
}
});
}
});
});
CKEDITOR.disableAutoInline = true;
$('textarea.ckeditor').ckeditor({
height:240
});
function refreshTabelBerkas(){
let url = `../steven/API/getBerkasSidangMahasiswa.php?idRekapHasil=${currentIdRekap}&jenis=Sidang`;
$('#isiTabelBerkas').html('<tr><td colspan="4" style="text-align:center">Mengambil Data . . .</td></tr>');
$.ajax({
url: url,
type:'GET',
dataType:'json',
contentType: false,
cache: false,
processData:false,
beforeSend:function(){
// $("#loading").show();
},
success:function(json){
const data = json.data;
let isiTabel = ``;
let no = 1;
for (var key in data) {
if (data.hasOwnProperty(key)){
const berkas = data[key];
const judul = berkas.judul;
const dataBerkas = berkas.data;
let adaBerkas = true;
if(dataBerkas == undefined || dataBerkas == null){
adaBerkas= false;
}else{
if(dataBerkas.file == null || dataBerkas.file == ""){
adaBerkas = false;
}
}
if(adaBerkas){
const verifikasiAdmin = Number(dataBerkas.status);
if(verifikasiAdmin == 1){
isiTabel += `<tr><td>${no}</td><td>${judul}</td><td></td><td>${getLabelStatusBerkas(dataBerkas.status)}</td><td><a href="${dataBerkas.file}" target="_blank"><button class="btn btn-primary">Lihat File</button></a></td></tr>`;
}else{
isiTabel += `<tr><td>${no}</td><td>${judul}</td><td><input type="file" class="fileBerkas" data-nama="${key}"></td><td>${getLabelStatusBerkas(dataBerkas.status)}</td><td><a href="${dataBerkas.file}" target="_blank"><button class="btn btn-primary">Lihat File</button></a></td></tr>`;
}
}else{
isiTabel += `<tr><td>${no}</td><td>${judul}</td><td><input type="file" class="fileBerkas" data-nama="${key}"></td><td><span class="label label-default">Belum Diupload</span></td><td></td></tr>`;
}
no++;
}
}
$('#isiTabelBerkas').html(isiTabel);
}
});
}
function getLabelStatusBerkas(verifikasiAdmin){
verifikasiAdmin = Number(verifikasiAdmin);
switch(verifikasiAdmin){
case 0 : return `<span class="label label-warning">Belum diverifikasi</span>`;
case 1 : return `<span class="label label-success">OK</span>`;
}
}
function uploadBerkasSidangOld(){
let formData = new FormData();
let listKeyFile = [];
$(`.fileBerkas`).each(function(i, obj) {
const file = $(this)[0].files[0];
if(file != undefined && file != null){
const nama = $(this).attr("data-nama");
formData.append(nama, file);
listKeyFile.push(nama);
}
});
formData.append("listKey", JSON.stringify(listKeyFile));
$.ajax({
url:`../steven/API/postBerkasSidangMahasiswa.php?idRekapHasil=${currentIdRekap}`,
type:'POST',
data:formData,
dataType:'json',
mimeType:'multipart/form-data',
contentType: false,
cache: false,
processData:false,
beforeSend:function(){
$("#loading").show();
},
success:function(json){
if(json.status){
$("#loading").hide();
$.gritter.add({
title:'Sukses',
time: 1000,
text: json.msg,
after_close: function(){
refreshTabelBerkas();
}
});
}else{
$("#loading").hide();
$.gritter.add({
title:'Kesalahan',
time: 4000,
text: json.msg
});
}
}
});
}
async function uploadBerkasSidang(){
$('#btnUploadBerkas').hide();
$('#loaderBerkas').html(`Tunggu sebentar`);
let listKeyFile = [];
let listFormData = [];
$(`.fileBerkas`).each(function(i, obj) {
const file = $(this)[0].files[0];
if(file != undefined && file != null){
const nama = $(this).attr("data-nama");
let formData = new FormData();
formData.append("file_gdrive", file);
formData.append("nim", nimMhs);
formData.append("folderMhs", "Sidang Akhir");
formData.append("nama", nama);
listFormData.push(formData);
}
});
for(let i = 0; i < listFormData.length; i++){
const res = await uploadKeDrive(listFormData[i]);
const nama = listFormData[i].get("nama");
const no = i + 1;
$('#loaderBerkas').html(`Mengupload ${no} dari ${listFormData.length} berkas`);
try{
if(res.status == 1){
listKeyFile.push({
'nama' : nama,
'file' : res.fileId,
});
}
}catch(err){
}
}
let formDataNew = new FormData();
formDataNew.append("data", JSON.stringify(listKeyFile));
$('#loaderBerkas').html(`Menyimpan data`);
$.ajax({
url:`../steven/API/postBerkasSidangMahasiswaNew.php?idRekapHasil=${currentIdRekap}&jenis=Sidang`,
type:'POST',
data:formDataNew,
dataType:'json',
mimeType:'multipart/form-data',
contentType: false,
cache: false,
processData:false,
beforeSend:function(){
//$("#loading").show();
},
success:function(json){
if(json.status){
$.gritter.add({
title:'Sukses',
time: 1000,
text: json.msg,
after_close: function(){
refreshTabelBerkas();
}
});
$('#btnUploadBerkas').show();
$('#loaderBerkas').html(``);
}else{
$.gritter.add({
title:'Kesalahan',
time: 4000,
text: json.msg
});
$('#btnUploadBerkas').show();
$('#loaderBerkas').html(``);
}
},
error: function (jqXHR, exception) {
$('#btnUploadBerkas').show();
$('#loaderBerkas').html(``);
$.gritter.add({
title:'Kesalahan',
time: 4000,
text: jqXHR.responseText
});
}
});
}
async function uploadKeDrive(formData){
const resAjax = await $.ajax({
url:`http://203.24.50.140:8080`,
type:'POST',
data:formData,
dataType:'json',
mimeType:'multipart/form-data',
contentType: false,
cache: false,
processData:false
});
return resAjax;
}
if(jadwalSidang){
refreshTabelBerkas();
}
</script>