Files
hzdyjs/出国登记审批-删除批量按钮修改记录.md
T
2025-10-14 16:41:19 +08:00

7.4 KiB
Raw Blame History

出国登记审批 - 删除批量按钮修改记录

📅 修改日期

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配置脚本

  1. 出国登记审批菜单权限配置.sql - 详细版
  2. 出国登记审批菜单权限配置-快速版.sql - 快速版 ⭐

说明文档

  1. 出国登记审批权限标识对照表.md - 权限说明
  2. 出国登记审批权限配置总结.md - 配置总结 ⭐
  3. 出国登记审批-删除批量按钮修改记录.md - 本文档

前端代码

  1. web/src/views/rs/overseas-registration/approval.vue - 审批页面

💡 后续建议

1. 可选优化

  • 如果将来需要批量操作,可以在表格底部添加"批量操作"下拉菜单
  • 可以考虑添加快捷键支持,提高审批效率

2. 功能扩展

  • 可以添加审批历史记录查看
  • 可以添加审批意见快捷模板
  • 可以添加审批统计报表

3. 性能优化

  • 考虑添加虚拟滚动,优化大数据量加载
  • 考虑添加审批记录缓存

✅ 修改完成确认

  • ✅ SQL脚本已更新
  • ✅ 权限文档已更新
  • ✅ 前端页面已修改
  • ✅ 代码已清理
  • ✅ 文档已同步

🎉 修改完成!出国登记审批页面已成功删除批量通过和批量拒绝按钮!

📝 维护人员: AI Assistant
📅 完成时间: 2025-10-08
✅ 状态: 已完成