1 Star 1 Fork 264

励志哥 / jsonflow-ui

forked from JackRolling / jsonflow-ui 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

08

star fork

如果觉得不错,给作者一个⭐️小星星⭐️Star⭐️支持下️吧

欢迎进群一起交流
🔥大家可扫码加入交流群,群已超200+人被限制了。可以加我微信 ll766488893 拉你入群

JsonFlow在线演示(请联系作者)

点击预览(JsonFlow SpringBoot单体版本) 【备注:微服务版本已整合Pigx-感谢Pigx支持】

JsonFlow在线文档(VIP文档暂未开源-请联系作者)

点击预览

绝对简单易用且适合较复杂场景的中国式审批的工作流(工作流引擎+前端工作流管理,请加群咨询)

🔥🔥🔥对比传统BPM🔥🔥🔥

  • 1、解决传统BPM流程复杂点难扩展、后期维护闹心、各种数据统计恶心等痛点问题!!

  • 2、支持Online自动建表设计,以便未来好统计数据。自动增删改查,零编码一键发起

  • 3、JsonFlow实现真正的低代码开发,非常简单的Online一键流程设计(配置项少)与一键申请办公

  • 4、如何快速二次开发?有一套较规范且简单的【两套】开发流程,同时满足Online开发设计与定制化开发设计

  • 5、前后端完全自研可控,二开非常简单自由(支持Online代码自动生成),且符合较复杂中国式审批场景

  • 6、相对于传统BPM,JsonFlow工作流引擎与工单逻辑是分开的,方便未来数据统计

  • 7、目前工作流相关表14张,比传统BPM几十张表少很多,学习成本低!二开分分钟的事!!

注:本系统没有贬低其他工作流系统的意思,请悉知

系统介绍

  • 基于本系统开发的工单系统已在生产上平稳运行良久,生产已验证

  • 一个神奇的自研工作流JsonFlow,前后端非常简单的纯Json交互(格式简单),支持任意拖拉拽生成流程图,非常容易进行二次开发。

  • 1.JsonFlow工作流基于JsPlumb的流程设计器 + 自研后端Java工作流引擎,组成了一套纯JSON数据交互的工作流系统。

  • 2.本系统无论前端还是后端,其学习成本明显低于市面上开源的工作流引擎及附带的流程设计器,能够快速上手前后端实现逻辑,更方便用户快速进行二次开发。

  • 3.本系统前端流程设计器,采用Vue ElementUI + JsPlumb实现,支持可任意托拉拽与任意连线绘制流程图,简单易用具有更友好的操作方式。

工作流引擎支持:

  • 1.支持基础的多种审批模式:支持抄送、审批、触发器、条件分支、并行分支等

  • 2.除此之外,灰常适合中国式的审批,如下:

    正常分配、动态分配、动态计算分配人员,动态计算节点增量任务,驳回任意节点。

    可不等待兄弟任务、支持业务侧开启和计算任务,不满足条件可继续流转下一节点。

    支持vue页面配置化,支持工作任务交接。

🔥🔥🔥JsonFlow商业版Pro强大功能🔥🔥🔥

  • 1、WebSocket任务消息通知、条件表达式 + 规则引擎(满足你复杂的条件)

  • 2、一键快捷流程设计:页面设置 + 表单设计 + 流程设计(设计概念仿钉钉、宜搭,更多的是:你还可以单独再设计审批页面)

  • 3、自动建表设计(以便未来统计数据问题) + 自动增删改查,零编码一键发起(很复杂的可能需编码调整)

  • 4、表单或审批页面权限配置:同一个零代码表单或审批页面,可在不同流程中不同节点分别配置不同的字段权限

  • 5、开发平台:代码自动生成,方便快速进行二次定制化流程开发

  • 6、自动取值:流程参数取值、动态分配人员取值(可通过配置自动取值,零编码)

  • 7、流程图节点显示不同状态与图标,鼠标移动到节点可显示节点与审批信息,放到线上可显示条件信息

  • 8、流程设计无需双击节点配置属性,鼠标移动到节点上会自动显示右键菜单直接设置,非常方便快捷操作

  • 9、审批过程增加时间线显示UI效果(以Timeline时间线方式显示),可选择表格或时间线两种不同的显示方式

  • 10、流程设计与表单设计增加导入导出功能(Avue表单组件兼容大部分移动端显示)

  • 11、加解密方案:前后端请求和返回数据进行加解密,保证前台数据出入参安全

工作流与工单系统解耦:

  • 本系统将工作流引擎与工单系统分离,目的在于解耦减少业务对工作流的入侵,以便于业务后期各种复杂报表统计

  • 本系统同时支持在线工作与任务交接,弥补了传统BPM工作流需单独处理的不足,方便公司人员流动后的工作交接

