wujingjing
2025-01-02 d1a8061067e21463d8544be8bd840984596ed4a9
src/components/vue-flow/ui/nodes/AnalysisNode.vue
@@ -1,22 +1,28 @@
<template>
   <NodeBasicLayout v-model:title="data.title" :type="NodeType.Analysis">
   <NodeBasicLayout v-model:title="data.title" :type="NodeType.Analysis" :isViewMode="isViewMode">
      <Handle :id="targetHandleId" type="target" :position="Position.Left" />
      <FieldLayout :title="modelSetting.name">
         <div class="w-[340px] flex-items-center gap-x-2">
            <div class="flex-column gap-y-1.5">
               <span class="text-gray-500">{{ VueFlowHelper.getParams(modelSetting, 'llm_model').label }}</span>
               <el-select
                    <el-tree-select
                  :disabled="isViewMode"
                  v-model="VueFlowHelper.getParams(modelSetting, 'llm_model').value"
                  class="w-[150px]"
                  :data="llmInfoList"
                  :props="{ label: 'name', value: 'id' }"
                  :render-after-expand="false"
                  :check-strictly="false"
                  :show-checkbox="false"
                  :accordion="true"
                  filterable
                  :placeholder="VueFlowHelper.getParams(modelSetting, 'llm_model').placeholder"
               >
                  <el-option v-for="item in VueFlowConstant.LLM_MODEL_LIST" :key="item.value" :label="item.label" :value="item.value" />
               </el-select>
               />
            </div>
            <div class="flex-column gap-y-1.5">
               <span class="text-gray-500">{{ VueFlowHelper.getParams(modelSetting, 'temperature').label }}</span>
               <el-input-number
                  :readonly="isViewMode"
                  v-model="VueFlowHelper.getParams(modelSetting, 'temperature').value"
                  class="w-[180px]"
                  placeholder=""
@@ -25,14 +31,14 @@
         </div>
      </FieldLayout>
      <FieldLayout :title="prompt.name">
         <el-input
            class="nowheel"
            v-model="VueFlowHelper.getParams(prompt, 'prompt').value"
            type="textarea"
            :autosize="{ minRows: 3, maxRows: 6 }"
            autocomplete="off"
         >
         </el-input>
         <CodeEditor
            :title="prompt.name"
            v-model:defaultLanguage="VueFlowHelper.getParams(prompt, 'prompt').defaultLanguage"
            v-model:editValue="VueFlowHelper.getParams(prompt, 'prompt').value"
            :maxHeight="120"
            :disabled="isViewMode"
         />
      </FieldLayout>
      <Handle :id="sourceHandleId" type="source" :position="Position.Right" />
   </NodeBasicLayout>
@@ -48,11 +54,11 @@
import type { LLMNodeData, LLMNodeEvents } from './index';
import { deepClone } from '/@/utils/other';
import { NodeType } from '../../vueFlowEnum';
import CodeEditor from '/@/components/input/codeEditor/index.vue';
import FieldLayout from './components/FieldLayout.vue';
import NodeBasicLayout from './components/NodeBasicLayout.vue';
defineProps<NodeProps<LLMNodeData, LLMNodeEvents>>();
const props = defineProps(['llmInfoList','isViewMode']);
const node = useNode();
const sourceHandleId = ref(VueFlowHelper.getHandleId(node.node, 'source'));