【Code with SOLO】用 SOLO 从零构建「轨道车站巡逻」系统-监控人员巡逻轨迹、时间

巡逻防控登记功能

移动端需求规格文档

含开始巡逻 / 巡逻中 / 结束巡逻 / 提交记录列表 / 状态判定规则

版本:V1.3

日期:2026-04-15

一、功能概述

本文档描述巡逻防控登记功能的移动端需求规格,涵盖巡逻全生命周期:开始巡逻 → 巡逻中 → 结束巡逻 → 提交记录管理,并包含完整的状态判定规则体系。

1.1 适用范围

移动端巡逻功能仅限民警角色使用。辅警、保安不在系统用户体系内,无法登录移动端,其巡逻数据通过PC端Excel导入方式录入系统。

1.2 适用角色

角色分类

角色列表

数据提交方式

说明

移动端用户

民警

移动端实时提交

登录移动端,实时填报巡逻数据

非系统用户

辅警、保安

PC端Excel导入

不在系统用户体系内,由管理员通过PC端批量导入

系统操作角色

超级管理员、支队管理员、勤务管理员

PC端管理

负责后台配置、Excel导入与数据管理

1.3 页面流转总览

序号

页面名称

页面类型

核心职责

1

开始巡逻

表单页

录入巡逻基础信息,提交后进入巡逻中状态

2

巡逻中

常驻展示页

实时展示巡逻信息与动态计时,提供结束入口

3

结束巡逻

表单页

填写状态(正常/异常),触发后端状态判定

4

巡逻提交记录

列表页

卡片式展示历史巡逻记录,支持筛选查询

5

巡逻记录详情

详情页

展示单条巡逻记录的完整信息

1.4 巡逻状态定义

巡逻记录共定义以下6种状态,覆盖从开始到结束的完整生命周期:

状态

状态类型

说明

触发条件

巡逻中

进行中

巡逻进行中,计时器持续运行

民警移动端开始巡逻提交成功后

已完成

完成

巡逻正常完成,所有校验均通过

结束巡逻提交后,时间段、单班次时长、当日总时长均满足要求

时间段异常

异常

巡逻时间不在班次预设时段内

结束巡逻提交后,开始/结束时间不在班次时段内

时长异常

异常

单次巡逻时长未达到最低要求

结束巡逻提交后,实际时长低于班次单班次最低时长

总时长异常

异常

当日累计巡逻时长未达到总时长要求

结束巡逻提交后,当日累计时长低于角色配置的当日总时长要求

配置异常

异常

角色/班次/线路与配置规则不匹配

PC端Excel导入时,数据与支队配置规则不匹配

1.5 状态流转全景图

操作场景

人员类型

状态判定条件(关联基础配置规则)

最终状态

状态说明

移动端提交开始巡逻

民警

字段完整(班次、线路已选择),角色-班次-线路匹配配置规则

巡逻中

系统实时标记,同步至PC端

移动端提交结束巡逻

民警

开始/结束时间在班次预设时段内,实际时长≥单班次最低时长,当日累计时长≥总时长要求(若有)

已完成

完全符合配置规则

移动端提交结束巡逻

民警

开始/结束时间不在班次预设时段内

时间段异常

明确异常类型,支持补录说明

移动端提交结束巡逻

民警

实际时长<单班次最低时长

时长异常

明确异常类型,支持补录说明

移动端提交结束巡逻

民警

单班次合规,但当日累计时长<总时长要求

总时长异常

明确异常类型,支持补录说明

PC端Excel导入

辅警/保安

角色-班次-线路匹配配置规则,时间在预设时段内,时长达标(单班次+总时长)

已完成

完全符合配置规则

PC端Excel导入

辅警/保安

开始/结束时间不在班次预设时段内

时间段异常

导入时自动标记,展示在异常明细

PC端Excel导入

辅警/保安

实际时长<单班次最低时长

时长异常

导入时自动标记,展示在异常明细

PC端Excel导入

辅警/保安

角色/班次/线路与支队配置规则不匹配

配置异常

导入时自动标记,不纳入有效巡逻记录

PC端Excel导入

辅警/保安

当日累计时长<总时长要求(若有)

总时长异常

导入时自动标记,展示在异常明细

二、开始巡逻页面

2.1 页面定位

巡逻流程的起始页面,用于录入本次巡逻的基础信息。提交成功后跳转至「巡逻中」中间页。本页面仅民警角色可访问。

