乐于分享
好东西不私藏

【程序源代码】开源企业协同办公OA系统管理系统

【程序源代码】开源企业协同办公OA系统管理系统

关键字:OA 办公,工作流引擎,自定义表单,钉钉对接,库存采购,项目管理,审批流程,MIT 协议,企业协同

项目名称:开源企业协同办公OA系统管理系统

项目介绍

一款基于开源协议的轻量级企业协同办公系统,设计理念主打易上手、易二次开发,后端前端一体化,学习门槛低。系统内置可视化工作流审批引擎、零代码自定义表单设计器,原生支持钉钉企业应用对接,可同步部门、用户、角色,审批消息推送钉钉。覆盖库存物料管理、采购预算、供应商管理、项目管理、日程计划、文档分享归档全套业务模块,支持表单回退、审批规则配置、编辑历史版本回档。整套系统部署简单,适配生产、零售、维修类中小企业,解决碎片化办公业务需求,支持个人与企业免费使用,可基于现有模块快速扩展业务,是中小企业私有化 OA、流程审批的优质开源方案。

项目结构目录

项目主要技术框架

3.1核心底层框架

整体一体化 JS 开发架构,业务逻辑与前端页面在同一套工程内,无需复杂微服务。内置可视化审计工作流引擎,支持条件分支、回退、多模式审批策略;表单元数据驱动,拖拽配置即可生成表单、列表、搜索页面;集成钉钉开放 API 实现组织架构同步、消息通知;RBAC 多维度权限体系,支持部门、岗位、角色、项目维度权限控制。使用 Redis 做会话缓存,MySQL 存储全部业务数据,PM2 做进程守护,Nginx 反向代理对外提供访问,二次开发简单,新增业务模块成本低。

3.2后端技术栈

开发语言:JavaScript (Node.js)

运行环境:Node >=16

数据库:MySQL >=5.7

缓存中间件:Redis >=5.0

进程守护:PM2

第三方对接:钉钉企业内部应用 API

部署方式:服务器直接运行、pm2 常驻进程

    3.3前端技术栈

    基础技术:原生 JS + 前端组件库

    核心能力:可视化表单设计器、工作流流程配置面板

    交互:表单拖拽、审批配置、数据表格、导入导出 Excel

    适配:PC 浏览器后台管理界面

    3.4 数据库

    核心业务数据表分类:

    1. 权限组织:部门表、用户表、角色岗位表、权限配置表;

    2. 工作流审批:表单元数据表、审批流程配置、审批实例、审批记录;

    3. 库存采购:仓库、物料、入库、出库、调拨、盘点、供应商、采购预算表;

    4. 业务模块:项目管理、日程计划、文档分享归档表;

    5. 钉钉同步:钉钉部门、钉钉用户映射关系表。

      3.5开发及生产环境

      开发环境:Node16+、MySQL5.7、Redis5.0

      生产环境:Linux 服务器,Nginx 反向代理 + PM2 进程守护

      配套资源:sql 初始化脚本、nginx 配置模板、pm2 部署配置

      默认后台账号:admin / 111111

      项目主要功能

      4.1 系统管理员功能模块

      4.1.1 多维权限组织管理

      维护部门、用户、岗位角色,支持按部门、项目、门店多维度分配数据权限。

      4.1.2 工作流 & 表单模型管理

      可视化配置审批流程,设置通过规则、回退策略、钉钉通知开关;拖拽式自定义业务表单,生成录入、列表、检索页面;自定义系统业务模块。

      4.1.3 钉钉对接配置

      配置钉钉企业内部应用,一键同步钉钉部门、用户、角色,审批消息推送钉钉端。

      4.1.4 基础业务数据维护

      维护库存字典、仓库信息、供应商信息、项目分类,导入导出 Excel 批量处理采购预算数据。

      4.1.5 系统运维配置

      数据库连接配置、服务进程管理,文档模板维护,查看操作审批记录。

      4.2 企业业务使用者功能模块

      4.2.1 审批工作流

      发起出差、请假、库存申请等各类审批,查看待办、我的申请;审批可回退,接收钉钉消息通知。

      4.2.2 库存物料管理

      物料入库、出库、调拨、盘点、归还申请,适配维修、生产、零售企业物料管控。

      4.2.3 采购预算管理

      分级采购预算,支持 Excel 批量导入数据,自动汇总计算,与审批流程打通。

      4.2.4 项目 & 日程计划

      维护项目信息与项目文档;日程支持日、周、月视图,管理里程碑、任务计划。

      4.2.5 文档分享协作

      文档分享给企业内部成员,多人编辑,保存编辑历史,支持版本回档。

      4.3 通用功能模块

      4.3.1 可视化工作流引擎

      支持多种审批策略:严格模式、一票否决、少数服从多数;支持回退、钉钉消息通知。

      4.3.2 零代码自定义表单

      拖拽表单组件,一次配置自动生成录入、表格列表、搜索查询整套页面。

      4.3.3 钉钉深度集成

      组织架构同步,审批消息推送钉钉,钉钉账号登录系统。

      4.3.4 完整库存采购供应链

      仓库物料、供应商、采购预算整套业务,适配中小企业进销存基础场景。

      4.3.5 文档版本管理

      多人协作编辑,记录修改历史,支持文档回档恢复。

      4.3.6 简单易二次开发

      一体化工程架构,模块拆分清晰,新增业务模块门槛低。

      项目安装和部署

      5.1 前置环境准备

      Node >=16,MySQL >=5.7,Redis >=5.0。

      5.2 数据库初始化

      1. 创建业务数据库;
      2. 导入 docs 目录下 godooa.sql 脚本;
      3. 修改 src/common/config.js,配置数据库名称、账号密码。

      5.3 开发环境启动

      npm inpm run dev

      访问地址:http://localhost:8200/res/group/login.html

      5.4 生产环境部署

      1. 修改 pm2.json 配置项目服务器绝对路径;
      2. Nginx 参考根目录 nginx.conf 配置反向代理与 HTTPS 证书;
      3. 使用 pm2 启动进程守护
      pm2 start pm2.json

      5.5 登录信息

      后台登录地址:http:// 域名:8200/res/group/login.html 默认账号:admin,密码:111111

      这个系统实际效果图片展示

      这个源码适合的学习人群

      该项目代码结构清晰、注释规范、无过度封装、轻量化易上手,极其适合四类人群学习:Java后端初学者、微信小程序开发学习者、计算机专业在校学生、个人开源项目爱好者。

      这个项目源码获取方式

      关注公众号,回复:协同办公OA