基于GOJS封装的流程图设计(展示)工具类,主要分为两个工具类:

工具库依赖于go.js、jquery以及layer.js

在线demo  点击这里

流程设计器操作指南:

  1. 在任意位置双击设计器空白处:新建步骤;
  2. 选中步骤,单击右键:弹出右键菜单;
  3. 鼠标滑过步骤,显示连接点,拖动连接点即可创建新的连接线;
  4. 鼠标滑过步骤:显示tooltip。

##流程图数据

{ "class": "go.GraphLinksModel",
"modelData": {"position":"-5 -5"},
"nodeDataArray": [
{"key":"", "text":"开始", "figure":"Circle", "fill":"#4fba4f", "stepType":, "loc":"90 110"},
{"key":"", "text":"结束", "figure":"Circle", "fill":"#CE0620", "stepType":, "loc":"770 110"},
{"key":"", "text":"填写请假信息 ", "loc":"210 110", "remark":""},
{"key":"", "text":"部门经理审核 ", "loc":"370 110", "remark":""},
{"key":"", "text":"人事审核 ", "loc":"640 110", "remark":""},
{"key":"", "text":"副总经理审核 ", "loc":"510 40", "remark":""},
{"key":"", "text":"总经理审核 ", "loc":"500 180", "remark":""}
],
"linkDataArray": [
{"from":"", "to":""},
{"from":"", "to":""},
{"from":"", "to":""},
{"from":"", "to":""},
{"from":"", "to":"", "key":"", "text":"小于5天 ", "remark":"", "condition":"Days<5"},
{"from":"", "to":""},
{"from":"", "to":"", "key":"", "text":"大于5天 ", "remark":"", "condition":"Days>5"},
{"from":"", "to":""}
]}

1.流程图设计 flow-desinger.js

 var areaFlow = document.getElementById('mySavedModel');

    var  myDesigner= new FlowDesigner('myFlowDesignerDiv');// 流程图设计器
myDesigner.initToolbar('myPaletteDiv');// 初始化控件面板
myDesigner.displayFlow(areaFlow.value);// 在设计面板中显示流程图

2.流程图展示 flow-display.js

  var areaFlow = document.getElementById('mySavedModel');

    var myDisplay = new FlowDisplay('myDisplayDiv');// 流程图显示器

    var flowPath = '3,4,6,5';// 3,4,6,5是步骤的id,最后一个步骤为"待处理"或"已完成"的步骤
var isCompleted = false;// "待处理"或"已结束"
myDisplay.loadFlow(areaFlow.value);// 显示流程图
myDisplay.animateFlowPath(flowPath, isCompleted);// 动画显示流程路径

详细代码请参考目录下的html文件: /gojs1.6.10/site/samples/_demo.html

原文链接:https://gitee.com/markies/FlowDiagram

基于GOJS绘制流程图的更多相关文章

  1. gojs绘流程图

    引用:http://www.tuicool.com/articles/eEruaqu http://www.open-open.com/lib/view/open1435023502544.html ...

  2. 使用SVG绘制流程图

    本篇主要记录流程图的实现过程中的难点和核心技术点,先上效果图: 节点可以任意拖拽,曲线跟随变化 正在连接的线 1.节点实现 流程图是基于SVG绘制的,节点主要利用 g 和 foreignObject的 ...

  3. 记录使用echarts的graph类型绘制流程图全过程(二)- 多层关系和圆形图片的设置

    本文主要记录在使用echarts的graph类型绘制流程图时候遇到的2个问题:对于圆形图片的剪切和多层关系的设置 图片的设置 如果用echarts默认的symbol参数来显示图片,会显示图片的原始状态 ...

  4. 基于面绘制的MC算法以及基于体绘制的 Ray-casting 实现Dicom图像的三维重建(python实现)

    加入实验室后,经过张老师的介绍,有幸与某公司合共共同完成某个项目,在此项目中我主要负责的是三维 pdf 报告生成.Dicom图像上亮度.对比度调整以及 Dicom图像三维重建.今天主要介绍一下完成Di ...

  5. 玩转控件:GDI+动态绘制流程图

       前言 今天,要跟大家一起分享是"GDI+动态生成流程图"的功能.别看名字高大上(也就那样儿--!),其实就是动态生成控件,然后GDI+绘制直线连接控件罢了.实际项目效果图如下 ...

  6. vue 使用gojs绘制简单的流程图

    在vue项目中需要展示工作流进度,可以使用的流程图插件很多 flowchart.js  http://adrai.github.io/flowchart.js/ , 基于SVG创建Flow Chart ...

  7. 记录使用echarts的graph类型绘制流程图全过程(一)-x,y位置的计算

    先说下本次案例业务需求,输入2个节点,获取数据后绘制出2个节点间的路径,之前使用的是网状图,但是网状图的效果不佳,需要转换成流程图的模式: 那么如何在不修改数据的情况下,实现类似效果尼? 看了下ech ...

  8. canvas绘制流程图

    最近在做一个需求,根据数据动态生成以下类似的流程图,需要可以设置每个节点的颜色,每个节点可添加点击移动等相关的事件 代码中有做很多的注释和说明,相关的文档说明链接:https://9eb75i.axs ...

  9. Graphviz 绘制流程图

    凝视说明非常具体.不再详述. digraph G{ //dot 是一种画图语言,它能够方便你採用图形的方式高速.直观地表达一些想法, //比方描写叙述某个问题的解决方式,构思一个程序的流程,澄清一堆貌 ...

随机推荐

  1. Django templates 和 urls 拆分

    如果在Django项目 下面新建了blog和polls两个APP应用,在每个APP下面都各自新建自己的url和templates,那么我们需要如何进行项目配置呢? INSTALLED_APPS = [ ...

  2. jBPM4.4 eclipse插件安装

    一.工具下载     jBPM 图形化流程设计器采用eclipse做为平台,我们可以先到jBPM官方网站下jBPM4.4,地址:http://sourceforge.net/projects/jbpm ...

  3. Python与Go选择排序

    #!/usr/bin/env python # -*- coding: utf-8 -*- # 选择排序 # 时间复杂度O(n^2) def selection_sort(array): length ...

  4. 微信小程序相关三、css写小黄人

    小程序上课第三天,因为今天院里有活动,所以没去上课,第四天上午又因为要召开入党转正大会,又耽误了一上午,下午去上课,要了资料.这两天讲了一些零零碎碎的东西,做的实例有上面这个小黄人 都是用的css,基 ...

  5. S初始化生产环境数据

    一.将开发机的库文件导出10.10.1.139开发机服务器,桌面上的BAT文件,将数据库表结构和表数据导出来,导到E:\Repository,设置SADMIN密码永不过期BAT文件内容如下: ::导出 ...

  6. cdoj915-方老师的分身 II (长度不小于k的最短路)【spfa】

    http://acm.uestc.edu.cn/#/problem/show/915 方老师的分身 II Time Limit: 10000/5000MS (Java/Others)     Memo ...

  7. Java-集合条件筛选

    import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.ArrayList; impor ...

  8. Django框架 之 信号

    Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. Django内置信号 Model signals pre_init ...

  9. easyui combogrid 多选加载,保存,显示代码

    1.调用代码 UTIL.SetDict($("#txt_ExcludeIndustry_"), "SECTOR_TYPE", true, true, funct ...

  10. ProGuard之——代码混淆

    ProGuard之——代码混淆 2015年11月03日 21:39:40 阅读数:2756 标签: JavaProGuard 更多 个人分类: JAVA 所属专栏: Java 版权声明:本文为博主原创 ...