Skip to content

Commit 2b0a57f

Browse files
committed
review:【AI 大模型】工作流的编辑功能
1 parent bc817f8 commit 2b0a57f

File tree

2 files changed

+20
-13
lines changed

2 files changed

+20
-13
lines changed

src/views/ai/workflow/form/WorkflowDesign.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<el-input class="w-200px!" v-model="param.value" placeholder="参数值" />
3737
<el-button type="danger" plain :icon="Delete" circle @click="removeParam(index)" />
3838
</div>
39+
<!-- TODO @lesan:是不是不用添加和删除参数,直接把必填和选填列出来,然后加上参数校验? -->
3940
<el-button type="primary" plain @click="addParam">添加参数</el-button>
4041
</div>
4142
</fieldset>
@@ -52,16 +53,17 @@
5253
<div v-else> <el-text type="info">点击运行查看结果</el-text> </div>
5354
</div>
5455
</fieldset>
55-
<el-button class="mt-20px w-100%" size="large" type="success" @click="goRun"
56-
>运行流程</el-button
57-
>
56+
<el-button class="mt-20px w-100%" size="large" type="success" @click="goRun">
57+
运行流程
58+
</el-button>
5859
</el-drawer>
5960
</div>
6061
</template>
6162

6263
<script setup lang="ts">
6364
import Tinyflow from '@/components/Tinyflow/Tinyflow.vue'
6465
import * as WorkflowApi from '@/api/ai/workflow'
66+
// TODO @lesan:要不使用 ICon 哪个组件哈
6567
import { Delete } from '@element-plus/icons-vue'
6668
6769
defineProps<{

src/views/ai/workflow/form/index.vue

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
<WorkflowDesign
6060
v-if="currentStep === 1"
6161
v-model="formData"
62-
:provider="provider"
62+
:provider="llmProvider"
6363
ref="workflowDesignRef"
6464
/>
6565
</div>
@@ -74,6 +74,7 @@ import * as WorkflowApi from '@/api/ai/workflow'
7474
import BasicInfo from './BasicInfo.vue'
7575
import WorkflowDesign from './WorkflowDesign.vue'
7676
import { ModelApi } from '@/api/ai/model/model'
77+
import { AiModelTypeEnum } from '@/views/ai/utils/constants'
7778
7879
const router = useRouter()
7980
const { delView } = useTagsViewStore()
@@ -104,31 +105,35 @@ const formData: any = ref({
104105
graph: '',
105106
status: CommonStatusEnum.ENABLE
106107
})
107-
// TODO @lesan:待接入
108-
const provider = ref<any>()
108+
const llmProvider = ref<any>([])
109109
const workflowData = ref<any>({})
110110
provide('workflowData', workflowData)
111111
112112
/** 初始化数据 */
113113
const actionType = route.params.type as string
114114
const initData = async () => {
115+
// 编辑情况下,需要加载工作流配置
115116
if (actionType === 'update') {
116117
const workflowId = route.params.id as string
117118
formData.value = await WorkflowApi.getWorkflow(workflowId)
118119
workflowData.value = JSON.parse(formData.value.graph)
119120
}
120121
121-
const apiKeys = await ModelApi.getModelSimpleList(1)
122-
provider.value = {
122+
// 加载模型列表
123+
const models = await ModelApi.getModelSimpleList(AiModelTypeEnum.CHAT)
124+
llmProvider.value = {
123125
llm: () =>
124-
apiKeys.map(({ id, name }) => ({
126+
models.map(({ id, name }) => ({
125127
value: id,
126128
label: name
127129
})),
128130
knowledge: () => [],
129131
internal: () => []
130132
}
133+
// TODO @lesan:知识库(可以看下 knowledge)
134+
// TODO @lesan:搜索引擎(这个之前有个 pr 搞了,,,可能来接下)
131135
136+
// 设置当前步骤
132137
currentStep.value = 0
133138
}
134139
@@ -164,17 +169,17 @@ const handleSave = async () => {
164169
165170
// 更新表单数据
166171
const data = {
167-
...formData.value
172+
...formData.value,
173+
graph: JSON.stringify(workflowData.value)
168174
}
169-
170-
data.graph = JSON.stringify(workflowData.value)
171-
172175
if (actionType === 'update') {
173176
await WorkflowApi.updateWorkflow(data)
174177
} else {
175178
await WorkflowApi.createWorkflow(data)
176179
}
177180
181+
// 保存成功,提示并跳转到列表页
182+
message.success('保存成功')
178183
delView(unref(router.currentRoute))
179184
await router.push({ name: 'AiWorkflow' })
180185
} catch (error: any) {

0 commit comments

Comments
 (0)