index.vue 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <div id="app-bpmn">
  3. <bpmn-toolbar v-if="getEditorConfig.toolbar" />
  4. <div class="main-content">
  5. <bpmn-designer :xml.sync="xmlString" />
  6. <bpmn-panel v-if="getEditorConfig.penalMode === 'custom'" />
  7. <div v-else class="camunda-panel" id="camunda-panel"></div>
  8. </div>
  9. <bpmn-settings />
  10. <bpmn-context-menu />
  11. </div>
  12. </template>
  13. <script>
  14. import BpmnDesigner from "./components/Designer";
  15. import BpmnSettings from "./components/Settings";
  16. import { mapGetters } from "vuex";
  17. import BpmnToolbar from "./components/Toolbar";
  18. import BpmnContextMenu from "./components/ContextMenu/ContextMenu";
  19. import BpmnPanel from "./components/Panel";
  20. // 样式
  21. import "bpmn-js/dist/assets/diagram-js.css"; // 基础样式
  22. import "bpmn-js/dist/assets/bpmn-js.css"; // 基础样式
  23. import "bpmn-js/dist/assets/bpmn-font/css/bpmn.css"; // 节点基础图标
  24. import "bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css"; // 节点完整图标
  25. import "bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css"; // 节点完整图标
  26. // 小地图
  27. import "diagram-js-minimap/assets/diagram-js-minimap.css";
  28. import "bpmn-js-properties-panel/dist/assets/element-templates.css";
  29. import "bpmn-js-properties-panel/dist/assets/properties-panel.css";
  30. import "bpmn-js-connectors-extension/dist/connectors-extension.css";
  31. import "@bpmn-io/element-template-chooser/dist/element-template-chooser.css";
  32. import "bpmn-js-bpmnlint/dist/assets/css/bpmn-js-bpmnlint.css";
  33. import "bpmn-js-token-simulation/assets/css/bpmn-js-token-simulation.css";
  34. export default {
  35. name: "App",
  36. components: {
  37. BpmnPanel,
  38. BpmnContextMenu,
  39. BpmnToolbar,
  40. BpmnSettings,
  41. BpmnDesigner,
  42. },
  43. data() {
  44. return {
  45. xmlString: undefined,
  46. };
  47. },
  48. computed: {
  49. ...mapGetters(["getEditorConfig"]),
  50. },
  51. methods: {
  52. Provence(ev) {
  53. ev.preventDefault();
  54. },
  55. },
  56. mounted() {
  57. document.body.addEventListener("contextmenu", this.Provence);
  58. },
  59. beforeDestroy() {
  60. console.log("beforeDestroy");
  61. document.body.removeEventListener("contextmenu", this.Provence);
  62. },
  63. };
  64. </script>