Skip to content
v1.0当前版本
文档版本当前使用指南

当前仅提供 1.0 使用指南

完整案例:办公用品采购申请 ​

本章把前面的方法完整走一遍。重点不是照抄最终字段,而是观察每个设计决定如何从业务证据和规则推导出来。

1. 原始需求 ​

行政负责人最初提出:

“我们现在都是在群里说要买什么,想做一个采购申请表,金额大了让领导再审批一下,最好还能看统计。”

如果直接开发,至少有这些未知:

  • 谁可以申请;
  • “金额大”是多少;
  • 主管怎样确定;
  • 批准后由谁采购;
  • 如何知道采购完成;
  • 申请能否撤回和修改;
  • 统计预计金额还是实际金额;
  • 谁能看部门或全部数据。

所以第一步不是创建表单,而是定义问题和开展访谈。

2. 业务研究 ​

2.1 收集材料 ​

应用开发者收集:

  • 当前办公用品申请 Excel;
  • 最近一周的五笔聊天申请;
  • 办公采购制度;
  • 行政每月采购汇总;
  • 两笔退回或取消的真实案例。

2.2 访谈对象 ​

角色访谈重点
普通员工怎样提出申请、最常漏什么、怎样知道进度
直属主管审批依据、金额边界、退回原因
行政采购员批准后怎样采购、如何登记结果
行政负责人高金额审批、统计和管理要求
应用管理员角色、组织关系和上线维护

2.3 访谈发现 ​

申请人:

  • 通常在聊天中写物品、数量和用途;
  • 不知道主管什么时候已经同意;
  • 被退回后通常重新发一条消息,旧消息仍在;
  • 经常忘记写规格。

主管:

  • 主要判断用途、数量和总金额;
  • 总金额超过 5000 元需要行政负责人同意;
  • 希望退回时申请人能看到原因;
  • 不希望自己修改申请内容。

行政采购员:

  • 每周从聊天中复制到 Excel;
  • 不知道哪些申请已经批准但还没采购;
  • 购买后会补充实际金额和采购日期;
  • 缺货时会与申请人线下沟通替代品。

行政负责人:

  • 需要按月查看完成采购金额;
  • 希望看到超过三个工作日仍未处理的申请;
  • 第一版不做供应商、付款和库存。

2.4 发现的冲突 ​

编号冲突最终决定
D-01有人认为 3000 元要高级审批,制度写 5000 元按现行制度,大于 5000 元
D-02紧急采购是否允许先买后批第一版不支持,仍需先审批
D-03主管能否改申请金额不能;退回申请人修改
D-04统计预计还是实际金额管理月报使用实际金额

3. 业务目标卡 ​

项目内容
应用主题办公用品采购申请
当前问题申请、审批和登记分散;进度不可见;重复录入
目标用户试点部门员工、主管、行政采购员、行政负责人
业务目标统一发起、审批、采购跟踪和查询
质量目标金额自动计算;审批记录清楚;越权访问被拒绝
管理目标查看待采购、超时和月度完成金额
第一版边界办公用品申请到采购完成
暂不包含生产物料、供应商比价、合同、付款、库存、历史全量导入

4. 成功标准 ​

  • 试点部门新申请全部从应用发起;
  • 行政不再把申请明细重新抄到 Excel;
  • 申请人可自行查看状态;
  • 每笔申请能看到完整审批结果;
  • 待采购和超时事项可查询;
  • 月度完成金额可按统一口径汇总;
  • 不同角色的数据范围符合权限矩阵。

5. 核心业务场景 ​

S-01 普通申请 ​

申请人创建两行明细并提交,总金额不超过 5000 元。直属主管同意后,申请进入待采购。

S-02 高金额申请 ​

申请总金额大于 5000 元。直属主管同意后,增加行政负责人审批;全部同意后进入待采购。

S-03 退回修改 ​

审批人填写退回原因。申请人修改明细并重新提交,按修改后的金额重新选择路线。

S-04 撤回 ​

在规则允许的阶段,申请人撤回未完成审批的申请,记录回到草稿,不保留有效待办。

S-05 采购完成 ​

行政采购员从待采购视图打开申请,登记实际金额、采购日期和结果,状态变为已完成。

S-06 缺货作废 ​

