国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

最好用的流程編輯器bpmn-js系列之基本使用

這篇具有很好參考價(jià)值的文章主要介紹了最好用的流程編輯器bpmn-js系列之基本使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

BPMN(Business Process Modeling Notation)是由業(yè)務(wù)流程管理倡議組織BPMI(The Business Process Management Initiative)開(kāi)發(fā)的一套標(biāo)準(zhǔn)的業(yè)務(wù)流程建模符號(hào)規(guī)范。其目的是為用戶提供一套容易理解的標(biāo)準(zhǔn)符號(hào),這些符號(hào)作為BPMN的基礎(chǔ)元素,將業(yè)務(wù)流程建模簡(jiǎn)單化、圖形化,將復(fù)雜的建模過(guò)程視覺(jué)化,讓業(yè)務(wù)建模者、業(yè)務(wù)實(shí)施人員、管理監(jiān)督人員對(duì)BPMN描述的業(yè)務(wù)流程都有一個(gè)更加清晰明了的了解。

BPMN的主要意義在于其作為一個(gè)標(biāo)準(zhǔn),業(yè)務(wù)相關(guān)者都按照這個(gè)標(biāo)準(zhǔn)來(lái)繪制業(yè)務(wù)流程圖,能夠減少各方對(duì)于流程圖的理解歧義,從而達(dá)到高效協(xié)作的目的

BPMN包含以下四類基本元素

  • 流對(duì)象(Flow Objects):包括事件、活動(dòng)、網(wǎng)關(guān),是BPMN中的核心元素
  • 連接對(duì)象(Connecting Objects):包括順序流、消息流、關(guān)聯(lián)
  • 泳道(Swimlanes):包括池和道兩種類型
  • 人工信息(Artifacts):包括數(shù)據(jù)對(duì)象、組、注釋

bpmn-js就是基于BPMN標(biāo)準(zhǔn)實(shí)現(xiàn)的一套渲染工具包和web建模器,以下系列文章將會(huì)介紹我的使用過(guò)程

基本使用

bpmn-js的使用非常簡(jiǎn)單,我們可以在VUE項(xiàng)目中使用,或者是直接在HTML文件中引入JS/CSS資源文件,就像下邊這樣

<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <title>運(yùn)維咖啡吧 - BPMNJS</title>

  <!-- 引入BPMN-JS的CSS文件 -->
  <link rel="stylesheet"  />
  <link rel="stylesheet"  />
</head>

<body>
  <div id="canvas" style="height:80vh;"></div>

  <!-- 引入BPMN-JS的JS文件 -->
  <script src="https://unpkg.com/bpmn-js@7.3.0/dist/bpmn-modeler.development.js"></script>
  <script>
    var diagramXML = `<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
<bpmn2:process id="Process_1" isExecutable="false">
  <bpmn2:startEvent id="StartEvent_1" />
</bpmn2:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
  <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
    <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
      <dc:Bounds x="192" y="82" width="36" height="36" />
    </bpmndi:BPMNShape>
  </bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>`

    var bpmnModeler = new BpmnJS({
      container: '#canvas'
    });

    bpmnModeler.importXML(diagramXML, function(err) {
      if (err) {
        return console.error('failed to load diagram', err);
      }
    });
  </script>
</body>

</html>

瀏覽器訪問(wèn)會(huì)出現(xiàn)如下一個(gè)流程編輯器,可以在這里進(jìn)行流程的編輯

bpmn-js,BPMN工作流程圖,編輯器,javascript,開(kāi)發(fā)語(yǔ)言

bpmn-js有兩種模式:Modeler模式和Viewer模式,在Modeler模式下可以對(duì)流程圖進(jìn)行編輯,而Viewer模式則不能,僅作為展示用

viewer模式相對(duì)簡(jiǎn)單,無(wú)需引入CSS文件,只需引入一個(gè)JS即可

<script src="https://unpkg.com/bpmn-js@7.3.0/dist/bpmn-viewer.development.js"></script>

通常在流程執(zhí)行階段的展示用Viewer模式,配合節(jié)點(diǎn)顏色設(shè)置讓用戶清晰的看到當(dāng)前流程的執(zhí)行過(guò)程和狀態(tài)

