From 548f8bc32cf8b733565f073a75f594802012e3ba Mon Sep 17 00:00:00 2001
From: gexinzhineng/gxzn27 <1348660141@qq.com>
Date: Sun, 29 Jan 2023 10:57:04 +0800
Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86=E7=BB=91=E5=AE=9A=E5=80=BC?=
 =?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../penal/flow-condition/FlowCondition.vue    |  2 +-
 .../penal/listeners/ElementListeners.vue      | 30 +++++++++++++------
 .../penal/listeners/UserTaskListeners.vue     |  2 +-
 .../penal/other/ElementOtherConfig.vue        | 18 ++---------
 .../penal/properties/ElementProperties.vue    |  4 +--
 .../package/penal/task/ElementTask.vue        |  2 +-
 .../task/task-components/ReceiveTask.vue      |  4 +--
 7 files changed, 30 insertions(+), 32 deletions(-)

diff --git a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue
index 221a6a7ee..f508ee42b 100644
--- a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue
+++ b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="panel-tab__content">
-    <el-form :model="flowConditionForm" label-width="90px" size="mini">
+    <el-form :model="flowConditionForm" label-width="90px" size="small">
       <el-form-item label="流转类型">
         <el-select v-model="flowConditionForm.type" @change="updateFlowType">
           <el-option label="普通流转路径" value="normal" />
diff --git a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue
index 739c2cd98..b0a277ba9 100644
--- a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue
+++ b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="panel-tab__content">
-    <el-table :data="elementListenersList" size="mini" border>
+    <el-table :data="elementListenersList" size="small" border>
       <el-table-column label="序号" width="50px" type="index" />
       <el-table-column label="事件类型" min-width="100px" prop="event" />
       <el-table-column
@@ -9,7 +9,7 @@
         show-overflow-tooltip
         :formatter="(row) => listenerTypeObject[row.listenerType]"
       />
-      <el-table-column label="操作" width="90px">
+      <el-table-column label="操作" width="130px">
         <template #default="scope">
           <el-button size="small" @click="openListenerForm(scope.row, scope.$index)"
             >编辑</el-button
@@ -141,7 +141,7 @@
       </p>
       <el-table
         :data="fieldsListOfListener"
-        size="mini"
+        size="small"
         max-height="240"
         border
         fit
@@ -161,7 +161,7 @@
           show-overflow-tooltip
           :formatter="(row) => row.string || row.expression"
         />
-        <el-table-column label="操作" width="100px">
+        <el-table-column label="操作" width="130px">
           <template #default="scope">
             <el-button
               size="small"
@@ -394,8 +394,10 @@ const saveListenerConfig = async () => {
     elementListenersList.value.splice(editingListenerIndex.value, 1, listenerForm.value)
   }
   // 保存其他配置
+  console.log(bpmnElement.value, 'bpmnElement.value')
   otherExtensionList.value =
-    bpmnElement.value.businessObject?.extensionElements?.values?.filter(
+    bpmnElement.value.businessObject?.extensionElements?.filter(
+      // bpmnElement.value.businessObject?.extensionElements?.values?.filter(
       (ex) => ex.$type !== `${prefix}:ExecutionListener`
     ) ?? []
   console.log(bpmnElement.value, 'bpmnElement.value')
@@ -404,10 +406,20 @@ const saveListenerConfig = async () => {
     otherExtensionList.value.concat(bpmnElementListeners.value),
     'otherExtensionList.value.concat(bpmnElementListeners.value).value'
   )
-  updateElementExtensions(
-    toRaw(bpmnElement.value),
-    toRaw(otherExtensionList.value.concat(bpmnElementListeners.value))
-  )
+  // updateElementExtensions(
+  //   bpmnElement.value,
+  //   // toRaw(bpmnElement.value),
+  //   otherExtensionList.value.concat(bpmnElementListeners.value)
+  //   // toRaw(otherExtensionList.value.concat(bpmnElementListeners.value))
+  // )
+  const extensions = window.bpmnInstances.moddle.create('bpmn:ExtensionElements', {
+    values: otherExtensionList.value.concat(bpmnElementListeners.value)
+  })
+  console.log(extensions, 'extensionsextensionsextensions')
+  console.log(extensions.values, 'extensionsextensionsextensions')
+  window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), {
+    extensionElements: extensions.values
+  })
   // 4. 隐藏侧边栏
   listenerFormModelVisible.value = false
   listenerForm.value = {}
