/******************************************************************* App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI Module : /apps/js/valid/faktor_opd.js Desc. : JS - Validasi Faktor Pendukung OPD Created By : Siau Pheng (siaupheng@3fonia.com). Created Date : December 7th, 2011. Last Modified : September 15th, 2026. (c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM. *******************************************************************/ var ValidFaktorOPDJS = { PHP: '', KODE: '', loading: function(){ $('#butOPD').click(() => { if ($('#OPDID').val()>0) this.show_hide(1); }); this.show_hide(1); }, show_hide: function(no){ $('#divOPD').addClass('d-none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info'); $('#divMATRIK').addClass('d-none'); if (no == 1) { $('#OPDID').val(0); $('#ORGID').val(0); $('#Nama_OPD').val(''); $('#Hak_Real').val(1); $('#K_OPD').val(''); } if (no <= 1) { $('#butOPD').removeClass('btn-info').addClass('btn-secondary'); } if (no == 1) { $('#divOPD').removeClass('d-none'); this.data_query('tabel-opd'); } if (no == 2) { $('#divMATRIK').removeClass('d-none'); this.data_query('tabel-matrik'); } }, opd_select: function(acell){ $('#OPDID').val(acell[0]); $('#ORGID').val(acell[1]); $('#Nama_OPD').val(acell[2]); $('#Hak_Real').val(acell[3]); $('#K_OPD').val(acell[4]); this.show_hide(2); }, matrik_form: function(acell, div){ new Request.JSON({ url: this.PHP, sendParam: ['data=detail-matrik','ORGID','OPDID','DalevMatrikID='+acell[0]], onSuccess: (adata) => { $(div).html(adata.html); $(div) .find('#butSimpanMatrik').click(() => this.matrik_save()).end() .find('#butBatalMatrik').click(() => this.matrik_batal()); } }).send(); }, matrik_batal: function(){ var dt = $('#tabelMatrik').DataTable(), tr, l_row; tr = $('#butBatalMatrik').closest('tr'); l_row = dt.row(tr.prev('tr')); if (l_row.child.isShown()) l_row.nodes().to$().find('.fon-tabel-dt').click(); if (l_row.data()[0]=='0') l_row.remove().draw(true); }, matrik_save: function(){ if ($('#B_Catatan').val() == ''){ FoniaJS.showInfo('Mohon lengkapi Catatan & Status Validasi !'); return false; } new Request.JSONF({ url: this.PHP, sendParam: ['data=tabel-matrik','mode_detail=update','ORGID','OPDID','DalevMatrikID','B_Catatan','B_Valid'], onSuccess: () => FoniaJS.showInfo('Sukses menyimpan Validasi Matrik.') }).send(); }, matrik_download: function(id) { var dload = new cEXPORT({ url: this.PHP, //filename: file_matrik, }); dload.add_param('data', 'matrik-download'); dload.add_param('DalevMatrikID', id); dload.download(); }, data_query: function(tipe, mode){ if (tipe=="tabel-opd"){ new Request.JSONF({ url: this.PHP, sendParam: ['data=tabel-opd'] }).send(); } else if (tipe=="tabel-matrik"){ new Request.JSON({ url: this.PHP, sendParam: ['data=tabel-matrik','ORGID','OPDID'], onSuccess: (ajson) => { var opsi = { responsive: true, columnDefs: [{responsivePriority:1,targets:0}, {responsivePriority:2,targets:-1}, {orderable:false,targets:-1}], dom: 'r<"row"<"col-sm-12"t>><"row"<"col-sm-12 col-md-6"<"toolbar">><"col-sm-12 col-md-6"p>>', autoWidth: false, processing: true, searching: false }; opsi.drawCallback = function(){ $('#tabelMatrik tbody').on('click', '.fon-tabel-dt', (e) => { var tr = $(e.currentTarget).closest('tr'); var row = otabel.row(tr); if (row.child.isShown()){ row.child.hide(); tr.removeClass('shown'); }else{ if (otabel.row('.shown').length){ $('.fon-tabel-dt', otabel.row('.shown').node()).click(); } var _dt_id = $('
'); row.child(_dt_id).show(); tr.addClass('shown'); ValidFaktorOPDJS.matrik_form(row.data(), _dt_id); } }); $('#tabelMatrik tbody').on('click', 'td.dtr-control', (e) => { var tr = $(e.currentTarget).closest('tr'); var row = otabel.row(tr); if (row.child.isShown()){ row.child.hide(); tr.removeClass('dt-hasChild parent'); }else{ var ind = 0; var tampil = '