From 272000b000564f5e4ed7c5562fe72a206c8a48f9 Mon Sep 17 00:00:00 2001
From: yangyin <1850366751@qq.com>
Date: 星期二, 12 十一月 2024 10:51:02 +0800
Subject: [PATCH] 修改知识库编辑的内容

---
 src/views/project/yw/dataManage/knowledge/AddKnowledge.vue |   72 +++++++++++++++++++++++------------
 1 files changed, 47 insertions(+), 25 deletions(-)

diff --git a/src/views/project/yw/dataManage/knowledge/AddKnowledge.vue b/src/views/project/yw/dataManage/knowledge/AddKnowledge.vue
index 78993b7..d627a23 100644
--- a/src/views/project/yw/dataManage/knowledge/AddKnowledge.vue
+++ b/src/views/project/yw/dataManage/knowledge/AddKnowledge.vue
@@ -1,7 +1,7 @@
 <template>
 	<div class="flex flex-col h100">
 		<div class="mb-[10px] flex flex-shrink-0 items-center">
-			<el-button style="margin-left: 8px; width: 40px" text @click="handleExitFlow">
+			<el-button style="margin-left: 8px; width: 40px" link @click="handleExitFlow">
 				<el-icon style="font-size: 24px !important">
 					<ArrowLeft />
 				</el-icon>
@@ -37,6 +37,9 @@
 						:rows="5"
 						type="textarea"
 					/>
+				</el-form-item>
+				<el-form-item label="绱㈠紩鍒嗘暟:" prop="scope">
+					<el-input v-model="state.knowledgeForm.scope" style="width: 532px" />
 				</el-form-item>
 				<el-form-item label="鏁版嵁绫诲瀷:">
 					<div v-for="(item, index) in state.dataTypeList" :key="index">
@@ -129,9 +132,9 @@
 									:treedata="state.knowledgeBaseData"
 									:current-node-key="currentListID"
 									:defaultProps="{
+										id: 'group_id',
+										label: 'group_name',
 										children: 'Children',
-										label: 'title',
-										id: 'id',
 									}"
 									@click="handleClickNode"
 								>
@@ -144,7 +147,6 @@
 									@select="handleSelectItem"
 									highlight-current-row
 									ref="multipleTableRef"
