Locations Management PRD

产品需求文档:点位管理(按用户流程)

按其他模块 PRD 标准输出:用户流程、验收标准、功能需求、截图。仅描述当前点位管理页面已实现的行为。

说明: 当前文件是可直接打开的 HTML 预览版,与运营控制台原型点位管理页面一一对应。源截图位于 ../screenshots/locations-prd/

1. 介绍 / 概述

点位管理页面是运营人员维护设备实际投放地点(点位)的基础信息入口。一个点位对应一个具体的物理地址 + 编码 + 所属商户,是设备 / 故障 / 订单 / 物料等模块共享的「位置维度」基础数据。

页面承载:

  • 查看全部点位及其运营状态。
  • 新增 / 编辑 / 删除点位。
  • 按关键字 + 点位分类筛选清单。

2. 目标

  • 让用户进入点位管理页后,一次看到点位总数、运营中数量、设备总数和所属客户数。
  • 让点位列表同时携带点位名称、编码、所属商户、点位分类、详细地址、运营状态。
  • 让用户能新增点位,系统自动生成不与现有冲突的编码,但允许手动改。
  • 让普通用户(绑定单个商户的账号)只能看到 / 操作自己商户的点位;超管能跨商户管理。
  • 让删除前要二次确认,无权操作时给出明确的错误反馈,不静默吞掉操作。

3. 用户流程 / 用户故事

UF-001:进入点位管理并查看汇总

描述: 作为运营人员,我希望进入点位管理页后立刻看到点位规模的总览,再决定要不要进一步操作。

主流程:

  1. 用户从侧边栏点击「点位管理」。
  2. 页面标题展示「点位管理」,副标题「管理设备点位信息和运营状态」。
  3. 页面上方展示 4 张统计卡:点位总数、运营中、设备总数、所属客户。
  4. 页面下方展示点位卡片列表。

验收标准:

  • 页面标题为「点位管理」,副标题为「管理设备点位信息和运营状态」。
  • 页头右上角提供「➕ 新增点位」按钮。
  • 统计卡包含 4 张:📍 点位总数、✅ 运营中、⚙️ 设备总数、🏢 所属客户。
  • 普通用户登录时,列表只展示该用户所属商户的点位;超管登录时展示全部。

参考截图:

UF-001 点位管理桌面端
UF-001 点位管理桌面端

UF-002:阅读单个点位卡片

描述: 作为运营人员,我希望每张点位卡片同时给出点位的所有关键属性。

主流程:

  1. 用户在清单中扫读点位卡片。
  2. 每张卡片展示:📍 点位名称、🏷️ 编码、🏢 所属商户、🧭 点位分类、📍 详细地址、状态徽章、行末「✏️ / 🗑️」操作。

验收标准:

  • 每张卡片显示 4 行 meta:🏷️ 点位编码、🏢 所属商户(未关联时显示「未关联商户」)、🧭 点位分类、📍 详细地址。
  • 状态徽章:运营中 = 「● 运营中」(绿色),暂停运营 = 「○ 暂停运营」(灰色)。
  • 每张卡片提供「✏️ 编辑」和「🗑️ 删除」两个操作按钮。
  • 列表无数据时展示空状态:📍 图标 + 「暂无点位数据」。

UF-003:按关键字 + 点位分类筛选清单

描述: 作为运营人员,我希望能用搜索框定位点位,并按点位分类(展会 / 运营)进一步过滤。

主流程:

  1. 用户在搜索框输入关键字。
  2. 系统按关键字过滤清单。
  3. 用户在「全部点位分类」下拉里切换到展会点位 / 运营点位,进一步收敛清单。

验收标准:

  • 搜索框 placeholder 为「搜索点位名称、地址、编码...」。
  • 搜索同时匹配点位名称、点位编码、详细地址三个字段;匹配大小写不敏感。
  • 分类下拉提供「全部点位分类 / 展会点位 / 运营点位」三个选项。
  • 搜索与分类筛选可同时生效;普通用户的商户范围始终是最外层过滤条件,搜索与分类都在该范围内进一步收敛。

UF-004:新增点位

描述: 作为运营人员,我希望能新建一个点位并填入它的基础信息。

主流程:

  1. 用户点击页头右上角「➕ 新增点位」。
  2. 系统弹出「新增点位」表单,自动填入新的点位编码。
  3. 用户输入点位名称、详细地址等必填字段,可选填负责人、联系电话、备注。
  4. 用户点击「保存」,系统创建点位并刷新列表与统计卡。

