项目介绍 

Ferry 是一个基于 Gin + Vue + Element UI 构建的前后端分离的工单系统。它提供了灵活的流程配置、任务管理、权限控制等功能,旨在帮助企业高效管理工单流程。

 应用场景 

Ferry 工单系统适用于各种需要处理工单、任务分配、审批流程等场景的企业或组织。它可以用于:

  • IT 支持部门,管理用户提交的技术支持请求;
  • 人力资源部门,处理员工请假、报销等审批流程;
  • 项目管理部门,跟踪项目进度、任务分配和完成情况。

 功能模块 

流程中心

  • 流程配置:通过灵活的配置流程、模版等数据,快速生成工单流程。
  • 任务绑定:实现流程中的钩子操作,支持绑定邮件通知处理,也可自定义任务脚本进行通知。
  • 处理情况兼容:支持串行处理、并行处理以及根据条件判断进行节点跳转。
  • 变量设置:可通过变量设置处理人,如直接负责人、部门负责人等。

系统管理

  • 权限控制:基于 casbin 的 RBAC 权限控制,实现用户、角色、岗位的增删查改,以及菜单目录、API 接口的权限管理。
  • 用户管理:支持用户信息的增删查改、重置密码、上传管理头像等功能。
  • 部门管理:实现部门的增删查改。
  • 登陆日志:记录用户登陆日志,方便追踪和审计。

工单管理

  • 工单提交申请:用户可提交新的工单申请。
  • 工单统计:提供工单数据的统计功能。
  • 多维度工单列表:包括我创建的、我相关的、我待办的、所有工单等视图。
  • 任务管理:支持催办、转交、手动结单、加签等操作。
  • 通知提醒:目前支持邮件通知提醒。

 功能特点 

  • 前后端分离:采用 Gin 作为后端框架,Vue + Element UI 作为前端框架,实现前后端分离,提高开发效率。
  • 灵活配置:通过流程配置和任务绑定,实现高度可定制的工单流程。
  • 强大的权限控制:基于 casbin 的 RBAC 权限控制,实现细粒度的权限管理。
  • 多维度管理:提供多维度的工单列表和统计功能,方便用户查看和管理工单。
  • 丰富的通知方式:支持邮件通知,同时提供自定义任务脚本的接口,方便扩展其他通知方式。

 项目技术栈 

  • 后端
    • Gin:Go 语言的高性能 Web 框架。
    • Casbin:Go 语言的 RBAC 权限控制库。
    • 其他辅助库:如 gorm(ORM 框架)、logrus(日志库)等。
  • 前端
    • Vue:渐进式 JavaScript 框架。
    • Element UI:基于 Vue 的 UI 组件库。
    • 其他辅助库:如 axios(HTTP 客户端)、vuex(状态管理)等。
  • 数据库:MySQL(或其他兼容的 SQL 数据库)。
  • 部署:支持 Docker 快速部署。

 Docker快速部署 

拉取最新的代码

git clone https://github.com/lanyulei/ferry.git

自行编译镜像

cd ferry

同步数据

若是你没有同步过 ferry 相关的数据,则只需要在配置文件的路径下创建一个名为 needinit 的文件即可。

若是已经同步过,则必须确认在配置文件的路径下,一定要没有这个文件needinit。避免造成数据的重复同步。

启动容器

docker run -itd --name ferry -v /Users/mac/lanyulei/project/golang/ferry/config:/opt/workflow/ferry/config -p 80:8002 lanyulei/ferry:1.0.9

# 注意上面的 /Users/mac/lanyulei/project/golang/ferry/config 地址,需自行配置,此为存放配置文件的目录。

# 将 https://github.com/lanyulei/ferry/tree/master/config 下面的文件都保存到,自定义的配置文件路径下。

测试服务

若服务启动,则测试访问 http://ip:port 测试服务是否正常。

 功能演示 

版权声明:
1、本网站名称:帝企吧
2、本站永久网址:https://www.diqiba.com
3、本网站的文章部分内容可能来源于网络及作者投稿,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7、本站所有资源来源于互联网,仅用于学习及参考使用,切勿用于商业用途,如产生法律纠纷本站概不负责! 8、资源除标明原创外均来自网络转载,版权归原作者所有,若侵犯到您权益请联系我们删除,我们将及时处理! 9、若您需使用非免费的软件或服务,请购买正版授权并合法使用!