-
Data Governance Dev authored
后端: - models/task.py:ORM(name/group_id/data_source_path/source_table/status/description/db_type/conn_json/timestamps) - to_dict() 含 group 名字 + fields_count/rules_count(占位 0,P4 改 join) - routers/tasks.py:6 端点 - GET /api/tasks?group=&keyword=(keyword 同时匹配 name 和 source_table) - POST(name 重名 → 409)、GET /{id}、PUT /{id}、DELETE /{id}(级联走 DB ON DELETE CASCADE) - POST /{id}/copy:自动生成不冲突的 xxx_副本 / xxx_副本2 ... - group_id 通过 group 名查询 - conn_json 解析出 db 字段返回 - app.py:注册 tasks 路由 前端: - src/api/tasks.js:listTasks / getTask / createTask / updateTask / deleteTask / copyTask - TaskConfigView.vue: - 完全去掉 mockData.taskList,onMounted 拉 /api/tasks - 新增/编辑/复制/删除全走 API,错误 ElMessage 提示 - TaskModal.vue:onSave 发 {name, group, db_type, data_source_path, source_table, status, description, conn_json}(P3 不写 fields/rules,留 P4) 验收(经 Vite 代理,10 步链路): 空列表 → 新建 → 重名 409 → 分组筛选 → 关键字筛选 → 复制 → 更新 → 404 → 删除 → 剩 N 条04e0282c