• Data Governance Dev's avatar
    feat(web3): 任务下拉改从实际数据库查 · aa69ab03
    Data Governance Dev authored
    DataQualityView 顶部「任务名称」下拉原来读 mock 的 taskOptionsByType[type],
    改成调后端 listTasks({group}) 按分组名筛真实任务。
    
    **改动(web3/src/views/DataQualityView.vue)**
    - TYPE_TO_GROUP 映射(id-card→身份证 等 6 个 slug → group.name)
    - loadTasksForCurrentType():type 变时自动重拉,默认选第一项;切路由前选中的任务还在列表里就保留
    - watch(type, loadTasksForCurrentType, { immediate: true }) + onMounted 兜底(SSR 兼容冗余)
    - 下拉加 disabled「加载中… / 该分组暂无任务」选项
    - 「查询」按钮 :disabled="!selectedTask";task-info-bar v-if="selectedTask"
    - 删 taskOptionsByType mock 导入
    
    **为什么硬编码映射**:左侧菜单 slug 是英文、DB 分组名是中文,中间没有强对应字段。
    硬编码是最直白方案,避免后端维护冗余 slug 字段(plan §3 决策)。
    
    **API 验证**
      GET /api/tasks?group=身份证 → 4 个任务
      GET /api/tasks?group=手机号 → 0 个(其他分组还没建任务,符合现状)
    
    踩坑(详见 work-logs/2026-08-20.md 主题 30)
    - 选项 key 用 t.id 不是 t.name(同名任务时 Vue 复用 DOM 可能出错)
    - 空态:selectedTask 用 '' 而非 undefined,按钮 :disabled 兜底
    - onMounted + immediate=true 看起来重复,留作 SSR 兼容保险
    aa69ab03
DataQualityView.vue 6.13 KB