7.4 KiB
7.4 KiB
出国登记审批 - 删除批量按钮修改记录
📅 修改日期
2025-10-08
🎯 修改目标
删除出国登记审批页面中的"批量通过"和"批量拒绝"两个按钮,简化权限配置和用户界面。
✅ 修改内容汇总
1️⃣ SQL配置脚本修改(2个文件)
📄 出国登记审批菜单权限配置.sql
- ✅ 删除批量审批通过按钮SQL(行200-243)
- ✅ 删除批量审批拒绝按钮SQL(行245-288)
- ✅ 更新导出按钮序号:从6改为4
- ✅ 更新导出按钮ID:从2001006改为2001004
- ✅ 更新文档说明中的按钮数量:从6个改为4个
- ✅ 更新权限标识说明:移除批量操作描述
📄 出国登记审批菜单权限配置-快速版.sql
- ✅ 删除批量审批通过按钮SQL
- ✅ 删除批量审批拒绝按钮SQL
- ✅ 更新导出按钮序号:从6改为4
2️⃣ 权限说明文档修改(2个文件)
📄 出国登记审批权限标识对照表.md
- ✅ 更新按钮权限表格:删除批量通过和批量拒绝行
- ✅ 更新权限复用说明:移除批量操作描述
- ✅ 更新菜单结构示例:移除批量按钮
- ✅ 更新前端代码示例:删除批量按钮代码
- ✅ 更新后端代码示例:删除批量接口代码
- ✅ 更新数据库配置表格:删除批量按钮记录
- ✅ 添加版本记录:v1.1 删除批量按钮
📄 出国登记审批权限配置总结.md ⭐ 新建
- ✅ 完整的权限配置总结
- ✅ 最终权限清单(1个菜单 + 4个按钮)
- ✅ 核心设计原则说明
- ✅ 快速部署指南
- ✅ 前后端代码示例
- ✅ 常见问题排查
- ✅ 配置检查清单
3️⃣ 前端页面修改(1个文件)
📄 web/src/views/rs/overseas-registration/approval.vue
🔴 删除的UI组件
<!-- ❌ 删除:批量通过按钮 -->
<el-button
type="success"
plain
icon="Check"
:disabled="multiple"
@click="handleBatchApprove"
v-hasPermi="['rs:registration:approve']"
>
批量通过
</el-button>
<!-- ❌ 删除:批量拒绝按钮 -->
<el-button
type="danger"
plain
icon="Close"
:disabled="multiple"
@click="handleBatchReject"
v-hasPermi="['rs:registration:approve']"
>
批量拒绝
</el-button>
<!-- ❌ 删除:多选框列 -->
<el-table-column type="selection" width="55" align="center" />
<!-- ❌ 删除:表格选择事件 -->
@selection-change="handleSelectionChange"
🔴 删除的数据和方法
删除的响应式数据:
// ❌ 删除:多选相关
const ids = ref<Array<number | string>>([]);
const multiple = ref(true);
// ❌ 删除:批量标识
approveDialog.isBatch
rejectDialog.isBatch
// ❌ 删除:批量ID数组
approveForm.registrationIds
rejectForm.registrationIds
删除的方法:
// ❌ 删除:多选框选中处理
const handleSelectionChange = (selection: OverseasRegistrationVO[]) => {
ids.value = selection.map(item => item.registrationId);
multiple.value = !selection.length;
};
// ❌ 删除:批量审批通过
const handleBatchApprove = () => { ... };
// ❌ 删除:批量审批拒绝
const handleBatchReject = () => { ... };
删除的API导入:
// ❌ 删除的导入
import {
batchApproveOverseasRegistration, // 删除
batchRejectOverseasRegistration, // 删除
...
}
✅ 简化后的方法
审批通过方法:
// ✅ 简化后:只处理单个审批
const handleApprove = (row: OverseasRegistrationVO) => {
approveForm.value = {
registrationId: row.registrationId,
approveNotes: ''
};
approveDialog.visible = true;
};
const submitApprove = async () => {
approveDialog.loading = true;
try {
await approveOverseasRegistration(approveForm.value.registrationId!, {
approveNotes: approveForm.value.approveNotes
});
ElMessage.success('审批通过成功');
approveDialog.visible = false;
getList();
} catch (error) {
ElMessage.error('审批通过失败');
} finally {
approveDialog.loading = false;
}
};
审批拒绝方法:
// ✅ 简化后:只处理单个审批
const handleReject = (row: OverseasRegistrationVO) => {
rejectForm.value = {
registrationId: row.registrationId,
rejectReason: ''
};
rejectDialog.visible = true;
};
const submitReject = () => {
rejectFormRef.value?.validate(async valid => {
if (valid) {
rejectDialog.loading = true;
try {
await rejectOverseasRegistration(rejectForm.value.registrationId!, {
rejectReason: rejectForm.value.rejectReason
});
ElMessage.success('审批拒绝成功');
rejectDialog.visible = false;
getList();
} catch (error) {
ElMessage.error('审批拒绝失败');
} finally {
rejectDialog.loading = false;
}
}
});
};
📊 修改统计
文件修改数量
- ✅ SQL脚本:2个文件
- ✅ 说明文档:2个文件(1个修改 + 1个新建)
- ✅ 前端页面:1个文件
- 总计:5个文件
代码变更统计
- ❌ 删除行数:约150行
- ✅ 新增行数:约80行(新建总结文档)
- 🔄 修改行数:约30行
- 净减少:约70行代码
🎯 最终效果
✅ 用户界面
- 简洁清爽,只保留必要的操作按钮
- 删除了多选框列,表格更简洁
- 每条记录有独立的审批操作按钮
✅ 权限配置
- 菜单权限:1个(
rs:registration:list) - 按钮权限:4个
- 查询:
rs:registration:query - 审批通过:
rs:registration:approve - 审批拒绝:
rs:registration:approve - 导出:
rs:registration:export
- 查询:
✅ 代码质量
- 删除冗余代码,提高可维护性
- 简化业务逻辑,降低复杂度
- 统一权限标识,方便管理
🔍 测试验证
✅ 前端验证
- 页面加载正常
- 批量按钮已消失
- 多选框列已删除
- 导出按钮正常显示
- 单个审批通过功能正常
- 单个审批拒绝功能正常
✅ 权限验证
- 菜单权限控制正常
- 按钮权限控制正常
- 接口权限验证正常
📚 相关文件清单
SQL配置脚本
出国登记审批菜单权限配置.sql- 详细版出国登记审批菜单权限配置-快速版.sql- 快速版 ⭐
说明文档
出国登记审批权限标识对照表.md- 权限说明出国登记审批权限配置总结.md- 配置总结 ⭐出国登记审批-删除批量按钮修改记录.md- 本文档
前端代码
web/src/views/rs/overseas-registration/approval.vue- 审批页面
💡 后续建议
1. 可选优化
- 如果将来需要批量操作,可以在表格底部添加"批量操作"下拉菜单
- 可以考虑添加快捷键支持,提高审批效率
2. 功能扩展
- 可以添加审批历史记录查看
- 可以添加审批意见快捷模板
- 可以添加审批统计报表
3. 性能优化
- 考虑添加虚拟滚动,优化大数据量加载
- 考虑添加审批记录缓存
✅ 修改完成确认
- ✅ SQL脚本已更新
- ✅ 权限文档已更新
- ✅ 前端页面已修改
- ✅ 代码已清理
- ✅ 文档已同步
🎉 修改完成!出国登记审批页面已成功删除批量通过和批量拒绝按钮!
📝 维护人员: AI Assistant
📅 完成时间: 2025-10-08
✅ 状态: 已完成