# order 域设计总纲（销售订单）

LLMS 索引： [llms.txt](/llms.txt)

---

> **源**：PRD「八、页面架构与关键页面设计」页面树 4「销售订单」+「七、核心功能逐项需求」之「6.2 销售订单与订单变更」+「四、端到端业务流程与核心状态机」（订单状态机段）；调研「七、需求条目统一编号与优先级判定」R-008。P0 裁决见决策记录：44 问 triage §2/§5。
>
> **设计确认门：本稿产出即停点，用户确认后才进下一步（FSD 于 B5 完成后统一编制，2026-10-21 裁决）。**
>
> 状态：**已确认**（2026-10-21 用户确认 B1；后续修订追加登记于本行下方）
> 修订：2026-10-21 B1 定稿确认。（FSD `00-总则` 修订记录待 Phase 3 创建时补记本次定稿）
> 修订：2026-10-21 FSD 节奏裁决——B5 全部完成后统一编制（原门禁句「交错编制」口径作废）；移除未消费 data.js 引用（B-3 遗留裁决）。
> 修订：2026-10-21 Phase 3 样板先行——FSD ID 冻结（F04.01~F04.06/m04、F05.01~F05.03/m05），本表 FSD ID 列由册粒度占位细化为功能 ID（m04 为样板册：`prd/fsd/m04-销售订单.md`）；m05 册待建、ID 已冻结。
> 修订：2026-10-21 Phase 3 批量铺开——m05 订单变更册已建（`prd/fsd/m05-订单变更.md`，F05.01~F05.03；F05.03 地址变更跨册挂 shipping 域）。
> 原型：`html/index.html` 导航 + 3 屏，零依赖静态 HTML；预览走文档站 `python3 docs/sync_docs.py` 后 hugo server（仓库目录下相对链接以站点布局为准）。

## 页面清单

| 屏 | 原型文件 | 对应真实路由 | 交互点 | 覆盖的 FSD ID |
|----|----------|--------------|--------|----------------------------|
| 订单列表 | [order-list.html](/poms/design/html/order/order-list.html) | `/orders` | 状态/客户/交期筛选；来源报价基线列（锁定，可点开对照）；「无报价录单」弹层（价格依据必填，假设 Q6）；「从报价转单」入口；试点类型为演示辅助列 | F04.01（转单/无报价录单）、F04.02（列表与检索） |
| 订单详情 | [order-detail.html](/poms/design/html/order/order-detail.html) | `/orders/{orderId}` | 顶部状态条（状态/承诺交期/预计完成/收款/风险）；已确认订单「修改」仅打开变更单入口弹层；「取消订单」弹层展示在制影响清单（工单/物料/已收款）+ 原因必填 + 财务会签；四类快照 tab（产品/工艺/材料/拼版，冻结 vs 主数据最新版对照 + 刷新评估）；计划工单 tab 跳转工单详情；发货 tab 四账一致摘要；审计 tab 只增不删 | F04.03（详情）、F04.04（评审/确认操作）、F04.05（四类快照）、F04.06（取消/在制影响）、F15.03（审计视图，m15 收口） |
| 订单变更 | [order-change.html](/poms/design/html/order/order-change.html) | `/orders/{orderId}/changes/new` | 受控字段原值 vs 新值对照（勾选生效）；变更原因必填；影响评估三卡（工单/物料/交期）作为审批依据；审批分级 L1/L2/L3（阈值可配置，假设 Q7）；客户确认凭证上传；生效日期；版本链历史 | F05.01（变更单创建/字段对照/版本链）、F05.02（影响评估/审批） |

> 页面树 4.4「取消/恢复」不设独立屏：由订单详情「取消」弹层（在制影响清单 + 取消审批）与「恢复」操作（取消单状态下可发起）承载，交互点归并至订单详情行。

## 状态迁移（订单状态机，PRD「四、端到端业务流程与核心状态机」）

