CRUD petugas/pegawai + filter-sort-rekap transaksi parkir + fix save member kartu + hilangkan alert ganti Swal-loading

This commit is contained in:
2026-10-14 11:21:07 +07:00
parent ee1f43977a
commit f3818f03f5
23 changed files with 747 additions and 53 deletions
+15 -8
View File
@@ -108,7 +108,7 @@ $(document).ready(function () {
$(".nopol-add").next(".invalid-feedback").hide();
if (!vehicle) {
alert("Wajib pilih jenis kendaraan");
Swal.fire({icon: 'warning', title: 'Belum lengkap', text: "Wajib pilih jenis kendaraan"});
return;
}
@@ -122,7 +122,7 @@ $(document).ready(function () {
var rowhtml = `
<tr>
<td class="text-center">${nopol}</td>
<td class="text-center" data-value="${vehicle}"">${vehicleName}</td>
<td class="text-center" data-value="${vehicle}">${vehicleName}</td>
<td class="text-center">${member}</td>
<td class="text-center">${merk}</td>
<td class="text-center p-1" style="text-align: center;">
@@ -144,8 +144,8 @@ $(document).ready(function () {
console.log(r.message);
}
},
error: function () {
alert("Terjadi kesalahan saat memeriksa nopol");
error: function (xhr) {
Swal.fire({icon: 'error', title: 'Gagal memeriksa', text: xhr.responseJSON?.message || "Terjadi kesalahan saat memeriksa nopol"});
},
});
});
@@ -246,6 +246,9 @@ $(document).ready(function () {
console.log("FORM ADD:", allData);
if ($(".tambah-member").valid()) {
const saveBtn = tombol;
const saveHtml = saveBtn.html();
saveBtn.prop('disabled', true).html('<span class="spinner-border spinner-border-sm me-1"></span>Menyimpan...');
$.ajax({
url: $("#add-member").attr("action"),
type: "POST",
@@ -255,10 +258,11 @@ $(document).ready(function () {
// tombol.attr("disabled", true);
},
success: function (r) {
// alert('Data berhasil dikirim');
if (r.response == true) {
const ok = r.status == true || r.response == true;
if (ok) {
$("#modal-member").modal("hide");
Swal.fire({
icon: "success",
title: "Berhasil!!",
text: "Member berhasil di daftarkan.. !!",
timer: 5000,
@@ -267,7 +271,7 @@ $(document).ready(function () {
// Reload halaman setelah SweetAlert ditutup
// location.reload(); // Ini akan me-reload halaman
});
} else if (r.response == false) {
} else {
Swal.fire({
icon: "error",
title: "Oops...",
@@ -277,7 +281,10 @@ $(document).ready(function () {
console.log(r);
},
error: function (xhr, status, error) {
alert("Terjadi kesalahan: " + error);
Swal.fire({icon: 'error', title: 'Gagal menyimpan', text: xhr.responseJSON?.message || ("Terjadi kesalahan: " + error)});
},
complete: function () {
saveBtn.prop('disabled', false).html(saveHtml);
},
});
}
+1 -1
View File
@@ -137,7 +137,7 @@
});
$('.btn-cancel').click();
alert('Berhasil disimpan 🔥');
if (window.Swal) Swal.fire({icon: 'success', title: 'Berhasil', text: 'Konfigurasi hardware tersimpan.'});
}
});
});
+16 -2
View File
@@ -34,9 +34,13 @@ $(document).ready(function () {
$(document).on('click', '.vehicle-price', function () {
let id = $(this).data('id');
let nama = $(this).data('nama');
let btn = $(this);
let btnHtml = btn.html();
let id = btn.data('id');
let nama = btn.data('nama');
console.log(id);
btn.prop('disabled', true).html('<span class="spinner-border spinner-border-sm me-1"></span>Memuat...');
$.ajax({
url: '/setup/master/price/' + id,
@@ -70,6 +74,9 @@ $(document).ready(function () {
},
error: function (xhr) {
Swal.fire({icon: 'error', title: 'Gagal memuat tarif', text: xhr.responseJSON?.message || 'Data tarif tidak ditemukan.'});
},
complete: function () {
btn.prop('disabled', false).html(btnHtml);
}
});
});
@@ -105,6 +112,10 @@ $(document).ready(function () {
url = url.replace(':id', encodeURIComponent(id));
console.log(url);
const saveBtn = $(this);
const saveHtml = saveBtn.html();
saveBtn.prop('disabled', true).html('<span class="spinner-border spinner-border-sm me-1"></span>Menyimpan...');
$.ajax({
url: url,
type: 'PUT',
@@ -126,6 +137,9 @@ $(document).ready(function () {
return;
}
Swal.fire({icon: 'error', title: 'Gagal memperbarui tarif', text: xhr.responseJSON?.message || 'Silakan periksa kembali data tarif.'});
},
complete: function() {
saveBtn.prop('disabled', false).html(saveHtml);
}
});
});
+13 -8
View File
@@ -108,7 +108,7 @@ $(document).ready(function () {
$(".nopol-add").next(".invalid-feedback").hide();
if (!vehicle) {
alert("Wajib pilih jenis kendaraan");
Swal.fire({icon: 'warning', title: 'Belum lengkap', text: "Wajib pilih jenis kendaraan"});
return;
}
@@ -122,7 +122,7 @@ $(document).ready(function () {
var rowhtml = `
<tr>
<td class="text-center">${nopol}</td>
<td class="text-center" data-value="${vehicle}"">${vehicleName}</td>
<td class="text-center" data-value="${vehicle}">${vehicleName}</td>
<td class="text-center">${member}</td>
<td class="text-center">${merk}</td>
<td class="text-center p-1" style="text-align: center;">
@@ -144,8 +144,8 @@ $(document).ready(function () {
console.log(r.message);
}
},
error: function () {
alert("Terjadi kesalahan saat memeriksa nopol");
error: function (xhr) {
Swal.fire({icon: 'error', title: 'Gagal memeriksa', text: xhr.responseJSON?.message || "Terjadi kesalahan saat memeriksa nopol"});
},
});
});
@@ -244,21 +244,23 @@ $(document).ready(function () {
};
if ($(".tambah-member").valid()) {
const saveHtml = tombol.html();
$.ajax({
url: $("#add-member").attr("action"),
type: "POST",
data: allData,
headers: { "X-CSRF-token": $('meta[name="csrf-token"]').attr("content") },
beforeSend: function () {
tombol.attr("disabled", true);
tombol.prop("disabled", true).html('<span class="spinner-border spinner-border-sm me-1"></span>Menyimpan...');
},
success: function (r) {
// alert('Data berhasil dikirim');
$("#modal-member").modal("hide");
if (r.status == true) {
Swal.fire({
icon: "success",
title: "Berhasil!!",
text: "Member anda telah terdaftar !!",
text: r.message || "Member anda telah terdaftar !!",
timer: 5000,
showConfirmButton: !1,
}).then(function () {
@@ -266,12 +268,15 @@ $(document).ready(function () {
location.reload(); // Ini akan me-reload halaman
});
} else if (r.status == false) {
Swal.fire("Oops...", "Terjadi kendala !!", "silahkan hubungi admin", "error");
Swal.fire({icon: "error", title: "Oops...", text: r.message || "Terjadi kendala, silakan hubungi admin."});
}
console.log(r);
},
error: function (xhr, status, error) {
alert("Terjadi kesalahan: " + error);
Swal.fire({icon: 'error', title: 'Gagal menyimpan', text: xhr.responseJSON?.message || ("Terjadi kesalahan: " + error)});
},
complete: function () {
tombol.prop('disabled', false).html(saveHtml);
},
});
}