工作流节点库 patchLayout 驱动贴片布局开关显示(对齐内容创作)

- NodeLibraryItem 增加 patchLayout 字段(节点库返回,仅 model 节点 true)
- nodeConfigMap 聚合透传节点库 patchLayout,开关显示条件由 modelType 范围改为 nodeConfig.patchLayout
- 移除不再使用的 isVideoModelSelected 判断

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-08-20 14:01:38 +08:00
co-authored by Claude
parent abc5b47f72
commit e2a5480bf9
3 changed files with 6 additions and 6 deletions
+2
View File
@@ -39,6 +39,8 @@ export interface NodeLibraryItem {
// 节点自带输出项([{ field, label }]):空/null 表示无输出;非空时该节点可作为下游节点的引用来源
outputField?: { field: string; label: string }[] | null;
presetOption: NodeLibraryPresetOption[] | null;
// 是否支持贴片布局(节点库返回,仅 model 节点 true):控制节点配置面板「贴片布局」开关显示
patchLayout?: boolean;
}
export interface NodeLibraryGroup {
@@ -77,7 +77,7 @@
</el-form-item>
<!-- 贴片布局开关 -->
<el-form-item v-if="isVideoModelSelected" label="贴片布局">
<el-form-item v-if="nodeConfig?.patchLayout" label="贴片布局">
<el-switch
:model-value="selectedNode.data?.patchLayout ?? false"
@update:model-value="emit('update:patchLayout', $event)"
@@ -367,6 +367,7 @@ interface NodeConfig {
promptOption: boolean;
negativePromptOption: boolean;
isSaveFileOption: boolean;
patchLayout: boolean;
}
// 前驱节点的可引用输出字段(供模型参数「引用上级节点输出」)
@@ -383,11 +384,6 @@ const props = defineProps<{
upstreamNodes?: UpstreamNodeInfo[];
}>();
const isVideoModelSelected = computed(() => {
const t = Number(props.selectedNode?.data?.modelConfig?.modelType);
return t >= 600 && t <= 605;
});
// 开始节点不展示节点描述
const isStartNode = computed(() => props.selectedNode?.data?.nodeCode === '__start__');
+2
View File
@@ -217,6 +217,7 @@ const nodeConfigMap = computed(() => {
isSaveFileOption: boolean;
// 节点自带输出项(节点库 outputField):非空时该节点可作为下游引用来源
outputField: any[];
patchLayout: boolean;
}
>();
nodeLibraryGroups.value.forEach((group) => {
@@ -235,6 +236,7 @@ const nodeConfigMap = computed(() => {
isSaveFileOption: item.isSaveFileOption || false,
// 节点自带输出项:可被其它节点引用的字段(脚本转写等节点提供;空表示无输出)
outputField: item.outputField || [],
patchLayout: item.patchLayout || false,
});
});
});