feat(web3): P3 任务 CRUD(头部)
后端:
- 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 条
Showing
web3/backend/models/task.py
0 → 100644
web3/src/api/tasks.js
0 → 100644
Please register or sign in to comment