Browse Source

BPM:修复 bpmnxml 为空时,展示的 key 被覆盖的问题

YunaiV 11 tháng trước cách đây
mục cha
commit
9f3bc1ead8

+ 0 - 15
src/components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue

@@ -3,13 +3,6 @@
     <el-form label-width="90px" :model="needProps" :rules="rules">
       <div v-if="needProps.type == 'bpmn:Process'">
         <!-- 如果是 Process 信息的时候,使用自定义表单 -->
-        <el-link
-          href="https://doc.iocoder.cn/bpm/#_3-%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%A4%BA%E4%BE%8B"
-          type="danger"
-          target="_blank"
-        >
-          如何实现实现会签、或签?
-        </el-link>
         <el-form-item label="流程标识" prop="id">
           <el-input
             v-model="needProps.id"
@@ -139,14 +132,6 @@ const updateBaseInfo = (key) => {
   }
 }
 
-onMounted(() => {
-  // 针对上传的 bpmn 流程图时,需要延迟 1 毫秒的时间,保证 key 和 name 的更新
-  setTimeout(() => {
-    handleKeyUpdate(props.model.key)
-    handleNameUpdate(props.model.name)
-  }, 110)
-})
-
 watch(
   () => props.businessObject,
   (val) => {

+ 10 - 0
src/views/bpm/model/editor/index.vue

@@ -89,6 +89,16 @@ onMounted(async () => {
   }
   // 查询模型
   const data = await ModelApi.getModel(modelId)
+  if (!data.bpmnXml) {
+    // 首次创建的 Model 模型,它是没有 bpmnXml,此时需要给它一个默认的
+    data.bpmnXml = ` <?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.activiti.org/processdef">
+  <process id="${data.key}" name="${data.name}" isExecutable="true" />
+  <bpmndi:BPMNDiagram id="BPMNDiagram">
+    <bpmndi:BPMNPlane id="${data.key}_di" bpmnElement="${data.key}" />
+  </bpmndi:BPMNDiagram>
+</definitions>`
+  }
   model.value = {
     ...data,
     bpmnXml: undefined // 清空 bpmnXml 属性