bpmn-js,BPMN工作流程圖,編輯器,javascript,開(kāi)發(fā)語(yǔ)言

VUE中使用

更多的時(shí)候我們可能會(huì)在VUE項(xiàng)目中使用,為了展示清晰,這里先通過(guò)vue-cli腳手架創(chuàng)建一個(gè)vue項(xiàng)目

vue create ops-coffee-bpmn
cd ops-coffee-bpmn

原始的目錄結(jié)構(gòu)大概是這個(gè)樣子的bpmn-js,BPMN工作流程圖,編輯器,javascript,開(kāi)發(fā)語(yǔ)言

安裝bpmn-js

npm install bpmn-js --save

安裝完成后就可以開(kāi)始使用bpmn-js了,首先要引入bpmn-js的CSS,修改src/main.js文件

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";

Vue.config.productionTip = false;

import "bpmn-js/dist/assets/diagram-js.css";
import "bpmn-js/dist/assets/bpmn-font/css/bpmn.css";
import "bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css";
import "bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css";

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount("#app");

然后編寫(xiě)bpmn-modeler.vue文件,文件位于src/views/bpmn-modeler.vue

<template>
  <div class="containers">
    <div class="canvas" ref="canvas"></div>
  </div>
</template>

<script>
import BpmnModeler from "bpmn-js/lib/Modeler";
import { xmlStr } from "../mock/xmlStr";

export default {
  name: "ops-coffee",
  mounted() {
    this.init();
  },
  data() {
    return {
      bpmnModeler: null,
      container: null,
      canvas: null
    };
  },
  methods: {
    init() {
      const canvas = this.$refs.canvas;
      this.bpmnModeler = new BpmnModeler({
        container: canvas
      });

      this.createNewDiagram();
    },
    createNewDiagram() {
      try {
        const result = this.bpmnModeler.importXML(xmlStr);
        const { warnings } = result;
        console.log(warnings);
      } catch (err) {
        console.log(err.message, err.warnings);
      }
    }
  }
};
</script>

<style scoped>
.containers {
  width: 100%;
  height: calc(100vh - 82px);
}
.canvas {
  width: 100%;
  height: 100%;
}
</style>

這里引入了一個(gè)外部變量xmlStr,這個(gè)變量主要用來(lái)存放BPMN的XML數(shù)據(jù),這里創(chuàng)建對(duì)應(yīng)的src/mock/xmlStr.js文件

export var xmlStr = `<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
<bpmn2:process id="Process_1" isExecutable="false">
  <bpmn2:startEvent id="StartEvent_1" />
</bpmn2:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
  <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
    <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
      <dc:Bounds x="192" y="82" width="36" height="36" />
    </bpmndi:BPMNShape>
  </bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>`;

最后修改src/router/index.js文件添加路由

const routes = [
  {
    path: "/",
    name: "編輯模式",
    component: () => import("../views/bpmn-modeler.vue")
  },
];

然后訪問(wèn)頁(yè)面,就可看到流程編輯器,進(jìn)行流程編輯等操作

bpmn-js,BPMN工作流程圖,編輯器,javascript,開(kāi)發(fā)語(yǔ)言

以上為Modeler模式,如果想用Viewer模式的話,也非常簡(jiǎn)單,僅需將引入的Modeler改為Viewer即可

import BpmnViewer from "bpmn-js/lib/Viewer";

概念名詞

在使用bpmn-js的過(guò)程中,經(jīng)常會(huì)出現(xiàn)一些名詞,了解他們有利于我們后續(xù)的使用和開(kāi)發(fā)

bpmn-js,BPMN工作流程圖,編輯器,javascript,開(kāi)發(fā)語(yǔ)言

畫(huà)布中的元素叫element,element包含連線connection和形狀shape,流程圖是由shape和connection組成的,可以通過(guò)拖動(dòng)左側(cè)工具欄Palette來(lái)創(chuàng)建元素,點(diǎn)擊元素會(huì)出現(xiàn)ContextPad工具箱,不同的元素會(huì)出現(xiàn)不同的ContextPad,可以通過(guò)ContextPad工具創(chuàng)建shape或connection,也可以修改元素type,添加注解,以及刪除元素等操作

