diff --git a/src/components/FlowEditor/node/basicNode/BasicNode.tsx b/src/components/FlowEditor/node/basicNode/BasicNode.tsx index b4ba64a..ad09480 100644 --- a/src/components/FlowEditor/node/basicNode/BasicNode.tsx +++ b/src/components/FlowEditor/node/basicNode/BasicNode.tsx @@ -29,7 +29,7 @@ const BasicNode = ({ data, id }: { data: any; id: string }) => { {title} - + ); }; diff --git a/src/components/FlowEditor/node/index.tsx b/src/components/FlowEditor/node/index.tsx index 8e66ce7..1c94388 100644 --- a/src/components/FlowEditor/node/index.tsx +++ b/src/components/FlowEditor/node/index.tsx @@ -16,6 +16,7 @@ export const nodeTypes: NodeTypes = { start: StartNode, end: EndNode, BASIC: BasicNode, + BASIC_LOOP: BasicNode, SUB: BasicNode, APP: AppNode, CODE: CodeNode, @@ -31,6 +32,7 @@ export const nodeTypeMap: Record = { 'start': 'start', 'end': 'end', 'basic': 'BASIC', + 'basic_loop': 'BASIC_LOOP', 'sub': 'SUB', 'app': 'APP', 'code': 'CODE', @@ -46,6 +48,7 @@ export const nodeTypeNameMap: Record = { 'start': '开始节点', 'end': '结束节点', 'basic': '基础节点', + 'basic_loop': '基础节点', 'sub': '复合节点', 'app': '应用节点', 'code': '代码节点', diff --git a/src/components/FlowEditor/nodeEditors/BasicNodeEditor.tsx b/src/components/FlowEditor/nodeEditors/BasicNodeEditor.tsx index 3aa53ef..4bebf23 100644 --- a/src/components/FlowEditor/nodeEditors/BasicNodeEditor.tsx +++ b/src/components/FlowEditor/nodeEditors/BasicNodeEditor.tsx @@ -91,7 +91,6 @@ const BasicNodeEditor: React.FC = ({ runType: item.runType }; }); - console.log('newOptions:', newOptions); setOptions(newOptions); } }; diff --git a/src/components/FlowEditor/nodeEditors/index.tsx b/src/components/FlowEditor/nodeEditors/index.tsx index 4c31aef..f30e515 100644 --- a/src/components/FlowEditor/nodeEditors/index.tsx +++ b/src/components/FlowEditor/nodeEditors/index.tsx @@ -17,6 +17,7 @@ export interface NodeEditorProps { // 节点编辑器映射 export const nodeEditors: Record> = { 'basic': BasicNodeEditor, + 'basic_loop': BasicNodeEditor, 'start': StartNodeEditor, 'end': EndNodeEditor, 'local': LocalNodeEditor // 用于所有本地节点类型的编辑器 diff --git a/src/hooks/useFlowCallbacks.ts b/src/hooks/useFlowCallbacks.ts index f91c3e5..44a6df2 100644 --- a/src/hooks/useFlowCallbacks.ts +++ b/src/hooks/useFlowCallbacks.ts @@ -940,7 +940,7 @@ export const useFlowCallbacks = ( customDef: { eventId: emptyEvent.id, name: emptyEvent.name, topic: emptyEvent.topic } }; } - else if (nodeType === 'BASIC') { + else { newNode.data.component = { type: nodeType, compId: nodeDefinition.id @@ -1079,7 +1079,7 @@ export const useFlowCallbacks = ( customDef: { eventId: emptyEvent?.eventId ?? null, name: emptyEvent.name, topic: emptyEvent.topic } }; } - else if (nodeType === 'BASIC') { + else { newNode.data.component = { type: nodeType, compId: nodeDefinition.id @@ -1194,7 +1194,7 @@ export const useFlowCallbacks = ( appEventDefinition, sceneId: info.id }; - + const res: any = await setMainFlowNew(params, initialData.appId); if (res.code === 200) { Message.success('保存成功'); diff --git a/src/pages/flowEditor/components/addNodeMenu.tsx b/src/pages/flowEditor/components/addNodeMenu.tsx index f44d58a..58e5e15 100644 --- a/src/pages/flowEditor/components/addNodeMenu.tsx +++ b/src/pages/flowEditor/components/addNodeMenu.tsx @@ -20,6 +20,11 @@ const AddNodeMenu: React.FC = ({ const [activeTab, setActiveTab] = useState('common'); const [searchValue, setSearchValue] = useState(''); // 添加搜索状态 + const basicNodeType = new Map([ + ['normal', 'BASIC'], + ['loop', 'BASIC_LOOP'] // 这个不是基础组件的loop + ]); + // 按分组组织节点数据 const formattedNodes = useCallback(() => { // 先复制本地节点数据 @@ -43,7 +48,7 @@ const AddNodeMenu: React.FC = ({ return { ...v, nodeName: v.name, - nodeType: 'BASIC', + nodeType: basicNodeType.get(v.type) || 'BASIC', nodeGroup: 'application', data: { parameters: { @@ -113,7 +118,8 @@ const AddNodeMenu: React.FC = ({ if (searchValue) { const firstTab = getFirstAvailableTab(); setActiveTab(firstTab); - } else { + } + else { // 如果搜索值为空,恢复默认选中tab setActiveTab('common'); } diff --git a/src/pages/flowEditor/components/nodeContentLocal.tsx b/src/pages/flowEditor/components/nodeContentLocal.tsx index 2495080..d5241a4 100644 --- a/src/pages/flowEditor/components/nodeContentLocal.tsx +++ b/src/pages/flowEditor/components/nodeContentLocal.tsx @@ -207,6 +207,7 @@ const formatFooter = (data: any, eventListOld = []) => { return `事件: ${name}`; } case 'BASIC': + case 'BASIC_LOOP': return data.compIdentifier ? `当前实例:${data.compIdentifier}` : ''; default: return ''; diff --git a/src/pages/flowEditor/components/nodeContentOther.tsx b/src/pages/flowEditor/components/nodeContentOther.tsx index 3205036..9347e20 100644 --- a/src/pages/flowEditor/components/nodeContentOther.tsx +++ b/src/pages/flowEditor/components/nodeContentOther.tsx @@ -242,6 +242,7 @@ const formatFooter = (data: any, eventListOld = []) => { return `事件: ${name}`; } case 'BASIC': + case 'BASIC_LOOP': return data.compIdentifier ? `当前实例:${data.compIdentifier}` : ''; default: return ''; diff --git a/src/pages/flowEditor/components/nodeEditModal.tsx b/src/pages/flowEditor/components/nodeEditModal.tsx index 27cf54e..8b93a2a 100644 --- a/src/pages/flowEditor/components/nodeEditModal.tsx +++ b/src/pages/flowEditor/components/nodeEditModal.tsx @@ -65,7 +65,7 @@ const NodeEditModal: React.FC = ({ const getNodeEditor = () => { const nodeType = node?.type || 'basic'; // 检查是否为本地节点(通过nodeTypeMap中不存在的类型来判断) - const isLocalNode = nodeType && !['start', 'end', 'basic'].includes(nodeType.toLowerCase()); + const isLocalNode = nodeType && !['start', 'end', 'basic', 'basic_loop'].includes(nodeType.toLowerCase()); const EditorComponent = getNodeEditorByType( nodeType.toLowerCase(),