vitesse-yitisheng-web/project_doing.md

2.2 KiB

2026-01-02

  • 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.ts encapsulating /user/major/list API.
    • Updated src/pages/simulate.vue to 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.
  • [Result]:

    • Updated UserMajorListResponse to support { list: { items: [], probCount: {} } } structure.
    • Added 'stable' (较稳妥) tab to simulate.vue.

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 TabKey definition 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.ts with saveVolunteer and getVolunteerDetail.
    • Integrated these into simulate.vue.
    • Added isModified logic for reordering and deletion.
    • Added onBeforeRouteLeave and watch(activePanel) protection for unsaved changes.
    • Updated Panel B template to use real API data structure.

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.