产品需求文档:人员管理(v2.4 设备逐台分配与范围跟人走)

使用说明:本文件是人员管理页的唯一需求来源,每条规则只在一处正式定义,其余章节以引用方式指向定义点。Markdown 版本适合在仓库内查看;如需在浏览器中阅读,请使用同目录的 prd-staff-management-user-flow.html

0. 版本记录

版本日期主要变化
v2.42026-07-07确立四条分配原则:角色只在首次分配时有效(编辑不再出现角色);给他人分配的设备不能超过分配者本人的数据权限;设备可跨商户自由勾选(取消同商户锁定);各业务页数据范围跟人走、不再跟商户走。移除「所属商户」选择:超管新建的人员暂不归属商户
v2.32026-07-06文档结构重构(规则单点定义,用户流程 15 个合并为 11 个);基础信息新增「邮箱」选填字段,用于 Google 账号登录绑定;更新基础信息截图
v2.22026-07-03新增「平台运维」「商户管理员」两个角色;引入「数据范围」维度;人员新增 / 编辑改为分级授权并增加维护门禁;基础信息标注必填 / 选填
v2.12026-06-01引入 6 角色模板体系前身(4 角色);角色切换改为两步确认 + 一次撤销;权限微调提示条
v1.x2026-05初版:人员列表、基础信息、负责设备、启用 / 停用

1. 概述与目标

人员管理是后台运营人员维护「谁能登录、能看到哪些机器、能做哪些操作」的统一入口,覆盖人员列表、新增 / 编辑、角色与权限分配、可管理设备分配、账号启停。

页面需同时服务两端:桌面端高密度查看与快速维护;移动端在不横向滚动的前提下完成核心查看。

四条分配原则(本版本的模型基石,各章节据此展开):

  1. 角色只在首次分配时有效:角色是新建人员时一次性快速套上「数据(设备)+ 操作(权限)」的方式。保存后角色仅作留档展示,之后一切调整都通过勾选完成。
  2. 分配不越权:给他人分配的设备不能超过分配者本人的数据权限(商户管理员只能从自己名下设备里选)。
  3. 编辑不再出现角色:编辑人员时不显示角色选择,只能通过权限勾选与设备勾选变更该员工的能力。
  4. 数据范围跟人走:各业务页(设备、订单、故障、物料等)的可见设备由员工本人记录上的设备白名单(或全平台标记)决定,不再按其所属商户圈定。

目标:

非目标:

2. 角色与授权模型

本章是角色、数据范围、分级授权的唯一定义点。

2.1 角色模板总表

角色模板只在新建人员时使用(原则 1);下表「默认权限范围」「数据范围」即模板套用后落到人员记录上的初始值。

角色模板定位数据范围默认权限范围设备如何分配谁能创建它
超级管理员平台方最高权限全平台所有页面查看、人员维护、商品 / 配方 / 物料 / 订单退款、故障处理无需分配(天然全部)仅外部途径开通,不在任何创建列表
平台运维平台方运维全平台总览、设备、故障、物料(含货道编辑);不含订单与人员维护无需逐台分配:动态可见全部设备(含新入网机器)仅超级管理员
商户管理员商户自管指定设备人员维护、订单退款、配方编辑等运营全权超级管理员逐台分配仅超级管理员
店长门店日常运营指定设备总览、设备、商品、物料、订单(含退款)、故障查看超级管理员或商户管理员逐台分配超级管理员、商户管理员
运维人员设备安装与故障处理指定设备设备、物料(含货道编辑)、故障查看与处理超级管理员或商户管理员逐台分配超级管理员、商户管理员
职员基础查看指定设备总览、设备、订单查看超级管理员或商户管理员逐台分配超级管理员、商户管理员

平台运维与商户管理员的本质区别是操作权限相反、数据范围不同:平台运维默认看得到全平台设备但没有人员维护与订单管理操作权限;商户管理员有人员与订单操作权限,但可见设备必须由超级管理员逐台分配。

每个角色模板包含:名称、描述文案、图标、默认权限集合、默认模块设备范围。不选择任何模板即为「自定义」模式:不强制角色,权限完全手动勾选(校验仍按第 4.2 节执行)。

2.2 数据范围

「数据范围」决定一个员工能看到哪些机器,与「功能权限」(能对机器做什么)相互独立。本版本只有两档:

数据范围跟人走(原则 4):各业务页按登录者本人记录上的设备白名单过滤可见数据;员工换商户、设备换商户都不影响已分配关系。同一数据范围可搭配不同功能权限,「看得到全平台」不等于「什么都能做」——平台运维可跨商户查看设备与故障,却打不开订单页、不能维护人员。

2.3 分级授权与人员维护门禁

只有具备「人员维护」能力的登录身份才能新增、编辑、启停人员:

登录角色可新增 / 编辑人员可创建的角色(仅新建时可选)可分配的设备范围
超级管理员平台运维、商户管理员、店长、运维人员、职员全平台任意设备(可跨商户混选)
商户管理员店长、运维人员、职员不超过本人已被分配的设备(原则 2)
平台运维 / 店长 / 运维人员 / 职员

授权铁律:

2.4 权限模块清单

权限模块至少包含:

2.5 登录方式与账号绑定

员工可通过小程序Google 账号登录,二选一:

3. 用户流程

每个流程只列该流程特有的验收点;跨流程的模型与规则见第 2、4 章(验收时一并回归)。

UF-001:进入人员管理并查看人员概览

描述: 作为运营人员,我希望进入人员管理页面后,先看到启用人员数和管理人员列表,快速判断人员配置情况。

主流程:

  1. 用户进入人员管理页面。
  2. 页面按登录身份加载管理人员数据:超级管理员跨商户看全部人员(含暂未归属商户者);其余身份只看本商户人员。
  3. 顶部展示「启用人员数」与「管理人员列表」标题信息。
  4. 列表展示每位管理人员的姓名、账号状态、手机号、创建时间、可管理设备摘要与操作按钮;超级管理员视角额外展示所属商户(未归属者显示「未归属商户」)。

验收标准:

参考截图:

UF-001 当前商户人员概览
UF-001 当前商户人员概览

UF-002:在移动端进入人员管理并完成核心查看

描述: 作为移动端运营人员,我希望在手机上保持与后台其他页面一致的导航结构,并快速看到说明文案与新增入口。

主流程:

  1. 用户在移动端打开人员管理页面。
  2. 顶部保留后台导航菜单按钮与当前页名称。
  3. 下方展示页面说明文案与「添加人员」入口。
  4. 用户继续浏览管理人员卡片列表。

验收标准:

参考截图:

UF-002 移动端进入人员管理
UF-002 移动端进入人员管理

UF-003:打开新增 / 编辑弹窗并填写基础信息

描述: 作为具备人员维护能力的运营人员,我希望通过统一弹窗完成新增或编辑人员,清楚看到哪些基础信息必填、哪些选填。

主流程:

  1. 用户点击「添加人员」或某条记录上的「编辑人员」。
  2. 系统打开统一的人员维护弹窗,进入「基本信息」步骤。任何身份都不出现「所属商户」选择(见第 2.3 节)。
  3. 用户填写「用户名」「手机号」(必填),可选填「邮箱」「公众号 OpenID」。
  4. 用户继续进入下一步:新增为「角色与设备」,编辑为「可管理设备」(编辑不出现角色,见 UF-005)。

验收标准:

参考截图:

UF-003 新增人员基础信息与必填选填标记
UF-003 新增人员基础信息与必填选填标记

UF-004:通过角色模板快速分配权限(仅新建场景)

描述: 作为运营人员,新建员工时我希望直接选一个角色模板,让系统把该角色应有的权限默认勾上,避免逐项手动勾选。角色只在这次新建中有效(原则 1),保存后不能再换角色。

主流程:

  1. 用户进入新增弹窗的「角色与设备」步骤。
  2. 「选择角色」区域展示当前登录者有权创建的角色卡片(过滤规则见第 2.3 节)。
  3. 用户点击一张卡片,系统进入待确认切换状态(新建场景原角色记为「自定义」)。
  4. 对比条显示「自定义 -> 店长」及保留 / 新增 / 移除权限数量;若用户已手动勾选过权限,警告行提示这些自定义将被覆盖。
  5. 用户点击「确认切换」后,权限树按角色默认勾选,顶部出现绿色「当前角色」条与「撤销切换」按钮。
  6. 选中全平台数据范围的角色(平台运维)时,「可管理设备」区提示无需逐台分配;其余角色仍需至少选择一台设备。

验收标准:

参考截图:

UF-004 角色模板选择与待确认
UF-004 角色模板选择与待确认

UF-005:编辑员工时不再出现角色,仅通过勾选调整

描述: 作为运营人员,打开「编辑员工」时我要直接调整这位员工的可管理设备与权限勾选;角色只在他被创建时用过一次,编辑时不应再出现角色概念(原则 1、3)。