```mermaid
stateDiagram-v2
    [*] --> 草稿
    草稿 --> 待评审: 提交评审
    草稿 --> 取消: 删除行为禁用→作废留痕
    待评审 --> 已批准: 评审通过
    待评审 --> 草稿: 退回修改
    已批准 --> 已确认: 确认订单（冻结四类快照，生成工单）
    已确认 --> 生产中: 工单开工
    生产中 --> 已暂停: 暂停（原因必填）
    已暂停 --> 生产中: 恢复
    生产中 --> 已完工: 全部完工（Q33：入库后可发货）
    已完工 --> 已发货: 发运签收
    已发货 --> 已结算: 账单结清（Q35 签收量对账 / Q40 按账单核销）
    已结算 --> 关闭
    已确认 --> 已变更: 变更单生效（CHG，受控字段）
    已变更 --> 生产中: 变更后继续履约
    生产中 --> 取消: 取消审批（在制影响清单 + 财务会签）
    取消 --> [*]
    关闭 --> [*]
```

## 裁决引用（本域设计吸收的 Phase 0 裁决与假设标注）

| 裁决/问题 | 内容 | 落地点 |
|-----------|------|--------|
| **Q1**（已采纳） | 三类试点订单 | mock 数据覆盖三类：标准商务印刷（0101/0103）、单批包装（0102/0105）、异常订单（0104） |
| **Q2**（已采纳） | BOM 仅成套/多组件必填，简单产品允许直产 | 订单明细 BOM 列「无 BOM·允许直产」标注 |
| **Q9**（已采纳） | 规格变化 → 新版本/新品判定表（m06 配置） | 快照 tab 判定说明 |
| **Q18**（已确认方向）/ **R-008** | 订单冻结产品/工艺/材料/拼版四类快照，已下达默认不随主数据变化 | 快照 tab 冻结对照 + 「发起刷新评估」（评估在制影响、留审批） |
| **Q33**（已采纳） | 先成品入库后发货；分批发货；直发等 MVP 不做 | 发货 tab 四账一致摘要链路 |
| **Q35**（已采纳） | 对账依据 = 签收量（默认，可按客户配置） | 发货 tab「签收量（对账口径）」字段 |
| **Q40**（已采纳） | 按账单核销 | 账单 tab「核销方式」列 |
| **Q41**（已采纳） | 成本毛利仅厂长+财务+报价核价三角色可见 | 基本 tab「毛利 🔒 无权限」（原型视角=销售） |
| **Q6**（假设，待确认） | 是否允许无报价录单 | 列表「无报价录单」弹层：价格依据+凭证必填留痕 |
| **Q7**（假设，待确认） | 受控变更字段与审批分级 | 变更单分级 L1/L2/L3 注明「阈值可配置」 |
| **Q16**（假设，待确认） | 拆单维度（P1 细裁） | 计划工单 tab 跳工单详情处理 |
| **Q17**（假设，待确认） | 合单条件（默认禁止跨客户，R-015 排除列） | 计划工单 tab 合单口径注 |

**假设标注约定**：原型页面内未裁决参数以「假设（Q<n>，待客户确认）」内联标注；访谈候选值（Q13/Q20/Q27/Q28/Q36）在 B1 域不出现数值，凡页面出现的数字均为示例数据（页面内联 mock），禁预设入 FSD。

## 覆盖性对账

- 对应 FSD 册：**m04 销售订单**（样板册已建：`prd/fsd/m04-销售订单.md`，F04.01~F04.06）、**m05 订单变更**（批量铺开已建：`prd/fsd/m05-订单变更.md`，F05.01~F05.03）——双向关联两侧无空（2026-10-21 批量铺开互挂）。
- 页面树 4「销售订单」4 节点全覆盖（3 独立屏 + 取消/恢复归并详情弹层，见页面清单注）。

---

反链：

- [交互设计](/poms/design/)
- [FSD M4 · 销售订单](/poms/fsd/m04-%E9%94%80%E5%94%AE%E8%AE%A2%E5%8D%95/)
- [FSD M5 · 订单变更](/poms/fsd/m05-%E8%AE%A2%E5%8D%95%E5%8F%98%E6%9B%B4/)
