File tree Expand file tree Collapse file tree 2 files changed +25
-10
lines changed Expand file tree Collapse file tree 2 files changed +25
-10
lines changed Original file line number Diff line number Diff line change @@ -47,11 +47,15 @@ const modelData = computed({
47
47
})
48
48
49
49
// 监听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
+ )
55
59
56
60
/** 处理设计器保存成功 */
57
61
const handleDesignSuccess = (bpmnXml ? : string ) => {
@@ -67,6 +71,11 @@ const handleDesignSuccess = (bpmnXml?: string) => {
67
71
68
72
/** 表单校验 */
69
73
const validate = async () => {
74
+ // 修改场景下,如果已有 modelData.bpmnXml 则不需要重新校验
75
+ if (modelData .value .id && modelData .value .bpmnXml ) {
76
+ return true
77
+ }
78
+ // 新增场景或无 bpmnXml 时才校验
70
79
if (! xmlString .value ) {
71
80
throw new Error (' 请设计流程' )
72
81
}
@@ -75,11 +84,17 @@ const validate = async () => {
75
84
76
85
/** 是否显示设计器 */
77
86
const showDesigner = computed (() => {
78
- return Boolean (modelData .value .key && modelData .value .name )
87
+ return Boolean (modelData .value ? .key && modelData .value ? .name )
79
88
})
80
89
90
+ /** 获取当前XML字符串 */
91
+ const getXmlString = () => {
92
+ // 优先返回最新的 xmlString
93
+ return xmlString .value || modelData .value ?.bpmnXml
94
+ }
95
+
81
96
defineExpose ({
82
97
validate ,
83
- getXmlString : () => xmlString . value
98
+ getXmlString
84
99
})
85
- </script >
100
+ </script >
Original file line number Diff line number Diff line change 52
52
<!-- 主体内容 -->
53
53
<div class =" mt-50px" >
54
54
<!-- 第一步:基本信息 -->
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" >
56
56
<BasicInfo
57
57
v-model =" formData"
58
58
:categoryList =" categoryList"
62
62
</div >
63
63
64
64
<!-- 第二步:表单设计 -->
65
- <div v-if =" currentStep === 1" class =" mx-auto w-1024px" >
65
+ <div v-if =" currentStep === 1" class =" mx-auto max- w-1024px" >
66
66
<FormDesign v-model =" formData" :formList =" formList" ref =" formDesignRef" />
67
67
</div >
68
68
You can’t perform that action at this time.
0 commit comments