作者 dong

跳转知识库bug修正

... ... @@ -254,6 +254,7 @@
query: {
knowledgeId: item.id,
knowledgeName: item.name,
isFromKnowledge: 'true',
},
});
}
... ...
... ... @@ -54,30 +54,32 @@
const checkedKeys = ref<Array<string | number>>([]);
const userStore = useUserStore();
// 定义两种查询参数
const normalQueryParam = reactive<any>({}); // 正常查询参数
const specialQueryParam = reactive<any>({}); // 专用查询参数(从知识库跳转时使用)
// 是否使用专用查询参数
const useSpecialQuery = ref(false);
const route = useRoute();
const router = useRouter();
// 当前知识库信息
const currentKnowledge = ref<{ id: string; name: string } | null>(null);
// 在onMounted中添加知识库ID处理
onMounted(() => {
// 从路由参数获取知识库ID
const knowledgeId = route.query.knowledgeId as string;
const knowledgeName = route.query.knowledgeName as string;
// 从路由获取参数
const { knowledgeId, knowledgeName, isFromKnowledge: isFrom } = route.query;
console.log('ceshi' + knowledgeId);
if (knowledgeId && knowledgeName) {
currentKnowledge.value = {
id: knowledgeId,
name: knowledgeName,
};
// 设置专用查询参数
if (isFrom === 'true' && knowledgeId) {
specialQueryParam.knowledgeId = knowledgeId;
useSpecialQuery.value = true;
// 设置查询参数
queryParam.knowledgeId = knowledgeId;
reload();
// 设置知识库名称(用于显示)
if (knowledgeName) {
specialQueryParam.knowledgeName = knowledgeName;
}
}
// 加载知识库映射
loadKnowledgeMap();
});
... ... @@ -145,7 +147,19 @@
tableProps: {
title: 'test',
api: async (params) => {
const res = await list(params);
// 合并基础参数(分页、排序等)
const baseParams = { ...params };
// 根据标识选择查询参数
const queryParams = useSpecialQuery.value ? specialQueryParam : normalQueryParam;
// 调用接口(合并基础参数和查询参数)
const res = await list({ ...baseParams, ...queryParams });
// 如果是专用查询,查询后重置为正常查询
if (useSpecialQuery.value) {
useSpecialQuery.value = false;
}
// 处理序号 - 关键修改
if (res?.records && Array.isArray(res.records)) {
const startIndex = (params.pageNo - 1) * params.pageSize + 1;
... ... @@ -171,17 +185,7 @@
fixed: 'right',
},
beforeFetch: (params) => {
if (currentKnowledge.value?.id) {
params.knowledgeId = currentKnowledge.value.id;
}
// 处理知识库查询参数
if (params.knowledgeId) {
// 直接使用对象而不是JSON字符串
queryParam.metadata = { knowledgeId: params.knowledgeId };
} else {
delete queryParam.metadata;
}
return Object.assign(params, queryParam);
return { ...params, ...queryParam };
},
},
exportConfig: {
... ... @@ -195,18 +199,6 @@
},
});
const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext;
// 高级查询配置
const superQueryConfig = reactive(superQuerySchema);
/**
* 高级查询事件
*/
function handleSuperQuery(params) {
Object.keys(params).map((k) => {
queryParam[k] = params[k];
});
reload();
}
/**
* 新增事件
*/
... ...