适用场景
设计请假或其他审批系统、写需求文档里的「状态说明」、给测试同学列用例时使用。流程图讲的是人怎么操作,状态图讲的是一张单据能处于哪些状态、什么动作让它变化,开发和测试都更需要后者。
怎么改成你的
- 审批层级按你的制度改,每多一级就多一个「待某人审批」的状态。
- 连线上冒号后面的文字是触发动作,可以写成按钮名称。
- 报销单、采购申请的状态结构相同,把最后的「休假中、已销假」换成「已付款」。
Mermaid 代码
leave-request-state.mmd
stateDiagram-v2
[*] --> 草稿 : 新建请假单
草稿 --> 待主管审批 : 提交
草稿 --> [*] : 删除
待主管审批 --> 已撤回 : 申请人撤回
待主管审批 --> 已驳回 : 主管驳回
待主管审批 --> 待部门负责人审批 : 主管同意且超过三天
待主管审批 --> 待人事备案 : 主管同意且不超过三天
待部门负责人审批 --> 已驳回 : 驳回
待部门负责人审批 --> 待人事备案 : 同意
待人事备案 --> 已批准 : 人事确认
已撤回 --> 草稿 : 重新编辑
已驳回 --> 草稿 : 修改后重提
已批准 --> 休假中 : 到达开始日期
休假中 --> 已销假 : 返岗销假
已销假 --> [*]让 AI 按这个结构生成一份
把下面这段发给豆包、DeepSeek、Kimi 或元宝,再把它的回复整段粘贴到编辑器,会自动识别其中的代码。
prompt.txt
请用 Mermaid 的 stateDiagram-v2 语法画一张请假单状态图:从初始状态新建为草稿,提交后进入待主管审批;主管驳回进入已驳回,申请人可撤回进入已撤回,主管同意时按天数是否超过三天分别进入待部门负责人审批或待人事备案;部门负责人同意后进入待人事备案,人事确认后进入已批准;已撤回和已驳回可回到草稿;已批准到达开始日期进入休假中,返岗销假后进入已销假并结束。每条转换用冒号写触发动作。只输出 mermaid 代码块。
常见问题
- 状态图和流程图怎么选?
想说明「谁先做什么后做什么」用流程图;想说明「单据有哪些状态、哪些操作会改变状态」用状态图。
- [*] 是什么?
它表示开始和结束。箭头从它出发是初始状态,指向它是终止状态。
- 中文状态名能改颜色吗?
能。在预览里单击状态选颜色即可,例如把「已驳回」标成红色。
同类模板
更新于 2026-11-11