更新提示词管理逻辑,重命名相关变量,优化提示词选择器界面,支持直接编辑提示词内容
This commit is contained in:
@@ -46,11 +46,11 @@
|
||||
<el-icon>
|
||||
<Plus />
|
||||
</el-icon>
|
||||
选择提示词
|
||||
编辑提示词
|
||||
</el-button>
|
||||
<div v-if="selectedPrompt" class="selected-prompt-tag">
|
||||
<div v-if="promptContent" class="selected-prompt-tag">
|
||||
<el-tag type="success" size="large" closable @close="handleRemovePrompt">
|
||||
{{ selectedPrompt.prompt ? selectedPrompt.prompt.substring(0, 50) + '...' : '提示词' }}
|
||||
{{ promptContent.length > 50 ? `${promptContent.substring(0, 50)}...` : promptContent }}
|
||||
</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
@@ -606,7 +606,7 @@
|
||||
/>
|
||||
|
||||
<!-- 提示词选择器 -->
|
||||
<PromptSelector v-model="showPromptSelector" :default-prompt="selectedPrompt" :node-type="formState.nodeCode" @confirm="handlePromptConfirm" />
|
||||
<PromptSelector v-model="showPromptSelector" :default-prompt="promptContent" @confirm="handlePromptConfirm" />
|
||||
|
||||
<!-- 技能选择器 -->
|
||||
<SkillSelector v-model="showSkillSelector" :default-skill="selectedSkill" @confirm="handleSkillConfirm" />
|
||||
@@ -825,7 +825,6 @@ import SkillSelector from '/@/components/skill/NodeSkillSelector.vue';
|
||||
import ModelSelector from '/@/components/model/ModelSelector.vue';
|
||||
import SaveWorkflowDialog from './component/SaveWorkflowDialog.vue';
|
||||
import PromptSelector from './component/PromptSelector.vue';
|
||||
import type { PromptItem } from '/@/api/settings/promptManager';
|
||||
import type { SkillItem } from '/@/api/settings/skill';
|
||||
import {
|
||||
downloadToFile,
|
||||
@@ -893,7 +892,7 @@ const selectedModel = ref('');
|
||||
const showSkillSelector = ref(false);
|
||||
const selectedSkill = ref<SkillItem | null>(null);
|
||||
const showPromptSelector = ref(false);
|
||||
const selectedPrompt = ref<PromptItem | null>(null);
|
||||
const promptContent = ref('');
|
||||
const isSaveFileEnabled = ref(false);
|
||||
const saving = ref(false);
|
||||
const leftPanelTab = ref('selected'); // 默认显示"当前选中"Tab
|
||||
@@ -1344,7 +1343,7 @@ const workflowDsl = computed(() => ({
|
||||
: null,
|
||||
outputConfig: Array.isArray(n.properties?.outputConfig) ? n.properties.outputConfig : null,
|
||||
isSaveFile: n.properties?.isSaveFileEnabled ?? null,
|
||||
promptContent: n.properties?.promptData?.prompt || null,
|
||||
promptContent: n.properties?.promptContent || '',
|
||||
outputResult: null,
|
||||
})),
|
||||
edges: flowDsl.value.edges.map((e) => ({
|
||||
@@ -1515,13 +1514,13 @@ const handleRemoveModel = () => {
|
||||
selectedModel.value = '';
|
||||
selectedModelData.value = null;
|
||||
};
|
||||
// 处理提示词选择确认
|
||||
const handlePromptConfirm = (prompt: PromptItem) => {
|
||||
selectedPrompt.value = prompt;
|
||||
// 处理提示词输入确认
|
||||
const handlePromptConfirm = (value: string) => {
|
||||
promptContent.value = value;
|
||||
};
|
||||
// 移除已选择的提示词
|
||||
// 移除已填写的提示词
|
||||
const handleRemovePrompt = () => {
|
||||
selectedPrompt.value = null;
|
||||
promptContent.value = '';
|
||||
};
|
||||
// 获取对话模型列表
|
||||
const fetchChatModelList = async () => {
|
||||
@@ -3401,12 +3400,8 @@ watch(
|
||||
selectedSkill.value = null;
|
||||
}
|
||||
|
||||
// 恢复提示词信息
|
||||
if (e?.properties?.promptData) {
|
||||
selectedPrompt.value = e.properties.promptData;
|
||||
} else {
|
||||
selectedPrompt.value = null;
|
||||
}
|
||||
// 恢复提示词内容
|
||||
promptContent.value = String(e?.properties?.promptContent || '');
|
||||
|
||||
// 恢复对话模式状态
|
||||
isSaveFileEnabled.value = e?.properties?.isSaveFileEnabled === true;
|
||||
@@ -3491,7 +3486,7 @@ const applySelected = () => {
|
||||
'inputSource',
|
||||
'formConfig',
|
||||
'skillName',
|
||||
'promptData',
|
||||
'promptContent',
|
||||
'isSaveFileEnabled',
|
||||
'width',
|
||||
'height',
|
||||
@@ -3547,11 +3542,11 @@ const applySelected = () => {
|
||||
delete p.skillName;
|
||||
}
|
||||
|
||||
// 保存提示词选择状态
|
||||
if (selectedPrompt.value) {
|
||||
p.promptData = selectedPrompt.value;
|
||||
// 保存提示词内容
|
||||
if (promptContent.value.trim()) {
|
||||
p.promptContent = promptContent.value.trim();
|
||||
} else {
|
||||
delete p.promptData;
|
||||
delete p.promptContent;
|
||||
}
|
||||
|
||||
// 保存对话模式状态
|
||||
@@ -3981,7 +3976,7 @@ const loadWorkflowFromDsl = (dsl: any) => {
|
||||
inputSource: n.inputSource || null,
|
||||
// 加载提示词和保存文件配置
|
||||
isSaveFileEnabled: n.isSaveFile ?? false,
|
||||
promptData: n.promptContent ? { id: 0, prompt: n.promptContent, nodeType: n.nodeCode } : null,
|
||||
promptContent: n.promptContent || '',
|
||||
},
|
||||
};
|
||||
});
|
||||
@@ -4033,8 +4028,8 @@ watch(selectedElement, (newElement) => {
|
||||
selectedSkill.value = null;
|
||||
}
|
||||
|
||||
// 从节点属性中恢复提示词选择状态
|
||||
selectedPrompt.value = newElement.properties.promptData || null;
|
||||
// 从节点属性中恢复提示词内容
|
||||
promptContent.value = String(newElement.properties.promptContent || '');
|
||||
|
||||
// 从节点属性中恢复对话模式状态
|
||||
isSaveFileEnabled.value = newElement.properties.isSaveFileEnabled === true;
|
||||
@@ -4043,7 +4038,7 @@ watch(selectedElement, (newElement) => {
|
||||
selectedModel.value = '';
|
||||
selectedModelData.value = null;
|
||||
selectedSkill.value = null;
|
||||
selectedPrompt.value = null;
|
||||
promptContent.value = '';
|
||||
isSaveFileEnabled.value = false;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user