已批准申请因无法采购而作废。行政填写原因,记录保留但不计入完成金额。

S-07 越权访问 ​

普通申请人不能查看他人申请;主管不能修改申请明细;行政不能进入应用设计功能。

6. 业务词汇表 ​

术语统一定义
采购申请员工为工作需要提出的办公用品购买请求
提交申请人确认内容完整并正式发起审批
审批通过所有应参与的审批节点已同意,不代表已经采购
待采购审批完成,等待行政执行购买
采购完成行政已完成购买并登记实际结果
退回信息需要修改,申请人可修改后重新提交
拒绝本次申请不获批准,业务终止
撤回申请人在允许时收回已提交申请
作废业务因现实原因不再继续,记录保留
完成金额状态为已完成的申请实际金额

7. 业务对象 ​

7.1 采购申请 ​

项目内容
目的记录和推动一次办公用品采购请求
创建者有申请权限的员工
当前责任草稿时申请人;审批中当前审批人;批准后行政
开始员工确认有采购需要
结束已完成、已拒绝或已作废
主要状态草稿、审批中、已退回、待采购、采购中、已完成、已拒绝、已作废
查询我的申请、部门申请、待采购、采购分析

7.2 采购明细 ​

采购申请内的多行内容,不独立存在:

  • 物品名称;
  • 规格;
  • 数量;
  • 预计单价;
  • 行金额;
  • 备注。

7.3 为什么第一版没有物品目录 ​

访谈显示第一版物品种类不固定,也没有统一编码和维护责任。直接建立目录会增加维护工作,但尚未解决明确问题。

当出现以下需求时再独立建立:

  • 统一编码;
  • 固定分类;
  • 参考价格;
  • 停用管理;
  • 库存或供应商关联。

8. 生命周期 ​

text
草稿
  ├─ 提交 → 审批中
  └─ 删除草稿

审批中
  ├─ 同意 → 下一审批或待采购
  ├─ 退回 → 已退回
  ├─ 拒绝 → 已拒绝
  └─ 撤回 → 草稿

已退回
  ├─ 修改并重提 → 审批中
  └─ 作废 → 已作废

待采购
  ├─ 开始采购 → 采购中
  └─ 作废 → 已作废

采购中
  ├─ 完成 → 已完成
  └─ 作废 → 已作废

9. 关键业务规则 ​

编号规则
BR-01采购申请提交时至少有一行有效明细
BR-02每行数量必须大于 0,预计单价不能小于 0
BR-03行金额 = 数量 × 预计单价,保留两位小数
BR-04申请总金额 = 所有有效行金额之和,不允许手工修改
BR-05总金额大于 5000 元时增加行政负责人审批
BR-06总金额等于 5000 元时不增加行政负责人审批
BR-07审批人不能修改申请内容,只能同意、退回或拒绝
BR-08退回后由申请人修改,重新提交从第一节点开始
BR-09修改后按最新总金额重新选择审批路线
BR-10已完成、已拒绝和已作废记录不允许修改申请内容
BR-11月度完成金额按采购完成日期和实际金额统计
BR-12作废和拒绝记录不计入完成金额

审批决策表 ​

总金额直属主管行政负责人结果
< 5000需要不需要主管同意后待采购
= 5000需要不需要主管同意后待采购
> 5000需要需要两级同意后待采购

10. 应用蓝图 ​

10.1 应用与目录 ​

text
办公采购管理
├─ 采购申请
│  ├─ 新建采购申请
│  └─ 我的申请
├─ 采购执行
│  ├─ 待采购
│  └─ 全部采购申请
├─ 数据分析
│  └─ 采购分析
└─ 应用管理
   ├─ 模板
   ├─ 流程
   └─ 角色与权限

10.2 构建对象 ​

类别名称
核心模板采购申请
明细采购明细
动作行金额计算、总额汇总、提交前检查
流程采购审批
角色申请人、直属主管、行政采购员、行政负责人、应用管理员
视图我的申请、部门申请、待采购、全部采购申请、采购分析
输出采购申请打印件、月度导出

11. 数据字典摘要 ​

11.1 主信息 ​

字段定义来源规则
申请编号采购申请的稳定编号自动生成不允许人工修改
申请人发起申请的人员当前用户保留历史事实
申请日期业务提出日期默认当天,可按规则调整不能为空
采购用途为什么需要采购申请人填写提交时必填
紧急程度普通或紧急申请人选择默认普通
期望日期希望何时获得物品申请人填写不早于申请日期
预计总金额明细预计金额之和自动计算流程分支依据
实际总金额实际采购结果行政填写完成时必填
当前状态当前业务阶段随业务过程变化用户不能随意修改
作废原因业务终止原因有权角色填写作废时必填

11.2 明细 ​

字段定义来源规则
物品名称需要采购的物品申请人填写必填
规格品牌、型号、尺寸等申请人填写按物品需要
数量预计购买数量申请人填写大于 0
预计单价单件预计价格申请人填写不小于 0
行金额数量×预计单价自动计算两位小数
备注特殊要求申请人填写可空

11.3 过程信息 ​

  • 提交时间;
  • 审批完成时间;
  • 开始采购日期;
  • 采购完成日期;
  • 当前采购负责人;
  • 采购结果说明。

12. 表单草图 ​

text
采购申请

基本信息
┌────────────────────────────────┐
│ 申请编号 [自动]    状态 [草稿]             │
│ 申请人   [当前人员] 申请日期 [今天]         │
└────────────────────────────────┘

申请说明
┌────────────────────────────────┐
│ 采购用途 [                              ] │
│ 紧急程度 [普通▼]  期望日期 [选择日期]       │
└────────────────────────────────┘

采购明细
┌────────────────────────────────┐
│ 物品 | 规格 | 数量 | 预计单价 | 行金额 | 备注 │
│      |      |      |          | [自动] |      │
└────────────────────────────────┘

                            预计总金额:¥____

采购结果(批准后由行政填写)
┌────────────────────────────────┐
│ 实际总金额 | 采购完成日期 | 结果说明        │
└────────────────────────────────┘

[保存草稿] [提交审批]

表单行为 ​

  • 新建时隐藏或只读采购结果区域;
  • 审批中申请内容只读;
  • 已退回时申请人可修改申请说明和明细;
  • 待采购和采购中,行政只编辑采购结果区域;
  • 已完成、拒绝和作废时整体只读;
  • 退回原因和当前处理阶段在明显位置展示。

13. 动作设计 ​

A-01 行金额计算 ​

  • 事件:数量或预计单价变化;
  • 条件:两个值有效;
  • 动作:相乘并保留两位小数;
  • 结果:当前行显示新金额;
  • 失败:指出具体无效字段。

A-02 总额汇总 ​

  • 事件:行金额变化、增加行或删除行;
  • 动作:汇总有效行;
  • 结果:更新预计总金额;
  • 约束:不允许手工修改。

A-03 提交前检查 ​

  • 至少一行明细;
  • 物品名称、数量和单价完整;
  • 数量大于 0;
  • 用途必填;
  • 总金额已得到;
  • 找到有效审批人。

A-04 采购完成检查 ​

  • 实际总金额必填;
  • 采购完成日期必填;
  • 当前角色有权完成;
  • 成功后状态为已完成。

14. 流程设计 ​

text
开始
  ↓
直属主管审批
  ├─ 退回 → 申请人修改
  ├─ 拒绝 → 已拒绝
  └─ 同意
       ↓
   总金额 > 5000?
      ├─ 否 → 审批通过
      └─ 是 → 行政负责人审批
                 ├─ 退回 → 申请人修改
                 ├─ 拒绝 → 已拒绝
                 └─ 同意 → 审批通过

审批通过 → 待采购

节点要求 ​

直属主管查看:

  • 申请人;
  • 用途;
  • 明细;
  • 预计总金额;
  • 紧急程度。

行政负责人额外关注:

  • 高金额原因;
  • 主管意见;
  • 部门采购情况。

退回意见必填;重新提交从直属主管开始。

15. 权限矩阵 ​

能力申请人直属主管行政采购员行政负责人应用管理员
新建申请是按申请人角色按申请人角色按申请人角色管理例外
查看自己的是是是是是
查看部门否职责范围按需是是
查看全部否否是是是
修改草稿/退回仅本人否否否管理例外
审批否分配给本人否分配给本人不默认代办
登记采购结果否否是是管理例外
作废待采购否否按规则是管理例外
导出全部否否按需是是
设计应用否否否否是

