From 9dae32a4628a706202d3b654ecd65089831f5416 Mon Sep 17 00:00:00 2001 From: nurafrinaalimi16 Date: Thu, 24 Sep 2026 16:15:20 +0800 Subject: [PATCH] feat(khazanah): papar tarikh ansuran terkini dalam senarai gadaian --- resources/views/khazanah/v2/info.blade.php | 56 ++++++++++++++++++++-- 1 file changed, 51 insertions(+), 5 deletions(-) diff --git a/resources/views/khazanah/v2/info.blade.php b/resources/views/khazanah/v2/info.blade.php index cf1c3616..ffab81ba 100644 --- a/resources/views/khazanah/v2/info.blade.php +++ b/resources/views/khazanah/v2/info.blade.php @@ -185,6 +185,7 @@ Keuntungan Lelong Pembayaran Terakhir + Tarikh Ansuran Terkini @@ -204,6 +205,7 @@ Keuntungan Lelong Pembayaran Terakhir + Tarikh Ansuran Terkini @@ -634,6 +636,45 @@ }; } + function tarikhAnsuranTerkini(transactions) + { + if (!Array.isArray(transactions)) { + throw new Error('Invalid transaction response'); + } + return transactions.reduce(function(latest, transaction) { + if (transaction.trans_type !== 'A') return latest; + var date = String(transaction.created_at || '').slice(0, 10); + if (!/^\d{4}-\d{2}-\d{2}$/.test(date)) return latest; + return date > latest ? date : latest; + }, '') || 'Tiada bayaran'; + } + + function muatTarikhAnsuranTerkini(row, norujukan) + { + var originalData = row.data(); + function update(value) { + // Ignore responses for rows removed when the customer/table changes. + if (row.data() !== originalData) return; + var updatedData = originalData.slice(); + updatedData[11] = value; + row.data(updatedData).draw(false); + } + $.ajax({ + method: 'get', + url: api_url + '/api/transaction/' + encodeURIComponent(norujukan), + success: function(transactions) { + try { + update(tarikhAnsuranTerkini(transactions)); + } catch (error) { + update('Gagal dimuatkan'); + } + }, + error: function() { + update('Gagal dimuatkan'); + } + }); + } + function gadaiTable(data,jenistebus){ var counter = 1; @@ -693,8 +734,8 @@ let table_norujukan = gadai_detail["norujukan"]; // let radio_action = "onclick=checkCanChangeGadaianDetail(" + "'" + table_norujukan + "'" + ")"; - if(gadai_detail["percentpinj"] != 0) - xtawarruq.row.add([ + if(gadai_detail["percentpinj"] != 0) { + var ansuranRow = xtawarruq.row.add([ '', // '' + gadai_detail['norujukan'] + '', (function() { @@ -724,8 +765,11 @@ let color = bayaranInfo.blocked ? 'red' : 'green'; return '
' + bayaranInfo.tarikh + '
'; - })() + })(), + 'Memuatkan...' ]).draw(); + muatTarikhAnsuranTerkini(ansuranRow, gadai_detail['norujukan']); + } }else{ var taglel = ''; if(gadai_detail['taglel'] == 1){ @@ -757,7 +801,7 @@ let table_norujukan = gadai_detail["norujukan"]; // let radio_action = "onclick=checkCanChangeGadaianDetail(" + "'" + table_norujukan + "'" + ")"; - tablegadai.row.add([ + var ansuranRow = tablegadai.row.add([ '', // '' + gadai_detail['norujukan'] + '', (function() { @@ -787,8 +831,10 @@ let color = bayaranInfo.blocked ? 'red' : 'green'; return '
' + bayaranInfo.tarikh + '
'; - })() + })(), + 'Memuatkan...' ]).draw(); + muatTarikhAnsuranTerkini(ansuranRow, gadai_detail['norujukan']); } }else if(jenistebus == "sudah_tebus"){ -- 2.52.0