作者 dong

跳转知识库bug修正

@@ -254,6 +254,7 @@ @@ -254,6 +254,7 @@
254 query: { 254 query: {
255 knowledgeId: item.id, 255 knowledgeId: item.id,
256 knowledgeName: item.name, 256 knowledgeName: item.name,
  257 + isFromKnowledge: 'true',
257 }, 258 },
258 }); 259 });
259 } 260 }
@@ -54,30 +54,32 @@ @@ -54,30 +54,32 @@
54 const checkedKeys = ref<Array<string | number>>([]); 54 const checkedKeys = ref<Array<string | number>>([]);
55 const userStore = useUserStore(); 55 const userStore = useUserStore();
56 56
  57 + // 定义两种查询参数
  58 + const normalQueryParam = reactive<any>({}); // 正常查询参数
  59 + const specialQueryParam = reactive<any>({}); // 专用查询参数(从知识库跳转时使用)
  60 +
  61 + // 是否使用专用查询参数
  62 + const useSpecialQuery = ref(false);
  63 +
57 const route = useRoute(); 64 const route = useRoute();
58 const router = useRouter(); 65 const router = useRouter();
59 66
60 - // 当前知识库信息  
61 - const currentKnowledge = ref<{ id: string; name: string } | null>(null);  
62 -  
63 - // 在onMounted中添加知识库ID处理  
64 onMounted(() => { 67 onMounted(() => {
65 - // 从路由参数获取知识库ID  
66 - const knowledgeId = route.query.knowledgeId as string;  
67 - const knowledgeName = route.query.knowledgeName as string; 68 + // 从路由获取参数
  69 + const { knowledgeId, knowledgeName, isFromKnowledge: isFrom } = route.query;
68 70
69 - console.log('ceshi' + knowledgeId);  
70 - if (knowledgeId && knowledgeName) {  
71 - currentKnowledge.value = {  
72 - id: knowledgeId,  
73 - name: knowledgeName,  
74 - }; 71 + // 设置专用查询参数
  72 + if (isFrom === 'true' && knowledgeId) {
  73 + specialQueryParam.knowledgeId = knowledgeId;
  74 + useSpecialQuery.value = true;
75 75
76 - // 设置查询参数  
77 - queryParam.knowledgeId = knowledgeId;  
78 - reload(); 76 + // 设置知识库名称(用于显示)
  77 + if (knowledgeName) {
  78 + specialQueryParam.knowledgeName = knowledgeName;
  79 + }
79 } 80 }
80 81
  82 + // 加载知识库映射
81 loadKnowledgeMap(); 83 loadKnowledgeMap();
82 }); 84 });
83 85
@@ -145,7 +147,19 @@ @@ -145,7 +147,19 @@
145 tableProps: { 147 tableProps: {
146 title: 'test', 148 title: 'test',
147 api: async (params) => { 149 api: async (params) => {
148 - const res = await list(params); 150 + // 合并基础参数(分页、排序等)
  151 + const baseParams = { ...params };
  152 +
  153 + // 根据标识选择查询参数
  154 + const queryParams = useSpecialQuery.value ? specialQueryParam : normalQueryParam;
  155 +
  156 + // 调用接口(合并基础参数和查询参数)
  157 + const res = await list({ ...baseParams, ...queryParams });
  158 +
  159 + // 如果是专用查询,查询后重置为正常查询
  160 + if (useSpecialQuery.value) {
  161 + useSpecialQuery.value = false;
  162 + }
149 // 处理序号 - 关键修改 163 // 处理序号 - 关键修改
150 if (res?.records && Array.isArray(res.records)) { 164 if (res?.records && Array.isArray(res.records)) {
151 const startIndex = (params.pageNo - 1) * params.pageSize + 1; 165 const startIndex = (params.pageNo - 1) * params.pageSize + 1;
@@ -171,17 +185,7 @@ @@ -171,17 +185,7 @@
171 fixed: 'right', 185 fixed: 'right',
172 }, 186 },
173 beforeFetch: (params) => { 187 beforeFetch: (params) => {
174 - if (currentKnowledge.value?.id) {  
175 - params.knowledgeId = currentKnowledge.value.id;  
176 - }  
177 - // 处理知识库查询参数  
178 - if (params.knowledgeId) {  
179 - // 直接使用对象而不是JSON字符串  
180 - queryParam.metadata = { knowledgeId: params.knowledgeId };  
181 - } else {  
182 - delete queryParam.metadata;  
183 - }  
184 - return Object.assign(params, queryParam); 188 + return { ...params, ...queryParam };
185 }, 189 },
186 }, 190 },
187 exportConfig: { 191 exportConfig: {
@@ -195,18 +199,6 @@ @@ -195,18 +199,6 @@
195 }, 199 },
196 }); 200 });
197 const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext; 201 const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext;
198 -  
199 - // 高级查询配置  
200 - const superQueryConfig = reactive(superQuerySchema);  
201 - /**  
202 - * 高级查询事件  
203 - */  
204 - function handleSuperQuery(params) {  
205 - Object.keys(params).map((k) => {  
206 - queryParam[k] = params[k];  
207 - });  
208 - reload();  
209 - }  
210 /** 202 /**
211 * 新增事件 203 * 新增事件
212 */ 204 */