美文网首页
vue+bpmnjs新手起步 2021-04-22

vue+bpmnjs新手起步 2021-04-22

作者: October_CanYang | 来源:发表于2021-04-22 16:03 被阅读0次

    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>
    

    上面代码,可完成一个初始状态的流程编辑器


    初始流程图编辑器

    相关文章

      网友评论

          本文标题:vue+bpmnjs新手起步 2021-04-22

          本文链接:https://www.haomeiwen.com/subject/kehfrltx.html