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

3.2 KiB

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