feat(app): 任务生命周期操作 UI(编辑/取消/重投/删除 + 复杂度落库)
补齐前端缺失的任务管理闭环(均接现有后端端点,无需后端改动):
- api.js:patchTask / cancelTask / requeueTask / deleteTask
- app.jsx:taskOps{patch,cancel,requeue,del},统一带刷新 + toast
- TaskDetail 操作工具条:✎编辑 / ⌨接管 / ↻重投 / ⊘取消 / 🗑删除(删除带确认;
重投/取消按状态显隐)
- 编辑表单:标题 + 优先级 + 依赖(点选其他任务)→ PATCH /tasks/:id
- 修复:行内复杂度选择器(CplxPicker)从「仅本地 state」改为真正 PATCH 落库
验证:build 通过;建临时任务实测——工具条/编辑表单渲染 0 错误、DELETE 成功
(deleted:1)、PATCH 在途守卫正确拒绝;测试残留已清理。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -32,6 +32,10 @@ export const api = {
|
||||
patchProject: (pid, body) => http('PATCH', `/api/projects/${pid}`, body),
|
||||
createProject: (body) => http('POST', '/api/projects', body),
|
||||
takeover: (taskId) => http('POST', `/api/tasks/${taskId}/takeover`),
|
||||
patchTask: (taskId, body) => http('PATCH', `/api/tasks/${taskId}`, body),
|
||||
cancelTask: (taskId) => http('POST', `/api/tasks/${taskId}/cancel`),
|
||||
requeueTask: (taskId) => http('POST', `/api/tasks/${taskId}/requeue`),
|
||||
deleteTask: (taskId) => http('DELETE', `/api/tasks/${taskId}`),
|
||||
// 附件上传走 multipart(不能用 JSON helper,content-type 由浏览器带 boundary)
|
||||
uploadAttachments: async (taskId, files) => {
|
||||
const fd = new FormData();
|
||||
|
||||
Reference in New Issue
Block a user