mirror of
http://112.124.100.131/ebiz-ai/ebiz-ai-knowledge-manage.git
synced 2025-12-16 06:16:51 +08:00
feat(knowledge): 实现知识库文件上传和预处理功能
- 新增文件上传接口和相关组件 - 实现文件上传、预处理和保存功能 - 添加预处理结果预览功能 -优化知识库详情展示,增加文件内容和关键词显示 - 实现知识库文件删除功能 - TODO 拆分的文档展示 还需要调整 可能会把tags 放在标题上 需要修改样式
This commit is contained in:
@@ -13,17 +13,7 @@
|
||||
</el-form-item>
|
||||
<!-- 文件上传-->
|
||||
<el-form-item label="" required prop="file">
|
||||
<el-upload
|
||||
drag
|
||||
:action="form.radio === '1' ? uploadFileByCustom() : uploadFileByTemplate()"
|
||||
:headers="headers"
|
||||
class="upload-demo"
|
||||
:on-success="handleUploadSuccess"
|
||||
:before-upload="handleBeforeUpload"
|
||||
:show-file-list="false"
|
||||
:file-list="fieldList"
|
||||
:data="form"
|
||||
>
|
||||
<div @click="createFiled" class="upload-demo">
|
||||
<el-empty v-if="!uploadLoading">
|
||||
<template #description>
|
||||
<p>点击或将文件拖拽到这里上传</p>
|
||||
@@ -31,7 +21,7 @@
|
||||
</template>
|
||||
</el-empty>
|
||||
<div v-else v-loading="uploadLoading" :element-loading-text="'文件上传中...'" style="height: 100%"></div>
|
||||
</el-upload>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 本地文件 -->
|
||||
@@ -80,8 +70,7 @@ export default {
|
||||
name: 'preprocessing',
|
||||
data() {
|
||||
return {
|
||||
uploadFileByCustom,
|
||||
uploadFileByTemplate,
|
||||
filed: null,
|
||||
uploadLoading: false,
|
||||
headers: {},
|
||||
fieldList: [],
|
||||
@@ -92,7 +81,7 @@ export default {
|
||||
datasetId: this.$route.query.datasetId
|
||||
},
|
||||
previewDialogVisible: false, // 添加对话框显示控制变量
|
||||
documentId: null
|
||||
documentId: '1361400636462174208'
|
||||
}
|
||||
},
|
||||
props: {},
|
||||
@@ -104,6 +93,41 @@ export default {
|
||||
this.$emit('getFileType', this.form.radio)
|
||||
},
|
||||
downloadTemplate() {},
|
||||
|
||||
// 生成filed
|
||||
createFiled() {
|
||||
let input = document.createElement('input')
|
||||
input.type = 'file'
|
||||
input.onchange = e => {
|
||||
// this.$emit('getFile', e.target.files[0])
|
||||
this.filed = e.target.files[0]
|
||||
}
|
||||
input.click()
|
||||
},
|
||||
|
||||
uploadFiled() {
|
||||
let formData = new FormData()
|
||||
formData.append('file', this.filed)
|
||||
formData.append('datasetId', this.form.datasetId)
|
||||
let api = this.form.radio === '1' ? uploadFileByCustom : uploadFileByTemplate
|
||||
if (this.form.radio === '1') {
|
||||
formData.append('beMinerU', this.form.beMinerU)
|
||||
formData.append('beOcr', this.form.beOcr)
|
||||
}
|
||||
api(formData).then(response => {
|
||||
this.documentId = response.content.content
|
||||
// 向上导入documentId
|
||||
this.$emit('getDocumentId', this.documentId)
|
||||
// 文件内容
|
||||
this.$emit('getUploadDetail', response.content.content)
|
||||
// 表单内容
|
||||
this.$emit('getForm', this.form, this.$refs.processForm)
|
||||
if (this.form.beMinerU) {
|
||||
this.$emit('beMinerU', true)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
handleUploadSuccess(response, file) {
|
||||
this.fieldList = [file]
|
||||
this.uploadLoading = false
|
||||
|
||||
Reference in New Issue
Block a user