From b920b63dd91ac5e084c3b6d3b9e726ef3c5de123 Mon Sep 17 00:00:00 2001 From: yangyin <1850366751@qq.com> Date: 星期五, 06 九月 2024 17:32:20 +0800 Subject: [PATCH] 知识索引新增查看 --- src/views/project/yw/dataManage/knowledge/Knowledge.vue | 66 +++++++++++++++++++------------- 1 files changed, 39 insertions(+), 27 deletions(-) diff --git a/src/views/project/yw/dataManage/knowledge/Knowledge.vue b/src/views/project/yw/dataManage/knowledge/Knowledge.vue index d9284bd..e5b8412 100644 --- a/src/views/project/yw/dataManage/knowledge/Knowledge.vue +++ b/src/views/project/yw/dataManage/knowledge/Knowledge.vue @@ -3,17 +3,20 @@ <div class="flex flex-col h100"> <div class="text-[16px] font-[500] h-[22px]">鐭ヨ瘑搴撶鐞�</div> <div class="mx-0 mt-[12px] mb-[16px] flex justify-between items-center"> - <el-input - v-model="state.knowledgeBaseForm.Name" - style="width: 230px; margin-right: 10px; background: #ffffff; border-radius: 6px; transition: all 0.2s" - placeholder="鎼滅储鐭ヨ瘑搴撳悕绉�" - clearable - :suffix-icon="Search" - ></el-input> + <div class="flex-col"> + <el-input + v-model="knowledgeBaseForm.title" + style="width: 230px; margin-right: 10px; background: #ffffff; border-radius: 6px; transition: all 0.2s" + placeholder="鎼滅储鐭ヨ瘑搴撳悕绉�" + clearable + ></el-input> + <el-button type="primary" icon="ele-Search" @click="handleQueryTable"> 鏌ヨ </el-button> + <el-button icon="ele-Refresh" @click="resetQuery">閲嶇疆 </el-button> + </div> <el-button icon="ele-Plus" @click="createKnowledgeBase()" type="primary"> 鍒涘缓鐭ヨ瘑搴� </el-button> </div> <div class="flex flex-wrap gap-[12px]"> - <div class="flex flex-wrap gap-3 overflow-x-auto set_item_jel" v-for="item in state.knowledgeBaseList" :key="item.id"> + <div class="flex flex-wrap gap-3 overflow-x-auto set_item_jel" v-for="item in displayTableData" :key="item.id"> <img :src="knowledgeLeft" class="set_item_img" /> <div class="set_item_content"> <div class="flex items-center"> @@ -23,19 +26,17 @@ 1涓煡璇� </span> <span class="set_desc_text"> - <span class="set_desc_icon ywifont ywicon-wendang"> </span> + <span class="set_desc_icon ywifont ywicon-cshy-shizhong"> </span> {{ item.create_time }}鏇存柊 </span> </div> </div> <div class="set_btn_group"> - <el-button link class="text-[12px] text-[#686682]">鏌ョ湅 </el-button> - <el-divider direction="vertical" /> - <el-button link class="text-[12px] text-[#686682]">鍛戒腑娴嬭瘯 </el-button> + <el-button link class="text-[12px] text-[#686682]" @click="viewKnowledgeBase(item)">鏌ョ湅 </el-button> <el-divider direction="vertical" /> <el-button link class="text-[12px] text-[#686682]" @click="editKnowledgeBase(item)">缂栬緫 </el-button> <el-divider direction="vertical" /> - <el-button link class="text-[12px] text-[#686682]" @click="deleteKnowledgeBase(item)">鍒犻櫎 </el-button> + <el-button link class="text-[12px]" @click="deleteKnowledgeBase(item)" style="color: #f00">鍒犻櫎 </el-button> </div> </div> </div> @@ -44,22 +45,16 @@ </template> <script setup lang="ts"> -import { Search } from '@element-plus/icons-vue'; import { ElMessage, ElMessageBox } from 'element-plus'; -import { onMounted, reactive } from 'vue'; +import { onMounted, ref } from 'vue'; import { useRouter } from 'vue-router'; import { delete_docvector_name, get_docvector_list } from '/@/api/knowledge/docvector'; +import { useQueryTable } from '/@/hooks/useQueryTable'; import mittBus from '/@/utils/mitt'; import knowledgeLeft from '/static/images/knowledge/data_type_1.png'; const router = useRouter(); -const state = reactive({ - knowledgeBaseForm: { - Name: '', - }, - knowledgeBaseList: [], -}); //#region ====================== 鑾峰彇鐭ヨ瘑搴搒heet鍒楄〃 ====================== - +const knowledgeBaseList = ref([]); //鍒涘缓鐭ヨ瘑搴� const createKnowledgeBase = () => { router.push({ @@ -73,7 +68,7 @@ res.values.forEach((item) => { item.create_time = new Date(item.create_time).toLocaleString(); }); - state.knowledgeBaseList = res.values; + knowledgeBaseList.value = res.values; } else { return ElMessage.error('鑾峰彇鍒楄〃绱㈠紩澶辫触' + (res?.json_msg ? `锛�${JSON.stringify(res.json_msg)}` : '')); } @@ -89,8 +84,8 @@ }); if (res.json_ok) { ElMessage.success('鍒犻櫎鐭ヨ瘑搴撴垚鍔�'); - const index = state.knowledgeBaseList.findIndex((d) => d.id === row.id); - state.knowledgeBaseList.splice(index, 1); + const index = knowledgeBaseList.value.findIndex((d) => d.id === row.id); + knowledgeBaseList.value.splice(index, 1); } }); }; @@ -107,12 +102,29 @@ }, }); }; +const viewKnowledgeBase = (row) => { + router.push({ + name: 'ViewKnowledge', + query: { + knowledge_id: row.id, + knowledge_title: row.title, + }, + }); +}; //#endregion -//鍒犻櫎鐭ヨ瘑搴� + +//#region ====================== 鎼滅储琛ㄦ牸锛屽琛ㄦ牸鎺掑簭 ====================== +const knowledgeBaseForm = ref({ + title: '', +}); +const { resetQuery, handleQueryTable, displayTableData } = useQueryTable(knowledgeBaseList, knowledgeBaseForm, () => { + displayTableData.value = knowledgeBaseList.value; +}); +//#endregion onMounted(() => { docvectorList(); mittBus.on('addKnowledgeBaseObj', (obj) => { - state.knowledgeBaseList.push(obj); + knowledgeBaseList.value.push(obj); }); }); </script> -- Gitblit v1.9.3