150 lines
5.1 KiB
JavaScript
150 lines
5.1 KiB
JavaScript
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)
|
|
}
|
|
|
|
function exportPending(){
|
|
new bootstrap.Modal(modalExport).show();
|
|
}
|