实现简要概述:

  • 节点分类非常简单,发起节点、串行节点、并行节点、结束节点、虚拟节点。 主要基于传统BPM使用的感受,考虑到传统BPM类型过多复杂且极少用,故本工作流系统仅分6种节点类型,常使用的主要是串行、并行节点。

  • 串行顾名思义流程只有一个分支往下走,并行则表示流程可以同时流转到多个分支,只要掌握这个概念,使用会非常简单。这样设计的原因是传统的BPM有各种的节点或网关,但实际上使用的很少,网关本系统采用串行+条件 或 并行+条件来代替。

  • 任务类型分为个人、角色、或签。个人即表示由某个人来办理这个任务,角色则表示拥有同一个角色的人都可以办理,谁先办理属于谁。会签在本系统中采用多个节点任务来表达一个节点同时需多个人来办理的情况

  • 办理人员类型分为正常分配、动态分配、动态计算,常使用的主要是正常分配、动态分配。正常分配指可指定一个人或一个角色来办理,动态分配则表示根据某个SPEL表达式来动态指定某个人,动态计算则表示根据多个角色或多个人,业务侧手动调用节点任务增量接口,来动态计算和生成多个节点任务。

工作流管理、工单管理、工作交接模块

  • 04

钉钉UI效果演示

  • 拖拽节点到绘图区,进行任意连线。流程设计无需双击节点配置属性,鼠标移动到节点上会自动显示右键菜单直接设置,非常方便快捷操作
  • 01
  • 查看流程图:鼠标移动到节点上可显示不同状态与图标、节点信息与审批信息,放到线上可显示条件信息
  • 04

在线设计

  • 开发平台:代码自动生成,方便快速进行二次定制化流程开发
  • 自动创建表设计:以便未来统好计数据 + 自动增删改查API,零编码一键发起(很复杂的可能需编码调整)
  • 一键快捷设计:页面设置 + 表单设计 + 流程设计,还可以单独再设计审批页面(下面介绍),不仅如此还是可拖拽的流程图设计
  • 04

在线办公

办公申请
  • 支持在线一键发起办公申请工单,办理任务、WebSocket任务消息通知等等 05
任务管理
  • 在待办任务点审批,可以查看/修改工单信息、审批过程、流程图。办理人员、页面支持高度可配置化
  • 流程设计与表单设计增加导入导出功能(Avue表单组件兼容大部分移动端显示) 08
  • 流程实例管理
  • 更多功能期待你体验...

流程设计器支持:

  • 节点分为五种:开始节点、串行节点、并行节点、结束节点、虚拟节点,还有一个节点任务
  • 审批过程增加时间线显示UI效果(以Timeline时间线方式显示),可选择表格或时间线两种不同的显示方式
  • 预览流程图、发布流程
  • 更多功能期待你体验...

数据结构

{
  "nodeList": [
    {
      "type": "start",
      "nodeName": "开始",
      "icon": null,
      "attrs": {
        "pcTodoUrl": null,
        "pcFinishUrl": null
      },
      "clazz": {
        "clazz": null,
        "methods": null
      },
      "defJob": {
        "jobName": "任务名称",
        "userId": null,
        "roleId": null
      },
      "jobSize": 1,
      "id": "1661145449179000002",
      "height": 50,
      "x": 210,
      "width": 50,
      "y": 205
    }
  ],
  "linkList": [
    {
      "type": "link",
      "label": "",
      "sourceId": "1661145449179000002",
      "targetId": "1661145452800000003",
      "attrs": {
        "varKey": null,
        "varVal": null
      },
      "id": "1661145456855000004",
      "icon": null
    }
  ],
  "attrs": {
    "id": "1661145437059000001"
  },
  "status": "0"
}

本地安装

  • 下载本项目:npm install

  • 启动项目:npm run dev

  • 构建项目dist:npm run build

关于作者&&微信群

  • 欢迎大家进群一起交流 🔥🔥🔥 如果群二维码失效了,可以直接加我微信拉群,感谢
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [Jack luolin] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

第一自研🚀工作流引擎🔥 (非开源BPM),功能强大支持Online零编码流程设计与申请办公等,UI美观操作绝对简单⭐️前后端代码完全自研可控,非常容易进行二次开发。前后端纯Json交互(格式简单)操作非常简单,简单易用且符合较复杂的中国式审批流场景。 展开 收起
Java
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/GavanStart/jsonflow-ui.git
git@gitee.com:GavanStart/jsonflow-ui.git
GavanStart
jsonflow-ui
jsonflow-ui
master

搜索帮助

14c37bed 8189591 565d56ea 8189591