main.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { createApp } from 'vue'
  2. import ElementPlus from 'element-plus'
  3. import router from './router'
  4. import 'element-plus/dist/index.css'
  5. import * as ElementPlusIconsVue from '@element-plus/icons-vue'
  6. import App from './App.vue'
  7. import zhCn from 'element-plus/es/locale/lang/zh-cn';//引入中文
  8. import '@/styles/index.scss'
  9. import store from './store' //pinia
  10. // bpmn 相关依赖
  11. import 'bpmn-js/dist/assets/diagram-js.css'
  12. import 'bpmn-js/dist/assets/bpmn-font/css/bpmn.css'
  13. import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css'
  14. import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css'
  15. //logicflow相关配置
  16. import LogicFlow from "@logicflow/core";
  17. import { preventReClick } from "@/utils/common.js";//防止用户频繁点击
  18. import { BpmnElement, Control, MiniMap,Menu,Snapshot,RectResize } from '@logicflow/extension';
  19. import { VueDraggableNext } from 'vue-draggable-next'
  20. // 左边工具栏以及编辑节点的样式
  21. // import 'bpmn-js-properties-panel/dist/assets/bpmn-js-properties-panel.css'
  22. const app = createApp(App)
  23. for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  24. app.component(key, component)
  25. }
  26. app.use(ElementPlus, { locale: zhCn });//使element全局变为中文
  27. //全局点击遮罩层不关闭
  28. app._context.components.ElDialog.props.closeOnClickModal.default = false
  29. app.use(router)
  30. app.use(store);
  31. // app.use(preventReClick);
  32. LogicFlow.use(BpmnElement);
  33. LogicFlow.use(Control);
  34. LogicFlow.use(Menu);
  35. LogicFlow.use(Snapshot);
  36. LogicFlow.use(RectResize)
  37. // LogicFlow.use(MiniMap);
  38. // 使用 app 实例来挂载应用
  39. window.onerror = function(message, source, lineno, colno, error) {
  40. console.error("捕获到全局错误:", message, "在", source, "第", lineno, "行");
  41. };
  42. app.config.globalProperties.ReplaceNull=function(v,defaultValue){
  43. if(v==null) return defaultValue;
  44. return v;
  45. }
  46. app.mount('#app')