From 9443218e8669c71d1ddcdb058bc45816b70f633c Mon Sep 17 00:00:00 2001 From: LiuHao Date: Mon, 22 Jan 2024 14:50:58 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=A2=9E=E5=8A=A0=20Element=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/BpmnDesign/PropertyPanel.vue | 27 +++++++------------ src/components/BpmnDesign/hooks/usePanel.ts | 4 +-- .../BpmnDesign/hooks/useParseElement.ts | 5 ++-- src/components/BpmnDesign/index.vue | 26 +++++------------- .../BpmnDesign/panel/GatewayPanel.vue | 4 +-- .../BpmnDesign/panel/ProcessPanel.vue | 4 +-- .../BpmnDesign/panel/SequenceFlowPanel.vue | 4 +-- .../BpmnDesign/panel/StartEndPanel.vue | 4 +-- src/components/BpmnDesign/panel/TaskPanel.vue | 4 +-- .../panel/property/ExecutionListener.vue | 4 +-- .../panel/property/TaskListener.vue | 4 +-- src/types/bpmn/index.d.ts | 2 ++ 12 files changed, 36 insertions(+), 56 deletions(-) diff --git a/src/components/BpmnDesign/PropertyPanel.vue b/src/components/BpmnDesign/PropertyPanel.vue index 35da069..f5c9ca3 100644 --- a/src/components/BpmnDesign/PropertyPanel.vue +++ b/src/components/BpmnDesign/PropertyPanel.vue @@ -12,27 +12,16 @@ import ProcessPanel from './panel/ProcessPanel.vue'; import StartEndPanel from './panel/StartEndPanel.vue'; import GatewayPanel from './panel/GatewayPanel.vue'; import SequenceFlowPanel from './panel/SequenceFlowPanel.vue'; +import { Modeler, Modeling, Element } from 'bpmn'; interface propsType { users: Array; groups: Array; categorys: Array; - modeler: any; + modeler: Modeler; } const props = withDefaults(defineProps(), {}); -const element = ref(); - -const form = reactive({ - id: '', - name: '', - color: null -}); - -const roles = ref([ - { value: 'manager', label: '经理' }, - { value: 'personnel', label: '人事' }, - { value: 'charge', label: '主管' } -]); +const element = ref(); const startEndType = ['bpmn:IntermediateThrowEvent', 'bpmn:StartEvent', 'bpmn:EndEvent']; const taskType = [ @@ -69,20 +58,24 @@ const nodeName = computed(() => { }); const handleModeler = () => { - props.modeler.on('root.added', (e) => { + props.modeler.on('root.added', (e: any) => { if (e.element.type === 'bpmn:Process') { element.value = null; nextTick(() => { element.value = e.element; + // const modeling = props.modeler.get('modeling'); + // modeling.setColor(e.element.children, { + // fill: 'green' + // }); }); } }); - props.modeler.on('element.click', (e) => { + props.modeler.on('element.click', (e: any) => { if (e.element.type === 'bpmn:Process') { element.value = e.element; } }); - props.modeler.on('selection.changed', (e) => { + props.modeler.on('selection.changed', (e: any) => { // 先给null为了让vue刷新 element.value = null; const newElement = e.newSelection[0]; diff --git a/src/components/BpmnDesign/hooks/usePanel.ts b/src/components/BpmnDesign/hooks/usePanel.ts index 35e5ff5..10ac813 100644 --- a/src/components/BpmnDesign/hooks/usePanel.ts +++ b/src/components/BpmnDesign/hooks/usePanel.ts @@ -1,8 +1,8 @@ import showConfig from '@/components/BpmnDesign/assets/showConfig'; -import { Moddle, Modeler, Modeling } from 'bpmn'; +import { Moddle, Modeler, Modeling, Element } from 'bpmn'; interface Options { modeler: Modeler; - element: any; + element: Element; } export default (ops: Options) => { diff --git a/src/components/BpmnDesign/hooks/useParseElement.ts b/src/components/BpmnDesign/hooks/useParseElement.ts index 7945d61..3a67ca6 100644 --- a/src/components/BpmnDesign/hooks/useParseElement.ts +++ b/src/components/BpmnDesign/hooks/useParseElement.ts @@ -1,10 +1,9 @@ import { Ref } from 'vue'; -import usePanel from '@/components/BpmnDesign/hooks/usePanel'; -import { Modeler } from 'bpmn'; +import { Element, Modeler } from 'bpmn'; interface Options { modeler: Modeler; - element: any; + element: Element; } interface Data { diff --git a/src/components/BpmnDesign/index.vue b/src/components/BpmnDesign/index.vue index 4044a06..82c538f 100644 --- a/src/components/BpmnDesign/index.vue +++ b/src/components/BpmnDesign/index.vue @@ -63,13 +63,14 @@