先上个图:

很多企业内部的应用都需要有个工作流平台(插件),无奈灵活方便好用且能够自行更改代码定制嵌入的实在不多,只好自己动手慢慢搞.

https://github.com/shibamo/99-flow-designer

关于自动型活动思考了很久, 决定基于以前的项目经验, 放弃让最终客户能够配置较复杂的工作流自动条件的想法:

事实上即使是负责定义流程的KBU和领导脑子也是很乱的,毕竟人的想法未经代码验证和各类状态图枚举前,总是会挂一漏万.

还不如更贴近懂C#的二次开发实施人员, 结合Roslyn的开源编译器工程, 让流程设计器与流程引擎协同工作, 简单粗暴地使用C#脚本运行的模式完成各类自动条件判断与流程及业务数据的可控干涉.

做了一个小的测试验证工程, 除了不能完成代码智能提示,其他的关键效果(能够使用后端的编译器做语法检查, c# 2015的语法结构完全支持,与当初坑爹的WF 1.0的那个简陋的表达式设计器天壤之别)已经相当好了.

界面正好拿AngularJS 2来试手, 也试了试Redux管理与同步状态, 确实好用, 跟用JQuery挂事件的思路是不一样的,难怪ReactJS几乎标配它.

警告: 目前不是精品, 只完成了总体的40%, 能够拖拽生成丑丑的流程图并导入导出json, 很多验证,与后端的通讯还没来得及做, 同步开发的工作流引擎的测试样例也是导出成文本再用Newton.Json解析引入的.

代码相当乱,探索的过程中引入了各类前端组件,思路是先尝试完成功能,后期再慢慢归并进化.

希望各位不吝*Star*与关注, 我也有动力继续前进. 码工兄弟姐妹可以拷贝篡改完善用于自己的项目,学生胖友如果不怕出事,也可以拿来糊弄交作业;

有缘可等待后续的工作流解析引擎, 组织结构管理(企图支持多视图组织架构与上下游企业协作)上柜(目前完成30%, 还不好端出来).

开源半成品的Web版工作流模板设计器(基于AngularJS 2和Redux), 还在继续填坑中的更多相关文章

  1. 创建您的 ActiveReports Web端在线报表设计器

    概述 ActiveReports Web端在线报表设计器已经正式上线!看到它这么帅气.实用,你是不是也想自己动手创建一个? 现在我们就来教您,如何创建一个简单的 ActiveReports Web端在 ...

  2. SQLServer 微软团队开源项目 (web 版?)

    http://www.codeplex.com/site/users/view/SQLTeamAdmin

  3. Visual Studio Online 的 FAQ:iPad 支持、自托管环境、Web 版 VS Code、Azure 账号等

    北京时间 2019 年 11 月 4 日,在 Microsoft Ignite 2019 大会上,微软正式发布了 Visual Studio Online 公开预览版!发布之后,开发者们都为之振奋.同 ...

  4. F2工作流引擎之-纯JS Web在线可拖拽的流程设计器(八)

          Web纯JS流程设计器无需编程,完全是通过鼠标拖.拉.拽的方式来完成,支持串行.并行.分支.异或分支.M取N路分支.会签.聚合.多重聚合.退回.传阅.转交,都可以非常方便快捷地实现,管理员 ...

  5. YbSoftwareFactory 代码生成插件【十六】:Web 下灵活、强大的审批流程实现(含流程控制组件、流程设计器和表单设计器)

    程序=数据结构+算法,而企业级的软件=数据+流程,流程往往千差万别,客户自身有时都搞不清楚,随时变化的情况更是家常便饭,抛开功能等不谈,需求变化很大程度上就是流程的变化,流程的变化会给开发工作造成很大 ...

  6. 基于Extjs的web表单设计器 第七节——取数公式设计之取数公式的使用

    基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...

  7. 基于Extjs的web表单设计器 第六节——界面框架设计

    基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...

  8. 基于Extjs的web表单设计器 第五节——数据库设计

    这里列出表单设计器系列的内容,6.7.8节的内容应该在春节后才有时间出了.因为这周末就请假回老家了,准备我的结婚大事.在此提前祝大家春节快乐! 基于Extjs的web表单设计器 基于Extjs的web ...

  9. 纯JS Web在线可拖拽的流程设计器

    F2工作流引擎之-纯JS Web在线可拖拽的流程设计器 Web纯JS流程设计器无需编程,完全是通过鼠标拖.拉.拽的方式来完成,支持串行.并行.分支.异或分支.M取N路分支.会签.聚合.多重聚合.退回. ...

随机推荐

  1. Amoeba详细介绍

    Amoeba的中文意思是变型虫 Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库 ...

  2. 程序ajax请求公共组件-- app-jquery-http.js

    $.HTTP = { getUrlParam : function (name) { var reg = new RegExp ("(^|&)" + name + &quo ...

  3. 一个UWSGI的例子

    摘要:uwsgi执行顺序:启动master进程,执行python脚本的公共代码(import同一层).然后生成worker进程,uwsgi.post_fork_hook=init_functions, ...

  4. 17.4.3 使用MulticastSocket实现多点广播(2)

    // 让该类实现Runnable接口,该类的实例可作为线程的target public class MulticastSocketTest implements Runnable { // 使用常量作 ...

  5. Linux下Nginx、PHP、MySQL、Redis开机自启动设置

    一.Nginx开机启动设置 1.在/etc/init.d/目录下创建脚本 vi /etc/init.d/nginx 2.更改脚本权限 chmod 775 /etc/init.d/nginx 3.编写脚 ...

  6. 转化秒数为正规的时间格式{NSString格式的秒数转成NSDate格式后再以NSString形式输出)

    -(NSString*)changeNumToTime:(NSString*)str { NSDate *date = [NSDate dateWithTimeIntervalSince1970:[s ...

  7. ireport 取消自动分页,detail不分页,当没有数据的时候显示title

    报表文件属性页面 lgnore pagination 勾选上,就可以取消分页功能.

  8. 【转】25个Git用法技巧

    Andy Jeffries 给 Git 中级用户总结分享的 25 个小贴士.你不需要去做大量搜索,或许这些小贴士对你就很有帮助的. 我从开始使用git到现在已经差不多18个月了,以为自己已经很懂git ...

  9. selenium IE 浏览器驱动下载地方

    download: http://selenium-release.storage.googleapis.com/index.html

  10. 从损坏的wt文件中恢复出WiredTiger集合

    Reference: http://dev.guanghe.tv/2016/06/recovering-a-wiredtiger-collection-from-a-corrupt-wt-file.h ...