yangyin
2024-11-14 c1162e0cfd6d2b7455fee53f1235e142e1d83ecf
src/views/project/yw/dataManage/knowledge/Knowledge.vue
@@ -158,23 +158,20 @@
      leftTreeRef.value?.treeRef.setCurrentKey(data.group_id);
   });
   currentNode.value = data;
   docvectorList();
   showKnowledgeBaseList.value = knowledgeBaseList.value.filter((item) => item.group_id === currentListID.value);
};
const getListTreeData = async () => {
   const res = await agentGroupApi.getSceneGroupTreeByPost();
   listData.value = res.groups || [];
   const firstListTreeNode = listTreeData.value[0];
   if (firstListTreeNode) {
      handleClickNode(firstListTreeNode);
   } else {
      knowledgeBaseList.value = [];
      currentNode.value = null;
   }
   currentNode.value = firstListTreeNode;
   docvectorList();
};
//#endregion
//#region ====================== 获取知识库sheet列表 ======================
const knowledgeBaseList = ref([]);
const showKnowledgeBaseList = ref([]);
//创建知识库
const createKnowledgeBase = () => {
   router.push({
@@ -191,12 +188,19 @@
      res.values.forEach((item) => {
         item.create_time = new Date(item.create_time).toLocaleString();
      });
      const filterDocData = res.values.filter((item) => item.group_id === currentListID.value);
      knowledgeBaseList.value = filterDocData;
      knowledgeBaseList.value = res.values ?? [];
      showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
   } else {
      return ElMessage.error('获取列表索引失败' + (res?.json_msg ? `,${JSON.stringify(res.json_msg)}` : ''));
   }
};
const filterDocData = (list) => {
   const filterDocData = list.filter((item) => item.group_id === currentListID.value);
   return filterDocData;
};
const deleteKnowledgeBase = async (row) => {
   ElMessageBox.confirm(`确定删除当前的知识库:【${row.title}】?`, '提示', {
      confirmButtonText: '确定',
@@ -207,9 +211,10 @@
         knowlg_id: row.id,
      });
      if (res.json_ok) {
         const foundIndex = knowledgeBaseList.value.findIndex((item) => item === row);
         foundIndex > -1 && knowledgeBaseList.value.splice(foundIndex, 1);
         showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
         ElMessage.success('删除知识库成功');
         const index = knowledgeBaseList.value.findIndex((d) => d.id === row.id);
         knowledgeBaseList.value.splice(index, 1);
      }
   });
};
@@ -254,8 +259,8 @@
const knowledgeBaseForm = ref({
   title: '',
});
const { resetQuery, handleQueryTable, displayTableData } = useQueryTable(knowledgeBaseList, knowledgeBaseForm, () => {
   displayTableData.value = knowledgeBaseList.value;
const { resetQuery, handleQueryTable, displayTableData } = useQueryTable(showKnowledgeBaseList, knowledgeBaseForm, () => {
   displayTableData.value = showKnowledgeBaseList.value;
});
//#endregion
//#region ====================== Chat 测试 ======================
@@ -301,19 +306,27 @@
//#endregion
onMounted(() => {
   getListTreeData();
   mittBus.on('addKnowledgeBaseObj', (obj) => {
      knowledgeBaseList.value.push(obj);
   mittBus.on('addEmptyKnowledge', (formValue) => {
      knowledgeBaseList.value.push(formValue);
      showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
   });
   mittBus.on('updateKnowledgeBaseObj', (formValue) => {
      const foundIndex = knowledgeBaseList.value.findIndex((item) => item.id === formValue.id);
      if (foundIndex > -1) {
         knowledgeBaseList.value[foundIndex] = {
            ...knowledgeBaseList.value[foundIndex],
            ...formValue,
         };
   //编辑内容
   mittBus.on('updateKnowledgeBaseObj', cbUpdateKnowledgeBaseObj);
});
const cbUpdateKnowledgeBaseObj = (formValue) => {
   knowledgeBaseList.value.forEach((item) => {
      if (item.id == formValue.id) {
         item.title = formValue.title;
         item.prompt = formValue.prompt;
         item.publish = formValue.publish;
         item.create_time = formValue.create_time;
         item.user_name = formValue.user_name;
         item.scope = formValue.scope;
      }
   });
});
   showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
};
</script>
<style scoped lang="scss">
.set_item_jel {