优化代码 切换点击条件分支后带来的 条件切换问题

This commit is contained in:
Lemon 2025-02-22 10:05:43 +08:00
parent b2ddefe4a0
commit c7b135e1f8

View File

@ -63,9 +63,43 @@ const props = defineProps({
})
const settingVisible = ref(false)
const currentNode = ref<SimpleFlowNode>(props.conditionNode)
const condition = ref<any>()
const condition = ref<any>({
conditionType: ConditionType.RULE, //
conditionExpression: '',
conditionGroups: {
and: true,
conditions: [{
and: true,
rules: [{
opCode: '==',
leftSide: '',
rightSide: ''
}]
}]
}
})
const open = () => {
condition.value = currentNode.value.conditionSetting
// 使使
if (currentNode.value.conditionSetting) {
condition.value = JSON.parse(JSON.stringify(currentNode.value.conditionSetting))
} else {
//
condition.value = {
conditionType: ConditionType.RULE,
conditionExpression: '',
conditionGroups: {
and: true,
conditions: [{
and: true,
rules: [{
opCode: '==',
leftSide: '',
rightSide: ''
}]
}]
}
}
}
settingVisible.value = true
}
@ -123,15 +157,13 @@ const saveConfig = async () => {
return false
}
currentNode.value.showText = showText
currentNode.value.conditionSetting!.conditionType = condition.value?.conditionType
if (currentNode.value.conditionSetting?.conditionType === ConditionType.EXPRESSION) {
currentNode.value.conditionSetting.conditionGroups = undefined
currentNode.value.conditionSetting.conditionExpression = condition.value?.conditionExpression
}
if (currentNode.value.conditionSetting!.conditionType === ConditionType.RULE) {
currentNode.value.conditionSetting!.conditionExpression = undefined
currentNode.value.conditionSetting!.conditionGroups = condition.value?.conditionGroups
}
// ,
currentNode.value.conditionSetting = JSON.parse(JSON.stringify({
...currentNode.value.conditionSetting,
conditionType: condition.value?.conditionType,
conditionExpression: condition.value?.conditionType === ConditionType.EXPRESSION ? condition.value?.conditionExpression : undefined,
conditionGroups: condition.value?.conditionType === ConditionType.RULE ? condition.value?.conditionGroups : undefined
}))
}
settingVisible.value = false
return true