16. 视图设计 ​

我的申请 ​

  • 本人记录;
  • 显示编号、用途、金额、状态、提交时间;
  • 草稿和退回在前;
  • 可打开继续处理。

部门申请 ​

  • 主管职责范围;
  • 显示申请人、金额、状态、当前阶段;
  • 支持月份和状态筛选。

待采购 ​

  • 已批准但未完成;
  • 按批准时间从早到晚;
  • 显示物品摘要、金额和负责人;
  • 行政可打开登记结果。

采购分析 ​

  • 按采购完成日期统计实际金额;
  • 排除拒绝和作废;
  • 可按月份、部门筛选;
  • 从汇总打开具体记录;
  • 单独列出超时审批和长期待采购。

17. 通知与提醒 ​

事件接收者目的
提交成功申请人确认编号和状态
产生审批任务当前审批人提醒处理
退回申请人查看原因并修改
审批通过申请人、行政采购员知道已进入采购
采购完成申请人查看结果
审批即将超时当前审批人及时处理
超时未处理行政负责人管理积压

待办和状态是业务依据,通知只负责提醒。

18. 开发波次 ​

波次一:最小闭环 ​

  • 应用、目录、采购申请模板;
  • 基本信息和一行明细;
  • 保存、重新打开、我的申请;
  • 申请人和未授权用户验证。

波次二:完整表单 ​

  • 全部主信息和明细;
  • 布局、默认值、状态行为;
  • 真实用户试填。

波次三:金额和校验 ​

  • 行金额、总金额;
  • 提交前检查;
  • 空值、零、负数和边界测试。

波次四:角色与视图 ​

  • 正式角色;
  • 数据范围;
  • 我的申请、部门申请、待采购;
  • 权限正反例。

波次五:流程 ​

  • 先主管审批;
  • 再退回、拒绝和撤回;
  • 再高金额分支;
  • 再超时和通知。

波次六:采购结果和管理 ​

  • 行政登记;
  • 完成、作废;
  • 采购分析;
  • 导出和打印;
  • 完整验收。

19. 核心验收场景 ​

编号场景预期
T-01两行明细 350+360总金额 710
T-02数量为 0明确阻止提交
T-03总额 5000只走主管审批
T-04总额 5000.01增加负责人审批
T-056000 退回后改 4000重提后只走主管
T-06连续点击提交只形成一次有效审批
T-07无直属主管不提交,明确提示
T-08申请人查看他人记录被拒绝
T-09主管修改明细被拒绝
T-10行政登记完成状态已完成,进入月度金额
T-11作废申请不进入完成金额
T-12保存后重新打开字段、明细、金额、状态一致

20. 上线计划 ​

试点 ​

  • 一个部门;
  • 两周;
  • 所有新办公用品申请从应用发起;
  • 旧申请继续按旧方式完成。

准备 ​

  • 正式角色成员;
  • 直属主管关系;
  • 使用说明;
  • 初始选项;
  • 问题反馈入口;
  • 每日检查人。

第一周观察 ​

  • 是否仍在群里发新申请;
  • 是否有无人处理;
  • 退回是否能顺利修改;
  • 行政是否减少重复登记;
  • 是否出现越权;
  • 月度统计口径是否正确。

21. 案例结论 ​

原始需求只有“做一个采购申请表”,最终应用设计包含:

  • 明确的目标和范围;
  • 角色和责任;
  • 业务对象和生命周期;
  • 计算、校验和审批规则;
  • 不同状态下的表单行为;
  • 权限和数据范围;
  • 角色视图和管理指标;
  • 异常、测试、上线和迭代方案。

这就是“把表单搭出来”和“把业务设计成可用应用”的差别。

22. 如何复用这个案例 ​

不要直接复制字段。复用它的推导顺序:

text
问题 → 目标 → 人员 → 场景 → 对象 → 状态
→ 规则 → 流程 → 数据 → 表单 → 动作
→ 权限 → 视图 → 增量开发 → 测试 → 上线

下一章提供其他业务背景,供独立练习并评估设计。

使用者 · 应用开发者 · 实例管理者