code-adjust-record-2025-01-27-system.md 6.5 KB

代码调整记录 - 2025-01-27 - system

📋 调整概述

调整日期: 2025-01-27 16:00:00
调整人员: system
调整目标: 优化奖学金审核管理模块,专注于审核功能,移除申请提交功能

🎯 调整内容

1. 菜单权限配置优化

文件: backend/script/sql/scholarship-review-menu-permissions.sql 调整类型: 新建文件 调整说明:

  • 创建专门的奖学金审核菜单配置
  • 重新设计菜单结构:奖学金审核管理 > 我的审核任务/审核历史
  • 移除新增、修改、删除审核记录的权限,专注于审核操作权限
  • 菜单ID范围:2100-2111

主要菜单:

  • 2100: 奖学金审核管理(目录)
  • 2101: 我的审核任务(jcbt/scholarship/review/myTasks)
  • 2102: 审核历史(jcbt/scholarship/review/history)

核心权限:

  • jcbt:review:query - 审核记录查询
  • jcbt:review:approve - 审核操作(通过/拒绝/退回)
  • jcbt:review:batchApprove - 批量审核
  • jcbt:review:transfer - 审核转移
  • jcbt:review:revoke - 审核撤回

2. 后端控制器优化

文件: backend/ruoyi-modules/ruoyi-jcbt/src/main/java/org/dromara/jcbt/controller/JcbtScholarshipReviewController.java 调整类型: 修改现有文件 调整说明:

  • 移除新增审核记录功能(@PostMapping())
  • 移除修改审核记录功能(@PutMapping())
  • 移除删除审核记录功能(@DeleteMapping("/{ids}"))
  • 移除创建审核任务功能(仅在申请提交时自动创建)
  • 统一审核相关权限标识,确保与菜单配置一致

权限标识调整:

  • jcbt:review:submit → jcbt:review:approve
  • jcbt:review:batch → jcbt:review:batchApprove
  • jcbt:review:withdraw → jcbt:review:revoke
  • jcbt:review:advance → jcbt:review:approve
  • jcbt:review:permission → jcbt:review:query

3. 前端页面清理

文件: web/src/views/jcbt/scholarship/review/index.vue 调整类型: 删除文件 调整说明:

  • 删除包含新增、修改、删除功能的通用管理页面
  • 该页面包含不适合审核模块的管理功能
  • 保留专门的审核任务页面(myTasks.vue)和审核历史页面(history.vue)

保留的核心页面:

  • myTasks.vue - 我的审核任务(待审核/已处理)
  • history.vue - 审核历史记录

🔧 技术细节

菜单路径设计

/scholarshipReview          # 奖学金审核管理目录
├── /myTasks               # 我的审核任务
└── /history               # 审核历史

权限体系设计

jcbt:review:query          # 基础查询权限
jcbt:review:approve        # 审核操作权限(核心)
jcbt:review:batchApprove   # 批量审核权限
jcbt:review:transfer       # 审核转移权限
jcbt:review:revoke         # 审核撤回权限
jcbt:review:export         # 导出权限
jcbt:review:statistics     # 统计权限

🎯 调整目标达成

✅ 审核专门化: 模块专注于审核功能,不包含申请提交功能
✅ 权限优化: 移除不必要的新增、修改、删除权限
✅ 菜单简化: 清晰的两级菜单结构(我的任务+历史)
✅ 代码清理: 移除不适合的管理页面和功能

📋 后续操作

需要手工执行的步骤

  1. 执行SQL脚本:

    -- 执行菜单权限配置
    source backend/script/sql/scholarship-review-menu-permissions.sql
    
    1. 重启后端服务:

      # 重启Spring Boot应用以加载Controller修改
      
  2. 清理前端缓存:

    # 清理浏览器缓存或重新构建前端
    npm run build
    

    验证检查项

    • 菜单显示正确(奖学金审核管理 > 我的审核任务/审核历史)
    • 权限控制正常(审核操作权限生效)
    • 页面功能正常(审核、批量审核、历史查看)
    • 不存在新增申请相关功能

    📊 影响范围

    数据库: 新增菜单记录,影响 sys_menu 表
    后端: 修改1个Controller文件,移除部分接口
    前端: 删除1个页面文件,保留2个核心页面
    用户体验: 界面更清晰,专注审核功能

    4. 前端页面重新创建

    文件: web/src/views/jcbt/scholarship/review/index.vue 调整类型: 重新创建文件 调整说明:

    • 重新创建专门的奖学金审核管理index页面
    • 完全参考后勤管理功能的样式风格和布局结构
    • 专注于审核功能,包含统计卡片、搜索、表格、审核操作
    • 移除了不适合审核模块的新增、修改、删除申请功能

    页面特性:

    • 4个统计卡片:待我审核、已通过、已拒绝、总审核数(点击可筛选)
    • 完整的搜索功能:申请编号、申请人、奖学金类型、审核级别、状态等
    • 专业的表格展示:固定列、横向滚动、悬停效果
    • 审核操作:单个审核(抽屉式)、批量通过、导出
    • 详情查看:完整的申请信息展示

    样式继承:

    • 统计卡片:渐变背景、悬停动画、点击交互
    • 表格样式:后勤管理风格的滚动条、固定列阴影
    • 操作按钮:圆形图标按钮、统一间距
    • 分页容器:右对齐布局
    • 响应式设计:移动端适配

    5. API导入路径修复

    文件: web/src/api/jcbt/scholarship/review.ts 调整类型: 新增文件 调整说明:

    • 创建API路径映射文件,解决页面中API导入路径不匹配问题
    • 重新导出现有的scholarshipReview.ts中的所有API函数
    • 添加函数别名以匹配页面中的使用方式
    • 同时导出所有相关的TypeScript类型定义

    修复的导入错误:

    • 页面引用: @/api/jcbt/scholarship/review
    • 实际文件: @/api/jcbt/scholarshipReview.ts
    • 解决方案: 创建中间映射文件统一API引用路径

    6. 字典引用修复

    文件: web/src/views/jcbt/scholarship/review/index.vue 调整类型: 代码修复 调整说明:

    • 移除不存在的字典值引用(audit_level, audit_status)
    • 将dict-tag组件替换为el-tag组件
    • 添加审核级别和审核状态的中文显示逻辑
    • 统一表格、详情、审核对话框中的状态显示

    状态显示映射:

    • 审核级别: DEPARTMENT→院系审核, SCHOOL→学校审核, FINANCE→财务审核, FINAL→最终审核
    • 审核状态: PENDING→待审核, APPROVED→已通过, REJECTED→已拒绝, RETURNED→已退回

    🔚 调整完成

    完成时间: 2025-01-27 17:00:00
    状态: 已完成,等待部署验证
    下一步: 执行手工操作步骤并进行功能验证