axios.interceptors.request.use(config => { const token = localStorage.getItem('token'); if (token) { config.headers['Authorization'] = 'Bearer ' + token; } return config;});项目效果
登录与角色跳转:不同角色登录后,菜单栏根据权限动态生成。管理员看到系统管理类菜单,经理看到部门审批类菜单,员工看到个人事务类菜单,界面干净不杂乱。
请假审批流程:员工提交请假申请后,状态变为"待审批"。经理登录后在待办列表里看到申请,点击通过或驳回,员工端的状态实时更新。整个过程从提交到反馈在界面上的流转很清晰。
打卡与考勤统计:上下班打卡操作简单,点击按钮即可完成。考勤数据按天记录,支持按月汇总查看,经理还可以按部门维度查看所有人员的出勤情况。
数据统计看板:首页集成了 ECharts 图表,管理员可以看到员工分布、部门人数、近期审批趋势等统计信息,经理可以看到部门内的考勤汇总和任务完成率。
界面风格上,Element UI 的组件库让整个系统看起来很规整,表格、表单、弹窗、消息提示这些交互元素都很统一,不需要额外设计就能达到不错的视觉效果。
项目源码
项目源码完整,包含完整的数据库脚本、后端代码、前端代码和配置文件。可以直接导入 IDEA 和 VS Code 开发工具运行。
快速启动步骤
1、导入 MySQL 数据库脚本,创建数据库和表结构
2、用 IDEA 打开后端项目,修改 application.yml 中的数据库连接配置
3、启动后端 SpringBoot 服务
4、用 VS Code 或命令行进入前端项目目录,执行 npm install 安装依赖
5、执行 npm run dev 启动前端服务
6、浏览器访问前端地址,使用预设账号登录测试
默认账号
项目由本人原创开发,经过多轮功能测试,核心流程运行稳定,可以直接使用。
GitHub:https://github.com/itcoderyhl/oa-approval-server
总结
OA 审批管理系统从企业办公的真实需求出发,把请假、报销、考勤、任务、公告这几个核心场景串联了起来。三种角色各司其职,功能边界清晰,审批流程完整可追踪。
技术层面,SpringBoot + Vue 的前后端分离架构是目前企业开发的主流模式,用这个项目来理解前后端如何协作、权限如何控制、数据如何流动,是一个很合适的范本。Element UI 和 ECharts 的引入也让界面和数据展示有了不错的表现力。
如果正在寻找一个功能完整、代码规范、能直接跑起来的 OA 系统作为课程设计或毕业设计,这套项目值得花点时间看一下。
关键词
作者:小码编匠
出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!
方便大家交流、资源共享和共同成长
纯技术交流群、需要的小伙伴请扫码
有收获?不妨分享让更多人受益
关注「程序员开源栈」,共同提升技术实力