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 ` ` }, 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'); }