136 lines
8.0 KiB
JavaScript

function fetchDetailOrder(order_id){
fetch(`/dashboard/pending/action-progress-order/${order_id}`)
.then(res => res.json())
.then(res => {
const data = res;
document.getElementById('pesanan_container').innerHTML =''
// Generate HTML untuk order_detail
const detailHTML = (data?.order_detail || []).map(detail => {
const kalori = detail?.total_kalori ? `
<p class="mb-1">Total Kalori: <span>${detail?.total_kalori || 0} kal</span></p>`
: '';
return `
<div class="col-md-12 mb-3">
<div class="card shadow-sm border-0">
<div class="row g-0">
<div class="${data?.jenis_customer === "MCU" ? 'd-none' : 'col-md-5 d-flex align-items-center p-2'}">
<img src="/gambar/${detail?.menu?.foto || 'default.jpg'}" alt="Foto Menu" class="img-fluid rounded shadow" style="max-height: 250px; width: 240px;">
</div>
<div class="${data?.jenis_customer === "MCU" ? 'col-md-12' : 'col-md-5 p-2'} ">
<p class="mb-1">Nama Menu: <strong>${detail?.menu?.nama_menu || detail?.master_mcu?.nama_mcu}</strong></p>
<p class="mb-1">Jumlah: <span>${detail?.jumlah || 0}</span></p>
<p class="mb-1">Tanggal Antar: <span>${detail?.tgl_antar || 0}</span></p>
${kalori}
<p class="mb-1">Harga: <strong>Rp ${parseInt(detail?.harga_satuan || 0).toLocaleString('id-ID')}</strong></p>
<p class="mb-1">Status Pesanan:
<span class="badge text-dark ${detail?.status_order === 'Selesai' ? 'bg-success' : 'bg-warning'}"
id="status_badge_${detail?.order_detail_id}">
${detail?.status_order}
</span>
</p>
${detail?.catatan ? `<p class="mb-1">Catatan : <span>${detail?.catatan || '-'}</span></p>` : ''}
</div>
</div>
</div>
</div>
`;
}).join('');
const html = `
<div class="row mt-4">
<!-- Gambar Bukti Pembayaran -->
${data.bukti_pembayaran ? `
<div class="col-md-4 text-center mb-3 mb-md-0">
<div class="border rounded shadow-sm p-2 bg-light">
<a href="/storage/${data?.bukti_pembayaran}" target="_blank">
<img src="/storage/${data.bukti_pembayaran || 'gambar/default.jpg'}"
alt="Bukti Pembayaran"
class="img-fluid rounded"
style="max-height: 170px; width: auto;">
</a>
<div class="text-muted small mt-2">Bukti Pembayaran</div>
</div>
</div>
` : ''}
<!-- Informasi Pemesan -->
<div class="${data.bukti_pembayaran ? 'col-md-8' : 'col-md-12'}">
<div class="card shadow-sm border-0">
<div class="card-body">
<h5 class="card-title text-primary mb-1">${data?.nama_pemesan}</h5>
<p class="mb-2">Jenis Kelamin: <strong>${data?.jenis_kelamin}</strong></p>
<p class="mb-2">Jenis Customer: <strong>${data?.jenis_customer}</strong></p>
<p class="mb-2">Email: <strong>${data?.email || '-'}</strong></p>
<p class="mb-2">No.Hp / WA: <strong>${data?.no_wa || '-'}</strong></p>
<p class="mb-2">Tinggi Badan / Berat Badan: <strong>${data?.tinggi_badan || '-'} / ${data?.berat_badan || '-'}</strong></p>
${
data?.jenis_customer === "Masyarakat Umum"
? `
<p class="mb-1">Alamat: <strong>${data?.alamat || '-'}</strong></p>
`
: data?.jenis_customer === "Karyawan RSAB Harapan Kita"
? `
<p class="mb-1">Bagian / Instalasi: <strong>${data?.bagian_instalasi || '-'}</strong></p>
<p class="mb-1">No Ekstensien: <strong>${data?.no_ekstensien || '-'}</strong></p>
`
: data?.jenis_customer === "Keluarga Pasien / Penunggu Pasien" ? `
<p class="mb-1">Nama Pasien: <strong>${data?.nama_pasien || '-'}</strong></p>
<p class="mb-1">Ruang Perawatan: <strong>${data?.ruang_perawatan || '-'}</strong></p>
<p class="mb-1">Nomor Kamar Perawatan: <strong>${data?.no_kamar_perawatan || '-'}</strong></p>
<p class="mb-1">Kelas Perawatan: <strong>${data?.kelas_perawatan || '-'}</strong></p>
` : ''
}
<hr>
<div class="mb-2">
<p class="mb-1">No Order: <strong>${data.no_order}</strong></p>
<p class="mb-1">Metode Pembayaran: <strong>${data.cara_pembayaran}</strong></p>
${data?.cara_pembayaran === 'Billing' ? `
<p class="mb-1">No. Medical Record: <strong>${data.medical_record}</strong></p>
` : ''}
<p class="mb-1">Tanggal Pembayaran: <strong>${data.tgl_pembayaran || '-'}</strong></p>
<p class="mb-1">Total Harga: <strong>Rp ${parseInt(data.total_harga).toLocaleString('id-ID')}</strong></p>
</div>
<div class="mt-3">
<label class="form-label fw-semibold">Status Saat Ini:</label><br>
<span class="badge ${data?.status_order === 'Lunas' ? 'bg-success' : 'bg-warning'} text-dark">
${data.status_order}
</span>
</div>
</div>
</div>
</div>
</div>
<hr class="my-4">
<div class="row">
${detailHTML}
</div>
`;
document.getElementById('pesanan_container').innerHTML = html;
})
.catch(err => {
document.getElementById('pesanan_container').innerHTML = '<p class="text-danger">Terjadi kesalahan saat memuat data.</p>';
console.error(err);
});
}
function orderLunas(order_id){
new bootstrap.Modal(infoPesanan).show();
fetchDetailOrder(order_id)
}
function exportSemuaPesanan(){
new bootstrap.Modal(modalExport).show();
}