# quotation 域设计总纲（报价管理）

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

---

> **源**：PRD「八、页面架构与关键页面设计」页面树 3「报价管理」+「七、核心功能逐项需求」之「6.1 客户询价与多版本报价」（主流程/规则/权限/异常）+「7.2 报价编辑页」（三栏布局与版本对比）；调研「七、需求条目统一编号与优先级判定」R-002（P0：开数与材料利用率影响报价用量）、R-001（P0：数量档双单位换算）。P0 裁决见决策记录：44 问 triage §2/§5。
>
> **设计确认门：本稿产出即停点，用户确认后才进下一步（FSD 于 B5 完成后统一编制，2026-10-21 裁决）。**
>
> 状态：**已确认**（2026-10-21 用户确认 B3；后续修订追加登记于本行下方）
> 修订：2026-10-21 B3 定稿确认（含「报价审批归并编辑页提交弹窗+列表徽标」取舍认可）。（FSD `00-总则` 修订记录待 Phase 3 创建时补记本次定稿）
> 修订：2026-10-21 Phase 3 样板先行——FSD ID 冻结（F03.01~F03.06/m03，F03.06 定价规则 P1），本表 FSD ID 列由册粒度占位细化为功能 ID（m03 册已建：`prd/fsd/m03-报价与定价.md`）。
> 原型：`html/index.html` 导航 + 2 屏，零依赖静态 HTML；预览走文档站（相对链接以站点布局为准）。

## 页面清单

| 屏 | 原型文件 | 对应真实路由 | 交互点 | 覆盖的 FSD ID |
|----|----------|--------------|--------|----------------------------|
| 报价列表 | [quote-list.html](/poms/design/html/quotation/quote-list.html) | `/quotations` | 筛选（状态/客户/有效期临近）；行=报价号/版本/客户/需求/客户价/状态/有效期/转单基线；新建入口三来源（**从询价/模板/复制**——6.1 主流程）；版本链展开；操作列（编辑/复制版本/转单——仅已确认版本可转） | F03.01（创建与来源）、F03.03（版本链）、F03.05（转单） |
| 报价编辑/版本对比 | [quote-edit.html](/poms/design/html/quotation/quote-edit.html) | `/quotations/{quoteId}/edit` | **7.2 三栏**：左=需求条件（数量档三档 R-001、成品尺寸→开数/利用率 R-002、材料/路线版本、交期/收货地）；中=费用明细（Q3 费用项拆分示例；阶梯价 Q36 假设禁预设公式；无价格参数标「待人工定价」）；右=价格汇总（建议价/最终价/客户价三价差异；毛利区三角色脱敏 Q41；审批信息）；关键项修改→「与上一版差异」高亮**不直接覆盖**；版本对比表突出数量/单价/金额/条款变化；提交弹窗（审批理由必填/加急/有效期 Q5；超授权折扣/无成本/缺规则→按钮禁用并说明）；多人编辑冲突提示「最新版本已由 X 保存，是否复制新版本」 | F03.02（编辑与三价）、F03.03（版本对比）、F03.04（审批归并弹窗）、F03.06（阶梯规则 P1） |

> 归并说明：页面树 3.3「报价审批」不设独立屏——审批动作由**编辑页提交弹窗**（收集理由/加急/有效期，7.2）+ 报价列表状态徽标承载；审批中台统一入口在审批中心（页面树 13，B5 批次交付）。与 B1「取消/恢复归并订单详情弹层」同思路。
>
> 原则（PRD 6.1）：**报价必须可比较、可审批、可失效**——每次修改生成新版本；显示建议价/最终价/客户价三者差异；版本锁定后才可转订单；过期自动失效但不能删除。

## 状态迁移（报价版本状态机，PRD 6.1/「四」状态机段）

```mermaid
stateDiagram-v2
    [*] --> 草稿: 从询价/模板/复制版本创建
    草稿 --> 待审批: 提交（理由+有效期；超授权折扣/无成本/缺规则禁提交）
    待审批 --> 待客户确认: 审批通过→发送确认
    待审批 --> 草稿: 驳回（修改生成新版本）
    待客户确认 --> 已确认: 客户确认（版本锁定）
    待客户确认 --> 草稿: 客户驳回/要求改版（新版本）
    待客户确认 --> 已失效: 有效期届满（自动，不可删除）
    已确认 --> 已转单: 转订单（冻结四类快照，基线回链——订单域承载 Q18）
    已确认 --> 已失效: 有效期届满未转单
    已转单 --> [*]
    已失效 --> [*]
```

> 版本链：v1/v2/…每次修改生成新版本；已转单版本显示基线链接（6.1「报价转单后显示基线链接」——见 order 域订单详情「来源报价（基线）」）。

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

| 裁决/问题 | 内容 | 落地点 |
|-----------|------|--------|
| **Q41**（已采纳） | 成本/毛利仅厂长+财务+报价核价三角色可见；报价对销售/客服可见 | 列表仅客户价列；编辑页毛利区打码+角色注 |
| **Q3**（假设，待确认） | 费用项拆分（设计/制版/印刷/后道/包装/运输）；可退/可复用做成费用项属性（可配置） | 费用明细表结构（拆分项为示例） |
| **Q5**（假设，待确认） | 报价有效期、确认方式、逾期提醒、作废规则；参数可配置 | 有效期字段+提交弹窗+「已失效」状态 |
| **Q36**（假设→计价公式访谈候选） | 阶梯计价公式与维度禁预设 | 费用明细阶梯行标注 |
| **Q18**（已确认方向）/ R-008 | 转订单冻结四类快照，已下达不随主数据变化 | 「已转单」迁移注（承载在订单域） |
| **Q8**（假设，待确认） | 样品确认/合同：MVP 纸质留档+上传；电子签章 P1+ | 样品费行+确认方式假设注 |
| **R-002**（P0） | 成品尺寸→开数/方向→材料利用率；修边/咬口/出血待确认 | 需求条件栏尺寸/开数行+访谈候选标注 |
| **R-001**（P0） | 双单位数量档换算（不可换算阻断） | 数量档表单位行 |

**假设标注约定**：未裁决参数一律「假设（Q<n>，待客户确认）」；访谈候选值（Q13/Q20/Q27/Q28/Q36）不出现预设数值，页面数字均为示例数据。

## 覆盖性对账

- 对应 FSD 册：**m03 报价与定价**（报价 MVP / 定价规则 P1；样板先行批已建：`prd/fsd/m03-报价与定价.md`，F03.01~F03.06）——双向关联两侧无空（2026-10-21 样板先行互挂）。
- 页面树 3「报价管理」3 节点 = 2 屏承载（报价审批归并编辑页提交弹窗+列表徽标，审批中心 B5；见归并说明）。
- mock 与 B1/B2 连续：QT-2026-0195（优学教育 DM 单页→ORD-2026-0105→对账单调整链）、QT-2026-0222（晨光文创文创纸袋→ORD-2026-0107）；在途示例 QT-2026-0231（蓝秀生物）承接询价 DEM-2026-0090。

---

反链：

- [交互设计](/poms/design/)
- [FSD M3 · 报价与定价](/poms/fsd/m03-%E6%8A%A5%E4%BB%B7%E4%B8%8E%E5%AE%9A%E4%BB%B7/)
