fix: Node copied in orchestration, default name incorrect, should be in numerical calculation form of+1, not string form of+1 (#3818)
This commit is contained in:
parent
2337dee02d
commit
47c51c9466
@ -244,9 +244,9 @@ const editName = async (formEl: FormInstance | undefined) => {
|
|||||||
await formEl.validate((valid) => {
|
await formEl.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (
|
if (
|
||||||
!props.nodeModel.graphModel.nodes?.some(
|
!props.nodeModel.graphModel.nodes
|
||||||
(node: any) => node.properties.stepName === form.value.title,
|
.filter((node: any) => node.id !== props.nodeModel.id)
|
||||||
)
|
?.some((node: any) => node.properties.stepName === form.value.title)
|
||||||
) {
|
) {
|
||||||
set(props.nodeModel.properties, 'stepName', form.value.title)
|
set(props.nodeModel.properties, 'stepName', form.value.title)
|
||||||
nodeNameDialogVisible.value = false
|
nodeNameDialogVisible.value = false
|
||||||
|
|||||||
@ -12,6 +12,20 @@ import { nodeDict } from '@/workflow/common/data'
|
|||||||
import { isActive, connect, disconnect } from './teleport'
|
import { isActive, connect, disconnect } from './teleport'
|
||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import { type Dict } from '@/api/type/common'
|
import { type Dict } from '@/api/type/common'
|
||||||
|
const getNodeName = (nodes: Array<any>, baseName: string) => {
|
||||||
|
let index = 0
|
||||||
|
let name = baseName
|
||||||
|
while (true) {
|
||||||
|
if (index > 0) {
|
||||||
|
name = baseName + index
|
||||||
|
console.log(name)
|
||||||
|
}
|
||||||
|
if (!nodes.some((node: any) => node.properties.stepName === name.trim())) {
|
||||||
|
return name
|
||||||
|
}
|
||||||
|
index++
|
||||||
|
}
|
||||||
|
}
|
||||||
class AppNode extends HtmlResize.view {
|
class AppNode extends HtmlResize.view {
|
||||||
isMounted
|
isMounted
|
||||||
r?: any
|
r?: any
|
||||||
@ -32,23 +46,14 @@ class AppNode extends HtmlResize.view {
|
|||||||
if (props.model.properties.noRender) {
|
if (props.model.properties.noRender) {
|
||||||
delete props.model.properties.noRender
|
delete props.model.properties.noRender
|
||||||
} else {
|
} else {
|
||||||
const filterNodes = props.graphModel.nodes.filter((v: any) => v.type === props.model.type)
|
console.log('ss', props.model.properties.stepName)
|
||||||
const filterNameSameNodes = filterNodes.filter(
|
console.log(props.graphModel.nodes, this)
|
||||||
(v: any) => v.properties.stepName === props.model.properties.stepName,
|
props.model.properties.stepName = getNodeName(
|
||||||
|
props.graphModel.nodes.filter((node: any) => node.id !== props.model.id),
|
||||||
|
props.model.properties.stepName,
|
||||||
)
|
)
|
||||||
if (filterNameSameNodes.length - 1 > 0) {
|
|
||||||
getNodesName(filterNameSameNodes.length - 1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function getNodesName(num: number) {
|
|
||||||
const number = num
|
|
||||||
const name = props.model.properties.stepName + number
|
|
||||||
if (!props.graphModel.nodes?.some((node: any) => node.properties.stepName === name.trim())) {
|
|
||||||
props.model.properties.stepName = name
|
|
||||||
} else {
|
|
||||||
getNodesName(number + 1)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
props.model.properties.config = nodeDict[props.model.type].properties.config
|
props.model.properties.config = nodeDict[props.model.type].properties.config
|
||||||
if (props.model.properties.height) {
|
if (props.model.properties.height) {
|
||||||
props.model.height = props.model.properties.height
|
props.model.height = props.model.properties.height
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user