员工权限与门店可见范围

适用对象:老板、店长、区域经理、前台与技师。说明「谁能看到哪些数据」「谁能点哪个按钮」是怎么配置的,以及权限改完多久生效。


1. 先分清两件事

系统对每个员工账号的判断分两层,两层互不替代,必须同时通过才能看到/点到:

层解决什么问题在哪里配
功能权限(菜单 + 按钮)这个账号能不能进「订单列表」这个页面、能不能点「退款」「导出」「明文查看手机号」这些按钮平台运营侧:租户套餐 / 租户可用菜单;门店侧:系统管理 → 角色管理 → 菜单权限
数据权限(可见范围)进了这个页面之后,能看到哪些门店、哪些人产生的记录门店侧:系统管理 → 角色管理 → 数据权限

举例:前台账号有「预约管理」菜单,但数据范围是「仅本人」,那么它进得去页面,却只看到自己新建的预约;店长有同一个菜单、数据范围是「本部门」,看到的就是本店全部预约。


2. 数据权限的五档

配置入口:租户后台 → 系统管理 → 角色管理 → 选中角色 → 右上角「数据权限」。

档位含义适合谁
全部数据权限本租户下所有门店的数据老板、总部管理员
自定数据权限勾选指定的若干门店区域负责人跨若干家店、合伙人
本部门数据权限只看自己所属门店店长、本店前台
本部门及以下数据权限自己门店 + 其下所有分店区域经理(门店树有层级时)
仅本人数据权限只看与自己直接相关的记录技师(自己的提成/预约)、前台(自己新建的)

一个账号兼多个角色时,可见门店 = 各角色展开后的并集(任一角色为「全部」即全部可见;兼有管理类档位与「仅本人」时按管理类范围呈现汇总视角)。例如兼「A 店店长」与勾选 B、C 店的区域角色时,可见 A/B/C 三家。

「本部门及以下」的展开锚点是账号自己的归属部门,不是角色上选的部门:区域经理账号要挂在区域节点下使用该档;账号挂在总部时该档等于全部门店。不规则的几家店请用「自定数据权限」勾选。

角色档位建议(新租户开通时系统只内置「超级管理员」一个角色,其余角色请在角色管理里自建,按下表设档位):

  • 超级管理员(内置,勿改):全部数据权限
  • 店长 / 门店负责人:本部门数据权限
  • 区域经理:本部门及以下数据权限
  • 前台 / 收银:仅本人数据权限(需要看本店全部预约时改为「本部门」)
  • 技师:仅本人数据权限

3. 三条容易误解的规则

  1. 页面上的筛选条件只会缩小范围,不会放大范围。 数据范围是「本店」的店长,在筛选里手填或选择别家门店,结果是空的,不会看到别家数据。
  2. 支援出去的员工,看得到自己的跨店业绩。 技师 3 月在 A 店、4 月被支援到 B 店,他的「我的提成 / 经营数据(个人模式)」两个月的记录都能看到,且只看到自己的。
  3. 外援技师会出现在被支援店的「员工绩效榜」上,并标注来源门店;但他的工资单仍在原门店出账。 即:门店成本按业绩发生的门店归集,工资单按人事归属的门店出账,两边口径不同,不是数据错了。

4. 敏感数据需要单独授权

以下两类数据,即使可见范围覆盖到了,也必须额外授予对应权限,默认任何角色都不带:

  • 员工工资单(薪酬方案、工资生成、审核、发放):需要单独拥有「工资单」相关页面与按钮权限。店长的「本部门」范围只意味着能看到本店的经营数据与提成成本,不等于能看到本店员工的工资单。
  • 明文手机号 / 身份证:列表与详情页一律显示脱敏值(如 138****8000)。只有被单独授予「查看明文」按钮权限的账号,才能点开通看明文,且每次查看都会写入操作日志供审计。

导出文件里的手机号同样是脱敏值。


5. 操作步骤

5.1 给某个员工换可见范围

  1. 系统管理 → 用户管理,找到该员工,确认他所属的角色(权限是按角色下发的,不是按人)。
  2. 系统管理 → 角色管理 → 选中该角色 → 「数据权限」。
  3. 选择档位;选「自定数据权限」时会出现门店树,勾选目标门店。
  4. 保存。保存即生效,该角色下所有在线员工的下一次请求就按新范围返回,不需要员工重新登录。

5.2 给某个员工加/减按钮权限

  1. 系统管理 → 角色管理 → 选中该角色 → 「菜单权限」。
  2. 展开到具体页面节点,页面下方的子节点就是按钮(新增/修改/删除/导出/退款/查看明文等)。
  3. 勾选或取消后保存,同样即时生效。
  4. 若该页面本身不在这个租户的可用范围内(连锁 SaaS 由平台侧按套餐控制),门店侧勾了也不会出现——需要联系平台运营把功能加进套餐或对该租户开放。

5.3 员工看不到某个菜单/按钮时的自查顺序

  1. 平台侧是否给这家租户开放了该页面(套餐 / 租户可用菜单);
  2. 该员工所属角色是否勾选了该页面及其按钮;
  3. 若页面能进、列表却是空的——这不是按钮权限问题,是数据权限范围没覆盖到(见 5.1)。

