PRODUCT REQUIREMENTS DOCUMENT
采购订单详情页
一、页面概述
| 项目 | 内容 |
|---|
| 页面名称 | 采购订单详情 |
| 页面目标 | 只读展示采购订单全部信息,提供状态相关的操作入口 |
| 页面路径 | /purchase/orders/{id} |
| 骨架结构 | 页头(标题+状态+操作按钮)→ 基本信息卡片 → 商品明细卡片 → 关联单据卡片 → 制单信息卡片 |
二、页头
| 元素 | 规格 |
|---|
| 左侧标题 | 采购订单 {采购单号},采购单号加粗展示 |
| 左侧副标题 | 状态 Tag(见列表页§4.3配色规则) |
| 右侧操作区 | 按当前状态动态展示对应操作按钮(见§2.1) |
| 操作区布局 | flex flex-wrap items-center gap-actions(12px) |
| 返回列表 | 固定放在操作组最左侧 |
2.1 页头操作按钮矩阵(按状态)
| 按钮 | 草稿 | 待审核 | 待入库 | 部分入库 | 已完成 | 已作废 |
|---|
| 返回列表 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 编辑 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 删除 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 提交审核 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 审核通过 | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| 驳回 | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| 作废 | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| 创建入库单 | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ |
| 关闭订单 | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
三、基本信息卡片
卡片标题:基本信息
布局:4 列栅格(桌面端);全部字段为 ReadonlyText(只读文本,不使用 disabled 输入框)。
| 字段 | 展示格式 | 说明 |
|---|
| 采购单号 | 直接展示,如 PO20260419-0001 | — |
| 供应商 | {Code} {Name} | — |
| 入库仓库 | {Code} {Name} | — |
| 下单日期 | YYYY-MM-DD | — |
| 预计到货日期 | YYYY-MM-DD;无值展示 - | — |
| 采购备注 | 直接展示;无值展示 - | 跨列展示,占满当前行剩余宽度 |
四、商品明细卡片
卡片标题:商品明细
卡片副标题区(卡片标题右侧):展示汇总信息 共 N 种商品 | 总数量 N 件 | 总金额 ¥N
4.1 明细表格(全部只读)
| 列名 | 内容说明 | 宽度 |
|---|
| 序号 | 1、2、3… | 60px |
| 商品编码 | 直接展示;如 SKU001 | 120px |
| 商品名称 | 直接展示 | 180px |
| 商品条码 | 直接展示;无条码展示 - | 140px |
| 规格型号 | 直接展示;无值展示 - | 120px |
| 单位 | 直接展示;无值展示 - | 80px |
| 采购数量 | 整数 | 100px |
| 单价(含税) | ¥N.NN(2位小数) | 120px |
| 税率 | 枚举展示文本,如 13%;无值展示 - | 80px |
| 金额(含税) | ¥N,NNN.NN(千分位,2位小数) | 130px |
| 累计已入库数量 | 整数;仅在「待入库/部分入库/已完成」状态展示此列 | 130px |
| 未入库数量 | 整数;仅在「待入库/部分入库」状态展示此列 | 120px |
| 行备注 | 直接展示;无值展示 - | 150px |
4.2 汇总行(固定于表格底部)
| 汇总项 | 展示内容 |
|---|
| 商品种数 | 共 N 种商品 |
| 采购总数量 | 合计 N 件 |
| 采购总金额 | ¥ N,NNN.NN |
五、关联单据卡片
卡片标题:关联入库单
5.1 表格列定义
| 列名 | 内容说明 |
|---|
| 入库单号 | 可点击(链接色),跳转到对应采购入库单详情页 |
| 入库日期 | YYYY-MM-DD |
| 本次入库数量 | 整数(所有商品行数量之和) |
| 操作人 | 直接展示用户名 |
| 状态 | 「已入库」(确认后唯一终态) |
六、制单信息卡片(固定置底)
卡片标题:制单信息
布局:4 列栅格,全部 ReadonlyText。
| 字段 | 展示格式 |
|---|
| 创建人 | 直接展示;系统账号展示 System |
| 创建时间 | YYYY-MM-DD HH:mm:ss |
| 最后修改人 | 直接展示;无值展示 - |
| 最后修改时间 | YYYY-MM-DD HH:mm:ss;无值展示 - |
| 审核人 | 直接展示;无值展示 -(草稿/待审核/已作废状态展示 -) |
| 审核时间 | YYYY-MM-DD HH:mm:ss;无值展示 - |
七、二次确认弹窗规格
| 触发操作 | 确认按钮文案 | 取消按钮文案 |
|---|
| 删除(草稿) | 确认删除 | 取消 |
| 提交审核 | 确认提交 | 取消 |
| 审核通过 | 确认审核 | 取消 |
| 驳回 | 确认驳回 | 取消 |
| 作废 | 确认作废 | 取消 |
| 关闭订单 | 确认关闭 | 取消 |
八、空值占位和展示规则
| 规则 | 说明 |
|---|
| 空值 | 所有无数据字段展示连字符 -,禁止展示中文破折号 — 或留空白 |
| 主数据引用 | 统一展示 {Code} {Name} |
| 金额 | 保留 2 位小数,千分位展示(如 ¥1,234.56) |
| 日期时间 | 日期 YYYY-MM-DD;时间戳 YYYY-MM-DD HH:mm:ss |
九、反馈文案
| 操作 | 反馈类型 | 文案 |
|---|
| 审核通过成功 | Toast | 审核通过 |
| 驳回成功 | Toast | 已驳回,单据已退回草稿 |
| 作废成功 | Toast + 页面状态更新 | 采购订单已作废 |
| 关闭订单成功 | Toast + 页面状态更新 | 订单已关闭,剩余数量不再接收 |
| 跳转创建入库单 | 跳转 | 跳转至采购入库单新增页,并预填当前采购订单号 |