主流程:

  1. 用户点击「编辑人员」,弹窗回填基础信息、权限与可管理设备。
  2. 第 2 步标题为「可管理设备」:不显示任何角色卡片、角色条或角色切换入口。
  3. 用户直接勾选 / 移除设备(候选清单规则见 UF-007),或进入第 3 步增删权限勾选。
  4. 用户保存,员工的角色留档字段保持原值不变。

验收标准:

参考截图:

UF-005a 编辑员工第 2 步仅调整可管理设备
UF-005a 编辑员工第 2 步仅调整可管理设备
UF-005b 编辑员工第 3 步通过勾选调整权限
UF-005b 编辑员工第 3 步通过勾选调整权限

UF-006:在角色基础上微调权限(仅新建场景)

描述: 作为运营人员,新建员工时我希望以角色模板为起点增删权限,得到这位员工真正合适的组合,并清楚看到「比模板多 / 少了什么」。

主流程:

  1. 用户已在新增弹窗内确认某个角色(UF-004)。
  2. 用户在权限树勾选或取消若干权限项。
  3. 权限树上方橙色提示条实时显示「基于"<角色名>"角色,已添加 N 项权限,移除 M 项权限」。
  4. 用户保存后,微调作为「最终权限 + 与模板的差异」两份记录保存(见第 5 章)。

验收标准:

参考截图:

UF-006 角色基础上的权限微调
UF-006 角色基础上的权限微调

UF-007:选择可管理设备(候选范围跟分配者走)

描述: 作为具备人员维护能力的运营人员,我希望通过独立选择器为员工逐台勾选可管理设备,支持按设备编号或点位名称搜索;我能分配出去的设备不能超过我自己的数据权限(原则 2),且不受商户边界限制(原则 4)。

主流程:

  1. 用户点击「选择可管理设备」。
  2. 系统打开「选择可管理设备」弹窗,候选清单按分配者身份解析:

- 超级管理员 / 平台运维(全平台数据范围):全平台设备,可跨商户自由混选;

- 商户管理员等受限身份:仅本人已被分配的设备;编辑他人时,该员工已有设备并入清单(可见、可移除),新增勾选仍限本人范围。

  1. 用户按设备编号或点位名称搜索、勾选设备,必要时切换「仅看已选」。
  2. 用户点击「完成选择」,回到人员弹窗查看已选统计与摘要。

验收标准:

参考截图:

UF-007 可管理设备选择器(跨商户自由勾选)
UF-007 可管理设备选择器(跨商户自由勾选)

UF-008:保存新增或编辑人员并完成校验

描述: 作为运营人员,我希望保存前得到明确校验反馈,成功后立即看到结果。

主流程:

  1. 用户填写基础信息、角色(仅新建、可选)、权限和可管理设备。
  2. 用户点击提交按钮,系统按第 4.2 节校验规则表依次校验。
  3. 校验不通过:弹窗停留、数据不变,并提示需要修正的内容。
  4. 校验通过:保存人员数据、关闭弹窗、刷新列表与顶部统计,提示「人员新增成功」或「人员信息已更新」。

验收标准:

参考截图:

UF-008 保存前校验与提交流程
UF-008 保存前校验与提交流程

UF-009:启用 / 停用账号

描述: 作为运营人员,我希望在列表中快速切换账号启用状态,并在操作前获得确认提示。

主流程:

  1. 用户在列表点击「停用账号」或「启用账号」。
  2. 系统弹出确认提示;停用时明确「停用后该人员将无法登录」。
  3. 用户确认后,系统更新状态、刷新列表,提示「账号已启用 / 账号已停用」。

验收标准:

参考截图:

UF-009 启用或停用账号
UF-009 启用或停用账号

UF-010:在桌面端查看可管理设备摘要并展开完整设备列表

描述: 作为桌面端运营人员,我希望列表先给设备摘要、设备多时按需展开,兼顾信息密度和完整性。

主流程:

  1. 用户在桌面端查看管理人员卡片。
  2. 设备少时直接展示全部编号;设备多时展示前两台 + 总数。
  3. 用户点击「查看全部」展开完整列表,再次点击「收起」。

验收标准:

参考截图:

UF-010 桌面端可管理设备摘要与展开
UF-010 桌面端可管理设备摘要与展开

UF-011:不同身份的新增 / 编辑差异(分级授权场景)

描述: 作为不同身份的登录者,我在人员管理里能做的事应随身份不同而不同:超级管理员可分配全平台任意设备、商户管理员只能在本人设备范围内分配、无人员维护能力的账号只能看。

