大家好,我是为宽广程序员兄弟操碎了心的小编,每天举荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节俭开发效率,实现不加班不熬夜不掉头发,是我的指标!
明天小编举荐一款流程设计器easy-flow
, easy-flow
基于VUE+ElementUI+JsPlumb的流程设计器,通过 vuedraggable 插件来实现节点拖拽。
性能介绍
- 反对拖拽增加节点
- 点击线进行设置条件
- 反对给定数据加载流程图
- 反对画布拖拽
- 反对连线款式、锚点、类型自定义笼罩
- 支持力导图
如何集成
在本人的vue工程中找到package.json,并引入如下依赖(不必额定引入jsplumb)
"element-ui": "2.9.1", "lodash": "4.17.15", "vue": "^2.5.2", "vue-codemirror": "^4.0.6", "vuedraggable": "2.23.0"
- 将easy-flow/src/components/ef 目录复制到本人工程的一个目录下(如/src/views)
批改main.js,引入elementUI和easy-flow款式
import ElementUI from 'element-ui'import 'element-ui/lib/theme-chalk/index.css'import '@/这个为复制后的目录,src就不要写了/ef/index.css'Vue.use(ElementUI, {size: 'small'})
数据格式
{ name: '流程D', nodeList: [ { id: 'nodeA', name: '流程D-节点A', type: 'task', left: '18px', top: '223px', ico: 'el-icon-user-solid', state: 'success' }, { id: 'nodeB', type: 'task', name: '流程D-节点B', left: '351px', top: '96px', ico: 'el-icon-goods', viewOnly: true, state: 'error' }, { id: 'nodeC', name: '流程D-节点C', type: 'task', left: '354px', top: '351px', ico: 'el-icon-present', state: 'warning' }, { id: 'nodeD', name: '流程D-节点D', type: 'task', left: '723px', top: '215px', ico: 'el-icon-present', state: 'running' } ], lineList: [{ from: 'nodeA', to: 'nodeB', label: '直线,自定义线款式,固定锚点', connector: 'Straight', anchors: ['Top', 'Bottom'], paintStyle: {strokeWidth: 2, stroke: '#1879FF'} }, { from: 'nodeA', to: 'nodeC', label: '贝塞尔曲线,固定锚点', connector: 'Bezier', anchors: ['Bottom', 'Left'] }, { from: 'nodeB', to: 'nodeD', label: '默认连线款式,动静锚点' }, { from: 'nodeC', to: 'nodeD', label: '默认连线款式,动静锚点' } ]}
启动
# 下载工程git clone https://github.com/BiaoChengLiu/easy-flow.git# 装置依赖包npm install# 启动npm run dev# 拜访地址 http://localhost:8080
截图
结尾
本期就分享到这里,我是小编南风吹,专一分享好玩乏味、离奇、实用的开源我的项目及开发者工具、学习资源!
心愿能与大家独特学习交换,欢送关注我的公众号【Github导航站】。