function detailOrder(id){ new bootstrap.Modal(modalDetailOrder).show(); fetch(`/dashboard/pekerjaan/detail/${id}`) .then(res => res.json()) .then(res => { const data = res.data; document.getElementById('pesanan_container').innerHTML = ''; document.getElementById('confirm_nama_pesanan').textContent = data?.order?.nama_pemesan; let html = ''; console.log(data); html += `
Foto Menu

Nama Menu: ${data?.menu?.nama_menu || data?.master_mcu?.nama_mcu}

Tanggal Antar: ${data?.tgl_antar || 0}

${data?.total_kalori ? `

Total Kalori: ${data?.total_kalori} kal

` : ''}

Jumlah: ${data?.jumlah || 0}

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 || '-'}

No.HP / WA: ${data?.order?.no_wa || '-'}

Email: ${data?.order?.email || '-'}

Tinggi Badan / Berat Badan: ${data?.order?.tinggi_badan || '-'} / ${data?.order?.berat_badan || '-'}

${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 || '-'}

` : '' }
` document.getElementById('pesanan_container').innerHTML = html; }) .catch(error => { console.error(error); }) } function approve(e){ const data = $(e).data(); new bootstrap.Modal(modalActionOrder).show(); $("#confirmActionApproveOrder").text( data?.menu + (!data?.type ? '' : ` (${data.type})`) ); $("#confirmNoOrder").text(data?.no_order + ' (' + data?.nama_pemesan +')') document.getElementById('formActionApproveOrder').setAttribute(`action`, `/dashboard/pending/update-detail-status/${data.id}`) } document.getElementById('formActionApproveOrder').addEventListener('submit', function (e) { e.preventDefault(); const form = this; const actionUrl = form.getAttribute('action'); fetch(actionUrl, { method: 'POST', headers: { 'X-CSRF-TOKEN': document.querySelector('input[name="_token"]').value, } }).then(async (res) => { const data = await res.json(); if (res.status) { const handler = function () { Swal.fire({ icon: 'success', title: 'Berhasil', text: 'Pesanan berhasil diselesaikan!', timer: 2000, showConfirmButton: false, backdrop: true, }); datatablePekerjaan.bootstrapTable('refresh'); modalActionOrder.removeEventListener('hidden.bs.modal', handler); // ✅ pakai DOM getReminderVerifikasiMakanan() }; modalActionOrder.addEventListener('hidden.bs.modal', handler); // ✅ pakai DOM bootstrap.Modal.getInstance(modalActionOrder).hide(); // ✅ pakai instance } else { throw new Error(data.message || 'Terjadi kesalahan saat mengubah status.'); } }).catch(err => { console.error(err); Swal.fire({ icon: 'error', title: 'Gagal', text: err.message || 'Terjadi kesalahan pada server.', }); }); }); function exportPekerjaan(){ new bootstrap.Modal(modalExport).show() } function datapending(){ new bootstrap.Modal(modalInfoPending).show() datatablePekerjaanPending.bootstrapTable('destroy') datatablePekerjaanPending.bootstrapTable({ url: "/dashboard/data/pending-pekerjaan", 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: "datatablePesananPending", icons: { refresh: "fas fa-sync-alt", // atau ganti ke icon lain columns: "fas fa-th-large" }, columns: [ { title: "Tanggal", field: 'tgl', sortable: true, }, { title: "Total", formatter: function(value, row){ return row?.total }, sortable: true, }, ], }); }