feat: Enhanced dues overdue system with detailed time tracking
All checks were successful
Build And Push Image / docker (push) Successful in 2m42s
All checks were successful
Build And Push Image / docker (push) Successful in 2m42s
- Enhanced update-overdue-statuses API to calculate and return specific overdue durations (years/months) - Updated overdue-count API to provide detailed member information with overdue durations - Enhanced DuesOverdueBanner component to display expandable list of overdue members with their specific overdue time - Added automatic marking of members as inactive when dues are over 1 year overdue - Improved UI to show 'Dues Overdue - X Members Affected' with detailed breakdown - Members with overdue dues now display exact time overdue (e.g., '2 years 3 months overdue') - Added proper TypeScript interfaces for overdue member data - Enhanced banner shows inactive status and overdue duration for each affected member
This commit is contained in:
@@ -572,7 +572,13 @@ const createPortalAccount = async (member: Member) => {
|
||||
// Overdue dues handlers
|
||||
const loadOverdueCount = async () => {
|
||||
try {
|
||||
const response = await $fetch<{ success: boolean; data: { count: number } }>('/api/members/overdue-count');
|
||||
const response = await $fetch<{
|
||||
success: boolean;
|
||||
data: {
|
||||
count: number;
|
||||
overdueMembers: any[];
|
||||
}
|
||||
}>('/api/members/overdue-count');
|
||||
if (response.success) {
|
||||
overdueCount.value = response.data.count;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user