mirror of
http://112.124.100.131/ebiz-ai/ebiz-ai-knowledge-manage.git
synced 2025-12-24 02:03:00 +08:00
feat(knowledge): 实现知识库文件上传和预处理功能
- 新增文件上传接口和相关组件 - 实现文件上传、预处理和保存功能 - 添加预处理结果预览功能 -优化知识库详情展示,增加文件内容和关键词显示 - 实现知识库文件删除功能 - TODO 拆分的文档展示 还需要调整 可能会把tags 放在标题上 需要修改样式
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
<template>
|
||||
<div style="height: 100%;">
|
||||
<div class="mv10 mh20 text-right" v-if="isEdit">
|
||||
<el-button type="primary" size="medium" @click="saveMarkDown">保存并处理</el-button>
|
||||
<el-button size="medium">取消</el-button>
|
||||
<el-button type="primary" size="medium" @click="saveMarkDown" :disabled="finishedMiner">保存并处理</el-button>
|
||||
</div>
|
||||
<div :class="!isEdit ? 'mt10 flex' : 'flex'" style="height:calc(100% - 35px);flex:1">
|
||||
<iframe
|
||||
@@ -11,7 +10,7 @@
|
||||
:src="`${iframeSrc}/pdfjs-dist/web/viewer.html?file=${encodeURIComponent(prdUrl)}`"
|
||||
class="miner-u el-card is-always-shadow ml20"
|
||||
></iframe>
|
||||
<div style="flex:1;" class="mh20 miner-u-md">
|
||||
<div style="flex:1;" class="mh20 miner-u-md" v-loading="finishedMiner" element-loading-text="正在识别中...">
|
||||
<el-tabs type="border-card" style="height: 100%;overflow: hidden" @tab-click="changeTab">
|
||||
<el-tab-pane label="预览" style="overflow:scroll;">
|
||||
<div v-html="markdownHtml" class="view-body" id="viewBody" ref="viewBody"></div>
|
||||
@@ -27,7 +26,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getPdfUrl, minerUBbox, minerUMarkDown, minerUMarkDownUpdate } from '@/api/generatedApi/index'
|
||||
import { getPdfUrl, minerUBbox, minerUMarkDown, minerUMarkDownUpdate, minerUQuery } from '@/api/generatedApi/index'
|
||||
import { DEFAULT_COLOR_SECTION, PDF_COLOR_PICKER } from './pdf-color'
|
||||
import MarkdownIt from 'markdown-it'
|
||||
import markdownItKatex from 'markdown-it-katex'
|
||||
@@ -40,6 +39,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
tableIdCounter: 0,
|
||||
finishedMiner: false,
|
||||
prdUrl: ``,
|
||||
iframeSrc: window.location.origin,
|
||||
bboxList: [],
|
||||
@@ -103,7 +103,18 @@ export default {
|
||||
default: true
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
watch: {
|
||||
documentId: {
|
||||
handler(newVal, oldVal) {
|
||||
if (newVal) {
|
||||
this.getMinerUStatus()
|
||||
|
||||
this.prdUrl = getPdfUrl({ documentId: newVal })
|
||||
}
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
filters: {},
|
||||
methods: {
|
||||
@@ -171,9 +182,10 @@ export default {
|
||||
minerUMarkDownUpdate({
|
||||
documentId: this.documentId,
|
||||
newMd: pre
|
||||
}).then(res => {
|
||||
this.$emit('saveMarkDown', true)
|
||||
})
|
||||
},
|
||||
|
||||
// 给文件增加色块
|
||||
formatJson(data) {
|
||||
return data.map(item => {
|
||||
@@ -245,13 +257,36 @@ export default {
|
||||
'*'
|
||||
)
|
||||
}
|
||||
},
|
||||
|
||||
// 获取识别状态
|
||||
getMinerUStatus() {
|
||||
this.finishedMiner = true
|
||||
minerUQuery({ id: this.documentId }).then(res => {
|
||||
console.log(res)
|
||||
|
||||
let mineruStatus = res.content.content.mineruStatus
|
||||
switch (mineruStatus) {
|
||||
case 0:
|
||||
case '0':
|
||||
setTimeout(() => {
|
||||
this.getMinerUStatus()
|
||||
}, 1000)
|
||||
break
|
||||
case 1:
|
||||
case '1':
|
||||
this.finishedMiner = false
|
||||
this.getPDFDetailBbox()
|
||||
this.getPDFDetailMarkDown()
|
||||
break
|
||||
default:
|
||||
this.finishedMiner = false
|
||||
break
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getPDFDetailBbox()
|
||||
this.getPDFDetailMarkDown()
|
||||
this.prdUrl = getPdfUrl({ documentId: this.documentId })
|
||||
},
|
||||
created() {},
|
||||
mounted() {
|
||||
// 监听 iframe 的 postMessage 事件
|
||||
window.addEventListener('message', event => {
|
||||
|
||||
Reference in New Issue
Block a user