Commit 25dc1fb3 authored by mhw's avatar mhw

上传下载修改

parent 3d6d3501
...@@ -3,7 +3,8 @@ ...@@ -3,7 +3,8 @@
<el-form label-position="left" ref="form" label-width="130px" :model="form" :size="defaultFormItemSize" :rules="rules" v-loading.fullscreen.lock="fullscreenLoading"> <el-form label-position="left" ref="form" label-width="130px" :model="form" :size="defaultFormItemSize" :rules="rules" v-loading.fullscreen.lock="fullscreenLoading">
<el-form-item label="上传知识库文件:" prop="filesArr"> <el-form-item label="上传知识库文件:" prop="filesArr">
<el-button @click="clickUp" :size="defaultFormItemSize" type="primary">上传</el-button> <el-button @click="clickUp" :size="defaultFormItemSize" type="primary">上传</el-button>
<input style="display:none" ref="upFile" type="file" @change="fileinfo($event.target.files)" > <input style="display:none" ref="upFile" type="file" @change="fileinfo($event.target.files)" multiple accept=".html, .md, .json, .jsonl, .csv, .pdf, .png, .jpg, .jpeg, .bmp, .eml, .msg, .epub, .xlsx, .xls, .ipynb, .odt, .py, .rst, .rtf, .srt, .toml, .tsv, .docx, .doc, .xml, .ppt, .pptx, .txt, .htm">
<div class="el-upload__tip" ><i class="el-icon-document" style="color:#909399;margin-right:5px"></i>可上传HTML, MD, JSON, JSONL, CSV, PDF, PNG, JPG, JPEG, BMP, EML, MSG, EPUB, XLSX, XLSD, IPYNB, ODT, PY, RST, RTF, SRT, TOML, TSV, DOCX, DOC, XML, PPT, PPTX, TXT, HTM文件</div>
<div class="itemFile" v-for="(item,index) in files" :key="item.name">{{ item.name }} <div class="itemFile" v-for="(item,index) in files" :key="item.name">{{ item.name }}
<i class="el-icon-circle-close" style="color:#0092FF;cursor: pointer;" @click="clearFile(index)"></i> <i class="el-icon-circle-close" style="color:#0092FF;cursor: pointer;" @click="clearFile(index)"></i>
</div> </div>
...@@ -91,12 +92,17 @@ export default { ...@@ -91,12 +92,17 @@ export default {
methods: { methods: {
fileinfo (files) { fileinfo (files) {
if (this.files.map((item) => item.name).indexOf(files[0].name) === -1) { for (const key in files) {
this.files.push(files[0]) if (Object.hasOwnProperty.call(files, key)) {
const element = files[key];
if (this.files.map((item) => item.name).indexOf(element.name) === -1) {
this.files.push(element)
this.form.filesArr = this.files
} else { } else {
console.log('重复上传'); console.log('重复上传');
} }
this.form.filesArr = this.files }
}
}, },
clickUp () { clickUp () {
this.$refs.upFile.click() this.$refs.upFile.click()
...@@ -166,8 +172,8 @@ export default { ...@@ -166,8 +172,8 @@ export default {
down (row) { // 下载文件 down (row) { // 下载文件
let params = {knowledge_base_name: this.item.knowledgeCode, file_name: row.name, boolean: false} let params = {knowledge_base_name: this.item.knowledgeCode, file_name: row.name, boolean: false}
this.download('/2api/knowledge_base/download_docs', params, row, 'get', false).then((res) => { this.download('/2api/knowledge_base/download_doc', params, row.name, 'get', false).then((res) => {
console.log(res);
}) })
} }
} }
...@@ -186,4 +192,9 @@ export default { ...@@ -186,4 +192,9 @@ export default {
.itemFile{ .itemFile{
} }
.el-upload__tip{
font-size: 12px !important;
}
</style> </style>
...@@ -40,6 +40,9 @@ ...@@ -40,6 +40,9 @@
<el-option v-for="item in knowledgeList" :key="item.knowledgeId" :label="item.knowledgeName" :value="item.knowledgeCode"> <el-option v-for="item in knowledgeList" :key="item.knowledgeId" :label="item.knowledgeName" :value="item.knowledgeCode">
</el-option> </el-option>
</el-select> </el-select>
<div class="el-upload__tip" >{{knowledgeDescribe}}</div>
</el-form-item> </el-form-item>
<el-form-item label="匹配知识条数:" style="margin-bottom:30px"> <el-form-item label="匹配知识条数:" style="margin-bottom:30px">
<el-input-number v-model="form.knowledgeConfige.top_k" :min="1" :max="20"></el-input-number> <el-input-number v-model="form.knowledgeConfige.top_k" :min="1" :max="20"></el-input-number>
...@@ -72,8 +75,9 @@ ...@@ -72,8 +75,9 @@
<template slot="title">文件配置</template> <template slot="title">文件配置</template>
<el-form-item label="上传文件:" style="margin-bottom:30px"> <el-form-item label="上传文件:" style="margin-bottom:30px">
<el-button @click="clickUp" :size="defaultFormItemSize" type="primary">选择文件</el-button> <el-button @click="clickUp" :size="defaultFormItemSize" type="primary">选择文件</el-button>
<input style="display:none" ref="upFile" type="file" @change="fileinfo($event.target.files)"> <input style="display:none" ref="upFile" type="file" @change="fileinfo($event.target.files)" multiple accept=".html, .md, .json, .jsonl, .csv, .pdf, .png, .jpg, .jpeg, .bmp, .eml, .msg, .epub, .xlsx, .xls, .ipynb, .odt, .py, .rst, .rtf, .srt, .toml, .tsv, .docx, .doc, .xml, .ppt, .pptx, .txt, .htm">
<div class="itemFile" v-for="(item,index) in files" :key="item.name">{{ item.name }} <div class="el-upload__tip" >可上传HTML, MD, JSON, JSONL, CSV, PDF, PNG, JPG, JPEG, BMP, EML, MSG, EPUB, XLSX, XLSD, IPYNB, ODT, PY, RST, RTF, SRT, TOML, TSV, DOCX, DOC, XML, PPT, PPTX, TXT, HTM文件</div>
<div class="itemFile" v-for="(item,index) in files" :key="item.name"><i class="el-icon-document" style="color:#909399;margin-right:5px"></i>{{ item.name }}
<i class="el-icon-circle-close" style="color:#0092FF;cursor: pointer;" @click="clearFile(index)"></i> <i class="el-icon-circle-close" style="color:#0092FF;cursor: pointer;" @click="clearFile(index)"></i>
</div> </div>
<el-button style="display:block;margin-top:10px" :size="defaultFormItemSize" type="primary" @click="uploadFiles" :disabled="files.length===0" >上传</el-button> <el-button style="display:block;margin-top:10px" :size="defaultFormItemSize" type="primary" @click="uploadFiles" :disabled="files.length===0" >上传</el-button>
...@@ -97,6 +101,7 @@ import promptWordTemplate from '../promptWordTemplate'; ...@@ -97,6 +101,7 @@ import promptWordTemplate from '../promptWordTemplate';
export default { export default {
data () { data () {
return { return {
knowledgeDescribe: '',
files: [], files: [],
fullscreenLoading: false, fullscreenLoading: false,
isPromptTemplate: true, isPromptTemplate: true,
...@@ -239,13 +244,13 @@ export default { ...@@ -239,13 +244,13 @@ export default {
let id = this.$refs.modelCascader.getCheckedNodes()[0].data.id let id = this.$refs.modelCascader.getCheckedNodes()[0].data.id
this.switchModel(id) this.switchModel(id)
}, },
changeKnowledge (dtat) { // 修改知识库 changeKnowledge (data) { // 修改知识库
// this.openLoading('知识库加载中') // this.openLoading('知识库加载中')
console.log(dtat); this.knowledgeDescribe = this.knowledgeList.filter((item) => {
// this.form.knowledgeConfige.knowledge_base_name = return item.knowledgeCode === data
// console.log(this.$refs.knowledgeSelect); })[0].knowledgeDescribe
}, },
changeSe (dtat) { // 修改模型引擎 changeSe (data) { // 修改模型引擎
// this.openLoading('模型引擎加载中') // this.openLoading('模型引擎加载中')
// console.log(this.$refs.searchSelect); // console.log(this.$refs.searchSelect);
}, },
...@@ -266,12 +271,17 @@ export default { ...@@ -266,12 +271,17 @@ export default {
this.$bus.$emit('isPromptTemplate', this.isPromptTemplate); this.$bus.$emit('isPromptTemplate', this.isPromptTemplate);
}, },
fileinfo (files) { fileinfo (files) {
if (this.files.map((item) => item.name).indexOf(files[0].name) === -1) { for (const key in files) {
this.files.push(files[0]) if (Object.hasOwnProperty.call(files, key)) {
const element = files[key];
if (this.files.map((item) => item.name).indexOf(element.name) === -1) {
this.files.push(element)
this.filesForm.filesArr = this.files this.filesForm.filesArr = this.files
} else { } else {
console.log('重复上传'); console.log('重复上传');
} }
}
}
}, },
clickUp () { clickUp () {
this.$refs.upFile.click() this.$refs.upFile.click()
...@@ -304,4 +314,8 @@ export default { ...@@ -304,4 +314,8 @@ export default {
.myLoading .el-loading-spinner i { .myLoading .el-loading-spinner i {
font-size: 24px !important; font-size: 24px !important;
} }
.el-upload__tip{
line-height: normal;
font-size: 12px !important;
}
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment