# 出国党籍保留审批功能测试指南 ## 📋 测试前准备 ### 1. 环境准备 - ✅ 前端服务已启动(http://localhost) - ✅ 后端服务已启动(http://localhost:8080) - ✅ 数据库连接正常 - ✅ 已配置审批菜单和权限 ### 2. 测试账号准备 需要准备两个测试账号: - **申请人账号**:用于提交党籍保留申请 - **审批人账号**:用于审批党籍保留申请(需要 `rs:partyretention:approve` 权限) ### 3. 后端接口确认 确认以下接口已实现: - `GET /rs/party/retention/list` - 查询党籍保留列表 - `GET /rs/party/retention/{retentionId}` - 查询详情 - `PUT /rs/party/retention/approve/{retentionId}` - 审批接口 ## 🧪 测试用例 ### 测试用例1:待审批列表显示 **测试步骤**: 1. 使用审批人账号登录系统 2. 进入"人事管理" → "党籍保留审批"菜单 3. 查看"待审批"选项卡 **预期结果**: - ✅ 页面正常加载,无报错 - ✅ 表格显示所有状态为"待审批"(status=1)的申请 - ✅ 表格列显示正常:序号、姓名、身份证号、出国时间、停留天数、目的地、党支部、申请时间、操作 - ✅ 操作列显示三个按钮:查看详情、审批通过、审批拒绝 **测试数据**: ```sql -- 插入测试数据(如果没有待审批数据) INSERT INTO rs_party_membership_retention ( retention_id, name, id_card, position, spouse, destination, purpose, relative_name, travel_start_date, travel_end_date, stay_days, self_funded, party_branch, application_date, status, application_time, create_time, update_time ) VALUES ( nextval('rs_party_retention_seq'), '测试人员', '330101199001011234', '教师', '配偶姓名', '美国', '探亲访友', '亲属姓名', '2025-02-01', '2025-02-28', 28, '1', '第一党支部', '2025-01-09', '1', NOW(), NOW(), NOW() ); ``` --- ### 测试用例2:搜索功能 **测试步骤**: 1. 在待审批列表页面 2. 在搜索框输入姓名"测试人员" 3. 点击"搜索"按钮 4. 点击"重置"按钮 **预期结果**: - ✅ 搜索后只显示匹配的记录 - ✅ 重置后恢复显示所有待审批记录 - ✅ 支持按身份证号、工作部门、目的地搜索 - ✅ 分页功能正常 --- ### 测试用例3:查看详情 **测试步骤**: 1. 在待审批列表中点击某条记录的"查看详情"按钮 2. 或双击表格行 **预期结果**: - ✅ 弹出详情弹窗 - ✅ 显示完整的申请信息(基本信息、申请信息、审批信息) - ✅ 状态显示为"待审批"(黄色标签) - ✅ 弹窗底部显示"审批通过"和"审批拒绝"按钮 - ✅ 点击"关闭"按钮可关闭弹窗 --- ### 测试用例4:审批通过(列表操作) **测试步骤**: 1. 在待审批列表中点击某条记录的"审批通过"按钮 2. 在弹出的审批通过弹窗中输入审批意见(可选) 3. 点击"确认通过"按钮 **预期结果**: - ✅ 弹出审批通过弹窗 - ✅ 审批意见为非必填项 - ✅ 点击确认后显示"审批通过成功"提示 - ✅ 待审批列表自动刷新,该记录消失 - ✅ 切换到"审批记录"选项卡,可以看到该记录,状态为"已通过"(绿色标签) **数据验证**: ```sql -- 查询审批后的数据状态 SELECT retention_id, name, status, application_time, update_time FROM rs_party_membership_retention WHERE name = '测试人员'; -- status 应该为 '2'(已通过) ``` --- ### 测试用例5:审批拒绝(列表操作) **测试步骤**: 1. 在待审批列表中点击某条记录的"审批拒绝"按钮 2. 在弹出的审批拒绝弹窗中不输入拒绝理由,直接点击"确认拒绝" 3. 观察验证提示 4. 输入拒绝理由"不符合出国条件" 5. 点击"确认拒绝"按钮 **预期结果**: - ✅ 弹出审批拒绝弹窗 - ✅ 拒绝理由为必填项,不填写时显示验证提示 - ✅ 填写理由后点击确认显示"审批拒绝成功"提示 - ✅ 待审批列表自动刷新,该记录消失 - ✅ 切换到"审批记录"选项卡,可以看到该记录,状态为"已拒绝"(红色标签) --- ### 测试用例6:详情弹窗中审批 **测试步骤**: 1. 在待审批列表中点击"查看详情" 2. 在详情弹窗底部点击"审批通过"或"审批拒绝"按钮 3. 完成审批操作 **预期结果**: - ✅ 详情弹窗自动关闭 - ✅ 弹出对应的审批弹窗 - ✅ 审批流程与列表操作一致 - ✅ 审批成功后列表自动刷新 --- ### 测试用例7:审批记录列表 **测试步骤**: 1. 切换到"审批记录"选项卡 2. 查看已审批的记录 **预期结果**: - ✅ 显示所有状态为"已通过"(status=2)和"已拒绝"(status=3)的记录 - ✅ 表格显示正常,包含审批状态列 - ✅ 审批状态用不同颜色的标签区分(已通过-绿色,已拒绝-红色) - ✅ 显示审批时间(update_time) - ✅ 只有"查看详情"操作按钮 --- ### 测试用例8:审批记录搜索 **测试步骤**: 1. 在审批记录选项卡 2. 在审批状态下拉框选择"已通过" 3. 点击"搜索" 4. 再选择"已拒绝"并搜索 **预期结果**: - ✅ 选择"已通过"后只显示已通过的记录 - ✅ 选择"已拒绝"后只显示已拒绝的记录 - ✅ 支持按姓名、身份证号、工作部门搜索 - ✅ 重置功能正常 --- ### 测试用例9:审批记录详情查看 **测试步骤**: 1. 在审批记录列表中点击某条记录的"查看详情" 2. 查看详情信息 **预期结果**: - ✅ 弹出详情弹窗 - ✅ 显示完整的申请信息 - ✅ 状态显示为"已通过"或"已拒绝" - ✅ 弹窗底部不显示审批按钮(因为已审批) - ✅ 只显示"关闭"按钮 --- ### 测试用例10:数据流转验证 **测试步骤**: 1. 使用申请人账号登录 2. 进入"党籍保留管理"页面 3. 提交一个新的党籍保留申请 4. 使用审批人账号登录 5. 进入"党籍保留审批"页面 6. 审批通过该申请 7. 使用申请人账号登录 8. 进入"党籍保留管理"页面 9. 切换到"保留历史"选项卡 **预期结果**: - ✅ 申请提交后状态变为"待审批" - ✅ 审批人可以在审批页面看到该申请 - ✅ 审批通过后状态变为"已通过" - ✅ **关键验证**:在"党籍保留管理"的"保留历史"选项卡中可以看到该记录 - ✅ 保留历史中的数据与审批通过的数据一致 **数据库验证**: ```sql -- 查询党籍保留表 SELECT retention_id, name, status, application_time FROM rs_party_membership_retention WHERE status = '2' ORDER BY update_time DESC; -- 查询保留历史表(如果有单独的历史表) SELECT history_id, applicant_name, destination, retention_start_date, retention_end_date FROM rs_party_retention_history ORDER BY create_time DESC; ``` --- ### 测试用例11:权限控制 **测试步骤**: 1. 使用没有审批权限的账号登录 2. 尝试访问"党籍保留审批"菜单 **预期结果**: - ✅ 菜单不显示或无法访问 - ✅ 直接访问URL时显示无权限提示 - ✅ 有权限的用户可以正常访问和操作 --- ### 测试用例12:并发审批 **测试步骤**: 1. 使用两个审批人账号同时登录 2. 同时对同一条申请进行审批 **预期结果**: - ✅ 第一个审批成功 - ✅ 第二个审批时应该提示该申请已被审批或状态已变更 - ✅ 数据状态正确,不会出现重复审批 --- ### 测试用例13:页面响应式 **测试步骤**: 1. 在不同屏幕尺寸下访问审批页面 2. 测试移动端、平板、桌面端显示 **预期结果**: - ✅ 表格在小屏幕下可以横向滚动 - ✅ 弹窗在小屏幕下自适应宽度 - ✅ 按钮和操作列在小屏幕下正常显示 - ✅ 搜索表单在小屏幕下自动换行 --- ## 🐛 常见问题排查 ### 问题1:待审批列表为空 **可能原因**: - 没有状态为"待审批"(status=1)的数据 - 后端接口返回数据格式不正确 - 权限问题导致无法查询数据 **排查方法**: ```sql -- 查询待审批数据 SELECT * FROM rs_party_membership_retention WHERE status = '1'; ``` ### 问题2:审批后数据不刷新 **可能原因**: - 前端刷新逻辑有误 - 后端审批接口未正确更新状态 **排查方法**: - 检查浏览器控制台是否有错误 - 检查网络请求是否成功 - 查询数据库确认状态是否更新 ### 问题3:审批通过后保留历史中看不到数据 **可能原因**: - 后端未实现自动创建历史记录的逻辑 - 历史记录查询条件不正确 **排查方法**: ```sql -- 查询已通过的申请 SELECT * FROM rs_party_membership_retention WHERE status = '2'; -- 查询历史记录表 SELECT * FROM rs_party_retention_history; ``` ### 问题4:审批按钮不显示 **可能原因**: - 权限配置不正确 - 前端权限指令 `v-hasPermi` 配置错误 **排查方法**: - 检查用户角色是否有 `rs:partyretention:approve` 权限 - 检查浏览器控制台是否有权限相关错误 --- ## ✅ 测试检查清单 ### 功能测试 - [ ] 待审批列表正常显示 - [ ] 搜索功能正常 - [ ] 查看详情功能正常 - [ ] 审批通过功能正常 - [ ] 审批拒绝功能正常(必填验证) - [ ] 审批记录列表正常显示 - [ ] 审批记录搜索正常 - [ ] 审批记录详情查看正常 - [ ] 数据流转到保留历史正常 ### 界面测试 - [ ] 表格显示正常 - [ ] 分页功能正常 - [ ] 弹窗显示正常 - [ ] 按钮样式正常 - [ ] 标签颜色正确 - [ ] 响应式布局正常 ### 权限测试 - [ ] 菜单权限控制正常 - [ ] 操作权限控制正常 - [ ] 无权限用户无法访问 ### 性能测试 - [ ] 列表加载速度正常 - [ ] 搜索响应速度正常 - [ ] 审批操作响应速度正常 - [ ] 大数据量下表格滚动流畅 ### 兼容性测试 - [ ] Chrome浏览器正常 - [ ] Firefox浏览器正常 - [ ] Safari浏览器正常 - [ ] Edge浏览器正常 --- ## 📊 测试报告模板 ### 测试环境 - 前端版本: - 后端版本: - 数据库版本: - 浏览器: - 测试时间: ### 测试结果 | 测试用例 | 测试结果 | 问题描述 | 截图 | |---------|---------|---------|------| | 待审批列表显示 | ✅ 通过 / ❌ 失败 | | | | 搜索功能 | ✅ 通过 / ❌ 失败 | | | | 查看详情 | ✅ 通过 / ❌ 失败 | | | | 审批通过 | ✅ 通过 / ❌ 失败 | | | | 审批拒绝 | ✅ 通过 / ❌ 失败 | | | | 审批记录 | ✅ 通过 / ❌ 失败 | | | | 数据流转 | ✅ 通过 / ❌ 失败 | | | | 权限控制 | ✅ 通过 / ❌ 失败 | | | ### 发现的问题 1. 2. 3. ### 改进建议 1. 2. 3. --- **测试人员**: **测试日期**: **测试状态**:✅ 通过 / ⚠️ 部分通过 / ❌ 未通过