首页 > 其他分享 >使用vue+bpmn-js实现activiti的流程设计器__Vue.js

使用vue+bpmn-js实现activiti的流程设计器__Vue.js

时间:2023-04-13 17:56:06浏览次数:45  
标签:__ vue name activiti type js true 属性

https://www.vue-js.com/topic/5f6c4af84590fe0031e591ef

完整代码见github:https://github.com/griabcrh/vue-activiti-demo

适配activiti
import activitiModdleDescriptor from '../js/activiti.json';

this.bpmnModeler = new BpmnModeler({
          container: canvas,
          //添加属性面板,添加翻译模块
          additionalModules: [
              customTranslateModule,
              customControlsModule  
          ],
          //模块拓展,拓展activiti的描述
          moddleExtensions: {
              activiti: activitiModdleDescriptor
          }
        });
activiti.json
{
  "name": "Activiti", // 标识是activiti
  "uri": "http://activiti.org/bpmn", // 添加activiti的命名空间
  "prefix": "activiti", // 属性前缀
  "xml": {
    "tagAlias": "lowerCase"
  },
  "associations": [],
  "types": [
    {
      "name": "Process", // <bpmn2:process> 标签
      "isAbstract": true,
       "extends": [
        "bpmn:Process" // 继承自<bpmn2:process>
      ],
      "properties": [ // 这个标签的属性
        {
          "name": "candidateStarterGroups", // 属性名
          "isAttr": true,  // 是否是属性
          "type": "String" // 属性类型
        },
        {
          "name": "candidateStarterUsers",
          "isAttr": true,
          "type": "String"
        },
        {
          "name": "versionTag",
          "isAttr": true,
          "type": "String"
        },
        {
          "name": "historyTimeToLive",
          "isAttr": true,
          "type": "String"
        },
        {
          "name": "isStartableInTasklist",
          "isAttr": true,
          "type": "Boolean",
          "default": true // 给属性添加默认值,但这个默认值没有写入xml中
        },
        {
          "name":"executionListener", // 监听器属性
          "isAbstract": true, // 抽象
          "type":"Expression" // 类型是表达式
        }
      ]
    },
    // 在这里接着加其他节点
  ],
  "emumerations": [ ]}

例子: 我的项目中需要给用户任务添加自定义的属性 nodeType(节点类型)

标签:__,vue,name,activiti,type,js,true,属性
From: https://www.cnblogs.com/ellafive/p/17315881.html

相关文章

  • 毕业论文之删除endNote
    在对引用文献进行检查的时候,发现endnote很难用,每次打开都会出现如图提示。  这是因为没有完全删除掉引用。我在网上找了方法,一个是在查找中替换,如下图(引自Zotero、NoteExpress等文献管理工具的一类引文错误解决-知乎(zhihu.com)) 还有一个方法就是,如下图(引自Word文档中......
  • React国际化方案及示例
    ​背景:随着公司走向国际,那么需要对产品进行国际化语言的预言处理。该预言方案主要是为了满足跨国企业和全球用户的需求而设计的。随着公司步入国际领域,该方案将有助于提高公司的国际化水平和竞争力。在国际化项目中,需要考虑不同语言、文化和地区的用户习惯和需求,确保产品的功能和......
  • Spider爬虫
    爬虫Spider该爬虫分为两部分,分别为Spider.py和model.pySpider.py该文件主要业务逻辑是调用Selenium来通过自动化测试的方法实现模拟人的行为来对网页进行请求,并将请求到的HTML提取为文本,为后续的数据抽取做铺地。需要的第三方工具包Selenium,scrapy,timespider.py具体实现fr......
  • Mac 的anaconda终端不一致解决
    9、Mac的anaconda终端不一致解决使用pycharm创建virtualenv环境后,命令行和终端的代码解释器不一致/usr/bin/python3是系统自带的Python3解释器问:但是为什么pycharm在这里要让我选择一个baseinterpreter解释器呢?virtualenv不是会创建一个新的虚拟环境解释器吗?为什么这......
  • 两阶段鲁棒优化模型 多场景 采用matlab编程两阶段鲁棒优化程序,考虑四个场景,模型采用列
    两阶段鲁棒优化模型多场景采用matlab编程两阶段鲁棒优化程序,考虑四个场景,模型采用列与约束生成(CCG)算法进行求解,场景分布的概率置信区间由1-范数和∞-范数约束,程序含拉丁超立方抽样+kmeans数据处理程序,程序运行可靠,有详细资料YID:69120677501311622......
  • android S 上 安装apk出现android.os.FileUriExposedException
    报错:android.os.FileUriExposedException:file:///data/user/0/com.example.overlay.exposedbeyondappthroughIntent.getData()原因:andorid7.0系统以后,引入“私有目录被限制访问”,“StrictModeAPI政策”导致的问题。解决办法很简单。就是用新的方式获取uri。”St......
  • 934. 最短的桥
    题目描述矩阵中有两个岛屿问岛之间的最小距离?f1-bsf+bfs基本分析怎么求第一个岛的所有点?找到第一个1后bfs怎么保证不重复添加?入队的点设置为-1怎么求到第二个岛的最小距离?第一个岛的所有点入队,遍历一轮step+1,遇到1的时候返回step代码classSolution:defshorte......
  • collections
          ......
  • redis-4-2,使用docker在同一台服务器配置redis主从复制
    拉取redis镜像dockerpullredis下载redis配置文件https://redis.io/docs/management/config/在这里面找到需要的版本的配置文件使用配置文件的时候可能会出错,从docker拉取下来的最新镜像是6.2.8版本的......
  • Maven工程开发
    Maven工程开发编写pom.xml配置文件<properties></properties>定义项目的基本信息groupId反向域名,定义项目组名artifactId小写字母,定义项目名version定义版本名,三段:第一段革命性的产品升级,第二段新功能版本,第三段修正一些bugpackaging定义打包方式<dependenci......