Files
sidata/resources/views/realisasi_belanja/index.blade.php
T

405 lines
21 KiB
PHP

@php
$siteBreadcumb = [
["url"=>"/realisasi-pendapatan","label"=>$siteTitle],
];
@endphp
@extends('layouts.empty')
@section('styles')
<!-- DataTables -->
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-bs4/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-responsive/css/responsive.bootstrap4.min.css">
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/css/buttons.bootstrap4.min.css">
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/css/fixedColumns.bootstrap4.min.css">
@endsection
@section('content')
<div class="card">
<div class="card-header">
<h2 class="card-title"><i class="fa fa-filter mr-2"></i> FILTER DATA
<?= !empty($BelanjaRealisasi->f_view_sbpk) && getRole()!="skpd"?"<span class='text-success'><strong>[ Review SBPK ]</strong></span>":"" ?></h2>
<div class="card-tools">
{{-- @if(auth()->user()->can('Tambah SKPP')) --}}
<button type="button" class="btn btn-tool" data-card-widget="collapse" title="Collapse">
<i class="fas fa-minus"></i>
</button>
{{-- @endif --}}
</div>
</div>
<div class="card-body">
<form id="frmRealisasi" method="post" action="{{ $baseUrl }}/realisasi-belanja/download">
@csrf
<div class="row">
<div class="col-1">
<div class="form-group">
<label>Tahun</label>
<input class="form-control form-control-sm" id="srcTA" name="ta" value="{{ getTA() }}" readonly>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label>Jenis Dana</label>
<select class="form-control form-control-sm" id="srcJenisDana" name="jenis_dana">
<option value="">Semua</option>
@php
$listDana = ["DBH","DAK"];
foreach($listDana as $dana){
echo "<option value=$dana>$dana</option>";
}
@endphp
</select>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label>&nbsp;</label>
<select class="form-control sub_jenis_dana" id="srcSubJenisDana" name="sub_jenis_dana">
</select>
</div>
</div>
<div class="col-3">
<div class="form-group">
<label>DBH / DAK</label>
<select id="id_sps" name="id_sps" style="width:100%" class="form-control sps_search" required></select>
</div>
</div>
<?php if (getRole()!="skpd"){ ?>
<div class="col-3">
<div class="form-group">
<label>SKPD</label>
<select class="form-control" id="skpd" name="skpd"></select>
</div>
</div>
<div class="col-3">
<div class="form-group">
<label>Review SBPK</label>
<select class="form-control form-control-sm" id="f_review" name="f_review">
<option value="">Semua</option>
<option value=1>Sudah direview</option>
<option value=2>Belum direview</option>
</select>
</div>
</div>
<?php } ?>
{{-- <div class="col-5">
<div class="form-group">
<label>Berdasarkan Kata</label>
<input class="form-control form-control-sm" type="text" id="src">
</div>
</div> --}}
</div>
</form>
</div>
</div>
<div class="card">
<div class="card-header">
<h2 class="card-title"><i class="fa fa-th-list mr-2"></i> {{ $sitesubTitle }}</h2>
<div class="card-tools">
@php if (Auth::user()->can("Input Realisasi DBH Realisasi Belanja")) { @endphp
<a class="modalButton btn btn-sm btn-success" size="modal-xl" title="Tambah Data Realisasi Belanja" href="{{ URL::to("/realisasi-belanja/create-from-rsk") }}"><i class='fa fa-edit'></i> Tambah Data</a>
@php } @endphp
</div>
</div>
<div class="card-body">
<table id="tblRealisasi" class="table table-striped jambo_table tblClickRow" style="width:100%;">
<thead>
<tr class="headings">
<th>No</th>
<?php
$arrCol = array(
"SKPD",
"Program",
"Sub Kegiatan",
"RSK",
"Anggaran",
"Volume",
"Unit",
"Jumlah Realisasi",
"Volume Realisasi",
"Unit Realisasi",
"SPD",
"Jenis",
"Aksi"
);
foreach($arrCol as $rowCol){
echo "<th>$rowCol</th>";
}
?>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
@stop
@section('scripts')
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables/jquery.dataTables.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-bs4/js/dataTables.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-responsive/js/dataTables.responsive.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-responsive/js/responsive.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/dataTables.buttons.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/jszip/jszip.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/pdfmake/pdfmake.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/pdfmake/vfs_fonts.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.html5.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.print.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.colVis.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/js/dataTables.fixedColumns.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/js/fixedColumns.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-rowgroup/js/dataTables.rowGroup.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-rowgroup/js/rowGroup.bootstrap4.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/2.1.3/jquery.scrollTo.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var srcDate1 = null, srcDate2 = null;
var selectionRow = "";
$("#srcJenisDana").on("change",function(){
subJenisDana($(this).val());
});
subJenisDana($("#srcJenisDana").val());
$("#srcJenisDana, #srcSubJenisDana, #srcTA, #id_sps, #f_review").on("change",function(){
dtTable.draw();
});
$("#src").keyup(function(e){
if (e.keyCode == 13){
e.preventDefault();
dtTable.draw();
}
});
$('#skpd').select2({
placeholder: 'Pilih SKPD',
allowClear: true,
ajax: {
url: '{{ $baseUrl }}/skpd-search?realisasi-belanja=ya&ta='+$("#srcTA").val(),
dataType: 'json',
delay: 250,
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.name,
id: item.id
}
})
};
},
cache: true
}
});
$('#skpd').on('select2:select', function (e) {
dtTable.draw();
})
$('#skpd').on('select2:clear', function (e) {
dtTable.draw();
})
$('#subkeg').select2({
placeholder: 'Pilih Sub Kegiatan',
allowClear: true,
ajax: {
url: '{{ $baseUrl }}/item-search-sk?realisasi-belanja=ya&ta='+$("#srcTA").val(),
dataType: 'json',
delay: 250,
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.name,
id: item.id
}
})
};
},
cache: true
}
});
$('#subkeg').on('select2:select', function (e) {
dtTable.draw();
})
$('#subkeg').on('select2:clear', function (e) {
dtTable.draw();
})
var dtTable = $('#tblRealisasi').DataTable( {
"processing": true,
"serverSide": true,
"ordering": false,
"autoWidth": false,
"ajax": {
url: "{{ $baseUrl }}/realisasi-belanja/datatable",
type: "POST",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: function (d) {
d.ta = $("#srcTA").val(),
d.jenis_dana = $("#srcJenisDana").val(),
d.sub_jenis_dana = $("#srcSubJenisDana").val(),
d.skpd = $("#skpd").val(),
d.id_sps = $("#id_sps").val(),
d.f_review = $("#f_review").val()
}
},
"columnDefs": [
//{ className: "td-nowrap", "targets": [ 1 ] }
],
"dom": "<\"top\" <\"row\"<\"col-md-6\"l><\"col-md-2 ml-auto \"f><\"col-md-1 text-right\"B>>>rt<\"bottom\" <\"row\"<\"col-md-6\"i><\"col-md-6\"p>> ><\"clear\">",
"lengthMenu": [
[ 10, 25, 50 ],
[ "10", "25", "50" ]
],
"paging": true, // Table pagination
"columns": [
{ "data": null},
{ "data": "nama_skpd", "className":"text-left", "defaultContent":"-" },
{ "data": "nama_program", "className":"text-left", "defaultContent":"-" },
{ "data": "nama_sub_kegiatan", "className":"text-left", "defaultContent":"20%" },
{ "data": "nama_rsk", "className":"text-left", "defaultContent":"-", "width":"20%" },
{ "data": "jumlah_anggaran", "className":"text-right", "defaultContent":"0" },
{ "data": "volume_satuan", "className":"text-center", "defaultContent":"0", "width":50 },
{ "data": "unit_satuan", "className":"text-center", "defaultContent":"-", "width":50 },
{ "data": null, "className":"text-right"},
{ "data": "volume_satuan_realisasi", "className":"text-center", "defaultContent":"0", "width":50 },
{ "data": "unit_satuan_realisasi", "className":"text-center", "defaultContent":"-", "width":50 },
{ "data": null},
{ "data": "jenis_dana", "className":"text-center"},
{ "data": null}
],
"rowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull, oSettings) {
let info = dtTable.page.info();
let numStart = info.page;
let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1;
let realisasi = aData["jml"] > 0 ? "<span class='bg-warning p-1'>"+separateNumberIndo(aData["jml"])+"</span>":"";
// let btnInput = parseInt(aData["f_view_sbpk"]) == 0 ? `<a class="btn btn-warning btn-sm" href="{{ URL::to("/realisasi-belanja") }}/`+ aData["id"] +`/edit" title="Ubah"><i class="fa fa-edit"></i></a>
// <button type="submit" class="btn btn-danger btn-sm"title="Hapus"><i class="fa fa-trash"></i></button>`:``;
let btnInput = `<a class="btn btn-warning btn-sm" href="{{ URL::to("/realisasi-belanja") }}/`+ aData["id"] +`/edit" title="Ubah"><i class="fa fa-edit"></i></a>
<button type="submit" class="btn btn-danger btn-sm"title="Hapus"><i class="fa fa-trash"></i></button>`;
$(nRow).addClass("c_row_"+aData["kode_rsk"]);
$("td:eq(0)", nRow).html(index);
$("td:eq(1)", nRow).html("<div style='width:200px;'>"+aData["kode_skpd"]+" | "+aData["nama_skpd"]+"</div>");
$("td:eq(2)", nRow).html("<div style='width:200px;'>"+aData["kode_program"]+" | "+aData["nama_program"]+"</div>");
$("td:eq(3)", nRow).html("<div style='width:200px;'>"+aData["kode_sub_kegiatan"]+" | "+aData["nama_sub_kegiatan"]+"</div>");
$("td:eq(4)", nRow).html("<div style='width:200px;'>"+aData["kode_rsk"]+" | "+aData["nama_rsk"]+"</div>");
$("td:eq(5)", nRow).html(separateNumberIndo(aData["jumlah_anggaran"]));
$("td:eq(6)", nRow).html(separateNumberIndo(aData["volume_satuan"]));
$("td:eq(8)", nRow).html(realisasi);
$("td:eq(9)", nRow).html(separateNumberIndo(aData["volume_satuan_realisasi"]));
$("td:eq(11)", nRow).html(<?= getRole()=="bendahara"?'"<a class=\"modalButton\" title=\"Pilih SPD [ RSK: "+aData["kode_rsk"]+" ]\" href=\"'.URL::to("/").'/realisasi-belanja/"+aData["kode_rsk"]+"/ubah-spd/?redirect=/realisasi-belanja\">"+aData["jml_spd"]+"</a>"':'aData["jml_spd"]' ?>);
$("td:eq(12)", nRow).html(aData["jenis_dana"]+"::"+aData["nama_subjenis_dana"]);
$("td:eq(13)", nRow).html(`
<form class="form-delete" action="{{ URL::to("/realisasi-belanja") }}/`+ aData["id"] +`" method="POST">
@csrf
@method('DELETE')
<a href="{{ URL::to("/realisasi-belanja") }}/` + aData["id"] +`/submit" class="btn btn-sm btn-info"><i class="fa fa-eye"></i></a>
@php if (Auth::user()->can("Input Realisasi DBH Realisasi Belanja")) { @endphp
` + btnInput + `
@php } @endphp
</form>`);
return nRow;
},
"language": {
"lengthMenu": "Tampil _MENU_ data per Halaman",
"zeroRecords": "Data tidak ditemukan!",
"info": "Halaman _PAGE_ dari _PAGES_ Halaman ( _TOTAL_ Data )",
"infoEmpty": "Data tidak tersedia",
"infoFiltered": "(Disaring dari _MAX_ Data)",
"paginate": {
"previous": "<i class='fas fa-angle-double-left'></i>",
"next": "<i class='fas fa-angle-double-right'></i>",
},
"processing": "<div class='loading'></div>",
},
rowGroup: {
endRender: function ( rows, group, index ) {
let sum = rows.data().pluck("jumlah_anggaran").reduce( function (a, b) {
return a + b * 1;
}, 0);
let sum2 = rows.data().pluck("jml").reduce( function (a, b) {
return a + b * 1;
}, 0);
let textmuted = index == 1 ? "text-muted":"";
let labelGroup = index == 1 ?"JUMLAH | " + group : "TOTAL";
return $("<tr/>")
.append("<td></td>")
.append("<td colspan='4' class=\'text-left " + textmuted +"\'><strong>"+labelGroup+"</strong></td>")
.append("<td class='text-right'><strong>"+ separateNumberIndo(sum) +"</strong></td>" )
.append("<td colspan='2'></td>")
.append("<td class='text-right'><strong>"+ separateNumberIndo(sum2) +"</strong></td>" )
.append("<td colspan='5'></td>")
},
startRender: function ( rows, group, index ) {
// let group1 = rows.data().pluck("GROUP1");
// let group2 = rows.data().pluck("GROUP2");
// let groupNumber = index == 0 ? group1[0] : group2[0];
// if (index == 0){
// return $("<tr/>")
// .append("<td colspan=5><a href=\'/akun/index/detail/?acc="+groupNumber.split(".").join("_")+"\'>" + groupNumber + ". " + group + "</a></td>")
// }else{
// return $("<tr/>")
// .append("<td colspan=5>&nbsp;&nbsp;<a href=\'/akun/index/detail/?acc="+groupNumber.split(".").join("_")+"\'><strong>" + groupNumber + ". " + group + "</strong></a></td>")
// }
},
dataSrc: ["tahun_anggaran","nama_skpd"],
},
scrollX:true,
scrollY: "350px",
buttons: [
{
extend: "collection",
text: "Export",
buttons: [
{
text: "<i class=\'fas fa-file-excel\'></i> Excel",
className: "export-data link-excel",
attr: {
formid: "frmRealisasi",
extype: "excel"
}
},
],
}
],
"drawCallback": function( settings ) {
$(".dataTables_scrollBody").scrollTo($("#tblRealisasi .c_row_"+selectionRow));
console.log(selectionRow);
}
});
$(document).on("submit","#frmInputSPD",function(e){
e.preventDefault();
$.ajax({
type: "POST",
data : $(this).serialize(),
url: $("#frmInputSPD").attr("action"),
success: function(data){
$("#modal-default").modal("hide");
if (data.success == true)
{
dtTable.ajax.reload(null, false);
selectionRow = $("input[name=id_rsk]").val();
Swal.fire(data.message, '', 'success');
}else{
Swal.fire(data.message, '', 'error');
}
}
});
});
});
</script>
@endsection