From 0b3900a7822edbf2dbf453a2045c3861d4533876 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: Wed, 04 Feb 2026 13:20:32 +0800
Subject: [PATCH] 修改取值
---
src/views/layout/Layout.vue | 88 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 78 insertions(+), 10 deletions(-)
diff --git a/src/views/layout/Layout.vue b/src/views/layout/Layout.vue
index 99ba467..e2f1ad4 100644
--- a/src/views/layout/Layout.vue
+++ b/src/views/layout/Layout.vue
@@ -2,7 +2,7 @@
<el-container >
<div v-title :data-title="titleName" class="main"/>
<div :class="classObj" class="app-wrapper">
- <el-header style="text-align: left; padding: 0">
+ <el-header style="text-align: left; padding: 0;height:80px">
<navbar />
</el-header>
<el-container>
@@ -10,18 +10,28 @@
<el-aside width="260px">
<sidebar class="sidebar-container"/>
</el-aside>
- <el-main style="background-color: #DFE5EB;padding: 30px">
- <div class="main-container">
- <app-main />
- </div>
+ <el-main style="background-color: #DFE5EB;padding: 10px 30px 30px">
+ <el-tabs v-model="editableTabsValue" type="border-card" closable @tab-remove="removeTab" @tab-click="changePage">
+ <el-tab-pane
+ v-for="(item, index) in editableTabs"
+ :key= item.name
+ :label="item.meta.title"
+ :name="item.path"
+ >
+ <div class="main-container" v-if="editableTabsValue == item.path">
+ <app-main/>
+ </div>
+ </el-tab-pane>
+ </el-tabs>
</el-main>
</el-container>
</el-container>
<div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside" />
</div>
- <el-footer height="20px">
+ <el-footer height="auto">
<div class="bottom-container">
- <span>Copyright©2017 中国科学院苏州纳米技术与纳米仿生研究所 苏ICP备10220403号-6</span>
+ <span>Copyright ©2020-{{nowadayYear}} 技术保障</span><br/>
+ <span style="line-height:28px;">技术支持电话:0512-62872943 (工作日 8:30~17:30)</span>
</div>
</el-footer>
</el-container>
@@ -45,11 +55,19 @@
return {
path: null,
WarningInfo: null,
- titleName: '新疆维吾尔自治区烟花爆竹流向管理信息实名登记系统'
+ titleName: '新疆维吾尔自治区烟花爆竹流向管理信息实名登记系统',
+ editableTabsValue: '/enterprise/basic',
+ editableTabs: []
}
},
mounted() {
+ this.getBreadcrumb()
},
+ watch: {
+ $route() {
+ this.getBreadcrumb()
+ }
+ },
computed: {
...mapGetters([
'userType',
@@ -62,6 +80,10 @@
},
device() {
return this.$store.state.app.device
+ },
+ nowadayYear(){
+ let date=new Date();
+ return date.getFullYear()
},
classObj() {
return {
@@ -76,6 +98,47 @@
handleClickOutside() {
this.$store.dispatch('closeSideBar', { withoutAnimation: false })
},
+ removeTab(targetName) {
+ let tabs = this.editableTabs;
+ if(tabs.length>1){
+ let activeName = this.editableTabsValue;
+ if (activeName === targetName) {
+ tabs.forEach((tab, index) => {
+ if (tab.path === targetName) {
+ let nextTab = tabs[index + 1] || tabs[index - 1];
+ if (nextTab) {
+ activeName = nextTab.path;
+ this.$router.push(activeName)
+ }
+ }
+ });
+ }
+ this.editableTabsValue = activeName;
+ this.editableTabs = tabs.filter(tab => tab.path !== targetName);
+ }else{
+ this.$message({
+ type:'warning',
+ message: '最后一页无法关闭'
+ })
+ }
+ },
+ getBreadcrumb() {
+ let matched = this.$route.matched.filter(item => item.name)
+
+ const first = matched[0]
+ if (first && first.name.trim().toLocaleLowerCase() !== 'Dashboard'.toLocaleLowerCase()) {
+ matched = [{ path: '/dashboard', meta: { title: '首页' }}].concat(matched)
+ }
+
+ this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
+ if(!this.editableTabs.some(i=>i.path === this.levelList[2].path)){
+ this.editableTabs.push(this.levelList[2])
+ }
+ this.editableTabsValue = this.levelList[2].path
+ },
+ changePage(tab,event){
+ this.$router.push(this.editableTabsValue)
+ }
}
}
</script>
@@ -92,6 +155,9 @@
top: 0;
}
}
+ .el-tabs ::v-deep.el-tabs__content{
+ padding: 0;
+ }
.drawer-bg {
background: #000;
opacity: 0.3;
@@ -102,7 +168,9 @@
z-index: 999;
}
.bottom-container{
- position: absolute;
- left: 35%;
+ padding:25px;
+ text-align: center;
+ font-size:12px;
+ margin-left: 15%;
}
</style>
--
Gitblit v1.9.2