var table ;
function reloadData(){
$("#div_modal").modal('hide');
table.ajax.reload();
}
function cariDataCabang(div_id="div_datatables"){
const routeView = "viewDataCabang(:cabang_id)";
const routeEdit = "editDataCabang(:cabang_id)";
function makeUrl(template, id) {
return template.replace(':cabang_id', id);
}
$("#div_modal").modal('hide');
var txt="";
txt += "
";
txt += " ";
txt += " ";
txt += " | No | ";
txt += " Nama | ";
txt += " Profit Center | ";
txt += " Created by | ";
txt += " Created at | ";
txt += " Updated by | ";
txt += " Updated at | ";
txt += " Status | ";
txt += " Action | ";
txt += "
";
txt += " ";
txt += " ";
txt += "
";
document.getElementById(div_id).innerHTML=txt;
var url = BASE_URL+LOGIN_DT.config.API_URL_CABANG_LIST;
table = $('#datatables_cabang').DataTable({
language: {
'paginate': {
'previous': '<',
'next': '>',
'first': '<<',
'last': '>>',
// 'previous': '',
// 'next': '',
// 'first': '',
// 'last': '',
}
},
processing: true,
serverSide: true,
ajax: {
type: 'POST',
url: url,
headers: {
"Authorization": "Bearer "+LOGIN_DT.access_token,
},
dataSrc: function(json) {
if (json.rc === "000") {
return json.data; // hanya ambil data jika rc sukses
} else {
alert("Gagal load data: " + json.message);
return [];
}
}
},
stateSave: true, // ✅ Simpan ke localStorage
columns: [
{ data: null, name: 'no', orderable: false, searchable: false },
{ data: 'nama', name : 'tm_cabang.nama' },
{ data: 'profit_center', name : 'tm_cabang.profit_center' },
{ data: 'created_by_name', name : 'uC.name' },
{ data: 'created_time', name : 'tm_cabang.created_at' },
{ data: 'updated_by_name', name : 'uU.name' },
{ data: 'updated_time', name : 'tm_cabang.updated_at' },
{ data: 'status', name : 'tm_cabang.status' },
{
data: 'cabang_id',
orderable: false,
searchable: false,
render: function (data, type, row) {
let viewUrl = makeUrl(routeView, data);
let editUrl = makeUrl(routeEdit, data);
let action_txt="";
action_txt += "";
return action_txt;
}
}
],
columnDefs: [{
targets: 0,
render: function (data, type, row, meta) {
return meta.row + meta.settings._iDisplayStart + 1;
}
}]
});
$('#datatables_cabang_filter input')
.unbind()
.bind('keyup', function(e) {
if (e.key === 'Enter' || e.keyCode === 13) {
table.search(this.value).draw();
}
});
}
function viewDataCabang(data_id){
var txt="";
$("#div_content_modal").show();
$("#div_action_modal").show();
$("#div_modal").modal('show');
document.getElementById("label_title_modal").innerHTML = "View Data";
var json_dt = {
cabang_id : data_id,
}
var url = BASE_URL+LOGIN_DT.config.API_URL_CABANG_DETAIL;
$.ajax({
type: 'POST',
url: url,
headers: {
"Authorization": "Bearer "+LOGIN_DT.access_token,
},
data: json_dt,
success: function(resp)
{
//if (Object.keys(resp.data).length > 0) {
txt +="";
txt +="";
txt +=" ";
txt +=" ";
txt +="
";
txt +="";
txt +=" ";
txt +=" ";
txt +="
";
/*
txt +="";
txt +=" ";
txt +=" ";
txt +="
";
*/
txt +="";
txt +=" ";
txt +=" ";
txt +="
";
// }
document.getElementById("div_content_modal").innerHTML=txt;
txt_a = "";
txt_a += "";
document.getElementById("div_action_modal").innerHTML=txt_a;
},
error: function(jqXHR,error, errorThrown) {
alert("RRP"+jqXHR.responseText+" -- "+error);
cariData();
$('#exampleModal').modal('hide');
}
});
}
function editDataCabang(data_id){
var txt="";
$("#div_content_modal").show();
$("#div_action_modal").show();
$("#div_modal").modal('show');
document.getElementById("label_title_modal").innerHTML = "Edit Data";
var json_dt = {
cabang_id : data_id,
}
var url = BASE_URL+LOGIN_DT.config.API_URL_CABANG_DETAIL;
$.ajax({
type: 'POST',
url: url,
headers: {
"Authorization": "Bearer "+LOGIN_DT.access_token,
},
data: json_dt,
success: function(resp)
{
txt +="";
txt +="";
txt +=" ";
txt +=" ";
txt +="
";
txt +="";
txt +=" ";
txt +=" ";
txt +="
";
/*
txt +="";
txt +=" ";
txt +=" ";
txt +="
";
*/
txt +="";
txt +=" ";
txt +=" ";
txt +="
";
document.getElementById("div_content_modal").innerHTML=txt;
txt_a = "";
txt_a += "";
if (resp.data.status=='ACTIVE'){
txt_a += " ";
}else{
txt_a += " ";
}
txt_a += " ";
document.getElementById("div_action_modal").innerHTML=txt_a;
},
error: function(jqXHR,error, errorThrown) {
alert("RRP"+jqXHR.responseText+" -- "+error);
$('#exampleModal').modal('hide');
}
});
}
function tambahDataCabang(){
var txt="";
$("#div_content_modal").show();
$("#div_action_modal").show();
$("#div_modal").modal('show');
document.getElementById("label_title_modal").innerHTML = "Tambah Data";
txt +="";
txt +=" ";
txt +=" ";
txt +="
";
txt +="";
txt +=" ";
txt +=" ";
txt +="
";
/*
txt +="";
txt +=" ";
txt +=" ";
txt +="
";
*/
document.getElementById("div_content_modal").innerHTML=txt;
txt_a = "";
txt_a += "";
txt_a += " ";
document.getElementById("div_action_modal").innerHTML=txt_a;
}
function saveDataCabang() {
DT_DATA={};
DT_DATA["nama"] = $("#add_nama").val() ? $("#add_nama").val() : "";
DT_DATA["profit_center"] = $("#add_profit_center").val() ? $("#add_profit_center").val() : "";
var url = BASE_URL+LOGIN_DT.config.API_URL_CABANG_SAVE;
$.ajax({
type: 'POST',
url: url,
headers: {
"Authorization": "Bearer "+LOGIN_DT.access_token,
},
data: DT_DATA,
success: function(resp)
{
alert(resp.message)
if (resp.rc =="000"){
k=0;
reloadData();
}
},
error: function(jqXHR,error, errorThrown) {
alert("RRP"+jqXHR.responseText+" -- "+error);
}
});
}
function updateDataCabang() {
DT_DATA={};
DT_DATA["cabang_id"] = $("#edit_id").val() ? $("#edit_id").val() : 0;
DT_DATA["nama"] = $("#edit_nama").val() ? $("#edit_nama").val() : "";
DT_DATA["profit_center"] = $("#edit_profit_center").val() ? $("#edit_profit_center").val() : "";
var url = BASE_URL+LOGIN_DT.config.API_URL_CABANG_UPDATE;
$.ajax({
type: 'POST',
url: url,
headers: {
"Authorization": "Bearer "+LOGIN_DT.access_token,
},
data: DT_DATA,
success: function(resp)
{
alert(resp.message)
if (resp.rc =="000"){
k=0;
reloadData();
}
},
error: function(jqXHR,error, errorThrown) {
alert("RRP"+jqXHR.responseText+" -- "+error);
}
});
}
function updateDataCabangStatus(cabang_id,status) {
DT_DATA={};
DT_DATA["cabang_id"] = cabang_id;
DT_DATA["status"] = status;
var url = BASE_URL+LOGIN_DT.config.API_URL_CABANG_UPDATE_STATUS;
$.ajax({
type: 'POST',
url: url,
headers: {
"Authorization": "Bearer "+LOGIN_DT.access_token,
},
data: DT_DATA,
success: function(resp)
{
alert(resp.message)
if (resp.rc =="000"){
k=0;
reloadData();
}
},
error: function(jqXHR,error, errorThrown) {
alert("RRP"+jqXHR.responseText+" -- "+error);
}
});
}