anxin-ruoyi/.kiro/specs/frontend-error-fixes/tasks.md
2025-12-23 18:33:17 +08:00

79 lines
3.2 KiB
Markdown

# Implementation Plan
- [ ] 1. Fix Pinia store access in confirm.vue component
- Replace Vuex store access pattern with Pinia useUserStore pattern
- Update isCurrentUserCompany function to use correct store access
- Update checkConfirmPermission function to use correct store access
- Add proper error handling for missing department data
- _Requirements: 1.1, 1.2, 1.3, 1.4, 1.5_
- [ ]* 1.1 Write property test for error-free function execution
- **Property 1: Error-free function execution**
- **Validates: Requirements 1.2**
- [ ]* 1.2 Write property test for graceful missing data handling
- **Property 2: Graceful handling of missing department data**
- **Validates: Requirements 1.4, 2.3**
- [ ]* 1.3 Write property test for error-free component rendering
- **Property 3: Error-free component rendering**
- **Validates: Requirements 1.5**
- [ ] 2. Extend user store to include department information
- Add deptId field to user store state
- Update getInfo action to include department ID from API response
- Add graceful handling for missing deptId in API responses
- Update logout action to clear department information
- _Requirements: 3.1, 3.2, 3.3, 3.4, 3.5_
- [ ]* 2.1 Write property test for department ID persistence
- **Property 8: Department ID persistence in store**
- **Validates: Requirements 3.1**
- [ ]* 2.2 Write property test for graceful API response handling
- **Property 9: Graceful API response handling**
- **Validates: Requirements 3.3**
- [ ]* 2.3 Write property test for complete logout cleanup
- **Property 10: Complete logout cleanup**
- **Validates: Requirements 3.5**
- [ ] 3. Implement company identification logic
- Update isCurrentUserCompany function with proper business logic
- Add validation for client company identification
- Add validation for security company identification
- Implement conditional company tag display logic
- _Requirements: 2.1, 2.2, 2.4, 2.5_
- [ ]* 3.1 Write property test for client company identification
- **Property 4: Correct client company identification**
- **Validates: Requirements 2.1**
- [ ]* 3.2 Write property test for security company identification
- **Property 5: Correct security company identification**
- **Validates: Requirements 2.2**
- [ ]* 3.3 Write property test for conditional company tag display
- **Property 6: Conditional company tag display**
- **Validates: Requirements 2.4**
- [ ]* 3.4 Write property test for role-based authorization
- **Property 7: Accurate role-based authorization**
- **Validates: Requirements 2.5**
- [ ] 4. Checkpoint - Ensure all tests pass
- Ensure all tests pass, ask the user if questions arise.
- [ ]* 4.1 Write unit tests for store access functions
- Create unit tests for isCurrentUserCompany function
- Write unit tests for checkConfirmPermission function
- Write unit tests for user store department handling
- _Requirements: 1.1, 1.2, 1.3, 2.1, 2.2, 3.1, 3.3_
- [ ]* 4.2 Write integration tests for component behavior
- Test complete component rendering with various user states
- Test store integration with API responses
- Test error handling across component lifecycle
- _Requirements: 1.5, 2.3, 3.2, 3.4_