5.4 批量导入员工账号

新开连锁或多门店同步建号时,逐个填太慢。入口:系统管理 → 用户管理 → 「导入」按钮(需要「用户导入」按钮权限,默认只给超级管理员)。

  1. 点「导入」→ 弹窗里先点**「下载模板」**,得到 用户导入模板.xlsx。
  2. 按模板填写,列顺序可以调、列名不能改(表头带 * 的是必填):
列必填留空时的默认值
用户账号✅无默认,留空该行报错
用户姓名✅无默认,留空该行报错
角色✅无默认,留空即报错——没有角色的账号登录后看不到任何功能,等于废号。多个角色用顿号、逗号或分号分隔(店长、前台),写角色名称
门店❌归到操作人自己所属门店(店长批量建本店员工时这一列可以不填)。填名称,且必须是你可见范围内的门店
初始密码❌只在新增账号时生效:留空取系统参数 sys.user.initPassword(新租户默认 123456,该参数由平台侧统一维护,商户后台无入口),与新增页的初始密码同一口径
手机号码❌空。写法见下方「手机号说明」
邮箱 / 性别 / 状态 / 备注❌性别填 男/女/未知,状态填 正常/停用(也认 在职/离职),留空按系统默认
  1. 选中填好的 .xlsx(只认 xls/xlsx)上传,弹窗右上可勾「是否更新已经存在的用户数据」:
    • 不勾(默认):账号已存在 → 该行报错,不动原账号;
    • 勾上:账号已存在 → 按模板里的值覆盖该账号的姓名/角色/门店/状态等。覆盖不会改密码(模板的「初始密码」列只对新增账号生效);已有账号要换密码,请用列表行的「重置密码」。
  2. 上传后弹窗直接回显结果:共 N 行:新增 x、更新 y、失败 z,失败的逐行写「第 X 行:原因」。

限制与规则:

  • 单次最多 500 行,超了整份文件直接拒绝(不做「先导入一半再报错」),请拆分文件分批导。
  • 只有全部行都成功才算成功;有任何失败行时,成功的那部分已经写库——修正失败行后,把「是否更新已经存在的用户数据」勾上重传同一份文件即可,已成功的行会被同值覆盖,不会产生重复账号。
  • 门店列填了你无权操作的门店(不在你的可见门店范围内),该行报「无权操作该门店的员工账号」并跳过——导入沿用的是页面新增/编辑同一套数据权限判断,没有绕过。
  • 角色/门店名称在本租户重名时无法定位,该行报错并提示改用新增页手工指定。
  • 账号、手机号、邮箱在本租户内查重,重复即报错(与新增页一致)。
  • 手机号入库是加密存储的,导入后列表里显示为 138****1111,与手工新增完全一致。

手机号说明:支持大陆 11 位(13...~19...)、香港 8 位、澳门 8 位、台湾 10 位(09 开头);格式不对该行报错。列表页按手机号筛选时,要填完整号码(系统按号码的哈希精确匹配,输入 138 这种片段查不出结果)。

历史提醒:这个按钮在 2026-10-15 之前是假的——点了提示「导入成功」,实际一行都没写进库。现在是真的,模板、行数、结果回显、逐行报错都已接通。


6. 生效时间与例外

  • 改动角色权限、账号角色归属、门店树增删、平台侧套餐变更或给租户分配菜单,全部即时生效,无需员工重新登录。
  • 唯一例外:超级管理员不受按钮权限约束(无视所有功能权限勾选),其可见范围按「全部数据权限」。
  • 顾客端(会员小程序)只能看到与自己相关的记录:自己的会员卡券、订单、预约、退款单;查看他人数据一律返回「不存在」。

7. 常见问题

现象原因处理
页面上该出现的按钮没出现角色没勾该按钮,或该页面不在套餐范围内按 5.3 顺序自查
按钮能点,点了提示「您没有访问该接口的权限」该账号的权限集合里确实没有这个按钮(多因同 code 按钮挂在别的页面)角色管理里重新保存一次该角色;仍异常记录账号 + 操作,报平台运营
改了权限但员工那边还是旧的改动没保存成功,或改的不是该员工所属的角色用户管理 → 分配角色,确认归属后重试
列表为空但确定有数据数据权限范围不覆盖调整该角色档位
区域经理看不到下属分店的数据门店树没建层级(分店直接挂在租户根上),或账号没挂在区域节点下(该档按账号归属部门展开)系统管理 → 门店/部门管理,把分店挂到区域节点下,并在用户管理把账号归属到该区域节点,再选「本部门及以下」
H5「数据」页显示「管辖门店(N)」或没有门店选择条数据页按数据权限档位呈现:全部/自定/本部门为汇总视角并显示门店选择条,仅本人为个人视角不显示选择条属正常设计;配置说明见《H5 经营数据页操作手册》;区域运营角色建议只勾看数类菜单,不授予开单/核销/退款等执行权限
导出的手机号是星号设计如此,导出禁止明文需要单个明文时用「查看明文」按钮(会留审计记录)
店长的工资单列表是空的工资单是敏感数据,需单独授权给该角色勾上「工资单」页面与查看按钮