feat: 增加步骤条交互

This commit is contained in:
chenjinsong
2023-03-09 15:20:59 +08:00
parent d89c20a75c
commit d9677e89f5

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="edit-knowledge-base"> <div class="edit-knowledge-base">
<div class="edit-knowledge-base__header">{{$t('knowledgeBase.createKnowledgeBase')}}</div> <div class="edit-knowledge-base__header">{{$t('overall.create')}}</div>
<div class="edit-knowledge-base__body"> <div class="edit-knowledge-base__body">
<el-steps direction="vertical" :active="activeStep"> <el-steps direction="vertical" :active="activeStep">
<el-step v-for="(height, index) in stepHeights" :style="`flex-basis: ${height}px;`" :key="index"></el-step> <el-step v-for="(height, index) in stepHeights" :style="`flex-basis: ${height}px;`" :key="index"></el-step>
@@ -11,7 +11,7 @@
<el-form :model="editObject" label-position="top" ref="form" :rules="rules"> <el-form :model="editObject" label-position="top" ref="form" :rules="rules">
<!--name--> <!--name-->
<el-form-item :label="$t('config.roles.name')" prop="tagName"> <el-form-item :label="$t('config.roles.name')" prop="tagName">
<el-input class="form-input" maxlength="64" placeholder="" :disabled="!!editObject.id" show-word-limit size="mini" type="text" v-model="editObject.tagName"></el-input> <el-input class="form-input" maxlength="64" placeholder="" :disabled="!!editObject.id" show-word-limit size="mini" type="text" v-model="editObject.tagName" @blur="tagNameBlur"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('overall.type')" prop="tagType"> <el-form-item :label="$t('overall.type')" prop="tagType">
<el-select v-model="editObject.tagType" <el-select v-model="editObject.tagType"
@@ -192,6 +192,15 @@ export default {
} }
}, },
methods: { methods: {
tagNameBlur () {
if (!this.tagNameFirstBlur) {
this.$refs.form.validate(valid => {
if (valid) {
this.tagNameFirstBlur = true
}
})
}
},
fileChange (files, fileList) { fileChange (files, fileList) {
this.fileList = fileList.slice(-1) this.fileList = fileList.slice(-1)
}, },
@@ -371,6 +380,13 @@ export default {
importedTableFirstColumn () { importedTableFirstColumn () {
const t = this.knowledgeBaseType.find(t => t.value === this.importedType) const t = this.knowledgeBaseType.find(t => t.value === this.importedType)
return t ? t.name : '' return t ? t.name : ''
},
activeStep () {
if (this.tagNameFirstBlur) {
return this.uploaded ? 2 : 1
} else {
return 0
}
} }
}, },
watch: { watch: {
@@ -423,7 +439,6 @@ export default {
// 折叠组件控制 // 折叠组件控制
const activeCollapses = ref(['0', '1', '2']) const activeCollapses = ref(['0', '1', '2'])
// 步骤条控制 // 步骤条控制
const activeStep = ref(0)
const stepHeightConstant = { const stepHeightConstant = {
collapse: 58, collapse: 58,
first: 333, first: 333,
@@ -453,9 +468,9 @@ export default {
return { return {
knowledgeBaseId, knowledgeBaseId,
editObject, editObject,
tagNameFirstBlur: ref(false),
blankObject, blankObject,
activeCollapses, activeCollapses,
activeStep,
stepHeightConstant, stepHeightConstant,
stepHeights, stepHeights,
knowledgeBaseType, knowledgeBaseType,