document.addEventListener('DOMContentLoaded', function () { const $timeLabel = $("#confirm_pekerjaan_time"); $timeLabel.text("Hari Ini"); // Init Date Picker flatpickr("#tanggal_offcanvas", { dateFormat: "Y-m-d", mode: "multiple", locale: "id", onValueUpdate: function (selectedDates) { const selectedFormatted = selectedDates.map(d => `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}` ); initPekerjaanDt(selectedFormatted); updateTimeLabel(selectedFormatted); } }); initPekerjaanDt(); getReminderVerifikasiMakananOffCanvas() }); const getReminderVerifikasiMakananOffCanvas = () => { $.ajax({ url: `/dashboard/count/verifikasi-pesanan`, success: function (response) { const konfirmasiPesanan = document.getElementById("konfirmasi_pesanan_offcanvas"); let count = response.count; konfirmasiPesanan.classList.remove('d-none'); if(count === 0){ konfirmasiPesanan.classList.add('d-none'); } konfirmasiPesanan.innerText = count; }, }); }; // Update Label Tanggal function updateTimeLabel(dates) { const $timeLabel = $("#confirm_pekerjaan_time"); if (dates.length === 0) { $timeLabel.text("Hari Ini"); return; } let label = dates.length === 1 ? dates[0] : dates.length === 2 ? dates.join(" dan ") : `${dates.slice(0, -1).join(", ")}, dan ${dates.slice(-1)}`; $timeLabel.text(`: ${label}`); } // Init Table function initPekerjaanDt(selectDate = []) { let selectedRows = []; datatableOfPekerjaan.bootstrapTable('destroy').bootstrapTable({ url: "/dashboard/datatable/pekerjaan", method: 'get', queryParams: params => ({ ...params, tanggal: selectDate, }), 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: "datatableVerifikasiMakananOffcanvas", icons: { refresh: "fas fa-sync-alt", columns: "fas fa-th-large" }, columns: getTableColumns(), }); $('#filterStatus').on('change', function () { datatableOfPekerjaan.bootstrapTable('refresh'); }); // Checkbox Handling $(document).off('click', '#selectAll').on('click', '#selectAll', function () { const isChecked = this.checked; selectedRows = isChecked ? $(".rowCheckbox").map(function () { return { order_detail_id: $(this).data("order_detail_id") }; }).get() : []; $(".rowCheckbox").prop("checked", isChecked); toggleLabelButton(selectedRows.length > 0); }); $(document).off('change', '.rowCheckbox').on('change', '.rowCheckbox', function () { const id = $(this).data("order_detail_id"); if (this.checked) { if (!selectedRows.find(r => r.order_detail_id === id)) selectedRows.push({ order_detail_id: id }); } else { selectedRows = selectedRows.filter(r => r.order_detail_id !== id); } toggleLabelButton(selectedRows.length > 0); }); window.getSelectedRowsForLabel = () => selectedRows; } // Toggle Cetak Label Button function toggleLabelButton(enable) { $('#buttonLabel').prop("disabled", !enable); } // Download Label function labelDownload() { const ids = getSelectedRowsForLabel().map(item => item.order_detail_id); window.open(`/dashboard/pekerjaan/label?data=${ids}`, '_blank'); // window.open(`https://smart.rsabhk.co.id:2222/service-reporting/label-cetering/${ids}`, '_blank'); } // Table Columns function getTableColumns() { return [ { title: '', field: 'order_id', align: 'center', formatter: (v, r) => `` }, { title: "Action", formatter: (v, r) => { let btns = ''; if (r?.status_order !== "Selesai") { btns += ` `; } btns += ` `; return `
Nama Menu: ${data?.menu?.nama_menu || data?.master_mcu?.nama_mcu}
Tanggal Antar: ${data?.tgl_antar || 0}
Jumlah: ${data?.jumlah || 0}
${data?.total_kalori ? `Total Kalori: ${data?.total_kalori || 0} kal
` : ''}Harga Satuan: Rp ${parseInt(data?.harga_satuan || 0).toLocaleString('id-ID')}
Status Pesanan: ${data?.status_order}
${data?.order?.jenis_customer === 'MCU' ? '' : `Catatan: ${data?.catatan || '-'}
`}Pemesan: ${data?.order?.nama_pemesan || '-'}
Jenis Kelamin: ${data?.order?.jenis_kelamin || '-'}
Jenis Customer: ${data?.order?.jenis_customer || '-'}
${data?.order?.jenis_customer === "Masyarakat Umum" ? `Alamat: ${data?.order?.alamat || '-'}
` : data?.order?.jenis_customer === "Karyawan RSAB Harapan Kita" ? `Bagian /Instalasi: ${data?.order?.bagian_instalasi || '-'}
No Ekstensien: ${data?.order?.no_ekstensien || '-'}
NIP : ${data?.order?.nip || '-'}
` : data?.order?.jenis_customer === "Keluarga Pasien / Penunggu Pasien" ? `Nama Pasien: ${data?.order?.nama_pasien || '-'}
Ruang Perawatan: ${data?.order?.ruang_perawatan || '-'}
Nomor Kamar Perawatan: ${data?.order?.no_kamar_perawatan || '-'}
Kelas Perawatan: ${data?.order?.kelas_perawatan || '-'}
` : '' }