346 lines
8.5 KiB
Markdown
346 lines
8.5 KiB
Markdown
# 🚀 出国记录变更历史显示功能 - 快速测试指南
|
|
|
|
## 📋 测试概述
|
|
|
|
**功能**: 在出国记录详情弹窗中显示变更历史记录
|
|
**测试时间**: 2025-10-13
|
|
**预计测试时长**: 10-15分钟
|
|
|
|
---
|
|
|
|
## ⚡ 快速测试步骤
|
|
|
|
### 1️⃣ 启动服务
|
|
|
|
```bash
|
|
# 确保后端服务运行中
|
|
cd /Users/weizzzz/Documents/Cursor/0828CURSOR/all-project/backend
|
|
# 如果后端未启动,执行启动命令
|
|
|
|
# 确保前端服务运行中
|
|
cd /Users/weizzzz/Documents/Cursor/0828CURSOR/all-project/web
|
|
npm run dev
|
|
```
|
|
|
|
### 2️⃣ 检查测试数据
|
|
|
|
**打开数据库客户端,执行以下SQL**:
|
|
|
|
```sql
|
|
-- 1. 查找有变更历史的出国记录
|
|
SELECT
|
|
r.record_id,
|
|
r.applicant_name,
|
|
r.destination,
|
|
COUNT(c.change_id) as change_count
|
|
FROM rs_overseas_record r
|
|
LEFT JOIN rs_overseas_itinerary_change c
|
|
ON r.record_id = c.record_id AND c.deleted = 0
|
|
WHERE r.deleted = 0
|
|
GROUP BY r.record_id
|
|
HAVING change_count > 0
|
|
LIMIT 5;
|
|
```
|
|
|
|
**预期结果**:
|
|
```
|
|
record_id | applicant_name | destination | change_count
|
|
-----------------------------------------------------------------
|
|
1234567890123456 | 张三 | 美国 | 2
|
|
7890123456789012 | 李四 | 英国 | 1
|
|
```
|
|
|
|
如果没有数据,请先创建测试数据:
|
|
|
|
```sql
|
|
-- 2. 如果没有测试数据,创建一条变更记录
|
|
-- 注意:将下面的 record_id 替换为实际存在的记录ID
|
|
|
|
INSERT INTO rs_overseas_itinerary_change (
|
|
change_id,
|
|
record_id,
|
|
applicant_id,
|
|
applicant_name,
|
|
change_type,
|
|
original_destination,
|
|
new_destination,
|
|
original_start_date,
|
|
original_end_date,
|
|
new_start_date,
|
|
new_end_date,
|
|
change_reason,
|
|
status,
|
|
tenant_id,
|
|
create_time
|
|
) VALUES (
|
|
FLOOR(RAND() * 9000000000000000) + 1000000000000000, -- 随机雪花ID
|
|
<替换为实际的record_id>, -- 必须是已存在的记录ID
|
|
1, -- 申请人ID
|
|
'测试用户', -- 申请人姓名
|
|
'目的地变更,时间变更', -- 变更类型
|
|
'美国', -- 原目的地
|
|
'英国', -- 新目的地
|
|
'2025-01-01', -- 原出发日期
|
|
'2025-01-10', -- 原返回日期
|
|
'2025-02-01', -- 新出发日期
|
|
'2025-02-15', -- 新返回日期
|
|
'因工作安排调整,需要变更出国时间和目的地', -- 变更原因
|
|
'1', -- 状态:已通过
|
|
'000000', -- 租户ID
|
|
NOW() -- 创建时间
|
|
);
|
|
```
|
|
|
|
### 3️⃣ 前端功能测试
|
|
|
|
#### 步骤详解
|
|
|
|
1. **登录系统**
|
|
- 访问: http://localhost
|
|
- 使用管理员账号登录
|
|
|
|
2. **进入出国申请菜单**
|
|
- 左侧菜单: **人事管理**
|
|
- 子菜单: **出国申请**
|
|
|
|
3. **切换到出国记录选项卡**
|
|
- 点击页面上方的 **"出国记录"** 选项卡
|
|
- 等待列表加载完成
|
|
|
|
4. **打开记录详情**
|
|
- 找到列表中的任意一条记录
|
|
- 点击操作列的 **"查看详情"** 按钮 (👁 图标)
|
|
|
|
5. **查看变更历史**
|
|
- 详情弹窗打开后,向下滚动到底部
|
|
- 查看 **"变更历史记录"** 区域
|
|
|
|
---
|
|
|
|
## ✅ 验证检查清单
|
|
|
|
### 基础功能验证
|
|
|
|
- [ ] 详情弹窗成功打开
|
|
- [ ] 出国记录基本信息正确显示
|
|
- [ ] "变更历史记录" 标题正确显示(带蓝色图标)
|
|
- [ ] 变更历史区域位于详情弹窗底部
|
|
|
|
### 有变更历史的记录
|
|
|
|
**测试场景**: 选择有变更历史的记录查看
|
|
|
|
- [ ] 变更历史表格正常显示
|
|
- [ ] 变更时间字段正确显示
|
|
- [ ] 变更类型以标签形式显示
|
|
- [ ] 多个变更类型显示为多个标签
|
|
- [ ] 原目的地和新目的地正确显示
|
|
- [ ] 原时间和新时间正确显示
|
|
- [ ] 变更原因内容正确显示
|
|
- [ ] 状态标签颜色正确:
|
|
- 待审核 = 橙色 (warning)
|
|
- 已通过 = 绿色 (success)
|
|
- 已拒绝 = 红色 (danger)
|
|
- 已撤回 = 灰色 (info)
|
|
- [ ] 审批意见内容正确显示(如果有)
|
|
- [ ] 表格可以正常滚动(如果记录很多)
|
|
|
|
### 无变更历史的记录
|
|
|
|
**测试场景**: 选择没有变更历史的记录查看
|
|
|
|
- [ ] 显示空状态提示: "暂无变更记录"
|
|
- [ ] 空状态图标正常显示
|
|
- [ ] 不显示表格组件
|
|
|
|
### 加载状态验证
|
|
|
|
- [ ] 打开详情时显示加载动画
|
|
- [ ] 加载完成后动画消失
|
|
- [ ] 控制台没有错误信息
|
|
|
|
---
|
|
|
|
## 🔍 控制台日志检查
|
|
|
|
**打开浏览器开发者工具 (F12) → Console 选项卡**
|
|
|
|
### 正常日志示例
|
|
|
|
```
|
|
查看记录: {recordId: 1234567890123456, applicantName: "张三", ...}
|
|
🔄 开始加载变更历史记录, recordId: 1234567890123456
|
|
✅ 变更历史记录加载成功, 共 2 条记录
|
|
```
|
|
|
|
### 异常日志排查
|
|
|
|
如果看到错误日志:
|
|
```
|
|
❌ 加载变更历史记录失败: ...
|
|
```
|
|
|
|
**排查步骤**:
|
|
1. 检查Network面板,查看API请求是否成功
|
|
2. 检查请求URL: `/rs/itinerary/change/record/{recordId}/history`
|
|
3. 检查响应状态码和返回数据
|
|
4. 检查用户权限是否包含 `rs:itineraryChange:query`
|
|
|
|
---
|
|
|
|
## 📊 测试截图记录
|
|
|
|
### 截图1: 出国记录列表
|
|

