tasks.md 3.1 KB

实施计划

  • [ ] 1. 后端 API 开发 - 商家列表接口增强

    • 修改 app/Services/Common/StoreService.phpgetDataList() 方法
    • 添加余额字段到返回数据中(从关联的 Member 表获取)
    • 确保支持按商家名称和手机号模糊搜索
    • 确保支持分页参数
    • 需求: 5.1, 5.2, 5.3
  • [ ] 2. 前端组件开发 - 角色判断逻辑

    • addons/admin/src/views/financial/accountLogApply.vue 中实现 checkUserRole() 方法
    • 根据 user.store_id 判断是否为超级管理员(store_id === 0 或 null)
    • 设置 isSuperAdmin 数据字段
    • 需求: 3.1, 3.2, 3.3
  • [ ] 3. 前端组件开发 - 商家选择器 UI

    • 添加商家选择器 el-select 组件(使用 v-if="isSuperAdmin" 条件渲染)
    • 配置远程搜索、可清空、可过滤等属性
    • 实现选项显示格式:商家名称、手机号、余额
    • 添加必要的数据字段:storeOptions, storeSearchLoading
    • 需求: 1.1, 1.5, 2.3
  • [ ] 4. 前端功能开发 - 商家搜索

    • 实现 searchStores(query) 方法
    • 调用 /store/index API 获取商家列表
    • 处理加载状态和错误情况
    • 需求: 2.1, 2.2
  • [ ] 5. 前端功能开发 - 商家选择处理

    • 实现 handleStoreChange(storeId) 方法
    • 选择商家后加载商家信息(user_id, name, real_name, phone, balance)
    • 更新 storeInfo 数据对象
    • 调用 loadRecords() 加载该商家的申请记录
    • 处理清空选择的情况
    • 需求: 1.2, 1.3, 4.1, 4.2
  • [ ] 6. 前端功能开发 - 商家用户自动加载

    • 实现 loadStoreInfoForMerchant() 方法
    • 调用 /store/currentInfo API 获取当前登录商家信息
    • 自动设置 applyForm.store_id
    • 加载商家信息和申请记录
    • 需求: 1.5, 3.3
  • [ ] 7. 前端功能开发 - 表单验证增强

    • 在 applyRules 中添加 store_id 验证规则
    • 超级管理员必须选择商家才能提交
    • 使用自定义 validator 函数
    • 需求: 3.4
  • [ ] 8. 前端功能开发 - 提交申请逻辑调整

    • 修改 submitApply() 方法
    • 确保使用选中商家的 user_id 提交申请
    • 验证提现金额不超过商家余额
    • 需求: 1.4
  • [ ] 9. 前端功能开发 - 申请记录过滤

    • 修改 loadRecords() 方法
    • 超级管理员:根据选中商家的 user_id 过滤记录
    • 商家用户:只显示自己的记录
    • 未选择商家时显示空列表
    • 需求: 4.1, 4.2, 4.3, 4.4
  • [ ] 10. 生命周期集成

    • mounted() 钩子中调用 checkUserRole()
    • 根据角色执行相应的初始化逻辑
    • 超级管理员:初始加载商家列表
    • 商家用户:自动加载当前商家信息
    • 需求: 1.1, 1.5
  • [ ] 11. 单元测试 - 前端组件测试

    • 测试 checkUserRole() 方法的角色判断逻辑
    • 测试商家选择器的显示/隐藏逻辑
    • 测试 handleStoreChange() 的数据更新
    • 测试表单验证规则
  • [ ] 12. 单元测试 - 后端服务测试

    • 测试 StoreService 的余额字段返回
    • 测试商家列表的搜索和分页功能
    • 测试权限验证逻辑
  • [ ] 13. 检查点 - 确保所有测试通过

    • 确保所有测试通过,如有问题请询问用户