wujingjing
2025-02-17 0f01c4bbce19fa8489a4e835c83cb9415549f681
src/views/project/yw/dataManage/knowledge/ViewKnowledge.vue
@@ -34,14 +34,28 @@
                  <el-table-column prop="name" label="文件名称" fixed="left" show-overflow-tooltip align="left" />
                  <el-table-column prop="type" width="120" label="文件类型" show-overflow-tooltip align="center" />
                  <el-table-column prop="time" label="上传时间" show-overflow-tooltip width="280" align="center"></el-table-column>
                  <el-table-column label="操作" width="80" fixed="right" show-overflow-tooltip align="center">
                  <el-table-column label="操作" width="120" fixed="right" show-overflow-tooltip align="center">
                     <template #default="scope">
                        <el-tooltip effect="dark" content="删除" placement="top">
                           <i
                              class="ywifont ywicon-shanchu !text-[17px] text-red-400 cursor-pointer"
                              @click="deleteKnowledgeFileData(scope.row)"
                           ></i>
                        </el-tooltip>
                        <div class="space-x-2.5">
                           <el-tooltip effect="dark" content="文本" placement="top">
                              <i
                                 class="ywifont ywicon-wendang !text-[17px] cursor-pointer text-blue-400"
                                 @click="openOperateDemoPage(scope.row)"
                              ></i>
                           </el-tooltip>
                           <el-tooltip effect="dark" content="分块" placement="top">
                              <i
                                 class="ywifont ywicon-01wenjianfenkuai !text-[17px] cursor-pointer text-blue-400"
                                 @click="handleViewKnowledgeFile(scope.row)"
                              ></i>
                           </el-tooltip>
                           <el-tooltip effect="dark" content="删除" placement="top">
                              <i
                                 class="ywifont ywicon-shanchu !text-[17px] text-red-400 cursor-pointer"
                                 @click="deleteKnowledgeFileData(scope.row)"
                              ></i>
                           </el-tooltip>
                        </div>
                     </template>
                  </el-table-column>
               </el-table>
@@ -71,9 +85,9 @@
                              :treedata="state.knowledgeBaseData"
                              :current-node-key="currentListID"
                              :defaultProps="{
                                 id: 'group_id',
                                 label: 'group_name',
                                 children: 'Children',
                                 label: 'title',
                                 id: 'id',
                              }"
                              @click="handleClickNode"
                           >
@@ -155,11 +169,13 @@
import { ElMessage, ElMessageBox } from 'element-plus';
import { computed, nextTick, onMounted, reactive, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { delete_docvector_file, get_docvector_file_list, add_docvector_file } from '/@/api/knowledge/docvector';
import { add_docvector_file, delete_docvector_file, get_docvector_file_list } from '/@/api/knowledge/docvector';
import { get_knowledge_group_list, list_knowledge_file } from '/@/api/knowledge/group';
import LeftTreeByMgr from '/@/components/tree/leftTreeByMgr.vue';
import { useQueryTable } from '/@/hooks/useQueryTable';
import { convertListToTree } from '/@/utils/util';
import { OptClassificationMap, classificationEnum } from '/@/views/types/metrics';
import item from 'element-plus/es/components/space/src/item';
const viewKnowledgeTableRef = ref();
const router = useRouter();
const route = useRoute();
@@ -220,6 +236,24 @@
      knowledgeTableData.value = res.values;
   }
};
//查看文档
const openOperateDemoPage = (row: any) => {
   router.push({
      name: 'ViewFile',
      query: {
         id: row.id,
      },
   });
};
//查看文档块
const handleViewKnowledgeFile = (row) => {
   router.push({
      name: 'ViewSegmentationFile',
      query: {
         id: row.id,
      },
   });
};
//删除知识库的文件列表
const deleteKnowledgeFileData = (row: any) => {
   ElMessageBox.confirm(`确定删除文档列表:【${row.name}】?`, '提示', {
@@ -277,7 +311,7 @@
const treeLoading = ref(false);
const currentTreeNode = ref(null);
const leftTreeRef = ref(null);
const currentListID = computed(() => currentTreeNode.value?.id);
const currentListID = computed(() => currentTreeNode.value?.group_id);
//获取文件列表
const getImportantFileTreeData = async (selectFirst = false) => {
   treeLoading.value = true;
@@ -285,12 +319,19 @@
      treeLoading.value = false;
   });
   if (res?.json_ok) {
      const resData = (res.values || []) as [];
      state.knowledgeBaseData = convertListToTree(resData, {
         ID: 'id',
      const resData = (res.groups || []) as [];
      const byParentData = convertListToTree(resData, {
         ID: 'group_id',
         Children: 'Children',
         ParentID: 'parent',
         ParentID: 'p_group_id',
      });
      const result = [];
      byParentData.forEach((item) => {
         if (item.group_type == OptClassificationMap[classificationEnum.Knowledge]) {
            result.push(item);
         }
      });
      state.knowledgeBaseData = result;
      if (selectFirst) {
         const firstListTreeNode = state.knowledgeBaseData[0];
         if (firstListTreeNode) {
@@ -307,7 +348,7 @@
const handleClickNode = (data: any) => {
   multipleSelection.value = [];
   nextTick(() => {
      leftTreeRef.value?.treeRef.setCurrentKey(data.id);
      leftTreeRef.value?.treeRef.setCurrentKey(data.group_id);
   });
   currentTreeNode.value = data;
   getFileTableData();
@@ -366,7 +407,7 @@
.set-table-height {
   background: #fff;
   border-radius: 16px;
   height: calc(100% - 80px);
   height: calc(100% - 50px);
   margin-top: 12px;
   overflow-y: auto;
   padding: 20px 24px;
@@ -489,4 +530,3 @@
   box-sizing: border-box;
}
</style>
add_docvector_file, import moment from 'moment';add_docvector_file, import moment from 'moment';