|
|
|
|
### 截图2: 详情弹窗 - 有变更历史
|
|

|
|
|
|
### 截图3: 详情弹窗 - 无变更历史
|
|

|
|
|
|
### 截图4: 控制台日志
|
|

|
|
|
|
---
|
|
|
|
## 🐛 常见问题排查
|
|
|
|
### 问题1: 变更历史区域不显示
|
|
|
|
**可能原因**:
|
|
- recordId 为空或undefined
|
|
- 前端代码未正确更新
|
|
|
|
**解决方案**:
|
|
```bash
|
|
# 1. 清除浏览器缓存
|
|
Ctrl + Shift + Delete
|
|
|
|
# 2. 强制刷新前端
|
|
Ctrl + F5
|
|
|
|
# 3. 重新编译前端
|
|
cd web
|
|
npm run build:dev
|
|
```
|
|
|
|
### 问题2: API请求失败
|
|
|
|
**检查项**:
|
|
1. 后端服务是否运行
|
|
2. 检查API路径是否正确
|
|
3. 检查用户权限配置
|
|
|
|
```sql
|
|
-- 检查用户权限
|
|
SELECT m.perms
|
|
FROM sys_menu m
|
|
JOIN sys_role_menu rm ON m.menu_id = rm.menu_id
|
|
JOIN sys_user_role ur ON rm.role_id = ur.role_id
|
|
WHERE ur.user_id = <你的用户ID>
|
|
AND m.perms LIKE '%itineraryChange%';
|
|
```
|
|
|
|
### 问题3: 数据显示不正确
|
|
|
|
**检查数据库数据**:
|
|
```sql
|
|
-- 检查变更记录详细信息
|
|
SELECT * FROM rs_overseas_itinerary_change
|
|
WHERE record_id = <你的record_id>
|
|
AND deleted = 0
|
|
ORDER BY create_time DESC;
|
|
```
|
|
|
|
---
|
|
|
|
## 📝 测试结果记录
|
|
|
|
### 测试环境
|
|
|
|
- **测试时间**: ___________________
|
|
- **测试人员**: ___________________
|
|
- **浏览器**: Chrome / Firefox / Safari / Edge
|
|
- **浏览器版本**: ___________________
|
|
- **前端版本**: ___________________
|
|
- **后端版本**: ___________________
|
|
|
|
### 测试结果
|
|
|
|
| 测试项 | 测试结果 | 备注 |
|
|
|--------|---------|------|
|
|
| 详情弹窗打开 | ✅ / ❌ | |
|
|
| 变更历史加载 | ✅ / ❌ | |
|
|
| 有数据显示 | ✅ / ❌ | |
|
|
| 无数据显示 | ✅ / ❌ | |
|
|
| 状态标签颜色 | ✅ / ❌ | |
|
|
| 控制台无错误 | ✅ / ❌ | |
|
|
|
|
### 发现的问题
|
|
|
|
1. _______________________________________________
|
|
2. _______________________________________________
|
|
3. _______________________________________________
|
|
|
|
### 测试结论
|
|
|
|
- [ ] ✅ 测试通过,功能正常
|
|
- [ ] ⚠️ 有小问题,但不影响使用
|
|
- [ ] ❌ 测试不通过,需要修复
|
|
|
|
---
|
|
|
|
## 🎯 性能测试(可选)
|
|
|
|
### 加载时间测试
|
|
|
|
**测试方法**:
|
|
1. 打开浏览器Performance面板
|
|
2. 点击"查看详情"按钮
|
|
3. 记录从点击到变更历史显示的时间
|
|
|
|
**性能指标**:
|
|
- ⭐⭐⭐⭐⭐ < 500ms
|
|
- ⭐⭐⭐⭐ 500ms - 1s
|
|
- ⭐⭐⭐ 1s - 2s
|
|
- ⭐⭐ 2s - 3s
|
|
- ⭐ > 3s
|
|
|
|
### 大数据量测试
|
|
|
|
**测试场景**: 记录有10+条变更历史
|
|
|
|
```sql
|
|
-- 创建多条测试数据
|
|
-- 可以重复执行上面的INSERT语句,修改部分字段值
|
|
```
|
|
|
|
**验证项**:
|
|
- [ ] 表格滚动流畅
|
|
- [ ] 所有数据正确显示
|
|
- [ ] 页面不卡顿
|
|
- [ ] 内存占用正常
|
|
|
|
---
|
|
|
|
## 📞 联系方式
|
|
|
|
如果测试中遇到问题,请联系:
|
|
|
|
- **开发人员**: AI Assistant
|
|
- **技术支持**: ___________________
|
|
- **问题反馈**: ___________________
|
|
|
|
---
|
|
|
|
## 📚 相关文档
|
|
|
|
- [功能实现完成报告](./✅出国记录变更历史显示功能实现完成.md)
|
|
- [出国行程变更功能总结](../backend/ruoyi-modules/ruoyi-rs/出国行程变更功能开发总结.md)
|
|
|
|
---
|
|
|
|
**🎉 祝测试顺利!**
|
|
|