peixue-dev/Archive/peidu-temp-files/docs/[一次性]家长端查看服务记录功能实现完成.md

3.6 KiB
Raw Blame History

家长端查看服务记录功能实现完成

实施时间: 2026-01-23
功能描述: 家长在订单详情页面查看陪伴员的打卡记录(签到/签退照片、时间、地点、服务时长)


📋 已完成的工作

1. 数据库修改

SQL文件: peidu/sql/add_order_id_to_checkin_simple.sql

修改内容:

  • check_in_record 表添加 order_id 字段
  • 添加索引 idx_order_id
  • 关联现有数据的 order_id

2. 后端修改

OrderDetailVO.java

  • 新增 CheckInRecordVO 内部类
  • 新增 checkInRecordcheckOutRecord 字段
  • 新增 serviceDurationserviceDurationText 字段

OrderServiceImpl.java

  • 修改 getOrderDetailFull() 方法
  • 查询订单的签到签退记录
  • 计算服务时长
  • 返回完整的打卡记录信息

3. 前端修改

文件: peidu/uniapp/src/order-package/pages/order/detail.vue

新增内容:

  1. 数据字段: checkInRecord, checkOutRecord, serviceDuration
  2. 服务记录显示区域(签到/签退卡片、服务时长)
  3. previewPhoto() 方法 - 预览照片
  4. formatTime() 方法 - 格式化时间
  5. 完整的服务记录样式

🧪 执行步骤

步骤 1: 执行数据库脚本

Navicat 中打开 peidu/sql/add_order_id_to_checkin_simple.sql

逐条执行以下SQL(不要一次性全部执行):

-- 1. 添加字段
ALTER TABLE check_in_record 
ADD COLUMN order_id BIGINT NULL COMMENT '订单ID' AFTER work_order_no;

-- 2. 添加索引
ALTER TABLE check_in_record 
ADD INDEX idx_order_id (order_id);

-- 3. 验证字段
DESC check_in_record;

-- 4. 关联数据
UPDATE check_in_record c
INNER JOIN `order` o ON c.work_order_no = o.order_no
SET c.order_id = o.id
WHERE c.order_id IS NULL AND c.work_order_no IS NOT NULL;

-- 5. 验证数据
SELECT * FROM check_in_record WHERE order_id IS NOT NULL LIMIT 10;

注意: 如果字段已存在会报错但不影响功能可以跳过第1步。


步骤 2: 重新编译后端

cd peidu/backend
mvn clean package -DskipTests

步骤 3: 重新编译前端

cd peidu/uniapp
npm run build:mp-weixin

步骤 4: 测试功能

测试场景: 查看已完成订单的服务记录

  1. 家长端登录
  2. 进入"我的订单"
  3. 选择一个已完成的订单(有签到签退记录)
  4. 查看订单详情

预期结果:

  • 显示"服务记录"区域
  • 显示签到信息(时间、地点、照片)
  • 显示签退信息(时间、地点、照片)
  • 显示服务时长(如"2小时30分钟"
  • 点击照片可以预览大图

📊 功能特点

与陪伴员端日历的区别

对比项 家长端订单详情 陪伴员端日历
入口 订单详情页面 日历页面
展示 单个订单的打卡记录 按日期展示所有打卡
功能 查看服务记录 查看和管理打卡

完成清单

  • 创建简化版SQL脚本适用于Navicat
  • 后端VO添加打卡记录字段
  • 后端服务层返回打卡记录
  • 前端显示服务记录区域
  • 前端添加照片预览功能
  • 前端添加时间格式化
  • 前端添加完整样式

📝 重要提示

  1. SQL执行: 请在Navicat中逐条执行SQL不要一次性全部执行
  2. 字段检查: 执行前先用 DESC check_in_record; 检查字段是否已存在
  3. 数据关联: 确保现有打卡记录正确关联到订单
  4. 编译顺序: 先编译后端,再编译前端

实施完成: 2026-01-23