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(),