4.2 KiB
4.2 KiB
⚡ 家长端打卡功能 - 快速参考
更新日期: 2026-01-26
🎯 功能概述
家长可以查看陪伴员的打卡上下班记录,包括:
- 签到/签退时间
- 签到/签退地点
- 签到/签退照片(水印照片)
- 服务时长
📱 使用方式
方式1:从订单详情查看 ⭐ 推荐
我的订单 → 选择订单 → 订单详情 → 滚动到"服务记录"
显示内容:
- ✅ 签到记录(绿色)
- ✅ 签退记录(蓝色)
- ✅ 服务时长
方式2:从打卡记录列表查看
个人中心 → 服务记录 → 查看所有历史记录
页面路径: /user-package/pages/checkin/records
功能特性:
- 📊 统计数据(总次数、本月次数、累计时长)
- 🔍 日期筛选
- 📋 历史记录列表
- 📸 照片查看
🔗 相关文件
前端文件
peidu/uniapp/src/order-package/pages/order/detail.vue
└─ 订单详情页面(含打卡记录显示)
peidu/uniapp/src/user-package/pages/checkin/records.vue
└─ 打卡记录列表页面(新增)
peidu/uniapp/src/api/index.js
└─ API接口定义
后端文件
peidu/backend/src/main/java/com/peidu/controller/CheckInController.java
└─ 打卡API接口
配置文件
peidu/uniapp/src/pages.json
└─ 页面路由配置
🔌 API接口
1. 获取用户打卡记录列表
GET /api/checkin/user/records
参数:
- userId: 用户ID(必填)
- page: 页码(默认1)
- size: 每页数量(默认10)
- date: 筛选日期(可选,格式:2026-01-26)
返回:
{
"code": 200,
"data": {
"records": [...],
"total": 50,
"page": 1,
"size": 10
}
}
2. 获取打卡统计数据
GET /api/checkin/user/statistics
参数:
- userId: 用户ID(必填)
返回:
{
"code": 200,
"data": {
"totalRecords": 50,
"thisMonth": 8,
"totalHours": 0
}
}
🎨 UI说明
颜色
- 主色:
#2d9687(绿色) - 签到:
#52c41a(绿色) - 签退:
#1890ff(蓝色)
图标
- 签到:✓(绿色圆形)
- 签退:✓(蓝色圆形)
- 服务时长:⏱️
📋 数据结构
CheckInRecord(打卡记录)
{
id: 1, // 记录ID
orderId: 123, // 订单ID
userId: 1, // 用户ID(家长)
teacherId: 10, // 陪伴员ID
checkType: "in", // 打卡类型(in/out)
checkTime: "2026-01-26 09:00:00", // 打卡时间
address: "北京市朝阳区xxx", // 打卡地址
photoUrl: "https://xxx.jpg", // 打卡照片
latitude: 39.9, // 纬度
longitude: 116.4 // 经度
}
✅ 功能清单
- 订单详情显示打卡记录
- 显示签到/签退时间
- 显示签到/签退照片
- 显示签到/签退地址
- 显示服务时长
- 照片可点击查看大图
- 打卡记录列表页面
- 统计数据显示
- 日期筛选功能
- 分页加载
- 点击跳转订单详情
🚀 快速测试
1. 测试订单详情
1. 登录家长账号
2. 进入"我的订单"
3. 选择已完成的订单
4. 查看"服务记录"部分
2. 测试记录列表
1. 访问 /user-package/pages/checkin/records
2. 查看统计数据
3. 测试日期筛选
4. 测试分页加载
5. 点击记录查看详情
🔧 常见问题
Q1: 订单详情没有显示打卡记录?
A: 检查订单是否已完成,是否有签到/签退记录。
Q2: 照片无法查看?
A: 检查照片URL是否有效,网络是否正常。
Q3: 统计数据不准确?
A: 检查后端统计逻辑,确认数据库记录正确。
Q4: 如何添加入口?
A: 在个人中心页面添加"服务记录"菜单项,跳转到 /user-package/pages/checkin/records
📞 技术支持
如有问题,请查看:
- 详细文档:
[一次性]家长端打卡功能实现完成-2026-01-26.md - 测试指南:
[一次性]家长端打卡功能-测试指南-2026-01-26.md
🎉 完成状态
✅ 前端页面已完成
✅ 后端接口已完成
✅ 页面配置已完成
✅ 文档已完成
可以开始测试和使用!