feat(web3): 任务下拉改从实际数据库查
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 兼容保险
Showing
Please register or sign in to comment