feat(laporan-admin-kredit): tambahkan filter tanggal pada laporan admin kredit

- Menambahkan input untuk tanggal awal dan tanggal akhir di tampilan laporan.
- Memperbarui logika pencarian untuk mendukung filter berdasarkan rentang tanggal.
- Menambahkan fungsi untuk menerapkan semua filter secara bersamaan.
This commit is contained in:
Daeng Deni Mardaeni
2025-03-17 10:58:47 +07:00
parent 831561b83b
commit 31245457cd
2 changed files with 63 additions and 12 deletions

View File

@@ -12,6 +12,19 @@
Daftar Laporan Admin Kredit
</h3>
<div class="flex flex-wrap gap-2 lg:gap-5">
<div class="flex">
<label class="input input-sm">
<input placeholder="Tanggal Awal" id="tanggal_awal" type="date">
</label>
</div>
<div class="flex">
<label class="input input-sm">
<input placeholder="Tanggal Akhir" id="tanggal_akhir" type="date">
</label>
</div>
<div class="flex">
<button class="btn btn-sm btn-primary" id="filter_tanggal">Filter</button>
</div>
<div class="flex">
<label class="input input-sm"> <i class="ki-filled ki-magnifier"> </i>
<input placeholder="Search Laporan" id="search" type="text" value="">
@@ -105,6 +118,10 @@
<script type="module">
const element = document.querySelector('#laporan-admin-kredit-table');
const searchInput = document.getElementById('search');
const tanggalAwalInput = document.getElementById('tanggal_awal');
const tanggalAkhirInput = document.getElementById('tanggal_akhir');
const filterTanggalButton = document.getElementById('filter_tanggal');
const apiUrl = element.getAttribute('data-api-url');
const dataTableOptions = {
@@ -180,9 +197,31 @@
let dataTable = new KTDataTable(element, dataTableOptions);
searchInput.addEventListener('input', function() {
const searchValue = this.value.trim();
dataTable.search(searchValue, true);
});
// Function to apply all filters
function applyFilters() {
let filters = {};
const tanggalAwal = tanggalAwalInput.value;
const tanggalAkhir = tanggalAkhirInput.value;
console.table(tanggalAwal, tanggalAkhir);
if (searchInput.value) {
filters.search = searchInput.value;
}
if (tanggalAwal) {
filters.tanggal_awal = tanggalAwal
}
if (tanggalAkhir) {
filters.tanggal_akhir = tanggalAkhir
}
dataTable.search(filters);
}
// Add event listeners for all inputs
searchInput.addEventListener('input', applyFilters);
filterTanggalButton.addEventListener('click', applyFilters);
</script>
@endpush