2.2 录入字段说明

字段名称

必填

组件类型

联动/校验规则

数据来源

人员类型

自动填充,不可编辑

自动锁定为「民警」,不可切换

辅警、保安不在系统用户体系内,其数据通过PC端Excel导入

当前登录用户角色

归属车站

吸底弹窗选择+模糊搜索

展示格式:车站名称(线路)

例:朝天门(1号线)

车站基础数据表

巡逻角色

吸底弹窗选择

仅展示当前所属单位可配置的已启用民警角色

例:二支队民警仅可见驻站班/行政班/叠加班/机动

系统已启用角色配置表

班次

吸底弹窗选择

1. 联动「巡逻角色+所属单位」,仅展示对应可绑定的已启用班次

2. 展示格式:班次名称(时段),例:上午班(08:00-12:00)

3. 班次时段与最低时长由后台配置

系统已启用班次配置表

巡逻线路

文本输入+历史快速选择

1. 字数限制≤100字符

2. 自动缓存当前登录人员历史线路,支持下拉快速选中

3. 选择/输入后自动回填

前端缓存+用户输入

所属单位

自动填充,不可编辑

1. 自动读取当前登录民警归属单位

2. 单位范围为勤务支队

人员基础信息表

2.3 字段联动关系

由于人员类型固定为民警,联动关系简化为以下层级:

联动层级

触发字段

联动影响

筛选规则

固定值

人员类型

自动锁定为「民警」

不可切换,辅警/保安数据通过PC端Excel导入

第一层

所属单位(自动填充)

巡逻角色可选范围

仅展示本支队已启用的民警角色

第二层

所属单位+巡逻角色

班次可选范围

仅展示对应支队规则中已绑定的已启用班次

2.4 页面操作与校验

提交按钮

• 底部固定【提交】按钮

前端校验规则

1. 巡逻角色、班次、巡逻线路、所属单位非空校验(人员类型已自动填充)

2. 巡逻线路字符长度校验(≤100)

3. 角色-班次-单位关联合法性校验(仅允许选择配置内的组合)

超时逻辑

• 若当前存在未结束的巡逻记录,且实际时长超过对应角色-班次的系统配置规定时长,上一条记录执行逻辑删除

提交成功

• 校验通过后,跳转至「巡逻中」中间页,状态标记为「巡逻中」,系统实时标记并同步至PC端

三、巡逻中中间页

3.1 页面定位

巡逻流程的常驻展示页,实时展示当前巡逻信息与动态计时。页面状态保持「巡逻中」直至提交结束巡逻。

3.2 展示字段说明

字段名称

展示规则

人员类型

固定展示「民警」

巡逻线路

开始巡逻填报内容

巡逻班次

班次名称+时段完整展示,例:上午班(08:00-12:00)

要求时长

系统配置的对应班次最低时长,精确到小时分钟

开始巡逻时间

精确到年月日小时分钟,格式:yyyy-MM-dd HH:mm

巡逻时长

动态实时计时,自动累加,精确到小时分钟

3.3 页面操作

• 固定展示【结束巡逻】按钮

• 点击后直接跳转至「结束巡逻」填报页面

• 页面状态保持「巡逻中」直至提交结束巡逻

四、结束巡逻页面

4.1 页面定位

巡逻流程的结束页面,用于填写本次巡逻的最终状态。提交后触发后端多维度状态判定,更新巡逻记录。

4.2 录入字段说明

字段名称

必填

显示规则

组件类型

校验规则

状态

始终显示

单选框

选项:正常/异常

工作情况

是(仅异常时)

仅当「状态=异常」时显示+必填;正常时隐藏

文本输入

字数限制≤50字符

4.3 提交交互与状态判定流程

步骤一:前端校验

• 填写完成点击【提交】,前端执行字段校验

• 异常状态下工作情况非空校验 + 字数校验(≤50字符)

步骤二:后端状态判定(四维度校验)

判定顺序

判定项

判定条件

标记结果

1(最高优先级)

时间段校验

校验开始/结束时间是否在对应班次的预设时段内

不满足 → 标记「时间段异常」

2

单班次时长校验

校验实际巡逻时长是否达到对应班次的单班次最低要求

不满足 → 标记「时长异常」

3

当日总时长校验

校验当日该人员所有已完成巡逻记录的累计时长是否达到角色配置的当日总时长要求(若有配置)

