function approveOrder(e) { const data = $(e).data(); const form = document.getElementById('formActionOrder'); const img = document.getElementById('imageConfirmActionOrder'); $("#confirmActionOrder").text('Konfirmasi Pembayaran '+ data.nama_pemesan + ' / ' + data.no_order) containerCancel.classList.add('d-none'); // Set gambar bukti bayar if (data.bukti_bayar) { img.src = `/storage/${data.bukti_bayar}`; img.classList.remove('d-none'); } else { img.classList.add('d-none'); img.src = ''; $("#tidak_ada_bukti_pembayaran").text('Pembayaran Menggunakan Billing') } // Set action form form.setAttribute('action', `/dashboard/pending/action/${data.order_id}?action=Lunas`); // Tampilkan modal new bootstrap.Modal(modalActionOrder).show(); } document.getElementById('formActionOrder').addEventListener('submit', function (e) { e.preventDefault(); const form = this; const actionUrl = form.getAttribute('action'); const formData = new FormData(form); fetch(actionUrl, { method: 'POST', headers: { 'X-CSRF-TOKEN': document.querySelector('input[name="_token"]').value, }, body: formData }).then(async (res) => { const data = await res.json(); if (res.status) { const handler = function () { Swal.fire({ icon: 'success', title: 'Berhasil', text: data.message || 'Status berhasil diubah!', timer: 2000, showConfirmButton: false, backdrop: true, }); datatablePending.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.', }); }); }); function rejectOrder(e){ document.getElementById('imageConfirmActionOrder').classList.add('d-none') containerCancel.classList.remove('d-none'); const data = $(e).data(); new bootstrap.Modal(modalActionOrder).show(); $("#confirmActionOrder").text('Batalkan Pembayaran '+ data.nama_pemesan + ' / ' + data.no_order) formActionOrder.attr('action', `/dashboard/pending/action/${data.order_id}`); $("#textarea_note_dibatalkan").val('') } noteCancelTextArea.addEventListener('input', function () { this.style.height = 'auto'; // Reset height dulu this.style.height = this.scrollHeight + 'px'; // Set height sesuai isi }); function AdminApproved(e){ const data = $(e).data() new bootstrap.Modal(modalActionApproveBillingnOrder).show(); $("#confirmActionApproveBillingOrder").text('Pembayaran Via Billing '+ data.nama_pemesan + ' / ' + data.no_order) formActionApproveBillingOrder.attr(`action`, `/dashboard/pending/action-billing/${data.order_id}`) } document.getElementById('formActionApproveBillingOrder').addEventListener('submit', function (e) { e.preventDefault(); const form = this; const actionUrl = form.getAttribute('action'); const formData = new FormData(form); fetch(actionUrl, { method: 'POST', headers: { 'X-CSRF-TOKEN': document.querySelector('input[name="_token"]').value, }, body: formData }).then(async (res) => { const data = await res.json(); if (res.status) { const handler = function () { Swal.fire({ icon: 'success', title: 'Berhasil', text: data.message || 'Status berhasil diubah!', timer: 2000, showConfirmButton: false, backdrop: true, }); datatablePending.bootstrapTable('refresh'); modalActionApproveBillingnOrder.removeEventListener('hidden.bs.modal', handler); // ✅ pakai DOM }; modalActionApproveBillingnOrder.addEventListener('hidden.bs.modal', handler); // ✅ pakai DOM bootstrap.Modal.getInstance(modalActionApproveBillingnOrder).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 approveProgress(order_id){ new bootstrap.Modal(modalActionProgressOrder).show(); fetchDetailOrder(order_id) }