From a83b7e6d04a490e02f7baafa6e309b2cbbac4d76 Mon Sep 17 00:00:00 2001
From: yangyin <1850366751@qq.com>
Date: 星期四, 05 九月 2024 17:10:51 +0800
Subject: [PATCH] 联调查看页面

---
 src/views/project/yw/dataManage/knowledge/Knowledge.vue |  114 ++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 89 insertions(+), 25 deletions(-)

diff --git a/src/views/project/yw/dataManage/knowledge/Knowledge.vue b/src/views/project/yw/dataManage/knowledge/Knowledge.vue
index 4eeb723..f21ddbf 100644
--- a/src/views/project/yw/dataManage/knowledge/Knowledge.vue
+++ b/src/views/project/yw/dataManage/knowledge/Knowledge.vue
@@ -12,29 +12,31 @@
 				></el-input>
 				<el-button icon="ele-Plus" @click="createKnowledgeBase()" type="primary"> 鍒涘缓鐭ヨ瘑搴� </el-button>
 			</div>
-			<div class="flex flex-wrap gap-3 overflow-x-auto set_item_jel">
-				<img :src="knowledgeLeft" class="set_item_img" />
-				<div class="set_item_content">
-					<div class="flex items-center">
-						<div class="mr-[10px] text-[14px] font-[500] h-[22px]">鐭ヨ瘑搴撳悕绉�</div>
-						<span class="set_desc_text">
-							<span class="set_desc_icon ywifont ywicon-wendang"> </span>
-							1涓煡璇�
-						</span>
-						<span class="set_desc_text">
-							<span class="set_desc_icon ywifont ywicon-wendang"> </span>
-							{{ state.currentKnowledgeBaseTime }}鏇存柊
-						</span>
+			<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">
+					<img :src="knowledgeLeft" class="set_item_img" />
+					<div class="set_item_content">
+						<div class="flex items-center">
+							<div class="mr-[10px] text-[14px] font-[500] h-[22px]">{{ item.title }}</div>
+							<span class="set_desc_text">
+								<span class="set_desc_icon ywifont ywicon-wendang"> </span>
+								1涓煡璇�
+							</span>
+							<span class="set_desc_text">
+								<span class="set_desc_icon ywifont ywicon-wendang"> </span>
+								{{ item.create_time }}鏇存柊
+							</span>
+						</div>
 					</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-divider direction="vertical" />
-					<el-button link class="text-[12px] text-[#686682]">缂栬緫 </el-button>
-					<el-divider direction="vertical" />
-					<el-button link class="text-[12px] text-[#686682]">鍒犻櫎 </el-button>
+					<div class="set_btn_group">
+						<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]">鍛戒腑娴嬭瘯 </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]" @click="deleteKnowledgeBase(item)" style="color: #f00">鍒犻櫎 </el-button>
+					</div>
 				</div>
 			</div>
 		</div>
@@ -43,29 +45,91 @@
 
 <script setup lang="ts">
 import { Search } from '@element-plus/icons-vue';
-import { reactive } from 'vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { onMounted, reactive } from 'vue';
 import { useRouter } from 'vue-router';
+import { delete_docvector_name, get_docvector_list } from '/@/api/knowledge/docvector';
+import mittBus from '/@/utils/mitt';
 import knowledgeLeft from '/static/images/knowledge/data_type_1.png';
 const router = useRouter();
 const state = reactive({
 	knowledgeBaseForm: {
 		Name: '',
 	},
-	currentKnowledgeBaseTime: '2024-08-29 14:22:14',
+	knowledgeBaseList: [],
 });
+//#region ====================== 鑾峰彇鐭ヨ瘑搴搒heet鍒楄〃 ======================
+
 //鍒涘缓鐭ヨ瘑搴�
 const createKnowledgeBase = () => {
 	router.push({
 		name: 'AddKnowledge',
 	});
 };
+//鑾峰彇鐭ヨ瘑搴撳垪琛�
+const docvectorList = async () => {
+	const res = await get_docvector_list();
+	if (res.json_ok) {
+		res.values.forEach((item) => {
+			item.create_time = new Date(item.create_time).toLocaleString();
+		});
+		state.knowledgeBaseList = res.values;
+	} else {
+		return ElMessage.error('鑾峰彇鍒楄〃绱㈠紩澶辫触' + (res?.json_msg ? `锛�${JSON.stringify(res.json_msg)}` : ''));
+	}
+};
+const deleteKnowledgeBase = async (row) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎褰撳墠鐨勭煡璇嗗簱锛氥��${row.title}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(async () => {
+		const res = await delete_docvector_name({
+			knowlg_id: row.id,
+		});
+		if (res.json_ok) {
+			ElMessage.success('鍒犻櫎鐭ヨ瘑搴撴垚鍔�');
+			const index = state.knowledgeBaseList.findIndex((d) => d.id === row.id);
+			state.knowledgeBaseList.splice(index, 1);
+		}
+	});
+};
+//#endregion
+//#region ====================== 瀵圭煡璇嗗簱杩涜缂栬緫鏌ョ湅鎿嶄綔 ======================
+const editKnowledgeBase = (row) => {
+	router.push({
+		name: 'EditKnowledge',
+		query: {
+			knowledge_id: row.id,
+			knowledge_title: row.title,
+			knowledge_desc: row.desc,
+			knowledge_prompt: row.prompt,
+		},
+	});
+};
+const viewKnowledgeBase = (row) => {
+	router.push({
+		name: 'ViewKnowledge',
+		query: {
+			knowledge_id: row.id,
+			knowledge_title: row.title,
+		},
+	});
+};
+//#endregion
+onMounted(() => {
+	docvectorList();
+	mittBus.on('addKnowledgeBaseObj', (obj) => {
+		state.knowledgeBaseList.push(obj);
+	});
+});
 </script>
 <style scoped lang="scss">
 .set_item_jel {
 	align-items: center;
 	background: #fff;
 	border-radius: 16px;
-	max-width: 700px;
+	max-width: calc(50% - 6px);
 	padding: 16px 20px;
 	width: 100%;
 	box-sizing: border-box;

--
Gitblit v1.9.3