201 lines
6.6 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,
});
getReminderKonfirmasiPesanan()
getReminderVerifikasiMakanan()
getReminderVerifikasiMakananOffCanvas()
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();
if(data.billing === "true"){
$("#billingOrder").removeClass('d-none')
}else{
$("#billingOrder").addClass('d-none')
}
$("#confirmActionApproveBillingOrder").text('Pembayaran Via' + data.billing === "true" ? ' Billing ' : ' MCU '+ 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,
});
getReminderKonfirmasiPesanan()
getReminderVerifikasiMakanan()
getReminderVerifikasiMakananOffCanvas()
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();
}
function datapending(){
new bootstrap.Modal(modalDataPending).show();
datatableDataPending.bootstrapTable('destroy')
datatableDataPending.bootstrapTable({
url: "/dashboard/data/pending",
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,
},
],
});
}