1. 项目背景与技术选型解析
企业内管信息化系统是现代企业数字化转型的核心基础设施。传统纸质化办公和Excel表格管理方式已经无法满足中大型企业在数据整合、流程协同和决策支持方面的需求。这类系统通常需要处理人力资源、财务收支、项目进度等多维度数据,同时要兼顾不同部门的权限隔离和数据安全。
这套基于SpringBoot+Vue的管理平台采用前后端分离架构,这种设计模式在2015年后逐渐成为企业级应用开发的主流选择。后端选用SpringBoot框架主要基于以下几个考量:
- 快速启动特性:内嵌Tomcat服务器和自动配置机制,让开发者能够快速搭建可运行的环境
- 企业级生态支持:与Spring Security、MyBatis等常用企业组件无缝集成
- 微服务友好:便于后期扩展为分布式系统架构
前端选择Vue.js而非React或Angular,主要因为:
- 渐进式框架特性:可以从简单的页面增强逐步过渡到完整的SPA应用
- 中文文档和社区支持:对于国内高校学生和初级开发者更友好
- Element UI组件库:提供现成的管理后台UI解决方案
数据库选用MySQL 5.7+版本,主要考虑因素包括:
- 事务支持完善:满足企业应用对ACID特性的要求
- 成熟的运维方案:便于后期系统维护和性能优化
- 与Java生态的良好兼容性:MyBatis等ORM框架对MySQL支持最为完善
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计与核心模块
2.1 整体架构分层
系统采用经典的三层架构设计,但针对前后端分离特点做了适配调整:
code复制[前端层] Vue.js + ElementUI + Axios
↑
[REST API层] SpringBoot + Spring Security
↑
[业务逻辑层] Service组件 + 事务管理
↑
[数据访问层] MyBatis + MySQL连接池
这种分层设计使得各层职责明确,前端专注于用户交互,后端处理业务逻辑和数据持久化。通过定义清晰的API接口规范,前后端开发可以并行进行。
2.2 核心功能模块拆解
系统主要包含以下功能模块,每个模块都对应特定的企业需求场景:
-
组织架构管理
- 部门树形结构维护(支持无限级嵌套)
- 岗位职级体系设置
- 员工信息CRUD操作
- 特别实现:部门负责人自动继承上级部门权限
-
权限控制系统
- RBAC(基于角色的访问控制)模型
- 菜单权限与数据权限双重控制
- JWT令牌认证机制
- 登录日志和操作审计
-
任务工作流
- 任务创建与分配
- 进度跟踪(甘特图展示)
- 截止日期提醒
- 特别实现:任务依赖关系管理
-
数据统计看板
- 员工绩效分析
- 项目进度可视化
- 自定义报表生成
- 数据导出Excel功能
2.3 数据库设计要点
系统数据库设计遵循第三范式,同时针对性能需求做了适当优化。以下是几个关键表的设计思路:
员工信息表(staff_info)
sql复制CREATE TABLE `staff_info` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`staff_no` varchar(20) NOT NULL COMMENT '工号',
`name` varchar(50) NOT NULL COMMENT '姓名',
`gender` tinyint(1) DEFAULT '0' COMMENT '性别0女1男',
`id_card` varchar(18) DEFAULT NULL COMMENT '身份证号',
`dept_id` bigint(20) NOT NULL COMMENT '所属部门',
`position` varchar(50) NOT NULL COMMENT '职位',
`entry_date` date NOT NULL COMMENT '入职日期',
`status` tiny
