You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

14 KiB

考勤打卡

模块编码attendance 端侧Web + 小程序(双端) 关联文档01-模块划分 §3.5 / 02-功能清单-物业公司 §5 / 03-业务流转逻辑-物业公司 §5 / 05-接口规范 §9.2 / 06-项目技术要求 §4.4

功能概览

项目 说明
菜单名称 考勤打卡
子菜单 打卡点管理、打卡规则、考勤记录、异常审核、数据补录
功能编号 PR-A-01 ~ PR-A-05
权限编码前缀 attendance:point:* / attendance:rule:* / attendance:record:* / attendance:appeal:* / attendance:supplement:*

页面1打卡点管理页

页面编号PR-A-01-P01 端侧归属Web专属 页面路径/attendance/points

界面布局

┌──────────────────────────────────────────────────────────────────┐
│ [面包屑] 考勤打卡 > 打卡点管理                                      │
├──────────────────────────────────────────────────────────────────┤
│ [查询条件区]                                                      │
│ 打卡点名称[____] 所属班组[▼] 状态[▼]                [查询] [重置]  │
├──────────────────────────────────────────────────────────────────┤
│ [操作栏]  [新增打卡点]                                            │
├──────────────────────────────────────────────────────────────────┤
│ [列表区]                                                          │
│ 序号| 打卡点名称 | 所属班组 | 蓝牙Beacon | Beacon状态 | 操作       │
│ 1  | 1号楼大厅   | 水电班   | B-001     | 在线       | 编辑 删除  │
│ 2  | 2号楼入口   | 巡检班   | B-002     | 离线       | 编辑 删除  │
├──────────────────────────────────────────────────────────────────┤
│ [分页]  共8条                                                     │
└──────────────────────────────────────────────────────────────────┘

表单字段(新增/编辑弹窗)

字段名 控件类型 必填 默认值 数据来源 校验规则
打卡点名称 文本输入 自填 最大30字
所属班组 下拉单选 班组列表
位置描述 文本输入 自填 最大100字
蓝牙Beacon 下拉单选 蓝牙设备管理
适用角色 下拉多选 全部 固定选项 全部/主管/员工

操作按钮

按钮 权限编码 位置 显示条件 说明
新增打卡点 attendance:point:create 操作栏 始终
编辑 attendance:point:update 行操作 始终
删除 attendance:point:delete 行操作 无人员关联 二次确认

API端点

页面操作 API路径 方法 说明
列表查询 /api/v1/attendance-points GET
新增 /api/v1/attendance-points POST
编辑 /api/v1/attendance-points/{id} PUT

页面2打卡规则页

页面编号PR-A-02-P01 端侧归属Web专属 页面路径/attendance/rules

界面布局

┌──────────────────────────────────────────────────────────────────┐
│ [面包屑] 考勤打卡 > 打卡规则                                       │
├──────────────────────────────────────────────────────────────────┤
│ [按班组显示规则卡片]                                               │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ 水电维修班                                                    │ │
│ │ 上班时间08:00    上班打卡窗口07:30~08:30                    │ │
│ │ 下班时间17:00    下班打卡窗口16:30~17:30                    │ │
│ │ 迟到规则:>08:00 迟到  >08:30 严重迟到                         │ │
│ │ 早退规则:<17:00 早退  <16:30 严重早退                         │ │
│ │                                              [编辑]           │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ 巡检一班                                                      │ │
│ │ ...                                                [编辑]     │ │
│ └──────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘

表单字段(编辑弹窗)

字段名 控件类型 必填 默认值 数据来源 校验规则
上班时间 时间选择 08:00 自填
上班打卡窗口(起) 时间选择 上班前30分 自填
上班打卡窗口(止) 时间选择 上班后30分 自填
下班时间 时间选择 17:00 自填
下班打卡窗口(起) 时间选择 下班前30分 自填
下班打卡窗口(止) 时间选择 下班后30分 自填
迟到阈值(分钟) 数字输入 0 自填 ≥0
严重迟到阈值(分钟) 数字输入 30 自填 >迟到阈值
早退阈值(分钟) 数字输入 0 自填 ≥0
严重早退阈值(分钟) 数字输入 30 自填 >早退阈值

操作按钮

按钮 权限编码 位置 显示条件 说明
编辑 attendance:rule:update 卡片操作 始终

API端点

页面操作 API路径 方法 说明
规则查询 /api/v1/attendance-rules GET 按班组查询
保存 /api/v1/attendance-rules POST

页面3考勤记录页

页面编号PR-A-03-P01 端侧归属Web专属 页面路径/attendance/records

查询条件

字段名 控件类型 必填 默认值 说明
日期 日期选择 今天
班组 下拉单选 全部
人员 文本输入 模糊匹配
打卡状态 下拉单选 全部 正常/迟到/早退/缺卡/补录

