1
This commit is contained in:
parent
ddcd2ea11b
commit
070e6b1c94
@ -928,16 +928,16 @@ const WorkflowDesign: React.FC = () => {
|
||||
const nodeMap = new Map();
|
||||
|
||||
// 创建节点
|
||||
response.graph?.nodes?.forEach((workflowDefinitionNode: any) => {
|
||||
const node = addNodeToGraph(false, graphInstance, workflowDefinitionNode, nodeDefinitions);
|
||||
response.graph?.nodes?.forEach((existingNode: any) => {
|
||||
const node = addNodeToGraph(false, graphInstance, existingNode, nodeDefinitions);
|
||||
// 只设置 graph 属性
|
||||
node.setProp('graph', {
|
||||
uiVariables: workflowDefinitionNode.uiVariables,
|
||||
panelVariables: workflowDefinitionNode.panelVariables,
|
||||
localVariables: workflowDefinitionNode.localVariables,
|
||||
formVariablesSchema: workflowDefinitionNode.formVariablesSchema
|
||||
uiVariables: existingNode.uiVariables,
|
||||
panelVariables: existingNode.panelVariables,
|
||||
localVariables: existingNode.localVariables,
|
||||
formVariablesSchema: existingNode.formVariablesSchema
|
||||
});
|
||||
nodeMap.set(workflowDefinitionNode.id, node);
|
||||
nodeMap.set(existingNode.id, node);
|
||||
});
|
||||
|
||||
// 创建边
|
||||
@ -990,7 +990,7 @@ const WorkflowDesign: React.FC = () => {
|
||||
});
|
||||
|
||||
// 传入节点数据,只在没有位置信息时应用自动布局
|
||||
applyAutoLayout(graphInstance, response.graph?.nodes || []);
|
||||
// applyAutoLayout(graphInstance, response.graph?.nodes || []);
|
||||
} catch (error) {
|
||||
console.error('加载工作流定义失败:', error);
|
||||
message.error('加载工作流定义失败');
|
||||
@ -1078,6 +1078,7 @@ const WorkflowDesign: React.FC = () => {
|
||||
const nodes = graph.getNodes().map(node => {
|
||||
const nodeType = node.getProp('nodeType');
|
||||
const graphData = node.getProp('graph') || {};
|
||||
const position = node.getPosition();
|
||||
const {
|
||||
uiVariables,
|
||||
panelVariables,
|
||||
@ -1090,7 +1091,10 @@ const WorkflowDesign: React.FC = () => {
|
||||
nodeCode: nodeType,
|
||||
nodeType: nodeType,
|
||||
nodeName: node.attr('label/text'),
|
||||
uiVariables,
|
||||
uiVariables: {
|
||||
...uiVariables,
|
||||
position: position
|
||||
},
|
||||
panelVariables,
|
||||
localVariables,
|
||||
formVariablesSchema
|
||||
|
||||
@ -46,23 +46,12 @@ export const addNodeToGraph = (
|
||||
shape,
|
||||
nodeType: isNew ? nodeDefinition.nodeType : currentNodeDefinition.nodeType,
|
||||
nodeCode: nodeDefinition.nodeCode,
|
||||
ports: convertPortConfig(uiVariables.ports),
|
||||
nodeDefinition: nodeDefinition
|
||||
ports: convertPortConfig(uiVariables.ports)
|
||||
};
|
||||
|
||||
// 设置节点位置
|
||||
if (isNew && position) {
|
||||
// 新节点:使用传入的position
|
||||
Object.assign(nodeConfig, { x: position.x, y: position.y });
|
||||
} else if (!isNew && currentNodeDefinition.graph?.position) {
|
||||
// 已有节点:使用后端返回的position
|
||||
Object.assign(nodeConfig, { position: currentNodeDefinition.graph.position });
|
||||
const nodePosition = isNew ? position : currentNodeDefinition.uiVariables?.position;
|
||||
if (nodePosition) {
|
||||
Object.assign(nodeConfig, nodePosition);
|
||||
}
|
||||
|
||||
// 设置节点ID(如果有)
|
||||
if (uiVariables.id) {
|
||||
Object.assign(nodeConfig, { id: uiVariables.id });
|
||||
}
|
||||
|
||||
return graph.addNode(nodeConfig);
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user