zhujing 4 hete
szülő
commit
1b9087aad1

+ 11 - 4
ui/smarttrade-platform/src/api/knowledge/index.js

@@ -21,14 +21,21 @@ export const baseStatistics = (params = {}) => get('/router/rest/knowledge/base/
 
 export const getAllChunks = (params = {}) => get('/router/rest/knowledge/chunk/getAllChunks', params)
 
-export const getAllDocumnets = (params = {}) => get('/router/rest/knowledge/document/getAllDocumnets', params)
+export const getAllDocumnets = (params = {}) => {
+    const query = { ...params }
+    // 判断dataset_id无有效值,直接删除属性
+    if ([undefined, null, ''].includes(query.dataset_id)) {
+        delete query.dataset_id
+    }
+    return get('/router/rest/knowledge/document/getAllDocumnets', query)
+}
 
 export const delDocuments = (params = {}) => {
     const { dataset_id, document_id, ...query } = params
     return remove(`/router/rest/knowledge/document/${dataset_id}/document/${document_id}`, params)
 }
 
-export const delChunk = (data = {}) => {
-    const { dataset_id, document_id,segment_id, ...query } = data
-    return  POST(`/router/rest/knowledge/chunk//${dataset_id}/${document_id}/${segment_id}`, data)
+export const delChunk = (params = {}) => {
+    const { dataset_id, document_id,segment_id, ...query } = params
+    return  remove(`/router/rest/knowledge/chunk//${dataset_id}/${document_id}/${segment_id}`, params)
 }

+ 2 - 0
ui/smarttrade-platform/src/assets/styles/main.css

@@ -1,4 +1,6 @@
 :root {
+  --el-color-primary: #6366f1;
+  
   /* 主色调 */
   --primary: #6366f1;
   --primary-light: #818cf8;

+ 59 - 22
ui/smarttrade-platform/src/views/KnowledgeView.vue

@@ -115,7 +115,7 @@
         </select>
         <div class="search-box">
           <i class="fas fa-search search-icon"></i>
-          <input type="text" v-model="searchQuery" class="search-input" @input="searchData" placeholder="搜索知识...">
+          <input type="text" v-model="searchQuery" class="search-input" @change="searchData" placeholder="搜索知识...">
         </div>
       </div>
     </div>
@@ -190,9 +190,14 @@
             <button class="btn btn-secondary btn-sm" @click="editKnowledge(item)">
               <i class="fas fa-edit"></i>
             </button>
-            <button class="btn btn-secondary btn-sm" @click="deleteKnowledge(item)">
-              <i class="fas fa-trash"></i>
-            </button>
+            <el-popconfirm title="确认删除?" @confirm="deleteKnowledge(item)">
+              <template #reference>
+                <button class="btn btn-secondary btn-sm">
+                  <i class="fas fa-trash"></i>
+                </button>
+              </template>
+            </el-popconfirm>
+            
           </div>
         </div>
       </div>
@@ -463,9 +468,14 @@
                 <button class="btn btn-secondary btn-sm" @click="editKnowledge(item)">
                   <i class="fas fa-edit"></i>
                 </button>
-                <button class="btn btn-secondary btn-sm" @click="deleteKnowledge(item)">
-                  <i class="fas fa-trash"></i>
-                </button>
+                <el-popconfirm title="确认删除?" @confirm="deletechunk(item)">
+                  <template #reference>
+                    <button class="btn btn-secondary btn-sm">
+                      <i class="fas fa-trash"></i>
+                    </button>
+                  </template>
+                </el-popconfirm>
+                
               </div>
             </div>
           </div>
@@ -808,7 +818,7 @@ const categoryTotal = ref()
 const documentsParams = ref({
   pageIndex:1,
   pageSize:10,
-  dataset_id:'',
+  // dataset_id:'',
   keyword:''
 })
 const openCategory = (category) => {
@@ -832,6 +842,21 @@ const categoryPageCurrentChange = (page) => {
     getCategoryList(categoryId.value)
 }
 
+// 删除知识文档
+const deleteKnowledge = (item) => {
+  let params = {
+    dataset_id:item.dataset_id,
+    document_id:item.id,
+  }
+  delDocuments(params).then(res => {
+    if(res.success){
+      showToastMessage('知识文档已删除', 'success')
+      getCategoryList()
+    }else{
+      ElMessage.error(res.message)
+    }
+  })
+}
 // 获取知识列表下的知识块
 const chunkList = ref([])
 const chunksTotal = ref()
@@ -845,19 +870,34 @@ const chunkParams=ref({
 const getChunkDatasets = () => {
     chunkLoading.value = true
     getAllChunks(chunkParams.value).then(res => {
-    chunkLoading.value = false
-    chunkList.value = res.result.data
-    res.result.data.forEach(el => {
-      el.timeip = formatTimeAgo(el.updated_at)
-    });
-    chunksTotal.value =  res.result.total
-  })
+      chunkLoading.value = false
+      chunkList.value = res.result.data
+      res.result.data.forEach(el => {
+        el.timeip = formatTimeAgo(el.updated_at)
+      });
+      chunksTotal.value =  res.result.total
+    })
 }
 const chunkCurrentChange = (page) => {
     chunkParams.value.pageIndex = page
     getChunkDatasets()
 }
-
+// 删除知识块
+const deletechunk = (item) => {
+  let params = {
+    dataset_id:item.dataset_id,
+    document_id:item.document_id,
+    segment_id:item.id,
+  }
+  delChunk(params).then(res => {
+    if(res.success){
+      showToastMessage('知识块已删除', 'success')
+      getChunkDatasets()
+    }else{
+      ElMessage.error(res.message)
+    }
+  })
+}
 
 const qaRecords = ref([])
 const qaRecordsTotal = ref()
@@ -868,8 +908,8 @@ const chatParams=ref({
   keyword:'',
 })
 const getChatMessages = () => {
-    chatParams.value.keyword = searchQuery.value
-    chatMessages(chatParams.value).then(res => {
+  chatParams.value.keyword = searchQuery.value
+  chatMessages(chatParams.value).then(res => {
     tabs.value[2].count = qaRecordsTotal.value = res.result.total
     res.result.records.forEach(el => {
       el.time = formatTimeAgo(el.createdAt)
@@ -967,7 +1007,6 @@ const delFile = (targetItem) => {
 const documentName = ref()
 const showDocumentDetail = (item) => {
   selectedDocument.value = item
-  console.log(item)
   showChunksModal.value = true
   documentName.value = item.name
   chunkParams.value.dataset_id = item.dataset_id
@@ -1017,9 +1056,7 @@ const editKnowledge = (item) => {
   showToastMessage('正在编辑知识...', 'success')
 }
 
-const deleteKnowledge = (item) => {
-  showToastMessage('知识已删除', 'success')
-}
+
 
 const addKnowledgeDocument = ()=> {
   newKnowledge.value.name = ''