diff --git a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue
index ebafc1cdd..93c881bbd 100644
--- a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue
+++ b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue
@@ -338,8 +338,8 @@ const resetListenersList = () => {
   bpmnElement.value = window.bpmnInstances.bpmnElement
   otherExtensionList.value = []
   bpmnElementListeners.value =
-    // bpmnElement.value.businessObject?.extensionElements?.filter(
     bpmnElement.value.businessObject?.extensionElements?.filter(
+      // bpmnElement.value.businessObject?.extensionElements?.values.filter(
       (ex) => ex.$type === `${prefix}:TaskListener`
     ) ?? []
   elementListenersList.value = bpmnElementListeners.value.map((listener) =>
diff --git a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/other/ElementOtherConfig.vue b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/other/ElementOtherConfig.vue
index 37b180f01..2ba1ee710 100644
--- a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/other/ElementOtherConfig.vue
+++ b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/other/ElementOtherConfig.vue
@@ -25,22 +25,8 @@ const props = defineProps({
 const documentation = ref('')
 const bpmnElement = ref()
 const updateDocumentation = () => {
-  console.log(props, 'props')
-  console.log(window, 'window')
-  console.log(
-    window.bpmnInstances.elementRegistry.get(props.id),
-    'window.bpmnInstances.elementRegistry.get(props.id)'
-  )
-  console.log(bpmnElement.value, 'bpmnElement.value ')
-  if (bpmnElement.value && bpmnElement.value.id === props.id) {
-    bpmnElement.value = window?.bpmnInstances.elementRegistry.get(props.id)
-  }
-  console.log(
-    bpmnElement.value,
-    'bpmnElement.value bpmnElement.value bpmnElement.value bpmnElement.value bpmnElement.value bpmnElement.value '
-  )
-  // (bpmnElement.value && bpmnElement.value.id === props.id) ||
-  //   (bpmnElement.value = window.bpmnInstances.elementRegistry.get(props.id))
+  ;(bpmnElement.value && bpmnElement.value.id === props.id) ||
+    (bpmnElement.value = (window as any).bpmnInstances.elementRegistry.get(props.id))
   const documentations = window.bpmnInstances.bpmnFactory.create('bpmn:Documentation', {
     text: documentation.value
   })
diff --git a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/properties/ElementProperties.vue b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/properties/ElementProperties.vue
index 07770f62c..296dbcbd5 100644
--- a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/properties/ElementProperties.vue
+++ b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/properties/ElementProperties.vue
@@ -86,8 +86,8 @@ const resetAttributesList = () => {
   bpmnElement.value = window.bpmnInstances.bpmnElement
   otherExtensionList.value = [] // 其他扩展配置
   bpmnElementProperties.value =
-    // bpmnElement.value.businessObject?.extensionElements?.filter((ex) => {
-    bpmnElement.value.businessObject?.extensionElements?.values.filter((ex) => {
+    bpmnElement.value.businessObject?.extensionElements?.filter((ex) => {
+      // bpmnElement.value.businessObject?.extensionElements?.values.filter((ex) => {
       if (ex.$type !== `${prefix}:Properties`) {
         otherExtensionList.value.push(ex)
       }
diff --git a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/task/ElementTask.vue b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/task/ElementTask.vue
index bac1ccbea..b5f6f1c21 100644
--- a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/task/ElementTask.vue
+++ b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/task/ElementTask.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="panel-tab__content">
-    <el-form size="mini" label-width="90px">
+    <el-form size="small" label-width="90px">
       <el-form-item label="异步延续">
         <el-checkbox
           v-model="taskConfigForm.asyncBefore"
diff --git a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/task/task-components/ReceiveTask.vue b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/task/task-components/ReceiveTask.vue
index c4816dd3e..c3fef8bde 100644
--- a/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/task/task-components/ReceiveTask.vue
+++ b/yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/task/task-components/ReceiveTask.vue
@@ -34,7 +34,7 @@
       append-to-body
       destroy-on-close
     >
-      <el-form :model="newMessageForm" size="mini" label-width="90px">
+      <el-form :model="newMessageForm" size="small" label-width="90px">
         <el-form-item label="消息ID">
           <el-input v-model="newMessageForm.id" clearable />
         </el-form-item>
@@ -43,7 +43,7 @@
         </el-form-item>
       </el-form>
       <template #footer>
-        <el-button size="mini" type="primary" @click="createNewMessage">确 认</el-button>
+        <el-button size="small" type="primary" @click="createNewMessage">确 认</el-button>
       </template>
     </el-dialog>
   </div>