3.6 KiB
3.6 KiB
代码调整记录 - 学生信息审核界面优化
调整日期: 2025-01-27 15:25:00
调整人员: cursor
调整类型: 功能优化
调整概述
优化学生信息审核界面,将原本简单的审核弹窗改为完整的学生信息详情弹窗,提供更丰富的审核功能。
具体调整内容
1. 文件调整
调整文件: web/src/views/stuMsgAudit/auditDialog.vue
2. 功能调整
2.1 新增学生信息详情弹窗集成
-
动态组件加载
- 使用
defineAsyncComponent动态加载stuMsgDialog.vue组件 - 避免静态导入可能出现的类型错误
- 使用
-
响应式数据新增
// 学生信息详情弹窗相关数据 const stuMsgDialogVisible = ref(false); const stuMsgDialogTitle = ref('学生信息审核'); const stuMsgBatchInfo = ref<any>(null); -
审核按钮逻辑修改
- 原来:打开简单审核表单弹窗
- 现在:打开完整学生信息详情弹窗
const handleAuditStudent = (row: StudentAuditInfo) => { // 打开学生信息详情弹窗进行审核 stuMsgBatchInfo.value = { batchId: props.batchInfo?.id, userId: row.id, ...props.batchInfo }; stuMsgDialogTitle.value = `学生信息审核 - ${row.name}`; stuMsgDialogVisible.value = true; }; -
新增回调处理方法
const handleStuMsgConfirm = (data: any) => { console.log('学生信息已更新:', data); ElMessage.success('学生信息已更新'); // 刷新学生列表 getList(); };
2.2 组件模板调整
- 新增学生信息详情弹窗组件
<!-- 学生信息详情弹窗 --> <component :is="StuMsgDialogComponent" :visible="stuMsgDialogVisible" :title="stuMsgDialogTitle" :batchInfo="stuMsgBatchInfo" @update:visible="stuMsgDialogVisible = $event" @confirm="handleStuMsgConfirm" v-if="StuMsgDialogComponent" />
3. 参数传递
3.1 传入参数
- batchId: 从
props.batchInfo?.id获取 - userId: 从当前选中学生行
row.id获取 - batchInfo: 完整批次信息对象
3.2 参数结构
stuMsgBatchInfo.value = {
batchId: props.batchInfo?.id,
userId: row.id,
...props.batchInfo
};
功能影响
3.1 用户体验优化
-
审核功能增强
- 从简单的通过/不通过选择升级为完整学生信息查看和编辑
- 提供历史记录查看功能
- 支持多个信息tab页(基础信息、扩展信息、家庭信息等)
-
操作流程改进
- 点击审核按钮 → 打开学生详情弹窗
- 可查看和编辑完整学生信息
- 确认后自动刷新学生列表
3.2 技术优化
-
组件复用
- 复用现有的
stuMsgDialog.vue组件 - 避免重复开发相似功能
- 复用现有的
-
错误处理
- 使用动态组件加载避免导入错误
- 添加条件渲染确保组件正常加载
测试建议
-
功能测试
- 点击审核按钮能正常打开学生信息详情弹窗
- 弹窗中能正确显示学生信息和历史记录
- 提交后能正确刷新学生列表
-
参数传递测试
- batchId 正确传递
- 学生信息正确显示
- 批次信息完整传递
-
异常处理测试
- 组件加载失败时的降级处理
- 参数缺失时的错误处理
备注
- 保留了原有的简单审核弹窗代码(注释状态),必要时可以快速回退
- 新功能完全兼容现有的审核流程
- 建议在生产环境部署前进行充分测试