| | |
| | | :treedata="state.knowledgeBaseData" |
| | | :current-node-key="currentListID" |
| | | :defaultProps="{ |
| | | id: 'group_id', |
| | | label: 'group_name', |
| | | children: 'Children', |
| | | label: 'title', |
| | | id: 'id', |
| | | }" |
| | | defaultExpandAll |
| | | @click="handleClickNode" |
| | | > |
| | | </LeftTreeByMgr> |
| | |
| | | <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'; |
| | | import { OptClassificationMap, classificationEnum } from '/@/views/types/metrics'; |
| | | const route = useRoute(); |
| | | // 定义变量内容 |
| | | const state = reactive({ |
| | | soliderValue: 0, |
| | |
| | | fileData: [], //文件数据源 |
| | | isCreateIndex: false, //是否调用创建的索引的字段 |
| | | knowlg_id: '', |
| | | groupKnow_id: null, |
| | | }); |
| | | //验证scope字段只能输入正整数 |
| | | const validateNumber = (rule, value, callback) => { |
| | |
| | | const emptyKnowledgeBase = async () => { |
| | | const valid = await knowledgeFormRef.value.validate().catch(() => {}); |
| | | if (!valid) return; |
| | | var currentTime = moment().format('YYYY-MM-DD HH:mm:ss'); |
| | | 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) { |
| | | state.knowlg_id = res.knowlg_id; |
| | | let obj = { |
| | | id: state.knowlg_id, |
| | | group_id: state.groupKnow_id, |
| | | title: state.knowledgeForm.title, |
| | | prompt: state.knowledgeForm.prompt, |
| | | publish: 'N', |
| | | create_time: currentTime, |
| | | user_name: '', |
| | | scope: state.knowledgeForm.scope, |
| | | }; |
| | | mittBus.emit('addEmptyKnowledge', obj); |
| | | getFileTreeData(true); |
| | | } |
| | | }; |
| | |
| | | if (res.json_ok) { |
| | | let obj = { |
| | | id: state.knowlg_id, |
| | | |
| | | title: state.knowledgeForm.title, |
| | | prompt: state.knowledgeForm.prompt, |
| | | publish: 'N', |
| | |
| | | user_name: '', |
| | | scope: state.knowledgeForm.scope, |
| | | }; |
| | | mittBus.emit('addKnowledgeBaseObj', obj); |
| | | mittBus.emit('updateKnowledgeBaseObj', obj); |
| | | router.push({ name: 'Knowledge' }); |
| | | //清空表单 |
| | | knowledgeFormRef.value.resetFields(); |
| | |
| | | //#region ====================== 知识库文件上传 ========== |
| | | 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) => { |
| | | const res = await get_knowledge_group_list(); |
| | | 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) { |
| | |
| | | const handleClickNode = (data: any) => { |
| | | multipleSelection.value = []; |
| | | nextTick(() => { |
| | | leftTreeRef.value?.treeRef.setCurrentKey(data.id); |
| | | leftTreeRef.value?.treeRef.setCurrentKey(data.group_id); |
| | | }); |
| | | currentTreeNode.value = data; |
| | | getFileTableData(); |
| | |
| | | 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 { |