列表字段

序号 字段名 列宽 支持排序 说明
1 姓名 80px
2 班组 100px
3 上班打卡时间 120px
4 上班打卡方式 90px 蓝牙/手动/补录
5 上班状态 80px 正常/迟到/严重迟到
6 下班打卡时间 120px
7 下班打卡方式 90px
8 下班状态 80px 正常/早退/严重早退
9 补录标记 70px 补录显示"补录"标签
10 操作 80px 查看详情

操作按钮

按钮 权限编码 位置 显示条件 说明
查看详情 attendance:record:view 行操作 始终

API端点

页面操作 API路径 方法 说明
记录查询 /api/v1/attendance-records GET 分页查询

页面4异常审核页

页面编号PR-A-04-P01 端侧归属Web专属 页面路径/attendance/appeals

查询条件

字段名 控件类型 必填 默认值 说明
审核状态 下拉单选 全部 待审核/已通过/已驳回
申诉人 文本输入 模糊匹配
日期范围 日期范围

列表字段

序号 字段名 列宽 支持排序 说明
1 申诉人 80px
2 班组 100px
3 申诉日期 100px
4 异常类型 100px 蓝牙故障/手机异常/系统异常/忘记打卡/其他
5 申诉说明 200px
6 审核状态 90px 待审核(黄)/已通过(绿)/已驳回(红)
7 操作 100px 审核/查看

操作按钮

按钮 权限编码 位置 显示条件 说明
审核 attendance:appeal:approve 行操作 审核状态=待审核 通过/驳回弹窗

通知触发

触发操作 通知对象 通知方式 消息模板 文档来源
审核通过 申诉人 小程序推送 申诉通过,系统自动补录打卡 03-物业公司 §5 / 03-小程序端 §5.1
审核驳回 申诉人 小程序推送 申诉未通过 03-物业公司 §5

蓝牙双模式差异

元素 策略=REQUIRED 策略=OPTIONAL
打卡方式 仅蓝牙打卡 蓝牙/手动双按钮
蓝牙失败 提交异常申诉 可直接手动打卡(check_method=MANUAL)
异常申诉 必须审核 无需申诉(手动打卡)
打卡记录标记 check_method=BLUETOOTH check_method=MANUAL

API端点

页面操作 API路径 方法 说明
申诉列表 /api/v1/attendance-appeals GET
审核 /api/v1/attendance-appeals/{id}/approve POST 通过后自动补录打卡

页面5数据补录页

页面编号PR-A-05-P01 端侧归属Web专属 页面路径/attendance/supplement

补录数据标记规范

标记项 说明
is_supplement true
supplement_reason 蓝牙故障/系统异常/其他
supplement_audit_status 待审核/通过/驳回
自动补录 异常申诉审核通过后系统自动补录打卡记录

操作按钮

按钮 权限编码 位置 显示条件 说明
审核 attendance:supplement:approve 行操作 审核状态=待审核

API端点

页面操作 API路径 方法 说明
补录列表 /api/v1/attendance-records/supplements GET
审核 /api/v1/attendance-records/supplements/{id}/approve POST

需求追溯

功能点编号 功能名称 文档来源 后续服务 关联功能
PR-A-01 打卡点管理 02-物业公司 §5 / 03-物业公司 §5 打卡点→蓝牙绑定→小程序打卡 组织架构(打卡点分配) / 系统配置(蓝牙设备)
PR-A-02 打卡规则 02-物业公司 §5 / 03-物业公司 §5 规则→迟到早退判定
PR-A-03 考勤记录 02-物业公司 §5 统计报表→考勤统计
PR-A-04 异常审核 02-物业公司 §5 / 03-物业公司 §5 审核→自动补录打卡 小程序端异常申诉(MP-AT-04)
PR-A-05 数据补录 02-物业公司 §5 补录→审核 操作日志→补录日志

业务规则

  1. 蓝牙强制打卡:策略=REQUIRED时必须在指定打卡点连接蓝牙后才可打卡来源01 §9 / 06 §4.4
  2. 蓝牙双模式:策略=OPTIONAL时允许手动打卡(check_method=MANUAL)来源06 §4.4
  3. 异常申诉流程蓝牙失败→提交异常申诉→主管审核→通过后系统自动补录打卡记录来源03-物业公司 §5 / 03-小程序端 §5.1
  4. 打卡窗口:上班/下班各设打卡时间窗口窗口外打卡标记异常来源02-物业公司 PR-A-02
  5. 迟到/早退规则可自定义迟到、严重迟到、早退、严重早退的分钟阈值来源02-物业公司 PR-A-02
  6. 数据权限主管仅看本班组数据员工仅看本人数据来源01 §1.3
  7. 打卡判定不判断距离只要成功连接蓝牙设备即可打卡来源06 §5.4