Fix invoice draft Apply filter to use AJAX DataTable reload

This commit is contained in:
DevSoftTech Server 2026-04-30 01:51:21 +05:30
parent 6c9030a337
commit 2844585714

View File

@ -11,7 +11,7 @@
<a class="btn btn-sm <?= ($status ?? '') === 'all' ? 'btn-dark' : 'btn-outline-dark' ?>" href="javascript:load_form('<?= base_url('Medical/Invoice_Med_Draft?status=all') ?>','Invoice List :Pharmacy');">All</a>
</div>
<form method="get" action="<?= base_url(($status ?? 'draft') === 'final' ? 'Medical/Invoice_Med_Final' : 'Medical/Invoice_Med_Draft') ?>" class="row g-2 mb-3">
<form id="medical-invoice-filter-form" method="get" action="<?= base_url(($status ?? 'draft') === 'final' ? 'Medical/Invoice_Med_Final' : 'Medical/Invoice_Med_Draft') ?>" class="row g-2 mb-3">
<?php if (($status ?? 'draft') !== 'final'): ?>
<input type="hidden" name="status" value="<?= esc($status ?? 'draft') ?>">
<?php endif; ?>
@ -76,6 +76,9 @@
}
var tableId = '#medical-invoice-grid';
var filterForm = jQuery('#medical-invoice-filter-form');
var defaultStatus = '<?= esc($status ?? 'draft') ?>';
var defaultCaseId = '<?= (int)($caseId ?? 0) ?>';
if (jQuery.fn.dataTable.isDataTable(tableId)) {
jQuery(tableId).DataTable().destroy();
}
@ -89,11 +92,17 @@
url: '<?= base_url('Medical/getInvoiceTable') ?>',
type: 'POST',
data: function (data) {
data.status = '<?= esc($status ?? 'draft') ?>';
data.from = '<?= esc($fromDate ?? '') ?>';
data.to = '<?= esc($toDate ?? '') ?>';
data.q = '<?= esc($search ?? '') ?>';
data.case_id = '<?= (int)($caseId ?? 0) ?>';
var statusInput = filterForm.find('input[name="status"]');
var caseInput = filterForm.find('input[name="case_id"]');
var fromInput = filterForm.find('input[name="from"]');
var toInput = filterForm.find('input[name="to"]');
var qInput = filterForm.find('input[name="q"]');
data.status = statusInput.length ? (statusInput.val() || defaultStatus) : defaultStatus;
data.from = fromInput.length ? (fromInput.val() || '') : '';
data.to = toInput.length ? (toInput.val() || '') : '';
data.q = qInput.length ? (qInput.val() || '') : '';
data.case_id = caseInput.length ? (caseInput.val() || defaultCaseId) : defaultCaseId;
<?php if (function_exists('csrf_token') && function_exists('csrf_hash')): ?>
data['<?= csrf_token() ?>'] = '<?= csrf_hash() ?>';
<?php endif; ?>
@ -111,5 +120,10 @@
var val = jQuery(this).val();
table.columns(col).search(val).draw();
});
filterForm.on('submit', function (e) {
e.preventDefault();
table.ajax.reload(null, true);
});
})();
</script>