寫(xiě)在最后

接觸bpmn-js不久,邊學(xué)邊寫(xiě),文章難免出錯(cuò),各位多多包含。想要打造一個(gè)好用的適合自己的流程編輯器,需要了解的內(nèi)容比較多,bpmn-js會(huì)分多篇文章來(lái)介紹,這是本系列的第一篇,下一篇介紹bpmn-js的數(shù)據(jù)保存等內(nèi)容,歡迎關(guān)注

bpmn.js插件源碼:?GitHub - bpmn-io/bpmn-js: A BPMN 2.0 rendering toolkit and web modeler.

Demo源碼地址:https://github.com/Mrs-Bean/bpmn-src.git文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-860835.html

到了這里,關(guān)于最好用的流程編輯器bpmn-js系列之基本使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 手機(jī)上好用的python編輯器,手機(jī)能用的python編輯器

    手機(jī)上好用的python編輯器,手機(jī)能用的python編輯器

    大家好,本文將圍繞手機(jī)軟件編輯器中文版python展開(kāi)說(shuō)明,手機(jī)上好用的python編輯器是一個(gè)很多人都想弄明白的事情,想搞清楚手機(jī)能用的python編輯器需要先了解以下幾個(gè)事情。 前言 現(xiàn)在越來(lái)越多人學(xué)習(xí)python,很多小伙伴都富有激情的,利用碎片化的時(shí)間都要學(xué)習(xí),小編不

    2024年01月16日
    瀏覽(19)
  • 7個(gè)最好的PDF編輯器,幫你像編輯Word一樣編輯PDF

    7個(gè)最好的PDF編輯器,幫你像編輯Word一樣編輯PDF

    ?PDF 是具有數(shù)字思維的組織的重要交流工具。提供高效的工作流程和更好的安全性,可以創(chuàng)建重要文檔并與客戶、同事和員工共享。文檔的布局已鎖定,因此無(wú)論在什么設(shè)備上查看,格式都保持不變。這是讓每個(gè)人保持一致的好方法——尤其是那些使用Microsoft Office 替代品的

    2024年01月17日
    瀏覽(26)
  • bpmn-js調(diào)研

    bpmn-js調(diào)研

    1.bpmn-js github 官網(wǎng) 在線demo(中文) 在線demo 介紹 BPMN.js是一個(gè)開(kāi)源工具包,用于使用JavaScript建模和執(zhí)行BPMN流程。 它提供一組庫(kù),用于在基于瀏覽器和服務(wù)器端環(huán)境中創(chuàng)建,編輯和可視化BPMN圖表。 BPMN.js具有內(nèi)置支持廣泛的BPMN元素,包括任務(wù),網(wǎng)關(guān),事件和流程,并允許用戶定

    2024年02月15日
    瀏覽(13)
  • vue3.0 bpmn-js + TS 簡(jiǎn)易教程

    vue3.0 bpmn-js + TS 簡(jiǎn)易教程

    bpmn.js是一個(gè)BPMN2.0渲染工具包和web建模器, 使得畫(huà)流程圖的功能在前端來(lái)完成. 這里主要記錄本人在開(kāi)發(fā)bpmn中的流程 參照了 LinDaiDai_霖呆呆 大佬的文檔 安裝 bpmn HTML JS CSS styleCss.scss 這個(gè)是自己寫(xiě)的樣式文件 以上就是vue3.0 bpmn-js + TS 簡(jiǎn)易教程感謝大家的閱讀 如碰到其他的問(wèn)題

    2024年02月14日
    瀏覽(45)
  • 首個(gè)接入 GPT-4,曾經(jīng)比 GitHub Copilot 還好用的代碼編輯器,開(kāi)源了!

    首個(gè)接入 GPT-4,曾經(jīng)比 GitHub Copilot 還好用的代碼編輯器,開(kāi)源了!

    公眾號(hào)關(guān)注?“GitHubDaily” 設(shè)為?“星標(biāo)”,每天帶你逛 GitHub! 上周四,GitHub Copilot X 震撼發(fā)布,將一眾老牌代碼編輯器打得措手不及。 但其實(shí),Copilot X 不是第一個(gè)集成 GPT-4 模型的 AI 智能編程工具。 在它發(fā)布的一兩周前,一款名為 Cursor 的代碼編輯器便已開(kāi)始在技術(shù)圈內(nèi)被

    2024年02月09日
    瀏覽(27)
  • 流程圖拖拽視覺(jué)編程-流程編輯器

    流程圖拖拽視覺(jué)編程-流程編輯器

    目錄 一、簡(jiǎn)介 二、流程編輯器-視圖實(shí)現(xiàn) 三、參考資料 前期文章: 流程圖拖拽視覺(jué)編程--概述_Jason~shen的博客-CSDN博客 本期內(nèi)容: 本期將介紹流程編輯器模塊的實(shí)現(xiàn)方法,效果圖如下所示。該模塊基于QT Graphics/View實(shí)現(xiàn),由視圖、自定義圖元、圖元管理器組成。 視圖的功能是

    2024年02月05日
    瀏覽(130)
  • 基于drawio構(gòu)建流程圖編輯器

    drawio 是一款非常強(qiáng)大的開(kāi)源在線的流程圖編輯器,支持繪制各種形式的圖表,提供了 Web 端與客戶端支持,同時(shí)也支持多種資源類型的導(dǎo)出。 在我們平時(shí)寫(xiě)論文、文檔時(shí),為了更好地闡述具體的步驟和流程,我們經(jīng)常會(huì)有繪制流程圖的需求,這時(shí)我們可能會(huì)想到 Visio ,可能

    2024年02月10日
    瀏覽(20)
  • camunda工作流實(shí)戰(zhàn)項(xiàng)目(表單設(shè)計(jì)器+流程編輯器,零代碼創(chuàng)建流程)

    camunda工作流實(shí)戰(zhàn)項(xiàng)目(表單設(shè)計(jì)器+流程編輯器,零代碼創(chuàng)建流程)

    基于ruoyi平臺(tái)和camunda工作流開(kāi)發(fā)而成,結(jié)合bpmn.js流程編輯器和vform表單設(shè)計(jì)器,實(shí)現(xiàn)常規(guī)流程零代碼創(chuàng)建。 具備流程中心的能力,支持外部任務(wù),可協(xié)調(diào)多個(gè)業(yè)務(wù)系統(tǒng)協(xié)同工作 具備SaaS平臺(tái)的能力,支持多租戶,各業(yè)務(wù)系統(tǒng)可作為租戶,創(chuàng)建自己的流程,通過(guò)外部任務(wù)與自身

    2024年02月12日
    瀏覽(35)
  • 「AntV」X6圖編輯器的應(yīng)用——流程圖實(shí)現(xiàn)

    「AntV」X6圖編輯器的應(yīng)用——流程圖實(shí)現(xiàn)

    在線預(yù)覽 源碼 阮一峰:SVG圖像入門(mén) SVGtutorial 因?yàn)閍ntv/x6是基于SVG的圖編輯器,所以SVG的知識(shí)有必要了解下的 簡(jiǎn)介 可縮放矢量圖形【基于圖形】 全稱:Scalable Vector Graphics 定義基于矢量的圖形 基于XML語(yǔ)法 放大縮小不會(huì)失真 屬于萬(wàn)維網(wǎng)標(biāo)準(zhǔn) 可以插入DOM,通過(guò)JavaScript和CSS來(lái)操作

    2024年02月09日
    瀏覽(91)
  • Svg Flow Editor 原生svg流程圖編輯器(五)

    Svg Flow Editor 原生svg流程圖編輯器(五)

    Svg Flow Editor 原生svg流程圖編輯器(一) Svg Flow Editor 原生svg流程圖編輯器(二) Svg Flow Editor 原生svg流程圖編輯器(三) Svg Flow Editor 原生svg流程圖編輯器(四) Svg Flow Editor 原生svg流程圖編輯器(五) ? ? ? ? 對(duì)協(xié)同這塊已經(jīng)寫(xiě)了很多篇文章了,如果還是不了解,可以看看之

    2024年04月12日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包