非常叼的工单系统,工单结束,工作完成;非常叼的权限管控,精细到页面按钮及API

最近在研究工单系统的时候,被我找到一个非常流弊的工单系统,我们都知道工单系统最麻烦的就是流程和模版的维护,并且,在工单处理过程中很可能会添加一些操作,这些操作被称之为钩子。就按我目前调研的结果来说,目前其实没有啥工单系统能实现的这么好的。

这个工单系统就把流程设计,模版设计等等做的非常不错,而且对权限的把控非常详细,包括API接口、菜单、页面按钮权限,都可以灵活的控制,非常的不错。

Demo:http://fdevops.com:8001/#/dashboard

Github:https://github.com/lanyulei/ferry

如果觉得不错就给作者一个star,你的star没准就是作者继续维护下去的动力呢。

功能介绍

系统管理

  • 用户管理不仅仅包括了用户,还有角色、职位、部门的管理,方便后面的工单处理人扩展。
  • 菜单管理,对菜单,页面按钮,甚至是API接口的管理。
  • 登陆日志,对用户登陆和退出的日志记录。

流程中心

  • 流程申请,对流程进行分类管理,方便维护与可视化。
  • 工单列表,拆分了4个分类,包括:我待办的工单,我创建的工单,我相关的工单,还有所有工单。
  • 转交工单,如果你当前有别的事情在处理就可以把工单转交给别人去处理。
  • 结束工单,如果一个工单发展申请不对,权限足够的话,是可以直接结束工单的。
  • 工单处理人的多样化,不仅可以个人处理,还可以是部门、角色、变量。
  • 处理人变量,根据用户数据来自动获得是该谁处理,比如:创建人,创建人leader,HRBP等等。
  • 会签,如果是多个选择人的话,并且勾选了会签功能,那么就需要这些负责人都处理完成后才会通过。
  • 任务管理,可以给任何阶段绑定任务,相当于流程中的钩子操作,实现的效果就是,工单完成,任务也就执行完成了,减少很多的人力成本。
  • 通知方式的灵活性,可以通过任务给每个阶段绑定通知方式,也可以给流程绑定全局通知。
  • 网关,支持排他网关和并行网关,排他网关即通过条件判断,只要有一个条件通过,则可进入下一个阶段;并行网关,即必须所有的阶段都完成处理,才可以进行下一个阶段
  • 后面还会有很多的功能扩展,包括:加签,催办,子流程等等。

等等还有很多功能待研究。

数据结构设计

对于一个完整的工作流系统来说,我们需要有流程、模版、分组、用户、任务等等,并且这些东西都是可以灵活定制的,因为如果不能灵活定制的话,对于普通的使用这来说是非常不方便的,所以对于一个好的工作流系统,是必须要实现灵活性的。

下面直接来展示一下,数据结构的设计图。

工作流数据结构设计图

流程分类

type Classify struct {
	base.Model
	Name    string `gorm:"column:name; type: varchar(128)" json:"name" form:"name"`     // 分类名称
	Creator int    `gorm:"column:creator; type: int(11)" json:"creator" form:"creator"` // 创建者
}

func (Classify) TableName() string {
	return "process_classify"
}

流程

type Info struct {
	base.Model
	Name      string          `gorm:"column:name; type:varchar(128)" json:"name" form:"name"`        // 流程名称
	Structure json.RawMessage `gorm:"column:structure; type:json" json:"structure" form:"structure"` // 流程结构
	Classify  int         
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值