-									:class="{ 'hidden-checkbox-all': state.isRadio }"
 									@select-all="
 										(selection) => {
 											handleSelectAll(selection, state.fileData);
@@ -177,7 +179,7 @@
 								<div
 									class="bg-[#fff] border-[1px] border-solid border-[#d8d9e6] py-[12px] w-[215px] mr-[10px] px-[16px] rounded-lg cursor-pointer"
 									:class="{ activeColor: state.knowledgeForm.segmentationMode === item.ID }"
-									@click="activeConfigurationType(item.ID)"
+									@click="activeDataProcessType(item.ID)"
 								>
 									<div class="flex items-center">
 										<div class="data_left">
@@ -218,13 +220,15 @@
 <script setup lang="ts">
 import { ElMessage, type FormRules } from 'element-plus';
 import moment from 'moment';
-import { computed, nextTick, reactive, ref } from 'vue';
-import { useRouter } from 'vue-router';
+import { computed, nextTick, onMounted, reactive, ref } from 'vue';
+import { useRoute, useRouter } from 'vue-router';
 import { add_docvector_file, add_docvector_name } from '/@/api/knowledge/docvector';
 import { get_knowledge_group_list, list_knowledge_file } from '/@/api/knowledge/group';
 import LeftTreeByMgr from '/@/components/tree/leftTreeByMgr.vue';
 import mittBus from '/@/utils/mitt';
+import { verifiyNumberInteger } from '/@/utils/toolsValidate';
 import { convertListToTree } from '/@/utils/util';
+const route = useRoute();
 // 瀹氫箟鍙橀噺鍐呭
 const state = reactive({
 	soliderValue: 0,
@@ -232,6 +236,7 @@
 	knowledgeForm: {
 		title: '',
 		prompt: '',
+		scope: null,
 		dataType: 1,
 		configurationMode: 1,
 		segmentationMode: 1,
@@ -314,7 +319,17 @@
 	fileData: [], //鏂囦欢鏁版嵁婧�
 	isCreateIndex: false, //鏄惁璋冪敤鍒涘缓鐨勭储寮曠殑瀛楁
 	knowlg_id: '',
+	groupKnow_id: null,
 });
+//楠岃瘉scope瀛楁鍙兘杈撳叆姝f暣鏁�
+const validateNumber = (rule, value, callback) => {
+	if (value < 31) {
+		callback(new Error('璇疯緭鍏ュぇ浜�30鐨勬鏁存暟'));
+	} else {
+		state.knowledgeForm.scope = verifiyNumberInteger(value);
+		callback();
+	}
+};
 const knowledgeFormRules = reactive<FormRules>({
 	title: [
 		{
@@ -330,6 +345,7 @@
 			trigger: 'blur',
 		},
 	],
+	scope: [{ validator: validateNumber, trigger: 'blur' }],
 });
 const knowledgeFormRef = ref();
 const router = useRouter();
@@ -351,6 +367,10 @@
 const activeConfigurationType = (id: number) => {
 	state.knowledgeForm.configurationMode = id;
 };
+//閫夋嫨鏁版嵁鏂囨。鍒囧垎
+const activeDataProcessType = (id: number) => {
+	state.knowledgeForm.segmentationMode = id;
+};
 //涓嬩竴姝�
 const nextKnowledge = async () => {
 	const valid = await knowledgeFormRef.value.validate().catch(() => {});
@@ -364,6 +384,7 @@
 const backKnowledge = () => {
 	state.showKnowledgeForm = false;
 };
+
 //#endregion
 //#region ====================== 绌虹煡璇嗗簱鐨勫垱寤� ======================
 
@@ -371,9 +392,13 @@
 const emptyKnowledgeBase = async () => {
 	const valid = await knowledgeFormRef.value.validate().catch(() => {});
 	if (!valid) return;
-	const res = await add_docvector_name({ title: state.knowledgeForm.title, prompt: state.knowledgeForm.prompt });
+	const res = await add_docvector_name({
+		title: state.knowledgeForm.title,
+		prompt: state.knowledgeForm.prompt,
+		scope: state.knowledgeForm.scope,
+		group_id: state.groupKnow_id,
+	});
 	if (res.json_ok) {
-		ElMessage.success('鍒涘缓绌虹煡璇嗗簱鎴愬姛');
 		state.knowlg_id = res.knowlg_id;
 		getFileTreeData(true);
 	}
@@ -390,12 +415,13 @@
 	});
 	if (res.json_ok) {
 		let obj = {
-			id: res.knowlg_id,
+			id: state.knowlg_id,
 			title: state.knowledgeForm.title,
 			prompt: state.knowledgeForm.prompt,
-			publish: '',
+			publish: 'N',
 			create_time: currentTime,
 			user_name: '',
+			scope: state.knowledgeForm.scope,
 		};
 		mittBus.emit('addKnowledgeBaseObj', obj);
 		router.push({ name: 'Knowledge' });
@@ -407,22 +433,18 @@
 };
 //#endregion
 //#region ====================== 鐭ヨ瘑搴撴枃浠朵笂浼� ==========
-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 getFileTreeData = async (selectFirst = false) => {
-	treeLoading.value = true;
-	const res = await get_knowledge_group_list().finally(() => {
-		treeLoading.value = false;
-	});
+	const res = await get_knowledge_group_list();
 	if (res?.json_ok) {
-		const resData = (res.values || []) as [];
+		const resData = (res.groups || []) as [];
 		state.knowledgeBaseData = convertListToTree(resData, {
-			ID: 'id',
+			ID: 'group_id',
 			Children: 'Children',
-			ParentID: 'parent',
+			ParentID: 'p_group_id',
 		});
 		if (selectFirst) {
 			const firstListTreeNode = state.knowledgeBaseData[0];
@@ -440,7 +462,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();
@@ -484,6 +506,10 @@
 	multipleTableRef.value.toggleRowSelection(item, false);
 };
 //#endregion
+onMounted(() => {
+	const group_id = route.query.group_id;
+	state.groupKnow_id = group_id;
+});
 </script>
 <style scoped lang="scss">
 .set-form-height {
@@ -600,10 +626,6 @@
 			justify-content: center;
 		}
 	}
-}
-.hidden-checkbox-all :deep(.el-table__header .el-table-column--selection .el-checkbox) {
-	// 闅愯棌鍏ㄩ�塩heckbox
-	display: none;
 }
 </style>
 <style>

--
Gitblit v1.9.3