主流程(三个视角):

  1. 超级管理员:新增时角色卡片含平台运维、商户管理员、店长、运维人员、职员;设备候选为全平台、可跨商户混选;保存后人员暂不归属商户,列表以「未归属商户」标识。
  2. 商户管理员:角色卡片仅店长、运维人员、职员;设备候选仅本人已被分配的设备;保存后人员归属当前登录商户。
  3. 无人员维护能力的账号(平台运维、店长等):页面正常展示概览与列表,但没有「添加人员」入口,列表无「编辑 / 启停」操作。

验收标准:

参考截图:

UF-011a 超级管理员新增:全平台设备候选、无商户选择
UF-011a 超级管理员新增:全平台设备候选、无商户选择
UF-011b 商户管理员新增:设备候选限本人范围
UF-011b 商户管理员新增:设备候选限本人范围
UF-011c 无人员维护能力的账号仅可查看
UF-011c 无人员维护能力的账号仅可查看

4. 交互与校验规则

4.1 角色切换状态机(仅新建弹窗)

角色概念只存在于新增弹窗(原则 1、3);编辑弹窗整体隐藏角色区,本状态机不适用。

状态进入条件可见界面允许动作退出结果
自定义(无角色)新增弹窗初始态无当前角色条;权限树按现有勾选显示手动改权限、选择角色卡片选择角色后进入「待确认切换」
已确认角色已确认某个角色绿色当前角色条;对应卡片绿色选中手动微调权限、选择其他角色、保存选其他角色进入「待确认切换」;微调后保持当前角色
待确认切换点击非当前角色卡片对比条;新角色虚线待确认;原角色仍选中确认切换、取消切换、点回原角色确认后进入「已确认角色」;取消后回到进入前状态
可撤销确认切换后且尚未手动改动当前角色条右侧显示「撤销切换」撤销切换、手动改权限、保存撤销后还原快照;手动改动后撤销失效

状态铁律:

4.2 校验规则表

保存(或向导「下一步」跨步)时按下表依次校验;任一不通过则弹窗停留、列表数据不变,并给出对应提示。

校验项规则不通过时的提示
用户名必填请填写用户名和手机号
手机号必填;合法手机号格式;同一商户下手机号不得重复(编辑时允许保留本人原手机号)请输入正确的手机号 / 手机号重复提示
邮箱选填;填写时必须为合法邮箱格式;留空不阻塞保存(仅小程序登录)请输入正确的邮箱地址
权限至少选择一个权限请至少选择一个权限
可管理设备指定设备范围的人员至少选择一台设备;全平台数据范围(如平台运维)无需选择请至少选择一个可管理设备
设备分配上限所选设备必须落在分配者本人可分配范围内(原则 2;范围解析见 UF-007)分配的设备不能超过你本人的数据权限
模块设备范围每个权限模块的设备子集必须落在可管理设备列表内;模块设为「指定设备」但清单为空时不得保存引导改为「全部可管理设备」或补选设备
角色越权仅新建时校验:所选角色必须在登录者可创建范围内(见第 2.3 节)当前账号无权创建该角色

5. 数据保存契约

人员记录至少包含以下字段:

字段含义示例备注
人员 ID系统生成的唯一标识staff-001编辑保存时不可变
商户 ID所属商户C001超级管理员新建的人员暂不归属(留空),归属由商户开通流程补齐;编辑保存保留原值
用户名展示名王店长必填
手机号小程序登录账号13800138000必填;校验见第 4.2 节
邮箱Google 登录绑定键wang@example.com选填;使用 Google 登录的员工必须配置(见第 2.5 节)
公众号 OpenID故障推送标识选填
账号状态启用 / 停用已启用新增默认启用
角色信息角色 ID、名称、应用时间店长,2026-06-01仅新建时写入(原则 1);编辑保存不改动;自定义时明确标记为自定义
最终权限保存时实际生效的权限集合查看总览、查看订单不依赖角色信息即可独立读懂
权限差异记录相对基准角色的新增 / 移除项基准:店长;新增:订单退款基准取创建时留档的角色;自定义时基准记为自定义
数据范围该员工可见机器范围全平台 / 指定设备仅两档(见第 2.2 节);创建时由角色模板落定,编辑不改动
可管理设备列表可管理的设备RCK386, RCK385可跨商户(数据范围跟人走,原则 4);分配上限见原则 2
模块设备范围各权限模块可查看的设备子集订单:继承全部;故障:仅 RCK386必须是可管理设备列表的子集
创建时间记录创建时间2026-06-01编辑保存时不可变

保存规则:

6. 关联实现与测试

7. 发布检查清单

上线前逐项人工验证(括号内为规则定义处):