CzRger 1 week geleden
bovenliggende
commit
02c02296e3

+ 4 - 3
src/stores/modules/app.ts

@@ -5,7 +5,7 @@ import router from '@/router'
 
 export const useAppStore = defineStore('app', {
   state: () => ({
-    userInfo: null,
+    userInfo: <any>null,
     tenantInfo: null,
     tenants: [],
     permission: {
@@ -16,9 +16,10 @@ export const useAppStore = defineStore('app', {
   }),
   getters: {
     isSuperAdmin() {
+      const _this: any = this
       return (
-        this.userInfo?.loginId === (import.meta as any).env.VITE_SUPER_ADMIN ||
-        this.userInfo?.type == 0
+        _this.userInfo?.loginId === (import.meta as any).env.VITE_SUPER_ADMIN ||
+        _this.userInfo?.type == 0
       )
     },
   },

+ 1 - 1
src/stores/modules/workflow.ts

@@ -97,7 +97,7 @@ export const useWorkflowStore = defineStore('workflow', {
       pathNodes.forEach((n) => {
         const wd = n.data.workflowData
         const group = {
-          label: wd.subTitle || wd.title,
+          label: wd.desc || wd.title,
           key: wd.id,
           options: [
             ...(wd.outVars?.map((v) => {

+ 13 - 2
src/views/workflow/instance/llm/default.ts

@@ -1,7 +1,18 @@
+import { v4 } from 'uuid'
 const nodeDefault = {
   defaultValue: () => ({
-    modelId: '',
-    tip: '',
+    modelConfig: {
+      id: v4(),
+      pluginInstanceId: '',
+      pluginInstanceName: '',
+      paramConfigs: {},
+      bizConfigs: {},
+    },
+    chatModelMessages: [
+      { role: 'system', text: '', id: v4() },
+      { role: 'user', text: '', id: v4() },
+      { role: 'assistant', text: '', id: v4() },
+    ],
     outVars: [{ label: '生成内容', key: 'text', type: 'String' }],
   }),
 }

+ 15 - 9
src/views/workflow/instance/llm/node/index.vue

@@ -1,15 +1,21 @@
 <template>
   <div class="">
-    <div class="mb-2 text-xs opacity-85" v-if="state.nodeData.modelName">
-      {{ state.nodeData.modelName }}
+    <div
+      class="mb-2 text-xs opacity-85"
+      v-if="state.nodeData.modelConfig.pluginInstanceName"
+    >
+      {{ state.nodeData.modelConfig.pluginInstanceName }}
     </div>
-    <paramsTextarea
-      v-model="state.nodeData.tip"
-      :node="node"
-      :readonly="true"
-      class="mb-2"
-      title="提示词"
-    />
+    <template v-for="item in state.nodeData.chatModelMessages">
+      <paramsTextarea
+        v-if="item.text"
+        v-model="item.text"
+        :node="node"
+        :readonly="true"
+        class="mb-2"
+        :title="item.role"
+      />
+    </template>
   </div>
 </template>
 

+ 12 - 8
src/views/workflow/instance/llm/panel/index.vue

@@ -6,19 +6,23 @@
     <CzrFormColumn
       :span="24"
       label-width="0px"
-      v-model:param="state.nodeData.modelId"
+      v-model:param="state.nodeData.modelConfig.pluginInstanceId"
       link="select"
       :options="state.llmModelOptions"
       labelKey="name"
       valueKey="id"
-      @getObject="(val) => (state.nodeData.modelName = val.name)"
-    />
-    <paramsTextarea
-      v-model="state.nodeData.tip"
-      :node="node"
-      class="mt-4 max-h-100"
-      title="提示词"
+      @getObject="
+        (val) => (state.nodeData.modelConfig.pluginInstanceName = val.name)
+      "
     />
+    <template v-for="item in state.nodeData.chatModelMessages">
+      <paramsTextarea
+        v-model="item.text"
+        :node="node"
+        class="mt-4 max-h-100"
+        :title="item.role"
+      />
+    </template>
     <div class="_p-title">
       <div class="text-sm">输出变量</div>
     </div>