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