$(document).ready(function () {
inisialisasi();
eventHandler();
});
function persiapan_data() {
}
async function inisialisasi() {
showLoading();
await loaddata('masuk', 'Semua', 'Semua');
await loaddata('keluar', 'Semua', 'Semua');
await loaddata('kaskecil', 'Semua', 'Semua');
var message = 'Data pengeluaran';
var options = {
search: true,
info: false,
order: true,
select: true,
changeMenu: false,
responsive: true,
dom: 'Bfrtip',
buttons: [
'copy',
{
extend: 'excel',
messageTop: message
},
{
extend: 'csv',
messageTop: message
},
{
extend: 'print',
messageTop: message
}
]
};
initDatatable('#tbl-transaksi-keluar', options);
message = 'Data pemasukan';
options = {
search: true,
info: false,
order: true,
select: true,
changeMenu: false,
responsive: true,
dom: 'Bfrtip',
buttons: [
'copy',
{
extend: 'excel',
messageTop: message
},
{
extend: 'csv',
messageTop: message
},
{
extend: 'print',
messageTop: message
}
]
};
initDatatable('#tbl-transaksi-masuk', options);
}
function eventHandler() {
$('p.tahun-masuk').click(async function () {
showLoading();
var jenis = $('#jenis-masuk').val();
var tahun = $(this).text();
$('#btn-tahun-masuk').text(tahun);
$('#tbl-transaksi-masuk').DataTable().clear();
$('#tbl-transaksi-masuk').DataTable().destroy();
$('#tbl-transaksi-masuk tbody').empty();
await loaddata('masuk', tahun, jenis);
var message = 'Data pemasukan';
var options = {
search: true,
info: false,
order: true,
select: true,
changeMenu: false,
responsive: true,
dom: 'Bfrtip',
buttons: [
'copy',
{
extend: 'excel',
messageTop: message
},
{
extend: 'csv',
messageTop: message
},
{
extend: 'print',
messageTop: message
}
]
};
initDatatable('#tbl-transaksi-masuk', options);
});
$('p.tahun-keluar').click(async function () {
showLoading();
var jenis = $('#jenis-keluar').val();
var tahun = $(this).text();
var kelompok = 'keluar';
$('#btn-tahun-keluar').text(tahun);
$('#tbl-transaksi-keluar').DataTable().clear();
$('#tbl-transaksi-keluar').DataTable().destroy();
$('#tbl-transaksi-keluar tbody').empty();
if (kas_kecil.includes(jenis))
kelompok = 'kaskecil'
await loaddata(kelompok, tahun, jenis);
if (jenis == 'Semua')
await loaddata('kaskecil', tahun, jenis);
var message = 'Data pengeluaran';
var options = {
search: true,
info: false,
order: true,
select: true,
changeMenu: false,
responsive: true,
dom: 'Bfrtip',
buttons: [
'copy',
{
extend: 'excel',
messageTop: message
},
{
extend: 'csv',
messageTop: message
},
{
extend: 'print',
messageTop: message
}
]
};
initDatatable('#tbl-transaksi-keluar', options);
});
$('#jenis-masuk, #jenis-keluar').change(async function () {
showLoading();
var jenis = $(this).val();
var tahun = $('#btn-tahun-masuk').text();
var id = $(this).attr('id');
var kelompok = id.replace('jenis-', '');
tahun = tahun.replace(/\s/g, '');
$('#tbl-transaksi-' + kelompok).DataTable().clear();
$('#tbl-transaksi-' + kelompok).DataTable().destroy();
$('#tbl-transaksi-' + kelompok + ' tbody').empty();
if (kelompok == 'keluar' && kas_kecil.includes(jenis))
kelompok = 'kaskecil'
await loaddata(kelompok, tahun, jenis);
if (kelompok == 'keluar' && jenis == 'Semua')
await loaddata('kaskecil', tahun, jenis);
var message = kelompok == 'masuk' ? 'Data pemasukan' : 'Data pengeluaran';
var idTable = kelompok == 'masuk' ? '#tbl-transaksi-masuk' : '#tbl-transaksi-keluar';
var options = {
search: true,
info: false,
order: true,
select: true,
changeMenu: false,
responsive: true,
dom: 'Bfrtip',
buttons: [
'copy',
{
extend: 'excel',
messageTop: message
},
{
extend: 'csv',
messageTop: message
},
{
extend: 'print',
messageTop: message
}
]
};
initDatatable(idTable, options)
})
}
async function loaddata(kelompok = 'masuk', tahun, jenis) {
await fetch(path + 'laporan/data/' + kelompok + '/' + tahun + '/' + jenis).then(res => res.json()).then(res => {
if (!res.data){
endLoading();
return;
}
var rows = '';
var data = res.data;
data.forEach((d, i) => {
if (!d.sumber)
d.sumber = d.nama_siswa;
if (!d.nama_lengkap)
d.nama_lengkap = d.pencatat;
rows += '<tr>' +
'<td>' + waktu(d.tanggal_catat, 'DD MMM YYYY HH:mm') + '</td>' +
'<td>' + waktu(d.tanggal, 'DD MMM YYYY') + '</td>' +
'<td>' + d.jenis_transaksi + '</td>' +
'<td>' + 'Rp. ' + d.saldo_sebelum.rupiahFormat() + '</td>' +
'<td>' + 'Rp. ' + d.jumlah.rupiahFormat() + '</td>' +
'<td>' + d.sumber + '</td>' +
'<td>' + d.nama_lengkap + '</td>' +
'<td>' + d.catatan + '</td>' +
'</tr>';
});
// $('#tbl-transaksi-masuk tbody').empty();
if (kelompok == 'kaskecil')
$('#tbl-transaksi-keluar tbody').append(rows);
else
$('#tbl-transaksi-' + kelompok + ' tbody').html(rows);
endLoading();
});
}
|