验收标准:

  • 必填字段:点位名称、点位编码、详细地址。任一为空时提示「请填写必填项」并阻止保存。
  • 点位编码默认由系统自动生成(如 k9101),避免与已有编码冲突;右侧「重新生成」按钮可立刻换一个编码;用户也可以手动改写。
  • 超管视图:所属客户字段显示为可选下拉,候选只列出处于合作中状态的商户。
  • 普通用户视图:所属客户下拉隐藏,改显示只读的「所属商户」字段,自动绑定到当前账号所属商户。
  • 点位状态下拉:「运营中 / 暂停运营」,默认运营中。
  • 点位分类下拉:「展会点位 / 运营点位」,必填。
  • 负责人、联系电话、备注为选填字段。
  • 表单底部提供「取消 / 保存」按钮。

参考截图:

UF-004 新增点位弹窗
UF-004 新增点位弹窗(超管视图)

UF-005:编辑 / 删除点位(含权限校验)

描述: 作为运营人员,我希望能修改或删除已有点位,但不能动到不属于我的商户的点位。

主流程:

  1. 用户在点位卡片点击「✏️」打开编辑表单(同新增表单,预填已有字段);或点击「🗑️」触发删除。
  2. 系统先校验当前账号是否有权操作该点位:普通用户的所属商户与点位的所属商户不一致时,提示「无权编辑该点位」/「无权删除该点位」并中止操作。
  3. 删除前弹出二次确认「确定要删除该点位吗?」。
  4. 确认后从列表中移除该点位,更新统计与列表。

验收标准:

  • 编辑按钮触发编辑弹窗:预填全部字段(点位名称、编码、所属客户、状态、分类、地址、负责人、电话、备注)。
  • 编辑时点位编码可改;保存逻辑与新增共用同一套校验和持久化路径。
  • 权限校验在编辑、删除两个入口都生效:商户范围不匹配时不进入弹窗 / 不删除,并通过 toast 报错。
  • 删除走二次确认,确认通过后即删除,无回收站。
  • 删除成功后保留当前搜索 / 分类筛选,不重置条件。

UF-006:移动端浏览与维护点位

描述: 作为运营人员,我希望在手机上也能完成点位的查看与简单维护。

主流程:

  1. 用户在手机打开点位管理页。
  2. 统计卡和点位卡片自适应单列布局。
  3. 用户可以点击行末「✏️ / 🗑️」执行编辑 / 删除。

验收标准:

  • 窄屏下统计卡和点位卡片为单列纵向排布,不出现横向滚动。
  • 新增 / 编辑表单在移动端可滚动浏览全部字段,并能正常提交。

参考截图:

UF-006 点位管理移动端
UF-006 点位管理移动端

4. 功能需求

  • 清单:以卡片形式展示,每张卡片含点位名称、编码、所属商户、点位分类、详细地址、运营状态徽章、编辑 / 删除按钮。
  • 统计卡:4 张(点位总数、运营中、设备总数、所属客户)。
  • 关键字搜索:匹配点位名称、编码、详细地址,三个字段同时参与匹配;大小写不敏感。
  • 点位分类筛选:「全部 / 展会点位 / 运营点位」三选一,与搜索同时生效。
  • 权限范围:普通用户只能看到 / 操作自己所属商户的点位;超管跨商户可见可操作。
  • 新增 / 编辑表单:必填项点位名称、编码、详细地址;其它可选;状态、分类有下拉枚举。
  • 所属客户字段:超管显示下拉(候选为处于合作中的商户);普通用户隐藏下拉,改显示只读的所属商户名。
  • 点位编码:系统按已有编码递增生成新编码(最小起步 k1000),允许手动改 + 「重新生成」一键换号。
  • 删除二次确认:删除前弹出确认对话框。
  • 无权操作提示:编辑 / 删除时商户范围不匹配,用 toast 「无权编辑该点位」/「无权删除该点位」反馈。

5. 当前版本限制

  • 清单不分页、不分组,全量渲染。
  • 点位地址只是文本,没有地图选点 / 地理编码 / 经纬度字段。
  • 点位编码格式由前端自动生成,不与外部编码规则对接。
  • 没有点位详情子页 / 关联设备列表 / 点位历史记录。
  • 删除后无回收站,二次确认通过即直接删除。
  • 所属客户字段只允许选合作中的商户;已暂停的商户不可见。
  • 负责人 / 联系电话作为字段保存,但不与人员管理模块关联。