优化技能选择和模型确认逻辑,更新节点属性处理,调整配置字段初始化逻辑,改善文件名生成方式
This commit is contained in:
@@ -1494,10 +1494,21 @@ const handleTemplatePageChange = (page: number) => {
|
||||
// 处理技能选择确认(只更新临时状态,不保存到节点)
|
||||
const handleSkillConfirm = (skill: SkillItem) => {
|
||||
selectedSkill.value = skill;
|
||||
if (selectedElement.value?.kind === 'node') {
|
||||
selectedElement.value.properties = {
|
||||
...(selectedElement.value.properties || {}),
|
||||
skillName: skill.name,
|
||||
};
|
||||
}
|
||||
};
|
||||
// 移除已选择的技能(只更新临时状态)
|
||||
const handleRemoveSkill = () => {
|
||||
selectedSkill.value = null;
|
||||
if (selectedElement.value?.kind === 'node') {
|
||||
const nextProperties = { ...(selectedElement.value.properties || {}) };
|
||||
delete nextProperties.skillName;
|
||||
selectedElement.value.properties = nextProperties;
|
||||
}
|
||||
};
|
||||
// 处理模型选择确认(只更新临时状态,不保存到节点)
|
||||
const handleModelConfirm = (model: any) => {
|
||||
@@ -1710,7 +1721,20 @@ const useWorkflow = async (workflow: WorkflowItem) => {
|
||||
// 初始化其他配置字段(从 config 中读取)
|
||||
if (node.config) {
|
||||
Object.keys(node.config).forEach((key) => {
|
||||
if (!['nodeCode', 'width', 'height', 'x', 'y', 'formConfig', 'inputSource', 'fieldMetadata', 'selectedModel', 'modelOutputFields'].includes(key)) {
|
||||
if (
|
||||
![
|
||||
'nodeCode',
|
||||
'width',
|
||||
'height',
|
||||
'x',
|
||||
'y',
|
||||
'formConfig',
|
||||
'inputSource',
|
||||
'fieldMetadata',
|
||||
'selectedModel',
|
||||
'modelOutputFields',
|
||||
].includes(key)
|
||||
) {
|
||||
const fieldKey = `${node.id}_${key}`;
|
||||
creationFormValues[fieldKey] = node.config[key];
|
||||
}
|
||||
@@ -1879,7 +1903,10 @@ const hydrateCreationFileFields = (nodes: any[] = []) => {
|
||||
const urls = Array.isArray(rawValue) ? rawValue : rawValue ? [rawValue] : [];
|
||||
if (urls.length === 0) return;
|
||||
creationFieldFiles[key] = urls.map((url: string, index: number) => ({
|
||||
name: String(url || '').split('/').pop() || `file-${index + 1}`,
|
||||
name:
|
||||
String(url || '')
|
||||
.split('/')
|
||||
.pop() || `file-${index + 1}`,
|
||||
url,
|
||||
}));
|
||||
});
|
||||
@@ -2310,7 +2337,20 @@ const handleTreeNodeClick = async (data: TreeNode) => {
|
||||
// 初始化其他配置字段(从 config 中读取)
|
||||
if (node.config) {
|
||||
Object.keys(node.config).forEach((key) => {
|
||||
if (!['nodeCode', 'width', 'height', 'x', 'y', 'formConfig', 'inputSource', 'fieldMetadata', 'selectedModel', 'modelOutputFields'].includes(key)) {
|
||||
if (
|
||||
![
|
||||
'nodeCode',
|
||||
'width',
|
||||
'height',
|
||||
'x',
|
||||
'y',
|
||||
'formConfig',
|
||||
'inputSource',
|
||||
'fieldMetadata',
|
||||
'selectedModel',
|
||||
'modelOutputFields',
|
||||
].includes(key)
|
||||
) {
|
||||
const fieldKey = `${node.id}_${key}`;
|
||||
creationFormValues[fieldKey] = node.config[key];
|
||||
}
|
||||
@@ -2392,7 +2432,20 @@ const handleTreeNodeClick = async (data: TreeNode) => {
|
||||
// 初始化其他配置字段(从 config 中读取)
|
||||
if (node.config) {
|
||||
Object.keys(node.config).forEach((key) => {
|
||||
if (!['nodeCode', 'width', 'height', 'x', 'y', 'formConfig', 'inputSource', 'fieldMetadata', 'selectedModel', 'modelOutputFields'].includes(key)) {
|
||||
if (
|
||||
![
|
||||
'nodeCode',
|
||||
'width',
|
||||
'height',
|
||||
'x',
|
||||
'y',
|
||||
'formConfig',
|
||||
'inputSource',
|
||||
'fieldMetadata',
|
||||
'selectedModel',
|
||||
'modelOutputFields',
|
||||
].includes(key)
|
||||
) {
|
||||
const fieldKey = `${node.id}_${key}`;
|
||||
creationFormValues[fieldKey] = node.config[key];
|
||||
}
|
||||
@@ -3539,7 +3592,7 @@ const applySelected = () => {
|
||||
if (selectedSkill.value) {
|
||||
p.skillName = selectedSkill.value.name;
|
||||
} else {
|
||||
delete p.skillName;
|
||||
p.skillName = null;
|
||||
}
|
||||
|
||||
// 保存提示词内容
|
||||
|
||||
Reference in New Issue
Block a user