update dau rinci (realisasi belanja)

This commit is contained in:
Marsa
2026-07-06 10:00:46 +07:00
parent b6dd0b04bc
commit fbc640485f
6 changed files with 483 additions and 300 deletions
+115 -79
View File
@@ -1,10 +1,14 @@
<div class="row">
<div class="col-6">
<div class="form-group">
<label class="col-form-label label-align" for="txt_simtrad4_kotor">Kode Rekening</label>
<select id="id_sps" name="id_sps" style="width:100%" class="form-control sps_search"></select>
</div>
<div class="form-group">
<label class="col-form-label label-align" for="jenis">Jenis Dana</label>
<select id="jenis_dana" name="jenis_dana" class="form-control form-control-sm jenis_dana" required>
@php foreach(getJenisDana() as $jenisDana){ @endphp
<option value="{{ $jenisDana }}">{{ $jenisDana }}</option>
@php foreach (getJenisDana() as $jenisDana) { @endphp
<option value="{{ $jenisDana }}">{{ $jenisDana }}</option>
@php } @endphp
</select>
</div>
@@ -12,10 +16,6 @@
<label class="col-form-label label-align" for="jenis">Sub Jenis Dana</label>
<select id="sub_jenis_dana" name="sub_jenis_dana" class="form-control sub_jenis_dana" required></select>
</div>
<div class="form-group">
<label class="col-form-label label-align" for="txt_simtrad4_kotor">Kode Rekening</label>
<select id="id_sps" name="id_sps" style="width:100%" class="form-control sps_search"></select>
</div>
<div class="form-group">
<label class="col-form-label label-align" for="jenis">Jenis Belanja</label>
<select id="jenis" name="jenis" class="form-control jenis_belanja_search" required></select>
@@ -61,8 +61,8 @@
<div class="form-group">
<label class="col-form-label label-align" for="sk">Unit</label>
<select id="unit" name="unit" class="form-control form-control-sm" required placeholder="Unit Realisasi">
<?php foreach($unitSatuan as $satuan){ ?>
<option value="{{ $satuan->nama_satuan }}">{{ $satuan->nama_satuan }}</option>
<?php foreach ($unitSatuan as $satuan) { ?>
<option value="{{ $satuan->nama_satuan }}">{{ $satuan->nama_satuan }}</option>
<?php } ?>
</select>
</div>
@@ -77,17 +77,18 @@
<hr>
<div id="div-rinci-dau">
<div class="data-dau row">
<div class="col-2">
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Sumber Dana Anggaran DAU </label>
<select class="form-control form-control-sm" id="periode_anggaran" name="dau[periode_anggaran][]" >
<select class="form-control form-control-sm" id="periode_anggaran" name="dau[periode_anggaran][]">
<option value="DAU Tahun Berjalan" name="dau[periode_anggaran][]">DAU Tahun Berjalan</option>
<option value="Sisa DAU Tahun Sebelumnya" name="dau[periode_anggaran][]">Sisa DAU Tahun Sebelumnya</option>
<option value="Sisa DAU Tahun Sebelumnya" name="dau[periode_anggaran][]">Sisa DAU Tahun
Sebelumnya</option>
</select>
</div>
</div>
</div>
<div class="col-3">
<div class="form-group">
<div class="form-group">
<label class="col-form-label label-align">Jenis Output (Berdasarkan PMK)</label>
<select name="dau[deskripsi][]" class="form-control rinci_dau" required></select>
<input name="dau[deskripsi_name][]" class="txt_rinci_dau" type="hidden">
@@ -96,7 +97,8 @@
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align">Anggaran</label>
<input type="text" class="form-control form-control-sm number-separator-indo anggaran-dau" name="dau[anggaran][]" required>
<input type="text" class="form-control form-control-sm number-separator-indo anggaran-dau"
name="dau[anggaran][]" required>
</div>
</div>
<div class="col-2">
@@ -108,30 +110,31 @@
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Unit</label>
<input class="form-control form-control-sm dau-satuan" name="dau[unit][]" readonly required placeholder="Unit Realisasi">
<input class="form-control form-control-sm dau-satuan" name="dau[unit][]" readonly required
placeholder="Unit Realisasi">
</div>
</div>
</div>
</div>
<button id="btnAddRinciDAU" type="button" class="btn btn-primary"><i class="fa fa-plus"></i> Tambah Rincian</button>
</div>
{{-- <button id="btn_save_realisasi_pendapatan" type="submit" class="btn btn-sm btn-success"><i class="fa fa-save"></i> Simpan</button> --}}
{{-- <button id="btn_save_realisasi_pendapatan" type="submit" class="btn btn-sm btn-success"><i class="fa fa-save"></i>
Simpan</button> --}}
@section('scripts')
<script type="text/javascript">
var cekInputKontrak = (dat)=>{
if (dat == "Fisik")
{
var cekInputKontrak = (dat) => {
if (dat == "Fisik") {
$("#div_jml_rencana_kontrak").show();
$("input[name=jml_rencana_kontrak]").prop("required", true);
}else{
} else {
$("#div_jml_rencana_kontrak").hide();
$("input[name=jml_rencana_kontrak]").val(0);
$("input[name=jml_rencana_kontrak]").prop("required", false);
}
}
$(document).ready(function(){
$(document).ready(function () {
$("#divDAU").hide();
$("#divDAU input, #divDAU select").prop("disabled", true);
@@ -149,19 +152,19 @@
$("#sub_jenis").val('').trigger('change');
subJenisDana($(this).val());
jenisBelanja($(this).val());
$("input[name=alokasi_anggaran]").prop("disabled",false);
$("input[name=vol]").prop("disabled",false);
$("select[name=unit]").prop("disabled",false);
$("select[name=periode_anggaran]").prop("disabled",false );
$("input[name=alokasi_anggaran]").prop("disabled", false);
$("input[name=vol]").prop("disabled", false);
$("select[name=unit]").prop("disabled", false);
$("select[name=periode_anggaran]").prop("disabled", false);
$("#divDAU").hide();
$("#divDAU input").prop("disabled", true);
if ($(this).val()=="DAU"){
if ($(this).val() == "DAU") {
$("#divDAU").show();
$("input[name=alokasi_anggaran]").prop("disabled",true);
$("input[name=vol]").prop("disabled",true);
$("select[name=unit]").prop("disabled",true );
$("input[name=alokasi_anggaran]").prop("disabled", true);
$("input[name=vol]").prop("disabled", true);
$("select[name=unit]").prop("disabled", true);
$("#divDAU input, #divDAU select").prop("disabled", false);
$("select[name=periode_anggaran]").prop("disabled",false );
$("select[name=periode_anggaran]").prop("disabled", false);
}
})
@@ -170,56 +173,67 @@
cekInputKontrak(data.text);
})
$("#btnAddRinciDAU").on("click",()=>{
$("#div-rinci-dau").append(`
<div class="data-dau row">
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Sumber Dana Anggaran DAU</label>
<select class="form-control form-control-sm" name="dau[periode_anggaran][]">
<option value="DAU Tahun Berjalan" name="dau[periode_anggaran][]">DAU Tahun Berjalan</option>
<option value="Sisa DAU Tahun Sebelumnya" name="dau[periode_anggaran][]">Sisa DAU Tahun Sebelumnya</option>
</select>
</div>
</div>
<div class="col-3">
<div class="form-group">
<label class="col-form-label label-align">Jenis Output (Berdasarkan PMK)</label>
<select name="dau[deskripsi][]" class="form-control rinci_dau" required></select>
<input class="txt_rinci_dau" name="dau[deskripsi_name][]" type="hidden">
$("#btnAddRinciDAU").on("click", () => {
// $("#div-rinci-dau").append(
const rowHtml = `
<div class="data-dau row">
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Sumber Dana Anggaran DAU</label>
<select class="form-control form-control-sm" name="dau[periode_anggaran][]">
<option value="DAU Tahun Berjalan" name="dau[periode_anggaran][]">DAU Tahun Berjalan</option>
<option value="Sisa DAU Tahun Sebelumnya" name="dau[periode_anggaran][]">Sisa DAU Tahun Sebelumnya</option>
</select>
</div>
</div>
<div class="col-3">
<div class="form-group">
<label class="col-form-label label-align">Jenis Output (Berdasarkan PMK)</label>
<select name="dau[deskripsi][]" class="form-control rinci_dau" required></select>
<input class="txt_rinci_dau" name="dau[deskripsi_name][]" type="hidden">
</div>
</div>
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align">Anggaran</label>
<input type="text" class="form-control form-control-sm number-separator-indo anggaran-dau" name="dau[anggaran][]" required>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Volume</label>
<input class="form-control form-control-sm number-separator-indo" name="dau[volume][]" required>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Unit</label>
<input class="form-control form-control-sm dau-satuan" name="dau[unit][]" readonly required placeholder="Unit Realisasi">
</div>
<div class="col-1 align-self-center">
<button type="button" class="btn btn-danger hapusRinciDau mt-3">x</button>
</div>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align">Anggaran</label>
<input type="text" class="form-control form-control-sm number-separator-indo anggaran-dau" name="dau[anggaran][]" required>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Volume</label>
<input class="form-control form-control-sm number-separator-indo" name="dau[volume][]" required>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Unit</label>
<input class="form-control form-control-sm dau-satuan" name="dau[unit][]" readonly required placeholder="Unit Realisasi">
</div>
<div class="col-1 align-self-center">
<button type="button" class="btn btn-danger hapusRinciDau mt-3">x</button>
</div>
</div>
`);
`;
const $newRow = $(rowHtml);
$("#div-rinci-dau").append($newRow);
populateJenisOutput($newRow.find('.rinci_dau'));
dauRinci();
});
$(document).on("click",".hapusRinciDau",function(){
$('#sub_jenis_dana').on('change', function () {
// Find every generated row's dropdown and update them all
$('.rinci_dau').each(function () {
populateJenisOutput($(this));
});
});
$(document).on("click", ".hapusRinciDau", function () {
$(this).closest(".data-dau").remove()
})
$(document).on('select2:select','.rinci_dau', function (e) {
$(document).on('select2:select', '.rinci_dau', function (e) {
let data = e.params.data;
let idx = $(".rinci_dau").index($(this));
$($(".txt_rinci_dau")[idx]).val(data.text);
@@ -228,10 +242,10 @@
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
type: "json",
method: "POST",
data:{
data: {
'id': data.id
},
success: function(datax){
success: function (datax) {
$($(".dau-satuan")[idx]).val(datax.satuan);
}
})
@@ -239,16 +253,38 @@
});
function populateJenisOutput($targetDropdown) {
let subJenisDana = $("#sub_jenis_dana").val();
// let searchGroup = "DAU";
$targetDropdown.empty().append('<option value="">Pilih Deskripsi</option>');
var cekInputDAU = function(){
if ($("#jenis_dana").val()=="DAU"){
if (!subJenisDana) return;
$.ajax({
url: "{{ url("/item-search-dau-rinci-detail") }}",
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
type: "json",
method: "POST",
data: {
'sub_jenis_dana': subJenisDana
},
success: function (data) {
data.forEach(function (item) {
$targetDropdown.append('<option value="' + item.id + '">' + item.deskripsi + '</option>');
});
}
});
}
var cekInputDAU = function () {
if ($("#jenis_dana").val() == "DAU") {
let jmlAnggaran = 0;
for(let x=0;x<$(".anggaran-dau").length;x++){
for (let x = 0; x < $(".anggaran-dau").length; x++) {
jmlAnggaran += parseFloat(replaceValue($($(".anggaran-dau")[x]).val()));
}
if (jmlAnggaran != parseFloat(replaceValue($("input[name=anggaran]").val()))){
Swal.fire("Info","Jumlah Anggaran yang diinput tidak sesuai!","error")
if (jmlAnggaran != parseFloat(replaceValue($("input[name=anggaran]").val()))) {
Swal.fire("Info", "Jumlah Anggaran yang diinput tidak sesuai!", "error")
return false;
}
}