vitesse-yitisheng-web/project_doing.md

43 lines
1.7 KiB
Markdown

## 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.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.