mirror of
http://112.124.100.131/ebiz-ai/ebiz-ai-knowledge-manage.git
synced 2025-12-16 06:16:51 +08:00
style(knowledge): 优化元数据组件样式和功能
- 修改元数据对话框样式,使用自定义 r-dialog 组件 -增加元数据名称验证规则,只能包含小写字母、数字和下划线 - 根据元数据类型动态显示不同输入组件 - 优化时间选择器和数字输入框的展示逻辑 - 调整元数据类型选择样式,使用 span 替代 div - 增加按钮和输入框的样式定制
This commit is contained in:
@@ -109,6 +109,25 @@
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
&.is-active {
|
||||
color: $--color-primary;
|
||||
border-color: $--color-primary;
|
||||
}
|
||||
&.is-plain {
|
||||
&:active {
|
||||
color: $--color-primary;
|
||||
border-color: $--color-primary;
|
||||
}
|
||||
&:focus {
|
||||
color: $--color-primary;
|
||||
border-color: $--color-primary;
|
||||
}
|
||||
&:hover {
|
||||
color: $--color-primary;
|
||||
border-color: $--color-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.el-button--text {
|
||||
|
||||
@@ -283,3 +283,66 @@
|
||||
color: $--color-primary;
|
||||
}
|
||||
}
|
||||
|
||||
.el-time-panel__btn {
|
||||
&.confirm {
|
||||
color: $--color-primary;
|
||||
}
|
||||
}
|
||||
|
||||
.el-date-picker__header-label {
|
||||
&.active {
|
||||
color: $--color-primary;
|
||||
}
|
||||
&:hover {
|
||||
color: $--color-primary;
|
||||
}
|
||||
}
|
||||
|
||||
.el-date-table {
|
||||
& td {
|
||||
&.current {
|
||||
&:not(.disabled) {
|
||||
& span {
|
||||
background-color: $--color-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-year-table,
|
||||
.el-year-table {
|
||||
& td {
|
||||
&.current {
|
||||
&:not(.disabled) {
|
||||
& .cell {
|
||||
color: $--color-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
& .cell {
|
||||
&:hover {
|
||||
color: $--color-primary;
|
||||
}
|
||||
}
|
||||
&.today {
|
||||
& .cell {
|
||||
color: $--color-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-month-table {
|
||||
& td {
|
||||
& .cell {
|
||||
&:hover {
|
||||
color: $--color-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-picker-panel__icon-btn {
|
||||
&:hover {
|
||||
color: $--color-primary;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- 新增元数据对话框 -->
|
||||
<el-dialog
|
||||
<r-dialog
|
||||
:title="isEdit ? '编辑元数据' : '新增元数据'"
|
||||
append-to-body
|
||||
:visible.sync="dialogVisible"
|
||||
@@ -76,7 +76,7 @@
|
||||
<el-form :model="metaDataForm" label-width="80px" label-position="top" ref='form' :rules='rules'>
|
||||
<el-form-item label="类型" v-if="!isEdit" prop="dataType">
|
||||
<div class="type-selection">
|
||||
<div
|
||||
<span
|
||||
v-for="type in typeOptions"
|
||||
:key="type"
|
||||
class="type-option"
|
||||
@@ -84,13 +84,14 @@
|
||||
@click="chooseMetaData(type)"
|
||||
>
|
||||
{{ type }}
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="名称" prop='metadataKey'>
|
||||
<el-input
|
||||
v-model="metaDataForm.metadataKey"
|
||||
placeholder="请输入元数据名称"
|
||||
size='medium'
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -100,7 +101,7 @@
|
||||
>保存</el-button
|
||||
>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</r-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -119,7 +120,10 @@ export default {
|
||||
rules:{
|
||||
metadataKey: [
|
||||
{ required: true, message: '请输入元数据名称', trigger: 'blur' },
|
||||
] , dataType: [
|
||||
// 元数据名称只能包含小写字母、数字和下划线,并且必须以小写字母开头
|
||||
{ pattern: /^[a-z][a-z0-9_]*$/, message: '元数据名称只能包含小写字母、数字和下划线,并且必须以小写字母开头', trigger: 'blur' }
|
||||
],
|
||||
dataType: [
|
||||
{ required: true, message: '请选择元数据类型', trigger: 'blur' },
|
||||
]
|
||||
},
|
||||
@@ -156,6 +160,9 @@ export default {
|
||||
this.getMetadata()
|
||||
},
|
||||
chooseMetaData(type) {
|
||||
|
||||
switch (type){}
|
||||
|
||||
this.metaDataForm.dataType = type
|
||||
this.metaDataForm = JSON.parse(JSON.stringify(this.metaDataForm))
|
||||
},
|
||||
@@ -300,7 +307,8 @@ export default {
|
||||
.type-selection {
|
||||
display: flex;
|
||||
.type-option {
|
||||
padding: 0 16px;
|
||||
line-height: 15px!important;
|
||||
padding: 6px;
|
||||
border: 1px solid #dcdfe6;
|
||||
border-radius: 4px;
|
||||
margin-right: 10px;
|
||||
|
||||
@@ -80,14 +80,35 @@
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="form-item">
|
||||
<div class="form-item" v-if="dataType">
|
||||
<label class="form-label">元数据值</label>
|
||||
|
||||
<el-input
|
||||
v-if="dataType === 'String'"
|
||||
v-model="dialog.metadataValue"
|
||||
placeholder="请输入元数据值"
|
||||
class="full-width"
|
||||
size="medium"
|
||||
></el-input>
|
||||
|
||||
<el-input
|
||||
v-if="dataType === 'Number'"
|
||||
v-model="dialog.metadataValue"
|
||||
placeholder="请输入元数据值"
|
||||
class="full-width"
|
||||
size="medium"
|
||||
type="number"
|
||||
></el-input>
|
||||
|
||||
<el-date-picker
|
||||
v-if="dataType === 'Time'"
|
||||
v-model="dialog.metadataValue"
|
||||
type="datetime"
|
||||
placeholder="请输入元数据值"
|
||||
class="full-width"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
size="medium"
|
||||
></el-date-picker>
|
||||
</div>
|
||||
|
||||
<div class="form-actions">
|
||||
@@ -132,14 +153,34 @@
|
||||
></el-input>
|
||||
</div>
|
||||
|
||||
<div class="form-item">
|
||||
<div class="form-item" v-if="dataType">
|
||||
<label class="form-label">元数据值</label>
|
||||
<el-input
|
||||
v-if="dataType === 'String'"
|
||||
v-model="editDialog.metadataValue"
|
||||
placeholder="请输入元数据值"
|
||||
class="full-width"
|
||||
size="medium"
|
||||
></el-input>
|
||||
|
||||
<el-input
|
||||
v-if="dataType === 'Number'"
|
||||
v-model="editDialog.metadataValue"
|
||||
placeholder="请输入元数据值"
|
||||
class="full-width"
|
||||
size="medium"
|
||||
type="number"
|
||||
></el-input>
|
||||
|
||||
<el-date-picker
|
||||
v-if="dataType === 'Time'"
|
||||
v-model="editDialog.metadataValue"
|
||||
type="datetime"
|
||||
placeholder="请输入元数据值"
|
||||
class="full-width"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
size="medium"
|
||||
></el-date-picker>
|
||||
</div>
|
||||
|
||||
<div class="form-actions">
|
||||
@@ -169,6 +210,7 @@ import {
|
||||
updateMetaDataDoc
|
||||
} from '@/api/generatedApi'
|
||||
import MeteData from '@/views/knowledge/detail/components/metaData/Index.vue'
|
||||
import { data } from 'autoprefixer'
|
||||
|
||||
export default {
|
||||
name: 'MetadataOperator',
|
||||
@@ -176,6 +218,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
isShowOperator: false,
|
||||
dataType: '',
|
||||
docList: [],
|
||||
dialog: {
|
||||
visible: false,
|
||||
@@ -196,6 +239,7 @@ export default {
|
||||
},
|
||||
created() {},
|
||||
methods: {
|
||||
data,
|
||||
init(id) {
|
||||
this.documentId = id
|
||||
this.getDocList()
|
||||
@@ -251,6 +295,7 @@ export default {
|
||||
this.editDialog.metadataKey = item.metadataKey
|
||||
this.editDialog.metadataValue = item.metadataValue
|
||||
this.editDialog.metadataId = item.metadataId
|
||||
this.dataType = item.dataType
|
||||
},
|
||||
infoConfirm() {
|
||||
// 处理确认逻辑
|
||||
@@ -277,7 +322,11 @@ export default {
|
||||
this.$emit('close')
|
||||
this.$emit('openMetaDrawer')
|
||||
},
|
||||
handleSelectChange(value) {},
|
||||
handleSelectChange(value) {
|
||||
this.dataType = this.list.find(item => {
|
||||
return item.id === value
|
||||
}).dataType
|
||||
},
|
||||
//
|
||||
showMeta() {
|
||||
this.$refs.metaData.addMetaData()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
<r-dialog
|
||||
:title="title"
|
||||
:visible.sync="visible"
|
||||
width="800px"
|
||||
@@ -122,7 +122,7 @@
|
||||
<div slot="footer" class="dialog-footer" v-else>
|
||||
<el-button size="small" @click="handleClose">关 闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</r-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -164,7 +164,13 @@ export default {
|
||||
},
|
||||
rules: {
|
||||
menuCode: [
|
||||
{ required: true, message: '请输入菜单编码', trigger: 'blur' }
|
||||
{ required: true, message: '请输入菜单编码', trigger: 'blur' },
|
||||
// 纯数字
|
||||
{
|
||||
pattern: /^[0-9]*$/,
|
||||
message: '菜单编码只能输入数字',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
menuName: [
|
||||
{ required: true, message: '请输入菜单名称', trigger: 'blur' }
|
||||
|
||||
Reference in New Issue
Block a user