PRD:开单结账2.0 v2.0-draft

(散客开单 · 会员开单 · 快捷开单 · 商户端)

v2.0 主链路(C1/D1/E1/F1):首页 → 选择顾客(取挂单右对齐;选中 #EFF0FF;行展开单/快捷开单)→ 开单对齐 demo(分类「全部」默认平铺;「+」红圆步进器居中;行下展 + 员工槽位;员工 sheet 普通底部弹出最高约 55% 可盖展开区;加购橙→红飞入)→ 结算文档流(优惠券行 + 备注卡)。全页粉白淡色顾客卡;会员权益默认收起+chevron;无「更换顾客」;头像/姓名进 s4。详见 Markdown。

字段内容
文档版本v2.0-draft
日期2026-09-15
交互原型(唯一可视依据)同目录 index.html
画布390 × 844
目的供前端 / 后端 / 测试及 AI 工具落地「开单结账2.0」;只需本文 + 交互原型

怎么读这份 PRD

正文按模块编排。不用通读全文,按角色跳章即可。

#模块前端后端测试说明
1背景 / 目标 / 范围 / 能力映射本期变更叙事、防范围蔓延
2用户场景与成功标准了解测「业务对不对」
3信息架构与页面清单了解做哪些页、哪些层
4状态机必看必看顾客身份、性别、会员卡展开、购物车、快捷开单明细
5交互细则 / 异常流了解输入规则、校验、toast
6功能规格了解逐屏字段与跳转
7数据模型与接口约定必看沿用线上接口;新增字段【待联调确认】
8业务规则必看金额口径、改价、范围边界
9文案清单与权限部分文案;店员/店长/店主
10验收 P0 + 造数场景了解了解必看Given→When→Then,含输入边界
11非功能(极简)
12交付物仅 PRD + 原型

先读这几条(贯穿全文)

  1. 本期是基于 RTB 线上开单结账优化改版不改变其他未涉及的功能逻辑。凡本文未单独描述的交互、文案、接口,均沿用线上现有实现。
  2. 页面顶部顾客卡片:默认态为单默认头像 +「散客」(未选择顾客时);从顾客列表选择「男散客 / 女散客」后仅显示对应的一个性别头像 + 文案「男散客 / 女散客」;点击头像或姓名均进入顾客列表(s4),性别切换仅通过 s4,不再点头像切男女;「选择顾客」进入顾客列表,列表仍保留「男散客 / 女散客」选项,列表内 VIP 标签样式做了微调。默认态产生的订单顾客记为「散客」,头像为默认头像。
  3. 从顾客列表选择 会员 后,开单结账页顶部卡片切换为 会员样式。原会员信息卡默认 折叠 会员所持权益,本期改为 保持展开、展示全部持有权益且不可折叠收起;字段显示规则维持现有规则。会员姓名右侧的 VIP 标签只是原型展示用的临时资源,开发时保持该位置现有 VIP 标签逻辑不变。
  4. 添加项目 / 产品时的 UI UX 是本期最大的修改:参照博卡小店通的 sheet 弹窗样式,按现有逻辑做了适配;弹窗内展示 数量 + 应付(元)(应付带笔形编辑图标),并在弹窗内 内嵌「选择员工」翻转选择 UI(点击卡片翻转成按钮进行点客/散客 → 小工/中工/大工选择)。购物车有项后,点击「下一步」进入 开单结算页(s6)购物车为空时,s1/s5 底部主按钮显示为「快捷开单」(橙底 #FF8956 + 闪电图标),点击进入快捷开单流程(s2)当会员持有的权益使项目/产品产生划线价(原价灰色划线 + 红色优惠价)时,弹窗「应付」默认即为该优惠价。
  5. 「快捷开单」功能(原「快捷开单」全局更名):无需常规流程的繁琐操作,只需输入金额即可完成开单结算,并 可选填 服务员工信息和开单内容。结算第二步为 快捷开单结算页(s7)金额按原价计算,不做身份折扣快捷开单与小程序「自助买单」的纯金额支付不是同一种功能、互不相关开单页 Tab 上方的「快捷开单」入口行已移除,入口改由底部空车主按钮承载。
  6. 补充展示页面:门店流水(s8,快捷开单在流水中的展示)、选择退款项目(s9,快捷开单退款)、业绩设置(s10,劳动业绩含「快捷开单」分类)、提成方案(s11,劳动提成含「快捷开单」分类)。入口为原型左侧导航直达,不承载业务链路;对应业务逻辑以线上为准。其中「经营分析 → 门店经营报表」的项目 TOP5 排行不包含「快捷开单」(经营分析属另一产品线,此处仅记录本侧规则)。
  7. 该模块的 其他功能保持现有状态(支付、会员卡业务等均以线上为准)。挂单限制:快捷开单不可挂单;购物车未添加任何物品时不可挂单(按钮置灰,点击 toast 提示原因)。本期已移除会员信息卡上的「办卡」按钮,会员卡仅保留「更换顾客」。开单结账页(s1/s5)原有的搜索栏本期已删除,原型与文案均不再包含;搜索能力如线上另有入口,以线上现有版本为准。
  8. 开单结算 s6 / 快捷开单结算 s7 的交互效果与各类弹窗(员工面板、权益选择 sheet、备注 sheet、小计编辑、toast 等)以当前在线版本为准,原型中的仅为评审演示,原型细节不作为开发验收约束;本 PRD 已明确写出的本期业务规则(会员划线价、快捷开单权益、点客/散客、应付默认优惠价、挂单限制、单号交互、默认散客卡、无产品隐藏 tab 等)仍为开发约束。
  9. 输入与联动口径(原型已同步):金额格式 整数≤6位、小数≤2位、上限 999999.99;快捷开单 空金额不可「去收款」;开单内容 ≤50 字;应付/小计 可手动编辑(对焦即清空,失焦为空时还原),改价后该明细不可使用权益(改价判定以「应付/小计 ≠ 单价/权益优惠价 × 数量」为准)。
  10. 单号(s6/s7):左侧标签为「单号」;右侧默认展示灰色文案「结账后自动生成」;点击右侧可进入手动输入自定义单号(同行变为可编辑输入框)。结账时若未手动填写,由系统自动生成单号。
  11. 价目表无产品时:若门店价目表未录入产品(产品为空),开单页(s1/s5)Tab 不显示「产品」,仅显示「项目」,且「项目」在 Tab 区域居中。本规则为产品约束;当前原型演示数据含产品,原型可不切换演示该态。

交互行为与文案以 index.html 当前表现(含本版同步后的口径)为准。

1背景 / 目标 / 范围 / 能力映射

1.1 背景

RTB 线上开单结账经过一段时间运营,线下调研反馈:

本期在不改变其他功能逻辑的前提下,对开单结账做定点优化,并为快捷开单补齐逻辑补充页面。

1.2 目标

目标说明
快捷开单仅输入金额即可开单结算,选填员工与开单内容;空车时从 s1/s5 底部「快捷开单」按钮进入
顾客卡片优化默认单头像+「散客」;选男/女散客后仅显示对应单头像;点击头像/姓名/选择顾客进入顾客列表
顾客列表优化新增「男散客 / 女散客」散客选项;VIP 标签样式微调
会员权益可见会员卡保持展开、展示全部权益,不可折叠;移除「办卡」按钮
会员权益价会员持有的折扣权益在价目卡片上产生划线价(原价划线 + 红色优惠价),添加 sheet 应付默认=优惠价
添加体验升级参照博卡小店通 sheet 弹窗样式,数量 + 应付(可编辑)+ 内嵌翻转选员工
开单结算页购物车明细在结算页 s6 完整展示(明细卡/权益/小计/应付/挂单/结账)
快捷开单结算快捷开单结算第二步 s7(明细/权益/小计/应付/结账),金额按原价;不可挂单
快捷开单权益s7 默认不选权益;可选用会员卡储值金额、全场项目适用的计次/折扣、全场项目或产品可用的优惠券、满足金额门槛的代金券
单号s6/s7:「单号」+ 默认「结账后自动生成」,点击可手动输入
挂单限制快捷开单不可挂单;空购物车不可挂单
无产品 Tab价目表无产品时,开单页仅显示「项目」且居中
逻辑补充页面门店流水 s8、选择退款项目 s9、业绩设置 s10、提成方案 s11
快捷开单边界明确快捷开单与小程序「自助买单」的纯金额支付不是同一种功能(见 8)
经营分析关联快捷开单不计入「经营分析 → 门店经营报表」项目 TOP5 排行(见 8)
回归可控其余功能沿用线上,避免范围蔓延

1.3 本期做(In)

1.4 本期不做(Out)

1.5 旧 → 新能力映射

旧体系能力(语义)新体系如何表现
散客卡默认双头像「男散客」默认态:单默认头像 +「散客」;选男/女散客后仅显示对应单头像;点头像/文字进 s4
选择顾客仅会员列表列表顶部新增「男散客」「女散客」散客选项
会员卡默认折叠权益保持展开、全部权益可见、不可折叠
添加项目/产品信息组织分散sheet 弹窗:标题 + 数量/应付 + 内嵌选员工 + 确定
无快速路径 / Tab 上方快捷入口删除 Tab 上方入口行;空车时底部主按钮为「快捷开单」进入 s2
常规开单无结算明细页购物车有项 → 下一步 → s6 开单结算页(明细/权益/小计/应付/挂单/结账)
快捷开单直接收款金额 → 去收款(s3)→ 快捷开单结算第二步(s7)→ 结账
快捷开单无闭环展示门店流水 s8(流水展示)、选择退款项目 s9(退款)、业绩设置 s10 / 提成方案 s11(业绩提成配置)
应付金额静态数字应付/小计可编辑(笔形图标、对焦清空、失焦还原),改价后权益锁定
价目仅展示原价会员持有的折扣权益 → 卡片原价灰色划线 + 红色优惠价;添加 sheet 应付默认=优惠价(默认优惠价不算改价)
快捷开单 9 折(会员)快捷开单默认按原价,不做身份折扣;权益默认不选,可手动选择(四类权益,见 8)
快捷开单与自助买单同源明确区分:快捷开单是门店收银侧开单能力,与小程序「自助买单」纯金额支付无关(见 8)
进入结算即自动生成手工单号单号默认「结账后自动生成」,点击可手动输入;未填写则结账后系统生成
空车仍可挂单 / 快捷开单可挂单空车不可挂单;快捷开单(含 s7)不可挂单
无产品时仍显示产品 Tab价目无产品时仅显示「项目」且居中

映射不足时以原型字段与行为为准。

2用户场景与成功标准

2.1 角色

角色说明
店员日常收银开单
店长日常收银开单、门店管理
店主门店最高权限

本期 仅列角色不定义角色间权限差异;操作权限沿用线上现有规则。

2.2 核心场景

场景用户期望成功标准
散客开单新客不建档案直接开单默认散客卡;空车点「快捷开单」或加购后「下一步」进结算
会员开单老客识别身份、查看权益选择会员后卡片切换为会员样式;权益全部展开可见
快捷开单只需输入金额即可收银输入金额 + 选填员工/开单内容 → 去收款 → 快捷开单结算 s7
更换顾客开单中换人顶部卡片、身份状态同步切换
添加项目加购服务并指定员工、调整应付sheet 弹窗数量/应付联动正确;员工可多选;应付可编辑
结算明细结账前核对明细、权益s6/s7 明细完整展示;改价项权益锁定;小计可编辑
流水查看查看快捷开单在流水中的展示s8 中快捷开单以「⚡快捷开单」项展示,含金额/服务人/支付方式
退款对快捷开单发起退款s9 全选/部分选择联动;退回方式按选择范围约束
业绩/提成配置配置快捷开单的业绩与提成比例s10/s11 中「快捷开单」分类固定置顶,比例可配置

3信息架构与页面清单

开单结账
 ├─ s1 散客开单
 │    ├─ 顶部散客卡(默认:单头像·「散客」;选性别后:对应单头像·男/女散客)
 │    ├─ 项目/产品 Tab(无产品时仅「项目」居中)
 │    ├─ 左侧分类(选中白底)+ 项目/产品卡片(圆形加号)
 │    └─ 底部 bottom-bar(购物车/金额/挂单/空车「快捷开单」或有货「下一步」)
 ├─ s2 快捷开单
 │    ├─ 顶部身份卡(散客/会员 按身份切换)
 │    ├─ 开单内容 / 收款金额 / 员工
 │    └─ 数字键盘 + 去收款
 ├─ s3 快捷开单去收款
 │    ├─ 顶部身份卡(同上)
 │    ├─ 开单内容 / 收款金额(只读显示,键盘可改)/ 员工
 │    └─ 数字键盘 + 去收款(→ s7)
 ├─ s4 选择顾客
 │    ├─ 搜索栏 + 取消
 │    ├─ 散客(男散客 / 女散客)
 │    ├─ 会员列表(姓名 / VIP 标签 / 编号 / 最近消费)
 │    └─ 字母索引 A-Z#
 ├─ s5 会员开单
 │    ├─ 顶部会员卡(权益全部展开)
 │    ├─ 项目/产品 Tab(无产品时仅「项目」居中)
 │    ├─ 左侧分类 + 项目/产品卡片(圆形加号)
 │    └─ 底部 bottom-bar(购物车/金额/挂单/空车「快捷开单」或有货「下一步」)
 ├─ s6 开单结算(购物车明细结算)
 │    ├─ 顶部身份卡(散客/会员)
 │    ├─ 单号(默认「结账后自动生成」,可点输入)+ 明细卡列表
 │    └─ 底部 co-bar(应付 + 挂单/结账;空车挂单禁用)
 ├─ s7 快捷开单结算(快捷开单第二步)
 │    ├─ 顶部身份卡(散客/会员)
 │    ├─ 单号(同上)+ 快捷开单明细卡(员工/权益/小计/应付)
 │    └─ 底部 co-bar(应付 + 挂单禁用/结账)
 ├─ s8 门店流水(逻辑补充)
 │    ├─ 尾款单 / 筛选
 │    ├─ Tab:全部/项目/产品/会员卡/作废
 │    └─ 流水卡(顾客/商品/服务人/支付方式/实付/开单时间)
 ├─ s9 选择退款项目(逻辑补充)
 │    ├─ 提示条(退回方式约束)
 │    ├─ 退款项目列表(勾选)
 │    └─ 底部 rf-bar(全选 + 确认退款)
 ├─ s10 业绩设置(逻辑补充)
 │    ├─ 高级设置 / Tab(劳动业绩/销售业绩)
 │    ├─ 左侧分类(快捷开单置顶 + 洗吹)
 │    └─ 业绩表(点客/散客 × 大工/中工/小工)
 ├─ s11 提成方案(逻辑补充)
 │    ├─ 方案名称卡 + 更多
 │    ├─ Tab(劳动提成/销售提成)
 │    ├─ 左侧分类(快捷开单置顶 + 洗吹)
 │    └─ 提成表(点客/散客)
 └─ 弹层
      ├─ addsheet 添加项目/产品(数量 + 应付 + 员工 + 确定)
      ├─ benefit-sheet 选择权益(会员卡/优惠券)
      ├─ staff-sheet 选择员工(网格 + 两步翻转 + 完成)
      └─ remark-sheet 备注(开单内容 50 字 + 完成)

3.0 页面流(示意)

散客开单 s1(空车)→ 快捷开单按钮快捷开单 s2 → 去收款去收款 s3 → 去收款快捷开单结算 s7 → 结账回 s1
散客开单 s1→ 选择顾客选择顾客 s4 → 选会员会员开单 s5
s4→ 选男/女散客回来源页(s5 进入则回 s1;s6/s7 进入则更新身份返回) ;选会员回来源页(s1 进入则跳 s5;s6/s7 进入则更新身份返回)
加购添加项目/产品 sheet(数量/应付/内嵌选员工)
下一步(购物车有项)开单结算 s6 → 结账回 s1(默认散客卡)
s8 门店流水·s9 选择退款项目·s10 业绩设置·s11 提成方案 逻辑补充:原型左侧导航直达
页面/层导航标题(原型)说明
散客开单 s1开单结账散客卡 + 项目/产品选品 + 底部工具栏
快捷开单 s2开单结账金额键盘 + 选填员工/开单内容 + 去收款
快捷开单去收款 s3开单结账金额显示(键盘可改)+ 员工/开单内容 + 去收款 → s7
选择顾客 s4搜索栏 + 散客/会员列表 + 字母索引
会员开单 s5开单结账会员卡(权益展开)+ 项目/产品选品 + 底部工具栏
开单结算 s6开单结账购物车明细结算(单号/明细卡/权益/小计/应付/挂单/结账)
快捷开单结算 s7开单结账快捷开单第二步(单号/快捷开单明细/权益/小计/应付/挂单禁用/结账)
门店流水 s8门店流水快捷开单流水展示(全部/项目/产品/会员卡/作废 Tab)
选择退款项目 s9选择退款项目退款项目勾选 + 全选联动 + 确认退款
业绩设置 s10业绩设置劳动业绩含置顶「快捷开单」分类;销售业绩暂无设计
提成方案 s11提成方案劳动提成含置顶「快捷开单」分类;销售提成暂无设计
添加项目/产品sheet 弹窗(标题/数量/应付/员工/确定)
选择权益选择权益会员卡/优惠券列表,单选,已选可取消
选择员工选择员工员工网格 + 两步翻转选择 + 完成
备注备注文本框(50 字)+ 完成

4状态机

4.1 顾客身份 currentCust

状态含义顶部卡片
guest散客深色散客卡(默认:单头像·「散客」;选性别后:对应单头像·男/女散客 · 选择顾客)
member会员会员卡(头像/姓名/VIP/上次到店/更换顾客 + 权益展开)
guest→ 选会员 →member→ 选男/女散客 →guest

4.2 散客性别 data-g

状态卡片文案头像表现
male(默认)男散客男头像彩色,女头像灰阶
female女散客女头像彩色,男头像灰阶

4.3 会员卡权益展开

4.4 购物车明细 cartItems(s6 数据源)

4.5 快捷开单明细 qcoItem(s7 数据源)

4.6 添加弹窗字段联动

字段输入联动
数量步进 1~999应付 = 单价 × 数量
应付(元)手动可改(带笔形图标)判定改价(与单价/权益优惠价 × 数量不等);改价明细在 s6 不可用权益
权益优惠价会员持有折扣权益时生效卡片原价划线 + 红色优惠价;弹窗「应付」默认 = 优惠价 × 数量(默认优惠价不算改价,权益仍可用)

4.7 退款勾选(s9)

5交互细则 / 异常流

5.1 金额输入规则(快捷开单金额 + 应付/小计统一)

规则说明
整数位≤ 6 位
小数位≤ 2 位
上限999999.99
下限0(不可为负)
小数点最多 1 个;禁止以「.」开头
前导 0自动剔除(输入 0 后再输数字视为替换,如 055
空值不可提交;快捷开单空金额点「去收款」toast「请先输入金额」

5.2 应付 / 小计编辑

5.3 员工 / 开单内容(选填)

5.4 校验失败 / 交互反馈(toast)

条件提示
快捷开单空金额点「去收款」请先输入金额
快捷开单(空车主按钮)进入 s2(无 toast)
挂单(空车 / 快捷开单)置灰;toast「请先添加项目或产品」或「快捷开单不可挂单」
下一步(购物车有项)直接进入 s6(无 toast)
s3 去收款直接进入 s7(无 toast)
挂单已挂单
底部「+」按钮请选择项目
底部「+」按钮(s5 触发)选择项目或快捷开单
s6/s7 结账(无明细)暂无结算项目
s6/s7 结账成功结账成功
s7 删除快捷开单明细已删除
改价明细点权益改价商品不可用权益
s8「尾款单」尾款单
s8「筛选」筛选
s9「确认退款」确认退款
s10「高级设置」高级设置
s10「销售业绩」Tab销售业绩暂无设计
s11「更多」更多
s11「销售提成」Tab销售提成暂无设计

5.5 弹层交互

6功能规格

下列字段、按钮、跳转均须与原型一致;视觉以原型为准(品牌色 #F32F41 等)。

6.1 顶部顾客卡片 本期变更

散客卡(深色卡)

会员卡(会员身份)

6.2 项目 / 产品 Tab 与左侧分类 本期变更

6.3 项目 / 产品卡片

6.4 搜索栏(本期已删除)

开单结账页(s1/s5)原有的搜索栏 本期已删除,原型不再展示;搜索能力如线上另有入口,以线上现有版本为准。

6.5 快捷开单入口(原 Tab 上方胶囊已删除) 本期变更

原 s1/s5 Tab 上方「⚡ 快捷开单」胶囊 已删除;空购物车时由底部主按钮「快捷开单」(橙底 #FF8956 + 闪电图标)进入 s2。Tab / 侧栏 / 价目整体上移贴紧顾客卡。

6.6 快捷开单 s2(新功能)本期变更

6.7 快捷开单去收款 s3 本期变更

6.8 选择顾客 s4 本期变更

6.9 添加项目 / 产品 sheet 本期变更

6.10 选择权益 sheet 本期变更

6.11 选择员工 本期变更

6.12 底部工具栏 本期变更

6.13 开单结算 s6 本期变更

交互效果与各类弹窗(员工面板、权益选择 sheet、备注 sheet、小计编辑、toast 等)以当前在线版本为准,原型仅为评审演示;本节约定的业务规则(权益、改价、点客/散客等)为开发约束。

6.14 快捷开单结算 s7(新功能)本期变更

交互效果与各类弹窗(员工面板、权益选择 sheet、备注 sheet、小计编辑、toast 等)以当前在线版本为准,原型仅为评审演示;本节约定的业务规则(快捷开单权益四类、改价、点客/散客等)为开发约束。

6.15 门店流水 s8(逻辑补充)本期变更

6.16 选择退款项目 s9(逻辑补充)本期变更

6.17 业绩设置 s10(逻辑补充)本期变更

6.18 提成方案 s11(逻辑补充)本期变更

7数据模型与接口约定

原则:凡本文未列出的接口、字段均沿用线上现有开单结账实现。

7.1 沿用线上(不新增)

数据来源
顾客列表(会员 + 手机号 + 最近消费)线上现有顾客接口
会员权益(计次/储值/折扣卡)线上现有会员卡接口
价目(项目/产品/分类/价格)线上现有价目表接口
员工 / 工位 / 点客·散客线上现有员工接口
购物车 / 支付 / 收银流水线上现有开单结算流程

7.2 新增 / 调整(【待联调确认】)

字段说明
散客性别 gender顶部卡片 / 快捷开单提交时随单记录
快捷开单金额直接作为账单金额提交(原价),无需关联项目
快捷开单员工选填,可多选,含点客/散客/工位语义
快捷开单开单内容选填,≤50 字
快捷开单结账单快捷开单结算 s7 生成,含明细/权益/小计/应付,结账后进入收款(线上)
订单流水展示s8 中快捷开单以「快捷开单」项展示(闪电标识/原价/支付方式/实付/开单时间)
退款(s9)全选项目可原路退回与指定退回;部分选择或已有退款项目只可指定退回
业绩 / 提成配置(s10/s11)「快捷开单」作为固定分类,配置点客/散客 × 工位的业绩比例与提成比例;未单独配置时沿用线上系统默认规则

7.3 能力清单(路径【待联调确认】)

能力说明
快捷开单开单金额(原价)+ 选填员工/开单内容 + 散客性别 → 快捷开单结账单
散客性别选择仅通过顾客列表选择写入;卡片头像点击进 s4
会员卡权益展开返回全部权益(不再折叠)
权益自动匹配 / 选择s6 明细未改价时自动匹配(会员=最优折扣权益)或手动选择;s7 快捷开单默认不选、按四类权益可选;改价项锁定
应付 / 小计编辑对焦清空、失焦还原、改价标记;改价判定以单价/权益优惠价 × 数量为基准
员工多选回填「姓名·点客·大工」格式
会员权益价会员持折扣权益 → 价目卡片划线原价+优惠价,添加 sheet 应付默认=优惠价
开单结算明细购物车明细在 s6 完整展示、删除、重算
快捷开单结账s7 结账后清空并回到开单页(收款以线上为准)
流水展示 / 退款 / 业绩提成s8-s11 页面展示与交互示意,业务链路以线上为准

7.4 时序(示意)

收银员选择散客性别/会员
  → 顶部卡片刷新(身份 + 权益)
收银员输入快捷开单金额(选填员工/开单内容)
  → 点「去收款」→ 校验金额非空(否则 toast「请先输入金额」)
  → s3 快捷开单去收款(键盘可改)
  → 点「去收款」→ s7 快捷开单结算(金额按原价;改价后权益锁定)
  → 点「结账」→ 清空 → 回 s1 → toast「结账成功」(收款以线上为准)
收银员添加项目/产品
  → 添加 sheet(数量 ↔ 应付联动;内嵌选员工)
  → 确定 → 应付累加 + 分类角标 +1
  → 下一步 → s6 开单结算(明细/权益/小计编辑/挂单/结账)
  → 结账 → 清空购物车 → 回 s1 → toast「结账成功」
s8-s11(门店流水 / 退款 / 业绩 / 提成):原型左侧导航直达展示

8业务规则

  1. 身份切换:默认散客(文案「散客」、单默认头像);选会员 → 会员;选男/女散客 → 散客性别态(对应单头像)。s2/s3/s6/s7 顶部卡片随身份切换,后续元素随卡片高度下移。
  2. 散客默认态:未选择顾客时为单默认头像 +「散客」;订单记为「散客」。从列表选男/女散客后仅显示对应单头像 + 文案;点击头像/姓名进 s4;性别切换仅通过 s4。
  3. 会员卡权益:保持展开、全部可见、不可折叠;字段显示规则维持现有。
  4. VIP 标签:原型为临时展示资源;开发保持该位置现有 VIP 标签逻辑不变。
  5. 金额格式:整数≤6 位、小数≤2 位、上限 999999.99、禁「.」开头、前导 0 剔除、不可为负。
  6. 快捷开单:空金额不可「去收款」(toast「请先输入金额」);员工/开单内容选填;金额按原价计算,不做身份折扣不可挂单与小程序「自助买单」的纯金额支付不是同一种功能,互不相关
  7. 挂单限制:购物车未添加任何物品时不可挂单;快捷开单流程(含 s7)不可挂单。按钮置灰,点击 toast 提示原因。
  8. 单号:s6/s7 左侧「单号」,右侧默认「结账后自动生成」;点击可手动输入;未填写则结账后系统生成。
  9. 无产品 Tab:价目表未录入产品时,开单页仅显示「项目」且居中。
  10. 应付/小计编辑:带笔形编辑图标;对焦即清空、失焦为空还原;改价后 s6/s7 该明细权益锁定(toast「改价商品不可用权益」);改价判定以「单价 / 权益优惠价」× 数量为基准
  11. 权益自动匹配(s6):明细未改价且未手动清除时,会员自动匹配其持有的全场最优折扣权益(演示为超值折扣卡 8 折,与价目划线价同源)、散客自动匹配首张优惠券;手动取消后不再自动覆盖。
  12. 数量:步进 1~999。
  13. 员工选择:两步翻转(点客/散客 → 小工/中工/大工);多选;重进保留已选;回填「姓名·点客·大工」。
  14. 快捷开单权益(s7):默认不选;可选类型=会员卡储值金额、全场项目适用的计次或折扣、全部项目或全部产品可用的优惠券、满足金额门槛的代金券;门槛不满足的代金券置灰不可选;选权益后应付按规则折算(储值/折扣按比例、满减券减额、计次不抵扣金额),取消恢复原价;权益选择不算改价。
  15. 会员权益价(划线价):会员持有的折扣权益使价目项目/产品产生划线价(原价灰色划线 + 红色优惠价);添加 sheet「应付」默认 = 优惠价 × 数量(默认优惠价不算改价);散客无权益不划线。
  16. 散客卡头像 / 文字:点击头像或「散客 / 男散客 / 女散客」文字均进入顾客列表(s4);不再支持卡片上点头像切换性别。
  17. 经营分析关联:快捷开单不计入「经营分析 → 门店经营报表」的项目 TOP5 排行(经营分析属另一产品线,本侧记录该规则)。
  18. 开单内容:≤50 字;空/全空格视为未填。
  19. 购物车:加购后应付累加、分类角标 +1;s6 删除明细同步扣减角标与应付;结账成功清空。
  20. 下一步:购物车有项 → 进入 s6 开单结算;无项 → toast「请先选择项目」。
  21. s6/s7 结账:无明细 toast「暂无结算项目」;有明细 → 清空并回 s1,toast「结账成功」。
  22. s7 删除:删除快捷开单明细 → 回 s2,toast「已删除」。
  23. 退款(s9):全选项目可原路退回与指定退回;部分选择或已有退款项目只可指定退回。
  24. 快捷开单业绩/提成默认值:若用户未单独为「快捷开单」进行业绩设置或提成方案配置,则沿用当前线上系统的默认规则赋予默认值(本侧不另定数值)。
  25. 逻辑补充页面(s8-s11):入口为原型左侧导航;页面交互与 toast 仅为示意,业务链路以线上为准。
  26. s6/s7 交互与弹窗:开单结算 s6 / 快捷开单结算 s7 的交互效果与各类弹窗(员工面板、权益选择 sheet、备注 sheet、小计编辑、toast 等)以当前在线版本为准,原型仅为评审演示;本 PRD 已明确写出的业务规则仍为开发约束。
  27. 搜索栏:开单结账页(s1/s5)原有搜索栏本期已删除,原型不再展示;搜索能力如线上另有入口,以线上现有版本为准。
  28. 范围边界:其余功能(挂单、支付、会员卡业务等)均沿用线上现有逻辑;会员信息卡「办卡」按钮已移除(业务入口以线上为准)。
  29. 角色权限:店员 / 店长 / 店主,仅列角色,权限沿用线上。

9文案清单与权限

9.1 文案清单(须与原型一致)

导航/按钮:开单结账、项目、产品、快捷开单、选择顾客、更换顾客、挂单、下一步、去收款、完成、确定、取消、男散客、女散客、散客、选择员工、选择权益、开单内容、服务员工、销售人员、请选择、数量、应付(元)、小计、应付、结账、单号、门店流水、尾款单、筛选、全部、会员卡、作废、全选、确认退款、原价、实付、业绩设置、高级设置、劳动业绩、销售业绩、注意此处修改业绩,而不是提成!、方案名称、劳动提成、销售提成、更多、更改多人分配规则请前往业绩设置中的高级设置、服务人、微信、实付总额、开单时间、点客、散客、大工、中工、小工。

占位符:请输入金额、请输入开单内容(50字以内)、请输入单号、输入顾客姓名/手机号/编号/备注。

Toast:请先输入金额、请先选择项目、已挂单、请选择项目、选择项目或快捷开单、暂无结算项目、结账成功、已删除、改价商品不可用权益、已加入 · 应付 ¥{金额}、尾款单、筛选、确认退款、高级设置、销售业绩暂无设计、销售提成暂无设计、更多。

权益行:计次卡 / 储值卡 / 折扣卡 + 名称 + 值(余N次 / 余额xx.xx元 / x.x折);未匹配时「无卡权益」。

提示条:具体金额以结算为准。

分类:项目=洗吹/洗剪吹/剪发/造型/干洗/接发/烫染发/护理/其他;产品=洗护/染烫/其他;业绩/提成=快捷开单(置顶)/洗吹。

演示数据(开发接入真实数据):项目=高级设计师洗吹+造型 ¥58.9、资深设计师|精剪+洗吹造型(不满意免单)¥98、首席设计师洗剪吹一口价 ¥138、资深设计师|人气洗剪造型 ¥216.09;产品=卡诗黑钻钥源洗发水 ¥268、欧莱雅臻萃染发膏 ¥198、资生堂fino发膜 ¥158、施华蔻羊绒脂护发素 ¥88。

员工演示数据(14 人):顾清扬(店主)、林屿森(美容师)、何苏叶(店长)、阿Ken(美容师)、Lisa(美甲师)、张明(美发师)、李华(美发师)、王芳(美甲师)、陈强(美发师)、赵敏(前台)、周杰(美发师)、吴婷(美睫师)、小陈(学徒)、阿宁(学徒)。

权益演示数据:会员卡=九折储值卡(余额2049.00元,储值金额可用)、水光三次卡(余3次,全场项目计次)、超值折扣卡(8.0折,全场项目折扣);优惠券=新人8折券(满58减10,全部项目/产品可用)、满200减30券(满200减30,满足门槛代金券)。

流水演示数据(s8):顾客 陈女士、状态 已完成、快捷开单 ¥491.00、服务人 刘敏、支付 微信、实付总额 ¥491.00、开单时间 2026.08.20 15:55。

9.2 权限

角色开单结账
店员按线上现有权限
店长按线上现有权限
店主按线上现有权限

本期不新增权限差异;原型按默认角色路径演示。

10验收 P0 + 造数场景

10.1 造数

场景说明
散客男散客 / 女散客 两条散客身份
会员至少 1 名持多张卡的会员(计次+储值+折扣)
员工覆盖点客/散客与三种工位的员工
项目/产品至少覆盖 2 个分类
快捷开单空金额 / 正常金额 两条路径
权益会员卡 + 优惠券两类权益
流水 / 退款 / 业绩提成s8-s11 演示数据(快捷开单项)

正式环境自备等价数据;演示数据不进产品。

10.2 Given → When → Then(P0)

顾客卡片 / 顾客列表

  1. Given 进入 s1 且未选择顾客,When 查看顶部散客卡,Then 显示单默认头像 + 文案「散客」;以此状态结账的订单顾客记为「散客」。
  2. Given 默认散客卡,When 从 s4 选「女散客」,Then 仅显示女头像 + 文案「女散客」;点击该头像或文字进入 s4。
  3. Given 散客开单页,When 点击「选择顾客」或姓名「散客」,Then 进入顾客列表,顶部有「男散客」「女散客」选项。
  4. Given 顾客列表,When 选「女散客」,Then 返回来源页,散客卡更新为女散客。
  5. Given 顾客列表,When 选会员(如陈女士),Then 顶部切换为会员卡;从 s1 进入时跳 s5。
  6. Given 会员身份,When 点「更换顾客」选男散客,Then 切回散客卡(从 s5 进入则回 s1)。
  7. Given 会员列表,When 查看 VIP 标签,Then 微调后的渐变 ◆VIP 样式正确;文案/逻辑以线上现有 VIP 标签为准。

底部主按钮 / 挂单 / 单号

  1. Given s1/s5 购物车为空,When 查看底部主按钮,Then 显示橙底「快捷开单」(含闪电图标);点击进入 s2。
  2. Given s1/s5 购物车有项,When 查看底部主按钮,Then 显示红底「下一步」;点击进入 s6。
  3. Given s1/s5 购物车为空,When 点「挂单」,Then 按钮为置灰态,toast「请先添加项目或产品」。
  4. Given s7,When 点「挂单」,Then 按钮置灰,toast「快捷开单不可挂单」。
  5. Given 开单页,When 查看 Tab 上方,Then 无「快捷开单」入口行;Tab/价目上移贴紧顾客卡。
  6. Given s6/s7,When 查看单号行,Then 左侧「单号」,右侧灰色「结账后自动生成」,不自动填入序号。
  7. Given 单号行,When 点击右侧文案,Then 同行变为可编辑输入框,可输入自定义单号。
  8. Given 价目表未录入任何产品(规则约束;原型可不演示),When 进入 s1/s5,Then Tab 仅显示「项目」且居中。

会员卡权益展开

  1. Given 会员卡,When 查看权益区,Then 全部权益展开显示(计次/储值/折扣),无折叠入口。
  2. Given 会员卡,When 重复进入,Then 权益始终展开、不可折叠收起。
  3. Given 会员卡,When 查看字段,Then 显示规则维持现有(余N次 / 余额xx元 / x.x折);无「办卡」按钮(已移除,仅「更换顾客」)。

添加项目/产品 sheet

  1. Given 项目卡片,When 点圆形加号,Then 打开添加 sheet,标题为项目名 + 红色价格,默认数量 1、应付 = 单价。
  2. Given 添加 sheet,When 步进数量,Then 应付 = 单价 × 数量。
  3. Given 添加 sheet,When 对焦应付输入框,Then 原值清空;输入即当前金额;失焦为空时还原原值。
  4. Given 添加 sheet,When 手动改应付(≠ 单价×数量),Then 判定改价;确定后 s6 该明细权益锁定。
  5. Given 添加 sheet(项目),When 查看员工行,Then 标签「服务员工」,未选显示「请选择」。
  6. Given 添加 sheet(产品),When 查看员工行,Then 标签「销售人员」。
  7. Given 添加 sheet,When 点确定,Then 应付总额累加应付金额、分类角标 +1、toast「已加入 · 应付 ¥x.xx」、弹层关闭。
  8. Given 添加 sheet,When 点遮罩关闭,Then 不写入购物车。
  9. Given 会员持折扣权益,When 查看价目卡片 / 打开添加 sheet,Then 卡片显示划线原价(灰色)+ 红色优惠价;添加 sheet「应付」默认 = 优惠价 × 数量;默认优惠价不算改价

选择员工

  1. Given 选择员工,When 点员工卡片,Then 卡片翻转显示「点客 / 散客」。
  2. Given 已选「点客」,When 进入下一步,Then 翻转显示「小工 / 中工 / 大工」。
  3. Given 员工完成选择,When 查看,Then 卡片带勾选角标;添加 sheet / 快捷开单 / s6 / s7 回填「姓名·点客·大工」。
  4. Given 员工面板,When 多选多位员工后完成,Then 全部回填,顿号连接。
  5. Given 员工面板关闭后再次打开,When 查看,Then 已选员工保留勾选状态不重置。
  6. Given 员工面板,When 未选员工直接完成,Then 允许关闭,回填区显示「请选择」(快捷开单页为空)。

快捷开单

  1. Given 快捷开单页,When 不输入金额点「去收款」,Then toast「请先输入金额」,不跳转。
  2. Given 快捷开单页,When 输入金额后点「去收款」,Then 进入去收款页 s3 并显示该金额。
  3. Given 快捷开单页,When 点「员工」行,Then 内嵌展开选择员工面板,选填。
  4. Given 快捷开单页,When 输入开单内容,Then 可输入 ≤50 字,超长被截断。
  5. Given 去收款页,When 修改金额,Then 键盘可改,员工/开单内容与快捷开单页共享同步。
  6. Given 去收款页 s3,When 点「去收款」,Then 进入 s7 快捷开单结算,显示快捷开单明细。
  7. Given s7,When 会员身份下查看金额,Then 应付 = 原价(不做身份折扣)。
  8. Given 快捷开单,When 从 s4 选会员后进入,Then 顶部显示会员卡;选散客后显示散客卡。
  9. Given s7,When 查看权益行,Then 默认「无卡权益」(默认不选权益);点权益行打开选择权益 sheet,可选四类:会员卡内储值金额、全场项目适用的计次或折扣、全部项目或全部产品可用的优惠券、金额满足使用门槛的代金券;金额不足门槛的代金券置灰不可选;选中后应付按规则折算、取消恢复原价,权益选择不算改价。

开单结算 s6 / 快捷开单结算 s7

本区块仅校验本期已明确的业务规则;交互效果与各类弹窗样式以当前在线版本为准(原型仅为评审演示)。

  1. Given s1/s5 购物车有项,When 点「下一步」,Then 进入 s6,单号显示「结账后自动生成」,明细卡展示(类型标签/名称/单价/垃圾桶)。
  2. Given s6 明细未改价,When 查看权益行,Then 自动匹配权益(会员=其持有的全场最优折扣权益,演示为超值折扣卡 8 折,与价目划线价同源;散客=首张优惠券)。
  3. Given s6/s7 明细,When 编辑小计使金额 ≠ 基准(单价 / 权益优惠价 × 数量),Then 判定改价,权益行变为「改价商品不可用权益」,点击 toast 同文案。
  4. Given s6/s7 明细未改价,When 点权益行,Then 打开选择权益 sheet,单选;再次点击可取消。
  5. Given s6,When 点垃圾桶删除明细,Then 该明细移除,应付重算,对应分类角标 -1。
  6. Given s7,When 点垃圾桶,Then 回 s2,toast「已删除」。
  7. Given s6/s7,When 点「挂单」,Then toast「已挂单」。
  8. Given s6/s7 有明细,When 点「结账」,Then 清空购物车/角标、回 s1、toast「结账成功」。
  9. Given s6/s7 无明细,When 点「结账」,Then toast「暂无结算项目」。
  10. Given s6 会员折扣明细,When 查看明细,Then 单价位置显示划线原价(灰)+ 红色优惠价,应付 = 优惠价 × 数量;编辑小计改回优惠价不算改价。

门店流水 s8

  1. Given s8,When 查看 Tab,Then 全部/项目/产品/会员卡/作废 横向排列,带计数角标,点击切换选中态。
  2. Given s8,When 查看流水卡,Then 快捷开单以闪电缩略图 + 红色闪电标签 +「快捷开单」展示,含金额/服务人/微信/实付总额/开单时间。

选择退款项目 s9

  1. Given s9,When 点项目勾选,Then 勾选态切换;全部勾选时「全选」点亮。
  2. Given s9,When 点「全选」,Then 全部项目勾选;再次点击取消全部。
  3. Given s9,When 取消任一勾选,Then 「全选」熄灭。
  4. Given s9,When 全选项目,Then 退款可选原路退回与指定退回;部分选择或已有退款项目只可指定退回(提示条文案一致)。

业绩设置 s10 / 提成方案 s11

  1. Given s10,When 查看,Then 劳动业绩 Tab 默认选中,「快捷开单」分类置顶选中,业绩表 点客/散客 × 大工/中工/小工 = 100.00%。
  2. Given s10,When 点「销售业绩」,Then toast「销售业绩暂无设计」。
  3. Given s11,When 查看,Then 劳动提成 Tab 默认选中,「快捷开单」分类置顶选中,提成表 点客/散客 = 100.00%。
  4. Given s11,When 点「销售提成」,Then toast「销售提成暂无设计」。
  5. Given 用户未单独为「快捷开单」配置业绩或提成,When 系统结算该笔快捷开单,Then 业绩/提成按当前线上系统默认规则赋予默认值(本侧不另定数值)。

金额格式边界

  1. Given 金额键盘,When 输入 .5Then 以「.」开头被拒绝,不进入。
  2. Given 金额键盘,When 输入 0123Then 前导 0 剔除,结果为 123
  3. Given 金额键盘,When 输入 999999.999Then 小数第 3 位被拒;总值不超过 999999.99。
  4. Given 金额键盘,When 输入 9999999Then 超上限被拒。
  5. Given 金额键盘,When 输入 58.95Then 合法显示;再输数字被拒(小数已 2 位)。
  6. Given 添加 sheet 应付/s6 小计,When 输入超过 999999.99 或 2 位以上小数,Then 自动截断/封顶。

下一步 / 底部

  1. Given 购物车为空,When 点「下一步」,Then toast「请先选择项目」。
  2. Given 购物车有项,When 点「下一步」,Then 直接进入 s6。
  3. Given 购物车有项,When 点底部左侧热区,Then 已选商品 Sheet 从 bar 后升起;员工不同或应付不同的同项拆成多行。
  4. Given 任意页,When 点「挂单」,Then toast「已挂单」(线上按现有逻辑)。

经营分析关联

  1. Given 经营分析 → 门店经营报表,When 查看项目 TOP5 排行,Then 不显示「快捷开单」(快捷开单不计入 TOP5;经营分析属另一产品线,本侧记录该规则)。

搜索栏 / 范围

  1. Given 开单结账页 s1/s5,When 查看顶部区域,Then 不包含搜索栏(本期已删除)。
  2. Given s6/s7 各类弹窗(员工面板/权益选择/备注/小计编辑等),When 对照线上验收,Then 交互效果与弹窗样式以当前在线版本为准,原型细节不作为验收约束。

快捷开单页布局

  1. Given s2/s3,When 查看字段卡片,Then 自上而下顺序为「开单内容 → 收款金额 → 员工」。

11非功能(极简)

12交付物

交付说明
本文 PRD-开单结账.md开发与测试准稿
交互原型 index.html唯一可视依据
PRD-开单结账.htmlPRD 自包含 HTML 预览版

开发与测试只需 PRD + 原型。冲突时以原型界面为准修正 PRD。

PRD:开单结账2.0 · v1.2 · 2026-08-31 · 交互原型 index.html(390 × 844)