Files
hzdyjs/web/src/views/cw

财务管理模块 (CW) - 项目申报审批功能

🎯 功能概述

本次开发实现了项目申报管理模块的审批流程变更,从固定的三级审批改为支持用户自定义的灵活审批流程。

📁 目录结构

web/src/views/cw/
├── projectAuditor/              # 项目审批人配置模块
│   ├── index.vue               # 审批人配置主页面
│   └── README.md               # 功能说明文档
├── projectApproval/            # 项目审批模块
│   ├── index.vue               # 审批流程管理页面(待实现)
│   ├── pending.vue             # 我的待审批页面
│   ├── components/
│   │   └── ApprovalProcessSelector.vue  # 审批流程选择组件
│   └── README.md               # 功能说明文档(待创建)
├── application/                # 项目申报模块(已修改)
│   ├── form.vue               # 申报表单(已集成审批流程选择)
│   └── ...                    # 其他文件保持不变
└── README.md                   # 总体说明文档(本文件)
web/src/api/cw/
├── projectAuditor.ts           # 审批人配置API
├── projectApproval.ts          # 项目审批API
└── types.ts                    # TypeScript类型定义(已扩展)

🚀 核心功能

1. 项目审批人配置管理 (projectAuditor/)

  • 审批人池管理: 从系统用户中选择并配置审批人员
  • 批量添加: 通过部门树选择用户,支持批量添加审批人
  • 跨部门选择: 支持在不同部门间选择用户,选择状态会自动保持
  • 信息维护: 修改审批人联系信息、状态管理
  • 权限控制: 基于RBAC的细粒度权限控制

2. 项目审批流程管理 (projectApproval/)

  • 流程监控: 查看所有审批流程状态和进度(待实现)
  • 流程详情: 查看审批记录和时间轴展示(待实现)
  • 流程终止: 管理员可终止进行中的审批流程(待实现)

3. 我的待审批 (projectApproval/pending.vue)

  • 待审批列表: 显示当前用户需要审批的项目
  • 项目详情: 查看项目完整信息和审批历史
  • 审批操作: 支持通过/拒绝,必填审批意见
  • 批量审批: 支持批量通过或拒绝多个项目(待实现)

4. 审批流程选择组件 (components/ApprovalProcessSelector.vue)

  • 自定义流程配置: 支持用户从审批人池中选择审核人
  • 可视化流程预览: 直观展示审批顺序和流程走向
  • 审核人管理: 支持添加、删除、排序审核人
  • 流程验证: 验证审批流程的合理性和完整性

5. 项目申报集成 (application/form.vue - 已修改)

  • 流程选择对话框: 在提交时弹出审批流程选择界面
  • 数据保存: 先保存申报数据,再配置审批流程
  • 流程启动: 自动启动配置的审批流程
  • 用户体验: 平滑的提交流程,清晰的操作提示

📋 实现特色

🔧 技术特色

  1. Vue 3.5.13 Composition API: 使用最新的组合式API,代码结构清晰
  2. TypeScript支持: 完整的类型定义,提供良好的开发体验
  3. Element Plus UI: 统一的UI组件库,符合后勤管理模块设计规范
  4. 响应式设计: 支持移动端和桌面端,适配不同屏幕尺寸
  5. 组件化开发: 高度复用的组件设计,易于维护和扩展

🎨 用户体验特色

  1. 跨部门选择: 审批人选择支持在多个部门间切换,保持选择状态
  2. 可视化流程: 审批流程以图形化方式展示,直观易懂
  3. 实时验证: 表单验证和流程验证,及时提供反馈
  4. 操作引导: 清晰的操作提示和帮助信息
  5. 状态恢复: 切换部门后自动恢复之前的选择状态

🚀 性能特色

  1. 按需加载: 组件和API按需加载,优化性能
  2. 智能缓存: 合理的数据缓存策略,减少重复请求
  3. 批量操作: 支持批量添加、删除等操作,提升效率
  4. 异步处理: 异步API调用,不阻塞用户界面

🔄 核心流程

审批人配置流程

管理员登录 → 进入审批人配置 → 选择部门 → 批量选择用户 → 确认添加 → 配置完成

项目申报审批流程

填写申报信息 → 点击提交 → 选择审批流程 → 配置审核人 → 确认提交 → 流程启动

审批执行流程

审核人收到通知 → 查看待审批列表 → 查看项目详情 → 执行审批操作 → 填写意见 → 提交审批

🛠️ 后端支持

数据库设计

  1. cw_project_auditor: 项目审核人配置表
  2. cw_project_approval_process: 项目审批流程表
  3. cw_approval_record: 审批记录表(已扩展支持自定义流程)

API接口

  1. 审核人配置: 16个标准API接口(CRUD + 业务功能 + 辅助功能)
  2. 审批流程: 10个核心API接口(流程管理 + 审批执行)
  3. 权限控制: 基于Sa-Token的权限管理

数据安全

  1. 多租户隔离: 严格的数据隔离机制
  2. 权限控制: 细粒度的功能权限控制
  3. 操作日志: 完整的操作记录和审计

📊 技术规范

前端规范

  • 组件命名: PascalCase,清晰的语义化命名
  • 文件组织: 按功能模块组织,层次分明
  • 样式管理: Scoped CSS,避免样式冲突
  • 状态管理: Reactive响应式状态,简洁高效

后端规范

  • 接口设计: RESTful风格,统一响应格式
  • 数据验证: Bean Validation参数校验
  • 异常处理: 统一的异常处理机制
  • 事务管理: 合理的事务边界控制

代码质量

  • TypeScript: 完整的类型检查
  • ESLint: 代码风格检查
  • Prettier: 代码格式化
  • 单元测试: 核心逻辑单元测试(待实现)

🎯 后续优化

功能扩展

  1. 审批流程管理页面: 完整的流程监控和管理界面
  2. 批量审批功能: 支持批量处理多个项目
  3. 审批历史查询: 完整的审批记录查询功能
  4. 移动端支持: 基于uni-app的移动端审批应用

性能优化

  1. 虚拟滚动: 大数据量列表的性能优化
  2. 缓存策略: 更智能的数据缓存机制
  3. 懒加载: 按需加载组件和数据
  4. CDN集成: 静态资源CDN加速

用户体验

  1. 快捷操作: 键盘快捷键支持
  2. 拖拽排序: 审核人拖拽排序功能
  3. 消息通知: 实时消息推送
  4. 离线支持: PWA离线功能支持

🚀 部署说明

开发环境

  1. 确保Node.js 20.15.x+,npm 10.7.x+
  2. 安装依赖:npm install
  3. 启动开发服务器:npm run dev
  4. 访问:http://localhost

生产环境

  1. 构建项目:npm run build
  2. 部署到Nginx或其他Web服务器
  3. 配置反向代理到后端API
  4. 确保数据库脚本已执行

数据库部署

  1. 执行数据库脚本:docs/数据库修复脚本.sql
  2. 配置权限菜单和角色权限
  3. 创建测试用户和审核人数据

📞 技术支持

如有任何技术问题或建议,请联系开发团队。


🎯 目标达成: 成功实现了从固定三级审批到灵活自定义审批流程的完整改造,提供了良好的用户体验和技术架构!

📝 维护日期: 2025-01-03
📁 文件: 完整的前后端实现 + 数据库脚本 + API文档
🔄 状态: 核心功能完成,待进一步测试和优化