feat(知识库): 添加模型配置管理功能并修复向量状态显示

添加模型配置管理相关功能,包括模型配置列表展示、创建和编辑功能。同时修复文档详情中向量状态显示问题,将数字类型转换为布尔类型以正确绑定到el-switch组件。

- 新增模型配置相关API接口和类型定义
- 添加模型配置列表弹窗及创建/编辑表单
- 修复向量状态显示问题,确保与el-switch组件正确绑定
- 优化深拷贝逻辑,自动转换status字段类型
This commit is contained in:
2026-04-16 14:49:33 +08:00
parent 6bf571c681
commit 4f547b5bff
3 changed files with 413 additions and 9 deletions

View File

@@ -77,7 +77,7 @@
<div class="vector-item" v-for="vector in vectorList" :key="vector.id">
<div class="vector-header">
<span class="vector-index"> {{ vector.chunkIndex }}</span>
<span class="vector-status">状态: {{ vector.status === 1 ? '启用' : '禁用' }}</span>
<span class="vector-status">状态: {{ vector.status ? '启用' : '禁用' }}</span>
<span class="vector-vector-status">向量状态: {{ vector.vectorStatus === 1 ? '已生成' : '未生成' }}</span>
<el-switch v-model="vector.status" size="small" @change="(value: boolean) => onVectorStatusChange(vector, !value)" />
</div>
@@ -233,8 +233,13 @@ const getVectorList = async () => {
pageNum: vectorPage.value,
pageSize: vectorPageSize.value,
});
// 深拷贝数据避免v-model触发不必要的更新
vectorList.value = (response.data?.list || []).map((item: any) => JSON.parse(JSON.stringify(item)));
// 深拷贝数据避免v-model触发不必要的更新并将status从数字转换为布尔类型
vectorList.value = (response.data?.list || []).map((item: any) => {
const clonedItem = JSON.parse(JSON.stringify(item));
// 将数字类型的status转换为布尔类型以便正确绑定到el-switch
clonedItem.status = clonedItem.status === 1;
return clonedItem;
});
vectorTotal.value = response.data?.total || 0;
} catch (_error) {
ElMessage.error('获取向量列表失败');