109 lines
5.4 KiB
JavaScript
109 lines
5.4 KiB
JavaScript
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 = '';
|
|
html += `
|
|
<div class="col-md-12 mb-3">
|
|
<div class="card shadow-sm border-0">
|
|
<div class="row g-0">
|
|
<div class="col-md-5 d-flex align-items-center p-2">
|
|
<img src="/gambar/${data?.menu?.foto || data?.paket_menu?.foto}" alt="Foto Menu" class="img-fluid rounded shadow m-auto" style="max-height: 220px; width: auto;">
|
|
</div>
|
|
<div class="col-md-7 p-1">
|
|
<p class="mb-1">Nama Menu: <strong>${data?.menu?.nama_menu || data?.paket_menu?.nama_menu}</strong></p>
|
|
<p class="mb-1">Tanggal Antar: <span>${data?.tgl_antar || 0}</span></p>
|
|
<p class="mb-1">Jumlah: <span>${data?.jumlah || 0}</span></p>
|
|
<p class="mb-1">Harga Satuan: <strong>Rp ${parseInt(data?.harga_satuan || 0).toLocaleString('id-ID')}</strong></p>
|
|
<p class="mb-1">Status Pesanan:
|
|
<span class="badge text-dark ${data?.status_order === 'Selesai' ? 'bg-success' : 'bg-warning'}">
|
|
${data?.status_order}
|
|
</span>
|
|
</p>
|
|
<hr class="my-2">
|
|
<p class="mb-1">Pemesan: <strong>${data?.order?.nama_pemesan || '-'}</strong></p>
|
|
<p class="mb-1">Jenis Kelamin: <strong>${data?.order?.jenis_kelamin || '-'}</strong></p>
|
|
<p class="mb-1">Jenis Customer: <strong>${data?.order?.jenis_customer || '-'}</strong></p>
|
|
${data?.order?.jenis_customer === "Masyarakat Umum" ?
|
|
`<p class="mb-1">Alamat: <strong>${data?.order?.alamat || '-'}</strong></p>
|
|
` : data?.order?.jenis_customer === "Karyawan RSAB Harapan Kita" ? `
|
|
<p class="mb-1">Bagian /Instalasi: <strong>${data?.order?.bagian_instalasi || '-'}</strong></p>
|
|
<p class="mb-1">No Ekstensien: <strong>${data?.order?.no_ekstensien || '-'}</strong></p>
|
|
` :`
|
|
<p class="mb-1">Nama Pasien: <strong>${data?.order?.nama_pasien || '-'}</strong></p>
|
|
<p class="mb-1">Ruang Perawatan: <strong>${data?.order?.ruang_perawatan || '-'}</strong></p>
|
|
<p class="mb-1">Nomor Kamar Perawatan: <strong>${data?.order?.no_kamar_perawatan || '-'}</strong></p>
|
|
<p class="mb-1">Kelas Perawatan: <strong>${data?.order?.kelas_perawatan || '-'}</strong></p>
|
|
`
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
`
|
|
|
|
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 +')')
|
|
$("#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
|
|
};
|
|
|
|
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.',
|
|
});
|
|
});
|
|
});
|