财务管理模块 (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 - 已修改)
- 流程选择对话框: 在提交时弹出审批流程选择界面
- 数据保存: 先保存申报数据,再配置审批流程
- 流程启动: 自动启动配置的审批流程
- 用户体验: 平滑的提交流程,清晰的操作提示
📋 实现特色
🔧 技术特色
- Vue 3.5.13 Composition API: 使用最新的组合式API,代码结构清晰
- TypeScript支持: 完整的类型定义,提供良好的开发体验
- Element Plus UI: 统一的UI组件库,符合后勤管理模块设计规范
- 响应式设计: 支持移动端和桌面端,适配不同屏幕尺寸
- 组件化开发: 高度复用的组件设计,易于维护和扩展
🎨 用户体验特色
- 跨部门选择: 审批人选择支持在多个部门间切换,保持选择状态
- 可视化流程: 审批流程以图形化方式展示,直观易懂
- 实时验证: 表单验证和流程验证,及时提供反馈
- 操作引导: 清晰的操作提示和帮助信息
- 状态恢复: 切换部门后自动恢复之前的选择状态
🚀 性能特色
- 按需加载: 组件和API按需加载,优化性能
- 智能缓存: 合理的数据缓存策略,减少重复请求
- 批量操作: 支持批量添加、删除等操作,提升效率
- 异步处理: 异步API调用,不阻塞用户界面
🔄 核心流程
审批人配置流程
管理员登录 → 进入审批人配置 → 选择部门 → 批量选择用户 → 确认添加 → 配置完成
项目申报审批流程
填写申报信息 → 点击提交 → 选择审批流程 → 配置审核人 → 确认提交 → 流程启动
审批执行流程
审核人收到通知 → 查看待审批列表 → 查看项目详情 → 执行审批操作 → 填写意见 → 提交审批
🛠️ 后端支持
数据库设计
- cw_project_auditor: 项目审核人配置表
- cw_project_approval_process: 项目审批流程表
- cw_approval_record: 审批记录表(已扩展支持自定义流程)
API接口
- 审核人配置: 16个标准API接口(CRUD + 业务功能 + 辅助功能)
- 审批流程: 10个核心API接口(流程管理 + 审批执行)
- 权限控制: 基于Sa-Token的权限管理
数据安全
- 多租户隔离: 严格的数据隔离机制
- 权限控制: 细粒度的功能权限控制
- 操作日志: 完整的操作记录和审计
📊 技术规范
前端规范
- 组件命名: PascalCase,清晰的语义化命名
- 文件组织: 按功能模块组织,层次分明
- 样式管理: Scoped CSS,避免样式冲突
- 状态管理: Reactive响应式状态,简洁高效
后端规范
- 接口设计: RESTful风格,统一响应格式
- 数据验证: Bean Validation参数校验
- 异常处理: 统一的异常处理机制
- 事务管理: 合理的事务边界控制
代码质量
- TypeScript: 完整的类型检查
- ESLint: 代码风格检查
- Prettier: 代码格式化
- 单元测试: 核心逻辑单元测试(待实现)
🎯 后续优化
功能扩展
- 审批流程管理页面: 完整的流程监控和管理界面
- 批量审批功能: 支持批量处理多个项目
- 审批历史查询: 完整的审批记录查询功能
- 移动端支持: 基于uni-app的移动端审批应用
性能优化
- 虚拟滚动: 大数据量列表的性能优化
- 缓存策略: 更智能的数据缓存机制
- 懒加载: 按需加载组件和数据
- CDN集成: 静态资源CDN加速
用户体验
- 快捷操作: 键盘快捷键支持
- 拖拽排序: 审核人拖拽排序功能
- 消息通知: 实时消息推送
- 离线支持: PWA离线功能支持
🚀 部署说明
开发环境
- 确保Node.js 20.15.x+,npm 10.7.x+
- 安装依赖:
npm install - 启动开发服务器:
npm run dev - 访问:http://localhost
生产环境
- 构建项目:
npm run build - 部署到Nginx或其他Web服务器
- 配置反向代理到后端API
- 确保数据库脚本已执行
数据库部署
- 执行数据库脚本:
docs/数据库修复脚本.sql - 配置权限菜单和角色权限
- 创建测试用户和审核人数据
📞 技术支持
如有任何技术问题或建议,请联系开发团队。
🎯 目标达成: 成功实现了从固定三级审批到灵活自定义审批流程的完整改造,提供了良好的用户体验和技术架构!
📝 维护日期: 2025-01-03
📁 文件: 完整的前后端实现 + 数据库脚本 + API文档
🔄 状态: 核心功能完成,待进一步测试和优化