function initDt(selectDate = []){
let selectedRows = [];
datatablePekerjaan.bootstrapTable('destroy');
datatablePekerjaan.bootstrapTable({
url: "/dashboard/datatable/pekerjaan",
method:'get',
queryParams: function(params) {
params.tanggal = selectDate;
return params;
},
showColumns: true,
showColumnsToggleAll: true,
showRefresh: true,
sortable: true,
search: true,
searchOnEnterKey: false,
searchHighlight: true,
pagination: true,
serverSide:true,
pageSize: 10,
pageList: [10, 20, 30, 40, 50, 100, 200],
cookie: true,
cookieIdTable: "datatablePekerjaan",
icons: {
refresh: "fas fa-sync-alt", // atau ganti ke icon lain
columns: "fas fa-th-large"
},
columns: [
{
title: '',
field: 'order_id',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
return ``
}
},
{
title: "Action",
field:'order_id',
formatter: function(value, row) {
let buttons = ''
if(row?.status_order !== "Selesai"){
buttons += `
`
}
buttons += `
`
return `
${buttons}
`;
}
},
{
title: "No.Order",
field: 'order.no_order',
sortable: true,
},
{
title: "Status",
field: 'order_detail_id',
sortable: true,
formatter: function(value, row) {
const status = row?.status_order;
let badgeClass = 'bg-secondary';
if (status === "Selesai") {
badgeClass = 'bg-success text-dark';
} else{
badgeClass = 'bg-primary';
}
return `
${status}
`;
},
},
{
title: "Menu",
field: 'order_detail_id',
formatter:function(value, row){
return row?.menu?.nama_menu || row?.master_mcu?.nama_mcu
},
sortable: true,
},
{
title: "Karbohidrat",
field: 'karbohidrat_id',
formatter: function (value, row) {
if (!row?.karbohidrat) return '';
const nama = row.karbohidrat.nama_karbohidrat || '';
const kalori = row.karbohidrat.nilai_kalori ? ` (${row.karbohidrat.nilai_kalori} kkal)` : '';
return nama + kalori;
},
sortable: true,
},
{
title:"Total Kalori",
formatter: function(value, row){
return row?.total_kalori ? row?.total_kalori + ' kal' : '-';
}
},
{
title: "Pemesan",
field:'order.nama_pemesan',
formatter: function(value, row){
return `
- ${row?.order?.nama_pemesan ?? '-'}
${row?.order?.nama_institusi ? `
- ${row?.order?.nama_institusi + '(' + row?.order?.jenis_customer +')'}
` : `- ${row?.order?.jenis_customer ?? '-'}
`}
${row?.order?.nip ? `
- ${row?.order?.nip ?? '-'}
` : ``}
${row?.order?.bagian_instalasi ? `
- ${row?.order?.bagian_instalasi ?? '-'}
` : ''}
`
},
sortable: true,
},
{
title: "Tgl Antar",
field: 'tgl_antar',
},
{
title: "Waktu Pengantaran",
formatter: function(value, row){
if(row?.order?.jenis_customer === 'MCU')return row.jam_layanan.slice(0, 5);
return row?.type
},
sortable: true,
},
{
title: "Catatan",
field: 'catatan',
sortable: true,
},
],
onLoadSuccess: function (res) {
// res = data JSON dari server
if (res.dataPending && res.dataPending > 0) {
$("#data_pending").show(); // tampilkan tombol
} else {
$("#data_pending").hide(); // sembunyikan tombol
}
}
});
$(document).on('click', '#selectAll', function () {
selectedRows = [];
const isChecked = this.checked;
$('.rowCheckbox').each(function () {
this.checked = isChecked;
let order_detail_id = $(this).data('order_detail_id');
if (isChecked) {
selectedRows.push({ order_detail_id });
}
});
$('#buttonLabel').prop("disabled", !isChecked);
});
$(document).on('change', '.rowCheckbox', function () {
let order_detail_id = $(this).data('order_detail_id');
let isChecked = this.checked;
if (isChecked) {
if (!selectedRows.find(r => r.order_detail_id === order_detail_id)) {
selectedRows.push({ order_detail_id });
}
} else {
selectedRows = selectedRows.filter(r => r.order_detail_id !== order_detail_id);
}
$('#buttonLabel').prop("disabled", selectedRows.length === 0);
});
window.getSelectedRowsForLabel = () => selectedRows;
}
function labelDownload(){
const selected = (typeof getSelectedRowsForLabel === 'function') ? getSelectedRowsForLabel() : [];
const order_detail_ids = selected.map(item => item.order_detail_id);
window.open(`/dashboard/pekerjaan/label?data=${order_detail_ids}`, '_blank');
// window.open(`https://smart.rsabhk.co.id:2222/service-reporting/label-cetering/${order_detail_ids}`, '_blank');
}