不满足 → 标记「总时长异常」

4

综合判定

上述三项均满足(或当日总时长未配置)

标记「已完成」

判定优先级说明

4. 按优先级顺序逐项校验,一旦触发异常即停止后续校验,直接标记对应异常状态

5. 时间段校验 → 单班次时长校验 → 当日总时长校验 → 综合判定

6. 当日总时长要求为可选配置,若未配置(值为0)则跳过该项校验

步骤三:异常弹窗逻辑

• 若状态选择为「异常」,弹出全局提示弹窗,展示填写的工作情况

• 弹窗仅含【我知道了】按钮,点击后跳转至结果反馈页

步骤四:自动跳转

• 结果页停留5秒后,自动跳转回「开始巡逻」页面

步骤五:状态同步

• 提交后,原「巡逻中」记录更新为对应最终状态(已完成/时间段异常/时长异常/总时长异常)

五、巡逻提交记录(移动端列表)

5.1 页面定位

移动端简易版巡逻记录列表,以卡片式展示历史巡逻数据。列表同时包含民警移动端提交的记录与管理员通过PC端Excel导入的辅警/保安记录,支持筛选查询与详情查看。

5.2 列表展示方式

移动端列表以卡片方式展示,每张卡片对应一条巡逻记录。

5.3 列表展示字段说明

每张卡片展示以下字段:

字段名称

展示格式

展示示例

数据来源

巡逻时间

开始巡逻时间 + 结束巡逻时间

展示具体到年月日时分

格式:yyyy-MM-dd HH:mm~yyyy-MM-dd HH:mm

若结束时间为Null(巡逻中),仅展示开始时间

2025-07-10 09:00~2025-07-10 10:02

或 2025-07-10 09:00(巡逻中)

提交数据

巡逻时长

时分格式,精确到分钟

格式:X时X分(若时长≥1小时)或X分(若时长<1小时)

1:02(1小时2分钟)

或 30分(30分钟)

结束时间 - 开始时间

所属单位

人员归属单位名称

勤务二支队

人员基础信息表

人员类型

展示民警/辅警/保安

民警

提交数据

创建人

巡逻人员姓名(人员类型)

张三(民警)

提交数据

巡逻状态

状态标签展示

选项:巡逻中/已完成/时间段异常/时长异常/总时长异常

异常状态以特征色标识区分

已完成(绿色)

时间段异常(红色)

系统状态判定

5.4 列表排序规则

列表按以下规则排序:

7. 优先按「结束巡逻时间」倒序排序(最近结束的记录排在最前)

8. 若结束巡逻时间为Null(巡逻中状态),则按「开始巡逻时间」倒序排序

5.5 翻页规则

列表采用分页加载:

9. 每页展示20条记录

10. 支持上拉加载更多,触底自动触发加载下一页

11. 加载过程中展示加载动画,加载完成后展示「没有更多数据」提示

12. 筛选条件变更时,重置分页从第一页开始加载

5.6 查询条件

字段名称

必填

组件类型

规则说明

数据来源

归属车站

吸底弹窗选择+模糊搜索

非必填,支持关键字模糊搜索

车站基础数据表

巡逻状态

下拉多选

非必填,选项:巡逻中/已完成/时间段异常/时长异常/总时长异常

系统预设

人员类型

下拉选择

非必填,选项:全部/民警/辅警/保安

系统预设

5.7 列表交互

• 卡片式列表展示

• 点击任意卡片 → 跳转巡逻记录详情页

六、巡逻记录详情页

6.1 页面定位

展示单条巡逻记录的完整信息,从列表页点击卡片进入。

6.2 详情展示字段

序号

字段名称

展示规则

1

人员类型

展示民警/辅警/保安

2

所属单位

人员归属单位

3

班次

班次名称+时段完整展示,例:上午班(08:00-12:00)

4

巡逻线路

开始巡逻时填报的线路

5

巡逻角色

驻站班/行政班/叠加班/机动等

6

巡逻状态

巡逻中/已完成/时间段异常/时长异常/总时长异常

7

开始巡逻时间

格式:yyyy-MM-dd HH:mm

8

结束巡逻时间

格式:yyyy-MM-dd HH:mm

9

巡逻时长

时分格式,例:1:02

10

车站名称

归属车站名称

11

车站编号

归属车站编号

12

线路

归属线路

13

状态

正常/异常

14

工作情况

仅当状态为异常时展示

1 个赞