vue+bpmnjs新手起步 2021-04-22
2021-04-22 本文已影响0人
October_CanYang
vue+bpmnjs新手起步
首先 在vue的项目中安装bpmnjs依赖
npm install bpmn-js --save
npm install bpmn-js-properties-panel --save
npm install bpmn-moddle --save
npm install camunda-bpmn-moddle --save
安装完成后 就可以使用了,初代使用方式:
1:在你需要显示的页面中
<template>
<div class="containers">
<div class="canvas" ref="canvas"></div>
<div id="js-properties-panel" class="panel"></div>
</div>
</template>
<script>
// 引入相关的依赖
import BpmnModeler from "bpmn-js/lib/Modeler";
import { xmlStr } from "../mock/xmlStr2"; // 这里是直接引用了xml字符串
import propertiesPanelModule from "bpmn-js-properties-panel";
import propertiesProviderModule from "bpmn-js-properties-panel/lib/provider/camunda";
import camundaModdleDescriptor from "camunda-bpmn-moddle/resources/camunda";
export default {
data() {
return {
// bpmn建模器
bpmnModeler: null,
container: null,
canvas: null,
};
},
mounted() {
this.init()
},
methods: {
init() {
// 获取到属性ref为“canvas”的dom节点
const canvas = this.$refs.canvas;
// const customTranslateModule = {
// translate: ["value", translatCustom],
// };
// 建模
this.bpmnModeler = new BpmnModeler({
container: canvas,
//添加控制板
propertiesPanel: {
parent: "#js-properties-panel",
},
additionalModules: [
// 右边的属性栏
propertiesProviderModule,
propertiesPanelModule,
// customTranslateModule
],
moddleExtensions: {
camunda: camundaModdleDescriptor,
},
});
this.createNewDiagram();
},
createNewDiagram() {
// 将字符串转换成图显示出来
// return
this.bpmnModeler.importXML(xmlStr, (err) => {
if (err) {
// console.error(err)
} else {
// 这里是成功之后的回调, 可以在这里做一系列事情
// this.success();
}
});
},
},
};
</script>
<style scoped>
.containers {
position: absolute;
background-color: #ffffff;
width: 100%;
height: 100%;
}
.canvas {
width: 100%;
height: 100%;
}
.panel {
position: absolute;
right: 0;
top: 0;
width: 300px;
}
</style>
上面代码,可完成一个初始状态的流程编辑器
初始流程图编辑器