Skip to content

Commit a82862b

Browse files
committed
fix: 修改流程时,修改了流程设计保存不生效问题修复
1 parent f86bd0d commit a82862b

File tree

2 files changed

+25
-10
lines changed

2 files changed

+25
-10
lines changed

src/views/bpm/model/form/ProcessDesign.vue

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,15 @@ const modelData = computed({
4747
})
4848
4949
// 监听modelValue变化,确保XML数据同步
50-
watch(() => props.modelValue, (newVal) => {
51-
if (newVal.bpmnXml) {
52-
xmlString.value = newVal.bpmnXml
53-
}
54-
}, { immediate: true, deep: true })
50+
watch(
51+
() => props.modelValue,
52+
(newVal) => {
53+
if (newVal.bpmnXml) {
54+
xmlString.value = newVal.bpmnXml
55+
}
56+
},
57+
{ immediate: true, deep: true }
58+
)
5559
5660
/** 处理设计器保存成功 */
5761
const handleDesignSuccess = (bpmnXml?: string) => {
@@ -67,6 +71,11 @@ const handleDesignSuccess = (bpmnXml?: string) => {
6771
6872
/** 表单校验 */
6973
const validate = async () => {
74+
// 修改场景下,如果已有 modelData.bpmnXml 则不需要重新校验
75+
if (modelData.value.id && modelData.value.bpmnXml) {
76+
return true
77+
}
78+
// 新增场景或无 bpmnXml 时才校验
7079
if (!xmlString.value) {
7180
throw new Error('请设计流程')
7281
}
@@ -75,11 +84,17 @@ const validate = async () => {
7584
7685
/** 是否显示设计器 */
7786
const showDesigner = computed(() => {
78-
return Boolean(modelData.value.key && modelData.value.name)
87+
return Boolean(modelData.value?.key && modelData.value?.name)
7988
})
8089
90+
/** 获取当前XML字符串 */
91+
const getXmlString = () => {
92+
// 优先返回最新的 xmlString
93+
return xmlString.value || modelData.value?.bpmnXml
94+
}
95+
8196
defineExpose({
8297
validate,
83-
getXmlString: () => xmlString.value
98+
getXmlString
8499
})
85-
</script>
100+
</script>

src/views/bpm/model/form/index.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
<!-- 主体内容 -->
5353
<div class="mt-50px">
5454
<!-- 第一步:基本信息 -->
55-
<div v-if="currentStep === 0" class="mx-auto" style="max-width: 1024px">
55+
<div v-if="currentStep === 0" class="mx-auto max-w-1024px">
5656
<BasicInfo
5757
v-model="formData"
5858
:categoryList="categoryList"
@@ -62,7 +62,7 @@
6262
</div>
6363

6464
<!-- 第二步:表单设计 -->
65-
<div v-if="currentStep === 1" class="mx-auto w-1024px">
65+
<div v-if="currentStep === 1" class="mx-auto max-w-1024px">
6666
<FormDesign v-model="formData" :formList="formList" ref="formDesignRef" />
6767
</div>
6868

0 commit comments

Comments
 (0)