fix(仪表板): 修复从收藏tab切换至仪表板tab页面右侧没有内容显示

This commit is contained in:
wangjiahao 2022-12-28 12:24:35 +08:00
parent 89cad759fc
commit 4d91954d00
2 changed files with 48 additions and 35 deletions

View File

@ -174,7 +174,7 @@
/> />
</span> </span>
<span v-if="data.nodeType === 'folder'"> <span v-if="data.nodeType === 'folder'">
<svg-icon icon-class="scene" /> <svg-icon icon-class="scene"/>
</span> </span>
<span <span
:class="data.status" :class="data.status"
@ -211,7 +211,7 @@
<el-dropdown-item <el-dropdown-item
:command="beforeClickEdit('folder', 'new', data, node)" :command="beforeClickEdit('folder', 'new', data, node)"
> >
<svg-icon icon-class="scene" /> <svg-icon icon-class="scene"/>
<span style="margin-left: 5px">{{ $t('panel.groupAdd') }}</span> <span style="margin-left: 5px">{{ $t('panel.groupAdd') }}</span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item <el-dropdown-item
@ -334,7 +334,7 @@
:label="$t('commons.name')" :label="$t('commons.name')"
prop="name" prop="name"
> >
<el-input v-model="groupForm.name" /> <el-input v-model="groupForm.name"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div <div
@ -345,8 +345,8 @@
size="mini" size="mini"
@click="close()" @click="close()"
>{{ >{{
$t('panel.cancel') $t('panel.cancel')
}} }}
</el-button> </el-button>
<el-button <el-button
type="primary" type="primary"
@ -422,8 +422,8 @@
size="mini" size="mini"
@click="closeMoveGroup()" @click="closeMoveGroup()"
>{{ >{{
$t('dataset.cancel') $t('dataset.cancel')
}} }}
</el-button> </el-button>
<el-button <el-button
:disabled="groupMoveConfirmDisabled" :disabled="groupMoveConfirmDisabled"
@ -635,6 +635,11 @@ export default {
} }
}, },
methods: { methods: {
activeLastNode() {
this.$nextTick(() => {
document.querySelector('.is-current').firstChild.click()
})
},
toTop(data, node) { toTop(data, node) {
panelToTop(data.id).then(() => { panelToTop(data.id).then(() => {
this.defaultTree() this.defaultTree()

View File

@ -8,7 +8,7 @@
@tab-click="handleClick" @tab-click="handleClick"
> >
<el-tab-pane name="PanelList"> <el-tab-pane name="PanelList">
<span slot="label"><i class="el-icon-document tablepanel-i" />{{ $t('panel.panel_list') }}</span> <span slot="label"><i class="el-icon-document tablepanel-i"/>{{ $t('panel.panel_list') }}</span>
<panel-list <panel-list
v-show="activeName==='PanelList'" v-show="activeName==='PanelList'"
ref="panelList" ref="panelList"
@ -18,14 +18,14 @@
name="panels_star" name="panels_star"
:lazy="true" :lazy="true"
> >
<span slot="label"><i class="el-icon-star-off tablepanel-i" />{{ $t('panel.store') }}</span> <span slot="label"><i class="el-icon-star-off tablepanel-i"/>{{ $t('panel.store') }}</span>
<enshrine v-if="activeName==='panels_star'" /> <enshrine v-if="activeName==='panels_star'"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
name="panels_share" name="panels_share"
:lazy="true" :lazy="true"
> >
<span slot="label"><i class="el-icon-share tablepanel-i" />{{ $t('panel.share') }}</span> <span slot="label"><i class="el-icon-share tablepanel-i"/>{{ $t('panel.share') }}</span>
<share-tree <share-tree
v-if="showShare" v-if="showShare"
ref="share_tree" ref="share_tree"
@ -104,6 +104,9 @@ export default {
if (tab.name === 'panels_star') { if (tab.name === 'panels_star') {
this.refreshEnshrine() this.refreshEnshrine()
} }
if (tab.name === 'PanelList') {
this.$refs.panelList.activeLastNode()
}
}, },
refreshShare() { refreshShare() {
this.showShare = false this.showShare = false
@ -148,28 +151,33 @@ export default {
</script> </script>
<style scoped> <style scoped>
.ms-aside-container { .ms-aside-container {
height: calc(100vh - 56px); height: calc(100vh - 56px);
padding: 0px; padding: 0px;
min-width: 260px; min-width: 260px;
max-width: 460px; max-width: 460px;
} }
.ms-main-container {
height: calc(100vh - 56px); .ms-main-container {
padding: 0px; height: calc(100vh - 56px);
} padding: 0px;
.tab-panel{ }
height: 100%;
overflow-y: auto; .tab-panel {
} height: 100%;
.tab-panel ::v-deep .el-tabs__nav-wrap{ overflow-y: auto;
padding: 0 10px; }
}
.tab-panel ::v-deep .el-tabs__nav-wrap::after { .tab-panel ::v-deep .el-tabs__nav-wrap {
height: 1px; padding: 0 10px;
} }
.tab-panel ::v-deep .el-tabs__item{
/* width: 10px; */ .tab-panel ::v-deep .el-tabs__nav-wrap::after {
padding: 0 10px; height: 1px;
} }
.tab-panel ::v-deep .el-tabs__item {
/* width: 10px; */
padding: 0 10px;
}
</style> </style>