mirror of
http://112.124.100.131/ebiz-ai/ebiz-ai-knowledge-manage.git
synced 2025-12-23 01:36:53 +08:00
feat(knowledge): 新增知识库创建、删除功能并优化知识库列表和详情页面
- 新增知识库创建和删除接口 - 实现知识库创建、删除功能 - 优化知识库列表页面,增加删除按钮 - 更新知识库详情页面,支持修改功能- 修复知识库更新接口,改为 POST 方法
This commit is contained in:
@@ -21,7 +21,22 @@ export function getDatasetById(params) {
|
|||||||
export function datasetUpdate(data) {
|
export function datasetUpdate(data) {
|
||||||
return request({
|
return request({
|
||||||
url: getUrl('/datasets/update'),
|
url: getUrl('/datasets/update'),
|
||||||
method: 'get',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 知识库新增
|
||||||
|
export function datasetCreate(data) {
|
||||||
|
return request({
|
||||||
|
url: getUrl('/datasets/create'),
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 知识库删除
|
||||||
|
export function datasetDelete(data) {
|
||||||
|
return request({
|
||||||
|
url: getUrl(`/datasetsEx/delete?id=${data.id}`),
|
||||||
|
method: 'post',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -48,6 +48,14 @@ service.interceptors.response.use(
|
|||||||
response => {
|
response => {
|
||||||
const res = response.data
|
const res = response.data
|
||||||
endLoading()
|
endLoading()
|
||||||
|
if(!res.content){
|
||||||
|
Message({
|
||||||
|
message: res.message,
|
||||||
|
type: 'error',
|
||||||
|
duration: 5 * 500
|
||||||
|
})
|
||||||
|
return Promise.reject(res)
|
||||||
|
}
|
||||||
if (response.request.responseType == 'blob' || response.request.responseType == 'Blob') {
|
if (response.request.responseType == 'blob' || response.request.responseType == 'Blob') {
|
||||||
return response.data
|
return response.data
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,103 +2,122 @@
|
|||||||
<div class='container index-container'>
|
<div class='container index-container'>
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<h3>新增知识库</h3>
|
<h3>{{$route.query.datasetId ? '修改' : '新增'}}知识库</h3>
|
||||||
</div>
|
</div>
|
||||||
<el-row >
|
<el-row >
|
||||||
<el-col :span='21' :offset='1'>
|
<el-col :span='21' :offset='1'>
|
||||||
<el-form :model="model" ref="model" label-width="100px">
|
<el-form :model="model" ref="model" label-width="120px" :rules='rules'>
|
||||||
<el-form-item label="知识库名称:" prop="knowledgeName">
|
<el-form-item label="知识库名称:" prop="name">
|
||||||
<el-input></el-input>
|
<el-input v-model='model.name'></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="描述(可选):" prop="knowledgeName" requried>
|
<el-form-item label="描述(可选):" prop="description" requried>
|
||||||
<el-input type='textarea'></el-input>
|
<el-input type='textarea' v-model='model.description'></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="分段模式:" prop="knowledgeName" requried>
|
<el-form-item label="分段模式:" prop="segmentedMode" requried>
|
||||||
<el-radio-group>
|
<el-radio-group v-model='model.segmentedMode'>
|
||||||
<el-radio label="1">通用分段模式</el-radio>
|
<el-radio :label="0">通用分段模式</el-radio>
|
||||||
<el-radio label="1">Q&A分段模式</el-radio>
|
<el-radio :label="1">Q&A分段模式</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span='24' class='text-center'>
|
<el-col :span='24' class='text-center'>
|
||||||
<el-button type='primary' size='medium' @click='save'>创建</el-button>
|
<el-button type='primary' size='medium' @click='save'>{{$route.query.datasetId ? '保存' : '创建'}}</el-button>
|
||||||
<el-button size='medium' @click='$router.go(-1)'>取消 </el-button>
|
<el-button size='medium' @click='$router.go(-1)'>取消 </el-button>
|
||||||
|
<el-button size='medium' @click='jumpKnowledgeList' v-if='infoDialogVisible'>返回知识库列表</el-button>
|
||||||
|
<el-button size='medium' @click='jumpKnowledgeDetail' v-if='infoDialogVisible'>查看知识库详情 </el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <el-dialog title="知识库操作成功" :visible.sync="infoDialogVisible" width="50%"></el-dialog>-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import 'nprogress/nprogress.css' // progress bar style
|
import 'nprogress/nprogress.css' // progress bar style
|
||||||
import renderLoading from '@/components/RenderLoading/loading/index'
|
import renderLoading from '@/components/RenderLoading/loading/index'
|
||||||
import NProgress from 'nprogress'
|
import NProgress from 'nprogress'
|
||||||
|
|
||||||
|
import { getDatasetById,datasetUpdate,datasetCreate } from '@/api/generatedApi/index'
|
||||||
export default {
|
export default {
|
||||||
name: 'knowledgeForm',
|
name: 'knowledgeForm',
|
||||||
data() {
|
data() {
|
||||||
return {}
|
|
||||||
},
|
|
||||||
props: {
|
|
||||||
knowledgeForm: {
|
|
||||||
type: Object,
|
|
||||||
default: () => {
|
|
||||||
return {
|
return {
|
||||||
knowledgeName:''
|
infoDialogVisible:false,
|
||||||
|
|
||||||
|
model:{
|
||||||
|
description:'',
|
||||||
|
name:'',
|
||||||
|
segmentedMode:null,
|
||||||
|
id:null
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
name: [
|
||||||
|
{ required: true, message: '请输入知识库名称', trigger: 'blur' },
|
||||||
|
],
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
knowledgeId: {
|
props: {},
|
||||||
type: String
|
|
||||||
}
|
|
||||||
},
|
|
||||||
watch: {},
|
watch: {},
|
||||||
components: {},
|
components: {},
|
||||||
filters: {},
|
filters: {},
|
||||||
methods: {
|
methods: {
|
||||||
|
jumpKnowledgeList(){
|
||||||
|
this.$router.push({
|
||||||
|
path: '/knowledge/list',
|
||||||
|
})
|
||||||
|
},
|
||||||
|
jumpKnowledgeDetail(item){
|
||||||
|
this.$router.push({
|
||||||
|
path: '/knowledge/detail',
|
||||||
|
query:{
|
||||||
|
datasetId:this.model.id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
getDetail (){
|
||||||
|
let { datasetId } = this.$route.query
|
||||||
|
if(!datasetId) return
|
||||||
|
getDatasetById({ id:datasetId }).then(res=>{
|
||||||
|
this.model = {
|
||||||
|
...res.content.content
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
save(){
|
save(){
|
||||||
// 配置进度条参数
|
this.$refs.model.validate(valid => {
|
||||||
// NProgress.configure({
|
if (!valid) {
|
||||||
// showSpinner: false, // 隐藏转圈圈
|
return false
|
||||||
// })
|
}
|
||||||
|
(!this.$route.query.datasetId?datasetCreate:datasetUpdate)(this.model).then(res=>{
|
||||||
// setTimeout(()=>{
|
|
||||||
//
|
|
||||||
// NProgress.done();
|
|
||||||
// },5000)
|
|
||||||
|
|
||||||
// let loadingDom = document.getElementById('knowledgeFormDrawer').querySelector('.el-drawer')
|
|
||||||
|
|
||||||
// console.log(loadingDom)
|
|
||||||
// let loading = renderLoading.service({
|
|
||||||
// target:loadingDom,
|
|
||||||
// })
|
|
||||||
|
|
||||||
// loading.close()
|
|
||||||
|
|
||||||
// 添加保存成功的提示
|
// 添加保存成功的提示
|
||||||
this.$message.success('保存成功');
|
this.$message.success('保存成功');
|
||||||
|
this.model.id = res.content.content.id
|
||||||
|
this.infoDialogVisible = true
|
||||||
|
// this.$router.go(-1)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
this.getDetail()
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
// model 获取 knowledgeForm
|
|
||||||
model() {
|
|
||||||
return this.knowledgeForm
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -93,10 +93,14 @@ export default {
|
|||||||
},
|
},
|
||||||
// 保存知识库标题
|
// 保存知识库标题
|
||||||
saveKnowledgeName(){
|
saveKnowledgeName(){
|
||||||
|
let { datasetId } = this.$route.query
|
||||||
this.knowledgeName = this.copyKnowledgeName
|
this.knowledgeName = this.copyKnowledgeName
|
||||||
// 调用update接口
|
// 调用update接口
|
||||||
datasetUpdate({
|
datasetUpdate({
|
||||||
|
name:this.knowledgeName,
|
||||||
|
description:this.knowledgeDesc,
|
||||||
|
segmentedMode:this.segmentedMode,
|
||||||
|
id:datasetId,
|
||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
this.editKnowledge = false
|
this.editKnowledge = false
|
||||||
})
|
})
|
||||||
@@ -108,19 +112,21 @@ export default {
|
|||||||
|
|
||||||
// 跳转去上传文件
|
// 跳转去上传文件
|
||||||
jumpAddKnowledge() {
|
jumpAddKnowledge() {
|
||||||
|
let { datasetId } = this.$route.query
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/knowledge/detail/create',
|
path: '/knowledge/detail/create',
|
||||||
query: {
|
query: {
|
||||||
datasetId: ''
|
datasetId: datasetId
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 跳转到知识库编辑
|
// 跳转到知识库编辑
|
||||||
jumpEditKnowledge(){
|
jumpEditKnowledge(){
|
||||||
|
let { datasetId } = this.$route.query
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/knowledge/knowledge-create',
|
path: '/knowledge/knowledge-create',
|
||||||
query: {
|
query: {
|
||||||
datasetId: ''
|
datasetId: datasetId
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -39,8 +39,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="item-bottom mt20">
|
<div class="item-bottom mt20">
|
||||||
<el-button type="text" class="fs14" @click="knowLedgeDetail(item)">查看详情</el-button>
|
<el-button type="text" class="fs14" @click="knowLedgeDetail(item)">查看详情</el-button>
|
||||||
<el-button type="text" class="fs14">修改</el-button>
|
<el-button type="text" class="fs14" @click='createdKnowLedge(item)'>修改</el-button>
|
||||||
<el-button type="text" class="fs14 danger">删除</el-button>
|
<el-button type="text" class="fs14 danger" @click='deleteKnowLedge(item)'>删除</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { docManageDataset } from '@/api/generatedApi/index'
|
import { docManageDataset,datasetDelete } from '@/api/generatedApi/index'
|
||||||
import knowledgeForm from '@/views/knowledge/detail/components/knowledgeForm.vue'
|
import knowledgeForm from '@/views/knowledge/detail/components/knowledgeForm.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -82,11 +82,11 @@ export default {
|
|||||||
this.datasetList = res.content.content
|
this.datasetList = res.content.content
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
createdKnowLedge() {
|
createdKnowLedge(item) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/knowledge/knowledge-create',
|
path: '/knowledge/knowledge-create',
|
||||||
query:{
|
query:{
|
||||||
datasetId: ''
|
datasetId: item?item.id:null
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -97,6 +97,22 @@ export default {
|
|||||||
datasetId: item.id
|
datasetId: item.id
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
deleteKnowLedge(item) {
|
||||||
|
this.$confirm('此操作将永久删除该知识库, 是否继续?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
datasetDelete({id: item.id}).then(res => {
|
||||||
|
this.$message({
|
||||||
|
type: 'success',
|
||||||
|
message: '删除成功!'
|
||||||
|
})
|
||||||
|
this.getList()
|
||||||
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
|
|||||||
Reference in New Issue
Block a user