| | |
| | | <div class="set-form-footer"> |
| | | <div v-show="!state.showKnowledgeForm"> |
| | | <el-button type="primary" @click="nextKnowledge">下一步</el-button> |
| | | <el-button @click="emptyKnowledgeBase">创建空知识库</el-button> |
| | | </div> |
| | | <div v-show="state.showKnowledgeForm"> |
| | | <el-button @click="importCompleted" type="primary">导入完成</el-button> |
| | |
| | | import moment from 'moment'; |
| | | import { computed, nextTick, reactive, ref } from 'vue'; |
| | | import { useRouter } from 'vue-router'; |
| | | import { add_docvector_name } from '/@/api/knowledge/docvector'; |
| | | 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'; |
| | |
| | | showKnowledgeForm: false, |
| | | knowledgeBaseData: [], //知识库类目 |
| | | fileData: [], //文件数据源 |
| | | isRadio: false, //是否单选 |
| | | isCreateIndex: false, //是否调用创建的索引的字段 |
| | | knowlg_id: '', |
| | | }); |
| | | const knowledgeFormRules = reactive<FormRules>({ |
| | | title: [ |
| | |
| | | const valid = await knowledgeFormRef.value.validate().catch(() => {}); |
| | | if (!valid) return; |
| | | state.showKnowledgeForm = true; |
| | | getFileTreeData(true); |
| | | if (!state.isCreateIndex) { |
| | | emptyKnowledgeBase(); |
| | | state.isCreateIndex = true; |
| | | } |
| | | }; |
| | | const backKnowledge = () => { |
| | | state.showKnowledgeForm = false; |
| | |
| | | |
| | | //创建一个空知识库 |
| | | const emptyKnowledgeBase = async () => { |
| | | var currentTime = moment().format('YYYY-MM-DD HH:mm:ss'); |
| | | const valid = await knowledgeFormRef.value.validate().catch(() => {}); |
| | | if (!valid) return; |
| | | const res = await add_docvector_name({ title: state.knowledgeForm.title, prompt: state.knowledgeForm.prompt }); |
| | | if (res.json_ok) { |
| | | ElMessage.success('创建成功'); |
| | | ElMessage.success('创建空知识库成功'); |
| | | state.knowlg_id = res.knowlg_id; |
| | | getFileTreeData(true); |
| | | } |
| | | }; |
| | | //导入完成 |
| | | const importCompleted = async () => { |
| | | var currentTime = moment().format('YYYY-MM-DD HH:mm:ss'); |
| | | // 上传文件 |
| | | if (multipleSelection.value.length == 0) return ElMessage.warning('请先选择文件'); |
| | | const file_id = multipleSelection.value.map((v) => v.id).join(','); |
| | | const res = await add_docvector_file({ |
| | | knowlg_id: state.knowlg_id, |
| | | file_id: file_id, |
| | | }); |
| | | if (res.json_ok) { |
| | | let obj = { |
| | | id: res.knowlg_id, |
| | | title: state.knowledgeForm.title, |
| | |
| | | }; |
| | | mittBus.emit('addKnowledgeBaseObj', obj); |
| | | router.push({ name: 'Knowledge' }); |
| | | //清空表单 |
| | | knowledgeFormRef.value.resetFields(); |
| | | state.showKnowledgeForm = false; |
| | | state.isCreateIndex = false; |
| | | } |
| | | }; |
| | | //导入完成 |
| | | const importCompleted = () => { |
| | | return; |
| | | ElMessage.success('导入完成'); |
| | | router.push({ name: 'Knowledge' }); |
| | | }; |
| | | //#endregion |
| | | //#region ====================== 知识库文件上传 ========== |