2.2 KiB
2.2 KiB
2026-01-02
[Task 6] User Recommended Major List API Integration
-
Time: 2026-01-02
-
Goal: Integrate the user recommended major list API into the simulation page.
-
Scope:
src/service/api/major.ts(Create)src/pages/simulate.vue(Update)
-
Result:
- Created
src/service/api/major.tsencapsulating/user/major/listAPI. - Updated
src/pages/simulate.vueto fetch and display data in Panel A using the new API. - Implemented infinite scroll and filtering by probability.
- Mapped API response fields to the UI table.
- Created
-
[Result]:
- Updated
UserMajorListResponseto support{ list: { items: [], probCount: {} } }structure. - Added 'stable' (较稳妥) tab to
simulate.vue.
- Updated
2026-01-23
[Task 8] Fix TypeScript type error in simulate.vue
- Time: 2026-01-23
- Goal: Fix type error
Argument of type '"stable"' is not assignable to parameter of type 'TabKey'. - Scope:
src/pages/simulate.vue - Result: Updated
TabKeydefinition to include'stable'and remove unused'all'.
2026-01-24
[Task 9] Volunteer Filling Logic Perfection
- Time: 2026-01-24
- Goal: Implement real API integration for saving and fetching volunteers, with modification detection.
- Scope:
src/service/api/volunteer.ts(New)src/pages/simulate.vue(Update)
- Result:
- Created
volunteer.tswithsaveVolunteerandgetVolunteerDetail. - Integrated these into
simulate.vue. - Added
isModifiedlogic for reordering and deletion. - Added
onBeforeRouteLeaveandwatch(activePanel)protection for unsaved changes. - Updated Panel B template to use real API data structure.
- Created
2026-01-24
[Task 10] Optimize Dark Mode for simulate.vue
- Time: 2026-01-24
- Goal: Full support for dark theme using dark: classes for all components in the simulation page.
- Scope: src/pages/simulate.vue
- Result:
- Applied detailed dark: classes to Sidebar, Panel A/B, and Data Tables.
- Optimized color contrast for sticky columns and scrollable areas in dark mode.
- Updated all modals (Major list, Switch plan) and Popconfirm UI for dark mode compatibility.