feat(reports): enhance compliance table tooltips, yearly comparison filtering, and horizontal scrolling

This commit is contained in:
ssbg04 committed 2026-08-29 22:44:04 +08:00
1 parent ae2cfe1495
commit 3da79ec92f
4 files changed
+598 -328

No files matched your search

+2 -4
View File
@@ -314,12 +314,10 @@ exports.getYearlyComparison = (req, res) => {
) )
) sly ON s.id = sly.student_id ) sly ON s.id = sly.student_id
GROUP BY ay.id, ay.year_range GROUP BY ay.id, ay.year_range
ORDER BY ay.id DESC ORDER BY ay.year_range ASC
LIMIT 5
`; `;
const data = db.prepare(query).all(); const data = db.prepare(query).all();
// Return oldest first for charting (left to right) res.json(data);
res.json(data.reverse());
} catch (error) { } catch (error) {
res.status(500).json({ message: 'Failed to fetch yearly comparison', error: error.message }); res.status(500).json({ message: 'Failed to fetch yearly comparison', error: error.message });
} }
+27 -16
View File
@@ -387,18 +387,22 @@ Files backup/restore - mirror mode or zip -->
<!-- # DOCUMENTS SCREEN <!-- # DOCUMENTS SCREEN
- archive files hide in list -> move archive files into in more icon where the switch grid includes, show the "archives" when the student folder opened or if the student have archived files -> hide the archives files in the documents list, only show completed files --> - archive files hide in list -> move archive files into in more icon where the switch grid includes, show the "archives" when the student folder opened or if the student have archived files -> hide the archives files in the documents list, only show completed files -->
<!-- # REPORTS SCREEN
- compliance tab -> "students per year" section -> year filter list all acad year -> deafult selected is 4 consecutive years (ex. 2022-2023, 2023-2024, 2024-2025, 2025-2026)
- horizontal scroll bar hint for android app
- filter by year default as active year
- compliance hover on missing count shows all missing documents separated jhs shs
- compliance tab -> "Student list" section -> remove missing requirements -> make the missing column hover just like on "STUDENT SCREEN", can see missing documents separate jhs and shs same from "STUDENT SCREEN" -->
--- ---
# DONT DO # DONT DO
- recycle bin -> search history not delete history - recycle bin -> search history not delete history
- reports screen -> compliance -> students per year -> year filter
- reports screen -> horizontal scroll bar hint
- report screen -> dynamic year filter default as active year
- reports screen -> compliance hover on missing count shows all missing documents separated jhs shs
- document screen -> upload document limit document type limit -> duplicate files
- user management -> expired the jwt of deactivated user - user management -> expired the jwt of deactivated user
- dashboard school -> add missing students by document type kpi - dashboard school -> add missing students by document type kpi
@@ -406,23 +410,30 @@ Files backup/restore - mirror mode or zip -->
- dashboard screen -> user friendly logs/histories - dashboard screen -> user friendly logs/histories
- dashboard screen -> assign section modal - dashboard screen -> assign section modal
- student screen -> add new student screen -> remove N/A on suffix dropdown
- notification separate admin and teacher - notification separate admin and teacher
- bug in bulk add student enrollment - bug in bulk add student enrollment
# CHINE Aug 28 2026:
- forget password sa admin side (email) - missing kpi in dashboard
- search history dapat naalis - grade level by teacher
- lrn should not be fixed - report all export
- n/a add student in suffix part -> remove
- inactive academic year
- multiple selection of files in select document type
- how about when the pages needed to upload have two pages or more?
- archive still popping up even after archiving & overall number of docs are inaccurate in docs status
- overall number of docs are inaccurate in docs status
- table header on students directory
- accurate reports
Dashboard
Document breakdown- missing docs
those who didnt submit
What specific year level have complied or partially complied
Documents (no. of completed) over ilan ang docu
Orient ang client as extension proj of our sch
Graph depending sa no. of 4ps
features
- submit missing requirement
- specific yr level dashboard
- number of completed
- how many document
--- ---
# TIS_RMS Server Manager (dont do) # TIS_RMS Server Manager (dont do)
@@ -12,9 +12,30 @@ final selectedAcademicYearIdProvider =
NotifierProvider<SelectedYearNotifier, int?>(() => SelectedYearNotifier()); NotifierProvider<SelectedYearNotifier, int?>(() => SelectedYearNotifier());
class SelectedYearNotifier extends Notifier<int?> { class SelectedYearNotifier extends Notifier<int?> {
bool _hasExplicitSelection = false;
bool get hasExplicitSelection => _hasExplicitSelection;
@override @override
int? build() => null; int? build() {
void select(int? id) => state = id; _hasExplicitSelection = false;
return null;
}
void select(int? id) {
_hasExplicitSelection = true;
state = id;
}
void setDefaultIfUnset(int activeYearId) {
if (!_hasExplicitSelection && state == null) {
state = activeYearId;
}
}
void reset() {
_hasExplicitSelection = false;
state = null;
}
} }
// Academic years list // Academic years list
@@ -87,7 +108,7 @@ final missingDocsFilterExpandedProvider = NotifierProvider<_BoolNotifier, bool>(
// ── Yearly Comparison Filters ───────────────────────────────────────────────── // ── Yearly Comparison Filters ─────────────────────────────────────────────────
/// Selected years for yearly comparison (empty = all years) /// Selected years for yearly comparison (empty = default 4 consecutive years)
final yearlyComparisonSelectedYearsProvider = final yearlyComparisonSelectedYearsProvider =
NotifierProvider<SelectedYearsNotifier, Set<String>>( NotifierProvider<SelectedYearsNotifier, Set<String>>(
() => SelectedYearsNotifier(), () => SelectedYearsNotifier(),
@@ -107,6 +128,8 @@ class SelectedYearsNotifier extends Notifier<Set<String>> {
state = current; state = current;
} }
void setYears(Set<String> years) => state = years;
void clear() => state = {}; void clear() => state = {};
} }
File diff suppressed because it is too large. Load diff