mirror of
https://github.com/kuaifan/dootask.git
synced 2026-08-01 19:05:55 +00:00
55 lines
2.2 KiB
Markdown
55 lines
2.2 KiB
Markdown
---
|
||
id: task.flow.concept
|
||
title: 任务工作流(自定义流程状态)
|
||
type: concept
|
||
feature: task
|
||
scope: end-user
|
||
locale: zh
|
||
aliases:
|
||
- 任务工作流
|
||
- 自定义状态
|
||
- 流程
|
||
- 待办进行中完成
|
||
- 工作流视图
|
||
related_tools: [update_task, get_project]
|
||
related_pages: [task_detail, project_settings]
|
||
prerequisites:
|
||
- 项目开启了工作流(在项目设置启用)
|
||
negative:
|
||
- 工作流最多 10 个状态 / 流程
|
||
- 工作流状态绑定 column_id 时,拖列联动改 flow_item_id;不绑定时各自独立
|
||
- 工作流的 status=end 节点会自动标记 complete_at,无法关闭这一联动
|
||
last_verified: v1.7.90
|
||
---
|
||
|
||
# 任务工作流(自定义流程状态)
|
||
|
||
## 定义
|
||
DooTask 工作流由 `ProjectFlow`(一个项目可有多套)+ `ProjectFlowItem`(每个流程节点)实现。常见用法是把任务从「待办 → 设计 → 开发 → 测试 → 上线」自定义为多个流转节点,比"完成 / 未完成"二值粒度更细。
|
||
|
||
## 关键字段(ProjectFlowItem)
|
||
- `name`:节点名(如「待开发」)
|
||
- `status`:节点类型,`start` 起点 / `end` 终点 / 其他普通节点
|
||
- `turns`:可流转到的节点 id 列表(流转规则)
|
||
- `userids`:节点负责人(限制只有这些人可以操作进入此节点)
|
||
- `usertype`:流转模式(如限制只能由当前负责人流转)
|
||
- `color`:节点色块(看板视图色条)
|
||
- `columnid`:可绑定到具体项目列,拖列时联动改 flow_item_id
|
||
|
||
## 任务上的字段
|
||
任务存 `flow_item_id` + `flow_item_name`,前端用此显示当前所处节点。
|
||
|
||
## 与「列」(column_id)的关系
|
||
- 列只是看板的物理分栏,与状态不一定一一对应
|
||
- 启用工作流后,看板视图按 `column_id` 分组,工作流视图按 `flow_item_id` 分组
|
||
- 节点配 `columnid` 时,拖列与改状态联动;不配则独立
|
||
|
||
## status=end 的特殊行为
|
||
- 拖任务到 status=end 的节点 → `complete_at` 自动写入 → 任务被标记完成
|
||
- 拖回非 end 节点 → complete_at 不会自动清空(除非显式取消完成)
|
||
|
||
## 不支持
|
||
- 单流程不能超过 10 个节点(最多 10 节点)
|
||
- 不能跨项目共享工作流
|
||
- 工作流配置改名 / 改色不会回填历史任务的 flow_item_name 快照
|