Filter periode member + harga otomatis + soft delete arsip + ganti alert ke Swal
This commit is contained in:
@@ -39,6 +39,25 @@ $(document).ready(function () {
|
||||
|
||||
var url = $("#example").data("url");
|
||||
|
||||
// Satu input periode (date-range) -> isi hidden tgl_awal/tgl_akhir (YYYY-MM-DD).
|
||||
if ($.fn.daterangepicker && $(".input-daterange-filter").length) {
|
||||
$(".input-daterange-filter").daterangepicker({
|
||||
autoUpdateInput: false,
|
||||
locale: { format: "DD-MM-YYYY", cancelLabel: "Hapus" },
|
||||
parentEl: "#search-form",
|
||||
});
|
||||
$(".input-daterange-filter").on("apply.daterangepicker", function (ev, picker) {
|
||||
$(this).val(picker.startDate.format("DD-MM-YYYY") + " - " + picker.endDate.format("DD-MM-YYYY"));
|
||||
$("#tgl-awal").val(picker.startDate.format("YYYY-MM-DD"));
|
||||
$("#tgl-akhir").val(picker.endDate.format("YYYY-MM-DD"));
|
||||
});
|
||||
$(".input-daterange-filter").on("cancel.daterangepicker", function () {
|
||||
$(this).val("");
|
||||
$("#tgl-awal").val("");
|
||||
$("#tgl-akhir").val("");
|
||||
});
|
||||
}
|
||||
|
||||
$("#search-button").on("click", function () {
|
||||
let searchBy = $("#search-by").val();
|
||||
let searchValue = $("#search-value").val().trim();
|
||||
@@ -60,7 +79,7 @@ $(document).ready(function () {
|
||||
notrans: "No. Transaksi",
|
||||
};
|
||||
|
||||
alert("Harap masukkan " + (label[searchBy] || "kata kunci"));
|
||||
Swal.fire({icon: "warning", title: "Belum lengkap", text: "Harap masukkan " + (label[searchBy] || "kata kunci")});
|
||||
|
||||
$("#search-value").focus();
|
||||
|
||||
@@ -146,7 +165,6 @@ $(document).ready(function () {
|
||||
});
|
||||
});
|
||||
} else {
|
||||
alert("Data tidak ditemukan.");
|
||||
$("#example tbody").html(
|
||||
`<tr>
|
||||
<td colspan="11" style="text-align: center;"><p class="text-danger mt-3">Tidak ditemukan data</p></td>
|
||||
@@ -154,6 +172,17 @@ $(document).ready(function () {
|
||||
);
|
||||
}
|
||||
},
|
||||
error: function (xhr) {
|
||||
let msg = "Gagal memuat data.";
|
||||
if (xhr.status === 422 && xhr.responseJSON?.message) msg = xhr.responseJSON.message;
|
||||
$("#example tbody").html(
|
||||
`<tr><td colspan="11" class="text-center text-danger py-4">${msg}</td></tr>`,
|
||||
);
|
||||
Swal.fire({icon: "error", title: "Pencarian gagal", text: msg});
|
||||
},
|
||||
complete: function () {
|
||||
$("#search-button").prop("disabled", false).html('<i class="fa fa-search me-2"></i> Cari Data...');
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -96,6 +96,16 @@ $(document).ready(function () {
|
||||
});
|
||||
});
|
||||
|
||||
// Jumlahkan tarif semua kendaraan di list -> isi otomatis ke Harga.
|
||||
// Harga dikirim angka polos (kolom double), tanpa pemisah ribuan.
|
||||
function updateHarga() {
|
||||
let total = 0;
|
||||
$("#modal-member #list-nopol tr").each(function () {
|
||||
total += parseFloat($(this).data("tarif")) || 0;
|
||||
});
|
||||
$("#modal-member input[name='harga']").val(total);
|
||||
}
|
||||
|
||||
$("#nopol-add").on("click", function () {
|
||||
var nopol = $(".nopol-add").val().trim();
|
||||
console.log(nopol);
|
||||
@@ -103,6 +113,7 @@ $(document).ready(function () {
|
||||
var vehicle = $("#jenisVehicle").val();
|
||||
var vehicleName = $("#jenisVehicle option:selected").text();
|
||||
var member = $("#jenis-member option:selected").text();
|
||||
var tarif = parseFloat($("#jenis-member").val()) || 0;
|
||||
var merk = $(".merk").val().trim();
|
||||
$(".nopol-add").removeClass("is-invalid"); // Hapus kelas jika ada sebelumnya
|
||||
$(".nopol-add").next(".invalid-feedback").hide();
|
||||
@@ -120,7 +131,7 @@ $(document).ready(function () {
|
||||
success: function (r) {
|
||||
if (r.response === true) {
|
||||
var rowhtml = `
|
||||
<tr>
|
||||
<tr data-tarif="${tarif}">
|
||||
<td class="text-center">${nopol}</td>
|
||||
<td class="text-center" data-value="${vehicle}">${vehicleName}</td>
|
||||
<td class="text-center">${member}</td>
|
||||
@@ -132,6 +143,7 @@ $(document).ready(function () {
|
||||
`;
|
||||
$("#list-nopol").append(rowhtml);
|
||||
console.log("Berhasil menambahkan " + nopol);
|
||||
updateHarga();
|
||||
|
||||
$(".nopol-add").val("");
|
||||
$("#jenisVehicle").val("");
|
||||
@@ -195,6 +207,11 @@ $(document).ready(function () {
|
||||
$(this).closest("tr").remove(); // Hapus baris yang diklik
|
||||
});
|
||||
|
||||
$("#list-nopol").on("click", ".delete-row", function () {
|
||||
$(this).closest("tr").remove();
|
||||
updateHarga();
|
||||
});
|
||||
|
||||
$(".simpan").on("click", function () {
|
||||
var tombol = $(this);
|
||||
var formCollect = $("#add-member").serialize();
|
||||
@@ -245,6 +262,9 @@ $(document).ready(function () {
|
||||
|
||||
console.log("FORM ADD:", allData);
|
||||
|
||||
updateHarga(); // pastikan harga = jumlah tarif kendaraan sebelum simpan
|
||||
formDataObj.harga = $("#modal-member input[name='harga']").val();
|
||||
|
||||
if ($(".tambah-member").valid()) {
|
||||
const saveBtn = tombol;
|
||||
const saveHtml = saveBtn.html();
|
||||
|
||||
Reference in New Issue
Block a user