Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
21c28c36
authored
Dec 14, 2024
by
GoldenZqqqq
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 修改设计流程切换到第三步自动赋值流程标识与流程名称逻辑
parent
9459a729
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
245 additions
and
73 deletions
+245
-73
src/components/SimpleProcessDesignerV2/src/SimpleProcessDesigner.vue
+26
-0
src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue
+83
-39
src/views/bpm/model/CreateUpdate.vue
+35
-6
src/views/bpm/model/editor/index.vue
+91
-27
src/views/bpm/simple/SimpleModelDesign.vue
+10
-1
No files found.
src/components/SimpleProcessDesignerV2/src/SimpleProcessDesigner.vue
View file @
21c28c36
...
@@ -79,6 +79,32 @@ const processNodeTree = ref<SimpleFlowNode | undefined>()
...
@@ -79,6 +79,32 @@ const processNodeTree = ref<SimpleFlowNode | undefined>()
const
errorDialogVisible
=
ref
(
false
)
const
errorDialogVisible
=
ref
(
false
)
let
errorNodes
:
SimpleFlowNode
[]
=
[]
let
errorNodes
:
SimpleFlowNode
[]
=
[]
// 添加更新模型的方法
const
updateModel
=
(
key
?:
string
,
name
?:
string
)
=>
{
if
(
!
processNodeTree
.
value
)
{
processNodeTree
.
value
=
{
name
:
name
||
'发起人'
,
type
:
NodeType
.
START_USER_NODE
,
id
:
NodeId
.
START_USER_NODE_ID
,
childNode
:
{
id
:
NodeId
.
END_EVENT_NODE_ID
,
name
:
'结束'
,
type
:
NodeType
.
END_EVENT_NODE
}
}
}
else
if
(
name
)
{
// 更新现有模型的名称
processNodeTree
.
value
.
name
=
name
}
}
// 监听属性变化
watch
([()
=>
props
.
modelKey
,
()
=>
props
.
modelName
],
([
newKey
,
newName
])
=>
{
if
(
!
props
.
modelId
&&
newKey
&&
newName
)
{
updateModel
(
newKey
,
newName
)
}
},
{
immediate
:
true
,
deep
:
true
})
const
saveSimpleFlowModel
=
async
(
simpleModelNode
:
SimpleFlowNode
)
=>
{
const
saveSimpleFlowModel
=
async
(
simpleModelNode
:
SimpleFlowNode
)
=>
{
if
(
!
simpleModelNode
)
{
if
(
!
simpleModelNode
)
{
message
.
error
(
'模型数据为空'
)
message
.
error
(
'模型数据为空'
)
...
...
src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue
View file @
21c28c36
<
template
>
<
template
>
<div
class=
"process-panel__container"
:style=
"
{ width: `${width}px` }">
<div
class=
"process-panel__container"
:style=
"
{ width: `${width}px` }">
<el-collapse
v-model=
"activeTab"
>
<el-collapse
v-model=
"activeTab"
v-if=
"isReady"
>
<el-collapse-item
name=
"base"
>
<el-collapse-item
name=
"base"
>
<!-- class="panel-tab__title" -->
<!-- class="panel-tab__title" -->
<template
#
title
>
<template
#
title
>
...
@@ -108,24 +108,16 @@ const elementBusinessObject = ref<any>({}) // 元素 businessObject 镜像,提
...
@@ -108,24 +108,16 @@ const elementBusinessObject = ref<any>({}) // 元素 businessObject 镜像,提
const
conditionFormVisible
=
ref
(
false
)
// 流转条件设置
const
conditionFormVisible
=
ref
(
false
)
// 流转条件设置
const
formVisible
=
ref
(
false
)
// 表单配置
const
formVisible
=
ref
(
false
)
// 表单配置
const
bpmnElement
=
ref
()
const
bpmnElement
=
ref
()
const
isReady
=
ref
(
false
)
provide
(
'prefix'
,
props
.
prefix
)
provide
(
'prefix'
,
props
.
prefix
)
provide
(
'width'
,
props
.
width
)
provide
(
'width'
,
props
.
width
)
const
bpmnInstances
=
()
=>
(
window
as
any
)?.
bpmnInstances
// 监听 props.bpmnModeler 然后 initModels
const
unwatchBpmn
=
watch
(
()
=>
props
.
bpmnModeler
,
()
=>
{
// 避免加载时 流程图 并未加载完成
if
(
!
props
.
bpmnModeler
)
{
console
.
log
(
'缺少props.bpmnModeler'
)
return
}
console
.
log
(
'props.bpmnModeler 有值了!!!'
)
// 初始化 bpmnInstances
const
w
=
window
as
any
const
initBpmnInstances
=
()
=>
{
w
.
bpmnInstances
=
{
if
(
!
props
.
bpmnModeler
)
return
false
try
{
const
instances
=
{
modeler
:
props
.
bpmnModeler
,
modeler
:
props
.
bpmnModeler
,
modeling
:
props
.
bpmnModeler
.
get
(
'modeling'
),
modeling
:
props
.
bpmnModeler
.
get
(
'modeling'
),
moddle
:
props
.
bpmnModeler
.
get
(
'moddle'
),
moddle
:
props
.
bpmnModeler
.
get
(
'moddle'
),
...
@@ -136,10 +128,46 @@ const unwatchBpmn = watch(
...
@@ -136,10 +128,46 @@ const unwatchBpmn = watch(
replace
:
props
.
bpmnModeler
.
get
(
'replace'
),
replace
:
props
.
bpmnModeler
.
get
(
'replace'
),
selection
:
props
.
bpmnModeler
.
get
(
'selection'
)
selection
:
props
.
bpmnModeler
.
get
(
'selection'
)
}
}
// 检查所有实例是否都存在
const
allInstancesExist
=
Object
.
values
(
instances
).
every
(
instance
=>
instance
)
if
(
allInstancesExist
)
{
const
w
=
window
as
any
w
.
bpmnInstances
=
instances
return
true
}
return
false
}
catch
(
error
)
{
console
.
error
(
'初始化 bpmnInstances 失败:'
,
error
)
return
false
}
}
const
bpmnInstances
=
()
=>
(
window
as
any
)?.
bpmnInstances
// 监听 props.bpmnModeler 然后 initModels
const
unwatchBpmn
=
watch
(
()
=>
props
.
bpmnModeler
,
async
()
=>
{
// 避免加载时 流程图 并未加载完成
if
(
!
props
.
bpmnModeler
)
{
console
.
log
(
'缺少props.bpmnModeler'
)
return
}
console
.
log
(
bpmnInstances
(),
'window.bpmnInstances'
)
try
{
getActiveElement
()
// 等待 modeler 初始化完成
unwatchBpmn
()
await
nextTick
()
if
(
initBpmnInstances
())
{
isReady
.
value
=
true
await
nextTick
()
getActiveElement
()
}
else
{
console
.
error
(
'modeler 实例未完全初始化'
)
}
}
catch
(
error
)
{
console
.
error
(
'初始化失败:'
,
error
)
}
},
},
{
{
immediate
:
true
immediate
:
true
...
@@ -147,6 +175,8 @@ const unwatchBpmn = watch(
...
@@ -147,6 +175,8 @@ const unwatchBpmn = watch(
)
)
const
getActiveElement
=
()
=>
{
const
getActiveElement
=
()
=>
{
if
(
!
isReady
.
value
||
!
props
.
bpmnModeler
)
return
// 初始第一个选中元素 bpmn:Process
// 初始第一个选中元素 bpmn:Process
initFormOnChanged
(
null
)
initFormOnChanged
(
null
)
props
.
bpmnModeler
.
on
(
'import.done'
,
(
e
)
=>
{
props
.
bpmnModeler
.
on
(
'import.done'
,
(
e
)
=>
{
...
@@ -164,8 +194,11 @@ const getActiveElement = () => {
...
@@ -164,8 +194,11 @@ const getActiveElement = () => {
}
}
})
})
}
}
// 初始化数据
// 初始化数据
const
initFormOnChanged
=
(
element
)
=>
{
const
initFormOnChanged
=
(
element
)
=>
{
if
(
!
isReady
.
value
||
!
bpmnInstances
())
return
let
activatedElement
=
element
let
activatedElement
=
element
if
(
!
activatedElement
)
{
if
(
!
activatedElement
)
{
activatedElement
=
activatedElement
=
...
@@ -173,32 +206,36 @@ const initFormOnChanged = (element) => {
...
@@ -173,32 +206,36 @@ const initFormOnChanged = (element) => {
bpmnInstances
().
elementRegistry
.
find
((
el
)
=>
el
.
type
===
'bpmn:Collaboration'
)
bpmnInstances
().
elementRegistry
.
find
((
el
)
=>
el
.
type
===
'bpmn:Collaboration'
)
}
}
if
(
!
activatedElement
)
return
if
(
!
activatedElement
)
return
console
.
log
(
`
----------
try
{
select element changed:
console
.
log
(
`
id:
${
activatedElement
.
id
}
----------
type:
${
activatedElement
.
businessObject
.
$type
}
select element changed:
----------
id:
${
activatedElement
.
id
}
`
)
type:
${
activatedElement
.
businessObject
.
$type
}
console
.
log
(
'businessObject: '
,
activatedElement
.
businessObject
)
----------
bpmnInstances
().
bpmnElement
=
activatedElement
`
)
bpmnElement
.
value
=
activatedElement
console
.
log
(
'businessObject: '
,
activatedElement
.
businessObject
)
elementId
.
value
=
activatedElement
.
id
bpmnInstances
().
bpmnElement
=
activatedElement
elementType
.
value
=
activatedElement
.
type
.
split
(
':'
)[
1
]
||
''
bpmnElement
.
value
=
activatedElement
elementBusinessObject
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
activatedElement
.
businessObject
))
elementId
.
value
=
activatedElement
.
id
conditionFormVisible
.
value
=
!!
(
elementType
.
value
=
activatedElement
.
type
.
split
(
':'
)[
1
]
||
''
elementType
.
value
===
'SequenceFlow'
&&
elementBusinessObject
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
activatedElement
.
businessObject
))
activatedElement
.
source
&&
conditionFormVisible
.
value
=
!!
(
activatedElement
.
source
.
type
.
indexOf
(
'StartEvent'
)
===
-
1
elementType
.
value
===
'SequenceFlow'
&&
)
activatedElement
.
source
&&
formVisible
.
value
=
elementType
.
value
===
'UserTask'
||
elementType
.
value
===
'StartEvent'
activatedElement
.
source
.
type
.
indexOf
(
'StartEvent'
)
===
-
1
)
formVisible
.
value
=
elementType
.
value
===
'UserTask'
||
elementType
.
value
===
'StartEvent'
}
catch
(
error
)
{
console
.
error
(
'初始化表单数据失败:'
,
error
)
}
}
}
onBeforeUnmount
(()
=>
{
onBeforeUnmount
(()
=>
{
const
w
=
window
as
any
const
w
=
window
as
any
w
.
bpmnInstances
=
null
w
.
bpmnInstances
=
null
console
.
log
(
props
,
'props1'
)
isReady
.
value
=
false
console
.
log
(
props
.
bpmnModeler
,
'props.bpmnModeler1'
)
})
})
watch
(
watch
(
...
@@ -208,3 +245,10 @@ watch(
...
@@ -208,3 +245,10 @@ watch(
}
}
)
)
</
script
>
</
script
>
<
style
lang=
"scss"
>
.process-panel__container
{
position
:
absolute
;
top
:
90px
;
right
:
60px
;
}
</
style
>
src/views/bpm/model/CreateUpdate.vue
View file @
21c28c36
...
@@ -274,6 +274,7 @@
...
@@ -274,6 +274,7 @@
<!-- BPMN设计器 -->
<!-- BPMN设计器 -->
<template
v-if=
"formData.type === BpmModelType.BPMN"
>
<template
v-if=
"formData.type === BpmModelType.BPMN"
>
<BpmModelEditor
<BpmModelEditor
v-if=
"showDesigner"
:model-id=
"formData.id"
:model-id=
"formData.id"
:model-key=
"formData.key"
:model-key=
"formData.key"
:model-name=
"formData.name"
:model-name=
"formData.name"
...
@@ -284,6 +285,7 @@
...
@@ -284,6 +285,7 @@
<!-- Simple设计器 -->
<!-- Simple设计器 -->
<
template
v-else
>
<
template
v-else
>
<SimpleModelDesign
<SimpleModelDesign
v-if=
"showDesigner"
:model-id=
"formData.id"
:model-id=
"formData.id"
:model-key=
"formData.key"
:model-key=
"formData.key"
:model-name=
"formData.name"
:model-name=
"formData.name"
...
@@ -547,16 +549,43 @@ const handleDesignSuccess = (bpmnXml?: string) => {
...
@@ -547,16 +549,43 @@ const handleDesignSuccess = (bpmnXml?: string) => {
// 步骤切换处理
// 步骤切换处理
const
handleStepClick
=
async
(
index
:
number
)
=>
{
const
handleStepClick
=
async
(
index
:
number
)
=>
{
// 如果是切换到第三步(流程设计),需要校验key和name
// 如果是切换到第三步(流程设计),需要校验key和name
if
(
index
===
2
&&
!
formData
.
value
.
id
)
{
if
(
index
===
2
)
{
// 新增时才校验
if
(
!
formData
.
value
.
id
)
{
if
(
!
formData
.
value
.
key
||
!
formData
.
value
.
name
)
{
// 新增时才校验
message
.
warning
(
'请先填写流程标识和流程名称'
)
try
{
return
await
formRef
.
value
?.
validateField
([
'key'
,
'name'
])
// 确保数据已经准备好
await
nextTick
()
}
catch
(
error
)
{
message
.
warning
(
'请先填写流程标识和流程名称'
)
return
}
}
}
// 确保数据已经准备好再切换
await
nextTick
()
}
}
currentStep
.
value
=
index
currentStep
.
value
=
index
}
}
// 添加一个计算属性来判断是否显示设计器
const
showDesigner
=
computed
(()
=>
{
return
currentStep
.
value
===
2
&&
Boolean
(
formData
.
value
.
id
||
(
formData
.
value
.
key
&&
formData
.
value
.
name
))
})
// 监听步骤变化,确保数据准备完成
watch
(()
=>
currentStep
.
value
,
async
(
newStep
)
=>
{
if
(
newStep
===
2
)
{
await
nextTick
()
}
},
{
immediate
:
false
})
// 在组件卸载时清理
onBeforeUnmount
(()
=>
{
const
w
=
window
as
any
if
(
w
.
bpmnInstances
)
{
w
.
bpmnInstances
=
null
}
})
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
...
src/views/bpm/model/editor/index.vue
View file @
21c28c36
...
@@ -3,7 +3,6 @@
...
@@ -3,7 +3,6 @@
<!-- 流程设计器,负责绘制流程等 -->
<!-- 流程设计器,负责绘制流程等 -->
<MyProcessDesigner
<MyProcessDesigner
key=
"designer"
key=
"designer"
v-if=
"xmlString !== undefined"
v-model=
"xmlString"
v-model=
"xmlString"
:value=
"xmlString"
:value=
"xmlString"
v-bind=
"controlForm"
v-bind=
"controlForm"
...
@@ -16,8 +15,9 @@
...
@@ -16,8 +15,9 @@
/>
/>
<!-- 流程属性器,负责编辑每个流程节点的属性 -->
<!-- 流程属性器,负责编辑每个流程节点的属性 -->
<MyProcessPenal
<MyProcessPenal
v-if=
"isModelerReady && modeler"
key=
"penal"
key=
"penal"
:bpmnModeler=
"modeler
as any
"
:bpmnModeler=
"modeler"
:prefix=
"controlForm.prefix"
:prefix=
"controlForm.prefix"
class=
"process-panel"
class=
"process-panel"
:model=
"model"
:model=
"model"
...
@@ -44,8 +44,10 @@ const props = defineProps<{
...
@@ -44,8 +44,10 @@ const props = defineProps<{
const
emit
=
defineEmits
([
'success'
])
const
emit
=
defineEmits
([
'success'
])
const
message
=
useMessage
()
// 国际化
const
message
=
useMessage
()
// 国际化
const
xmlString
=
ref
<
string
>
()
// BPMN XML
const
xmlString
=
ref
<
string
>
(
''
)
// BPMN XML
const
modeler
=
ref
(
null
)
// BPMN Modeler
const
modeler
=
shallowRef
()
// BPMN Modeler
const
processDesigner
=
ref
()
const
isModelerReady
=
ref
(
false
)
const
controlForm
=
ref
({
const
controlForm
=
ref
({
simulation
:
true
,
simulation
:
true
,
labelEditing
:
false
,
labelEditing
:
false
,
...
@@ -56,11 +58,49 @@ const controlForm = ref({
...
@@ -56,11 +58,49 @@ const controlForm = ref({
})
})
const
model
=
ref
<
ModelApi
.
ModelVO
>
()
// 流程模型的信息
const
model
=
ref
<
ModelApi
.
ModelVO
>
()
// 流程模型的信息
// 初始化 bpmnInstances
const
initBpmnInstances
=
()
=>
{
if
(
!
modeler
.
value
)
return
false
try
{
const
instances
=
{
modeler
:
modeler
.
value
,
modeling
:
modeler
.
value
.
get
(
'modeling'
),
moddle
:
modeler
.
value
.
get
(
'moddle'
),
eventBus
:
modeler
.
value
.
get
(
'eventBus'
),
bpmnFactory
:
modeler
.
value
.
get
(
'bpmnFactory'
),
elementFactory
:
modeler
.
value
.
get
(
'elementFactory'
),
elementRegistry
:
modeler
.
value
.
get
(
'elementRegistry'
),
replace
:
modeler
.
value
.
get
(
'replace'
),
selection
:
modeler
.
value
.
get
(
'selection'
)
}
// 检查所有实例是否都存在
return
Object
.
values
(
instances
).
every
(
instance
=>
instance
)
}
catch
(
error
)
{
console
.
error
(
'初始化 bpmnInstances 失败:'
,
error
)
return
false
}
}
/** 初始化 modeler */
/** 初始化 modeler */
const
initModeler
=
(
item
)
=>
{
const
initModeler
=
async
(
item
)
=>
{
setTimeout
(()
=>
{
try
{
modeler
.
value
=
item
modeler
.
value
=
item
},
10
)
// 等待 modeler 初始化完成
await
nextTick
()
// 确保 modeler 的所有实例都已经准备好
if
(
initBpmnInstances
())
{
isModelerReady
.
value
=
true
if
(
!
props
.
modelId
&&
props
.
modelKey
&&
props
.
modelName
)
{
await
updateModelData
(
props
.
modelKey
,
props
.
modelName
)
}
}
else
{
console
.
error
(
'modeler 实例未完全初始化'
)
}
}
catch
(
error
)
{
console
.
error
(
'初始化 modeler 失败:'
,
error
)
}
}
}
/** 获取默认的BPMN XML */
/** 获取默认的BPMN XML */
...
@@ -97,9 +137,9 @@ const save = async (bpmnXml: string) => {
...
@@ -97,9 +137,9 @@ const save = async (bpmnXml: string) => {
/** 初始化 */
/** 初始化 */
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
if
(
props
.
modelId
)
{
try
{
// 编辑模式
if
(
props
.
modelId
)
{
try
{
// 编辑模式
// 查询模型
// 查询模型
const
data
=
await
ModelApi
.
getModel
(
props
.
modelId
)
const
data
=
await
ModelApi
.
getModel
(
props
.
modelId
)
model
.
value
=
{
model
.
value
=
{
...
@@ -107,30 +147,54 @@ onMounted(async () => {
...
@@ -107,30 +147,54 @@ onMounted(async () => {
bpmnXml
:
undefined
// 清空 bpmnXml 属性
bpmnXml
:
undefined
// 清空 bpmnXml 属性
}
}
xmlString
.
value
=
data
.
bpmnXml
||
getDefaultBpmnXml
(
data
.
key
,
data
.
name
)
xmlString
.
value
=
data
.
bpmnXml
||
getDefaultBpmnXml
(
data
.
key
,
data
.
name
)
}
catch
(
error
)
{
}
else
if
(
props
.
modelKey
&&
props
.
modelName
)
{
console
.
error
(
'获取模型失败:'
,
error
)
// 新建模式
message
.
error
(
'获取模型失败'
)
xmlString
.
value
=
getDefaultBpmnXml
(
props
.
modelKey
,
props
.
modelName
)
model
.
value
=
{
key
:
props
.
modelKey
,
name
:
props
.
modelName
}
as
ModelApi
.
ModelVO
}
}
}
else
if
(
props
.
modelKey
&&
props
.
modelName
)
{
}
catch
(
error
)
{
// 新建模式,使用传入的key和name创建默认XML
console
.
error
(
'初始化失败:'
,
error
)
xmlString
.
value
=
getDefaultBpmnXml
(
props
.
modelKey
,
props
.
modelName
)
message
.
error
(
'初始化失败'
)
model
.
value
=
{
key
:
props
.
modelKey
,
name
:
props
.
modelName
}
as
ModelApi
.
ModelVO
}
}
})
})
//
监听key和name的变化
//
更新模型数据
watch
([()
=>
props
.
modelKey
,
()
=>
props
.
modelName
],
([
newKey
,
newName
]
)
=>
{
const
updateModelData
=
async
(
key
?:
string
,
name
?:
string
)
=>
{
if
(
!
props
.
modelId
&&
newKey
&&
newN
ame
)
{
if
(
key
&&
n
ame
)
{
xmlString
.
value
=
getDefaultBpmnXml
(
newKey
,
newN
ame
)
xmlString
.
value
=
getDefaultBpmnXml
(
key
,
n
ame
)
model
.
value
=
{
model
.
value
=
{
key
:
newKey
,
...
model
.
value
,
name
:
newName
key
:
key
,
name
:
name
}
as
ModelApi
.
ModelVO
}
as
ModelApi
.
ModelVO
// 确保更新后重新渲染
await
nextTick
()
if
(
processDesigner
.
value
?.
refresh
)
{
processDesigner
.
value
.
refresh
()
}
}
}
},
{
immediate
:
true
})
}
// 监听key和name的变化
watch
([()
=>
props
.
modelKey
,
()
=>
props
.
modelName
],
async
([
newKey
,
newName
])
=>
{
if
(
!
props
.
modelId
&&
newKey
&&
newName
&&
modeler
.
value
)
{
await
updateModelData
(
newKey
,
newName
)
}
},
{
immediate
:
true
,
deep
:
true
})
// 在组件卸载时清理
onBeforeUnmount
(()
=>
{
isModelerReady
.
value
=
false
modeler
.
value
=
null
// 清理全局实例
const
w
=
window
as
any
if
(
w
.
bpmnInstances
)
{
w
.
bpmnInstances
=
null
}
})
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.process-panel__container
{
.process-panel__container
{
...
...
src/views/bpm/simple/SimpleModelDesign.vue
View file @
21c28c36
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
:model-key=
"modelKey"
:model-key=
"modelKey"
:model-name=
"modelName"
:model-name=
"modelName"
@
success=
"handleSuccess"
@
success=
"handleSuccess"
ref=
"designerRef"
/>
/>
</ContentWrap>
</ContentWrap>
</
template
>
</
template
>
...
@@ -15,13 +16,21 @@ defineOptions({
...
@@ -15,13 +16,21 @@ defineOptions({
name
:
'SimpleModelDesign'
name
:
'SimpleModelDesign'
})
})
defineProps
<
{
const
props
=
defineProps
<
{
modelId
?:
string
modelId
?:
string
modelKey
?:
string
modelKey
?:
string
modelName
?:
string
modelName
?:
string
}
>
()
}
>
()
const
emit
=
defineEmits
([
'success'
])
const
emit
=
defineEmits
([
'success'
])
const
designerRef
=
ref
()
// 监听属性变化
watch
([()
=>
props
.
modelKey
,
()
=>
props
.
modelName
],
([
newKey
,
newName
])
=>
{
if
(
designerRef
.
value
&&
newKey
&&
newName
)
{
designerRef
.
value
.
updateModel
(
newKey
,
newName
)
}
},
{
immediate
:
true
,
deep
:
true
})
// 修改成功回调
// 修改成功回调
const
handleSuccess
=
(
data
?:
any
)
=>
{
const
handleSuccess
=
(
data
?:
any
)
=>
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment