mirror of
http://112.124.100.131/ebiz-ai/ebiz-ai-knowledge-manage.git
synced 2025-12-10 11:26:50 +08:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -157,4 +157,14 @@
|
||||
border: none;
|
||||
color: #fff;
|
||||
}
|
||||
&:active {
|
||||
background: linear-gradient(311deg, #8d5cff 0%, #026eff 100%);
|
||||
border: none;
|
||||
color: #fff;
|
||||
}
|
||||
&:focus {
|
||||
background: linear-gradient(311deg, #8d5cff 0%, #026eff 100%);
|
||||
border: none;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
.underBorder {
|
||||
border: unset;
|
||||
|
||||
.el-input__inner {
|
||||
border: unset;
|
||||
border-radius: unset !important;
|
||||
}
|
||||
|
||||
.el-input-group__prepend {
|
||||
@@ -13,10 +15,16 @@
|
||||
|
||||
.el-input--medium {
|
||||
.el-input__inner {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border-radius: 8px;
|
||||
//height: 30px;
|
||||
//line-height: 30px;
|
||||
}
|
||||
.el-input__icon {
|
||||
line-height: 30px;
|
||||
//line-height: 30px;
|
||||
}
|
||||
}
|
||||
.el-textarea {
|
||||
.el-textarea__inner {
|
||||
border-radius: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
16
src/assets/sass/renderSass/label.scss
Normal file
16
src/assets/sass/renderSass/label.scss
Normal file
@@ -0,0 +1,16 @@
|
||||
.el-form--label-top {
|
||||
& .el-form-item__label {
|
||||
line-height: 30px;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.el-form-item__label {
|
||||
font-family: PingFangSC, PingFang SC;
|
||||
font-weight: 500;
|
||||
font-size: 13px;
|
||||
color: $--color-primary-label;
|
||||
line-height: 18px;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
}
|
||||
23
src/assets/sass/renderSass/radio.scss
Normal file
23
src/assets/sass/renderSass/radio.scss
Normal file
@@ -0,0 +1,23 @@
|
||||
.el-radio__inner {
|
||||
border-radius: 4px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
&:after {
|
||||
}
|
||||
}
|
||||
.el-radio__input {
|
||||
&.is-checked {
|
||||
& + .el-radio__label {
|
||||
color: $--color-primary;
|
||||
}
|
||||
.el-radio__inner {
|
||||
background: #fff;
|
||||
&:after {
|
||||
background: $--color-primary;
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
border-radius: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,7 @@ $--color-primary-desc-text: #51525d;
|
||||
$--color-primary-desc-text-drank: #999;
|
||||
$--color-primary-table-hover: #eff0f8;
|
||||
$--color-primary-table-button-hover: #e3e5f1;
|
||||
$--color-primary-label: #70778d;
|
||||
|
||||
:root {
|
||||
--swiper-theme-color: #0a6dff;
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
@import 'renderSass/dialog';
|
||||
@import 'renderSass/input';
|
||||
@import 'renderSass/table';
|
||||
@import 'renderSass/label';
|
||||
@import 'renderSass/radio';
|
||||
|
||||
html,
|
||||
body,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog :visible.sync="visible" :title="title" :append-to-body="appendToBody">
|
||||
<el-dialog :visible.sync="visible" :title="title" :append-to-body="appendToBody" :destroy-on-close="destroyOnClose" :width="width">
|
||||
<div class="render-dialog-body">
|
||||
<slot name="default"></slot>
|
||||
</div>
|
||||
@@ -18,10 +18,18 @@ export default {
|
||||
return {}
|
||||
},
|
||||
props: {
|
||||
width: {
|
||||
type: String,
|
||||
default: '30%'
|
||||
},
|
||||
appendToBody: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
destroyOnClose: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
visible: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
@sort-change="sortChange"
|
||||
ref="renderTable"
|
||||
:border="border"
|
||||
stripe
|
||||
:header-align="align"
|
||||
size="small"
|
||||
default-expand-all
|
||||
|
||||
@@ -58,7 +58,6 @@ export default {
|
||||
width: 35px;
|
||||
//height: 65px;
|
||||
vertical-align: middle;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
& .sidebar-title {
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
<template>
|
||||
<div class="container index-container">
|
||||
<el-card shadow="hover">
|
||||
<r-dialog :visible.sync="visible" :title="(datasetId ? `修改` : `新增`) + '知识库'" destroy-on-close width="500px">
|
||||
<div slot="header" class="clearfix">
|
||||
<h3>{{ $route.query.datasetId ? '修改' : '新增' }}知识库</h3>
|
||||
<h3>{{ datasetId ? '修改' : '新增' }}</h3>
|
||||
</div>
|
||||
<el-row>
|
||||
<el-col :span="21" :offset="1">
|
||||
<el-form :model="model" ref="model" label-width="120px" :rules="rules">
|
||||
<el-col>
|
||||
<el-form :model="model" ref="model" label-width="120px" :rules="rules" label-position="top">
|
||||
<el-form-item label="知识库名称:" prop="name">
|
||||
<el-input v-model="model.name"></el-input>
|
||||
<el-input v-model="model.name" size="medium"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="描述(可选):" prop="description" requried>
|
||||
<el-input type="textarea" v-model="model.description"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="分段模式:" prop="segmentedMode" v-if="$route.query.datasetId">
|
||||
<el-form-item label="分段模式:" prop="segmentedMode" v-if="datasetId">
|
||||
{{ model.segmentedMode | filterSegmentedMode }}
|
||||
</el-form-item>
|
||||
<el-form-item label="分段模式:" prop="segmentedMode" v-else>
|
||||
@@ -26,20 +25,18 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="text-center">
|
||||
<el-button type="primary" size="medium" @click="save" v-if="!infoDialogVisible">
|
||||
{{ $route.query.datasetId ? '保存' : '创建' }}
|
||||
</el-button>
|
||||
<el-button size="medium" v-if="!infoDialogVisible" @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-row>
|
||||
</el-card>
|
||||
<div slot="footer" :span="24">
|
||||
<el-button class="render-button" size="medium" v-if="!infoDialogVisible" @click="$emit('update:visible', false)">取消</el-button>
|
||||
<el-button class="render-button" type="primary" size="medium" @click="save" v-if="!infoDialogVisible">
|
||||
{{ datasetId ? '保存' : '创建' }}
|
||||
</el-button>
|
||||
<el-button class="render-button" size="medium" @click="jumpKnowledgeList" v-if="infoDialogVisible">返回知识库列表</el-button>
|
||||
<el-button class="render-button" size="medium" @click="jumpKnowledgeDetail" v-if="infoDialogVisible">查看知识库详情</el-button>
|
||||
</div>
|
||||
</r-dialog>
|
||||
|
||||
<!-- <el-dialog title="知识库操作成功" :visible.sync="infoDialogVisible" width="50%"></el-dialog>-->
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import 'nprogress/nprogress.css' // progress bar style
|
||||
@@ -64,8 +61,30 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {},
|
||||
watch: {},
|
||||
props: {
|
||||
visible: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
datasetId: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
datasetId(val) {
|
||||
if (val) {
|
||||
this.getDetail()
|
||||
} else {
|
||||
this.model = {
|
||||
description: '',
|
||||
name: '',
|
||||
segmentedMode: 0,
|
||||
id: null
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
filters: {
|
||||
filterSegmentedMode(val) {
|
||||
@@ -95,9 +114,8 @@ export default {
|
||||
},
|
||||
|
||||
getDetail() {
|
||||
let { datasetId } = this.$route.query
|
||||
if (!datasetId) return
|
||||
getDatasetById({ id: datasetId }).then(res => {
|
||||
if (!this.datasetId) return
|
||||
getDatasetById({ id: this.datasetId }).then(res => {
|
||||
this.model = {
|
||||
...res.content.content
|
||||
}
|
||||
@@ -108,12 +126,13 @@ export default {
|
||||
if (!valid) {
|
||||
return false
|
||||
}
|
||||
;(!this.$route.query.datasetId ? datasetCreate : datasetUpdate)(this.model).then(res => {
|
||||
;(!this.datasetId ? datasetCreate : datasetUpdate)(this.model).then(res => {
|
||||
if (res) {
|
||||
// 添加保存成功的提示
|
||||
this.$message.success('保存成功')
|
||||
this.model.id = res.content.content.id
|
||||
this.infoDialogVisible = true
|
||||
// this.infoDialogVisible = true
|
||||
this.$emit('update:visible', false)
|
||||
// this.$router.go(-1)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -92,19 +92,24 @@
|
||||
:active-segment="activeSegment"
|
||||
@update:visible="val => (drawer = val)"
|
||||
/>
|
||||
|
||||
<knowledgeForm :visible.sync="drawerForm" :datasetId="$route.query.datasetId" @update:visible="getKnowledgeDetail"></knowledgeForm>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { datasetDocumentEx, datasetQueryDelete, datasetQuerySegments, datasetsExPages, datasetUpdate, getDatasetById } from '@/api/generatedApi/index'
|
||||
import { documentSourceOptions, segmentedModeOptionsMap } from '@/assets/js/utils/utilOptions'
|
||||
import DocumentDrawer from './components/documentDetail/DocumentDrawer.vue'
|
||||
import knowledgeForm from '@/views/knowledge/detail/components/knowledgeForm.vue'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
data() {
|
||||
return {
|
||||
datasetId: this.$route.query.datasetId,
|
||||
activeName: -1,
|
||||
drawer: false,
|
||||
drawerForm: false,
|
||||
editKnowledge: false,
|
||||
form: {
|
||||
knowledgeNameLike: '',
|
||||
@@ -136,6 +141,7 @@ export default {
|
||||
props: {},
|
||||
watch: {},
|
||||
components: {
|
||||
knowledgeForm,
|
||||
DocumentDrawer
|
||||
},
|
||||
methods: {
|
||||
@@ -176,13 +182,14 @@ export default {
|
||||
},
|
||||
// 跳转到知识库编辑
|
||||
jumpEditKnowledge() {
|
||||
let { datasetId } = this.$route.query
|
||||
this.$router.push({
|
||||
path: '/knowledge/knowledge-create',
|
||||
query: {
|
||||
datasetId: datasetId
|
||||
}
|
||||
})
|
||||
this.drawerForm = true
|
||||
// let { datasetId } = this.$route.query
|
||||
// this.$router.push({
|
||||
// path: '/knowledge/knowledge-create',
|
||||
// query: {
|
||||
// datasetId: datasetId
|
||||
// }
|
||||
// })
|
||||
},
|
||||
/**
|
||||
* @name 根据id 获取知识内容详情
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<div slot="header" class="clearfix mt30 flex">
|
||||
<div>
|
||||
<h3>知识库列表</h3>
|
||||
<p class="mt20 fs14 theme-primary-desc-text" style="line-height: 10px">
|
||||
<p class="mt20 fs14 theme-primary-desc-text" style="line-height: 15px">
|
||||
易商数智知识库平台,旨在为用户提供更便捷、更灵敏、更全面的知识存储和操作平台,用户可以通过创建不同的知识库,完成对系统内知识的细分和储备。
|
||||
</p>
|
||||
<p class="mt10 fs14 theme-primary-desc-text" style="line-height: 15px">同时也可以通过修改和删除操作,对系统内知识体系进行修正和优化。</p>
|
||||
@@ -52,17 +52,19 @@
|
||||
</el-card>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<knowledgeForm :visible.sync="drawer" :datasetId="datasetId" @update:visible="getList"></knowledgeForm>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { docManageDataset, datasetDelete } from '@/api/generatedApi/index'
|
||||
import knowledgeForm from '@/views/knowledge/detail/components/knowledgeForm.vue'
|
||||
import konwledgePng_1 from '@/assets/images/konwledge/konwledge-1.png'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
data() {
|
||||
return {
|
||||
datasetId: '',
|
||||
konwledgePng_1,
|
||||
datasetList: [],
|
||||
nameLike: '',
|
||||
@@ -96,12 +98,14 @@ export default {
|
||||
})
|
||||
},
|
||||
createdKnowLedge(item) {
|
||||
this.$router.push({
|
||||
path: '/knowledge/knowledge-create',
|
||||
query: {
|
||||
datasetId: item ? item.id : null
|
||||
}
|
||||
})
|
||||
this.datasetId = item ? item.id : ''
|
||||
this.drawer = true
|
||||
// this.$router.push({
|
||||
// path: '/knowledge/knowledge-create',
|
||||
// query: {
|
||||
// datasetId: item ? item.id : null
|
||||
// }
|
||||
// })
|
||||
},
|
||||
knowLedgeDetail(item) {
|
||||
this.$router.push({
|
||||
|
||||
Reference in New Issue
Block a user