|
|
|
@ -13,7 +13,7 @@
|
|
|
|
|
@open="handleOpen"
|
|
|
|
|
@close="handleClose"
|
|
|
|
|
@select="handleSelect"
|
|
|
|
|
:default-active="prop.defaultActive"
|
|
|
|
|
:default-active="prop.menu"
|
|
|
|
|
:unique-opened="prop.open"
|
|
|
|
|
:collapse="prop.coll"
|
|
|
|
|
:collapse-transition="prop.tran"
|
|
|
|
@ -104,7 +104,7 @@
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="content">
|
|
|
|
|
<el-tabs v-model="activeTabName" type="border-card" closable @tab-remove="removeTab">
|
|
|
|
|
<el-tabs v-model="prop.tabName" type="border-card" closable @tab-remove="removeTab">
|
|
|
|
|
<el-tab-pane
|
|
|
|
|
v-for="(item, index) in tabs"
|
|
|
|
|
:lazy="true"
|
|
|
|
@ -290,11 +290,12 @@
|
|
|
|
|
el: "#index",
|
|
|
|
|
data: {
|
|
|
|
|
tabs: [],//所有Tabs
|
|
|
|
|
activeTabName: '',
|
|
|
|
|
barStatus:null,
|
|
|
|
|
barPercent: 0,
|
|
|
|
|
barInterval: null,
|
|
|
|
|
prop: {
|
|
|
|
|
menu: '',
|
|
|
|
|
tabName: '',
|
|
|
|
|
open: ${r"<#if prop.open>true<#else>false</#if>"},
|
|
|
|
|
coll: ${r"<#if prop.coll>true<#else>false</#if>"},
|
|
|
|
|
tran: ${r"<#if prop.tran>true<#else>false</#if>"},
|
|
|
|
@ -342,7 +343,7 @@
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
handleSelect: function (index) {
|
|
|
|
|
|
|
|
|
|
this.prop.menu = index;
|
|
|
|
|
},
|
|
|
|
|
addTab: function (tab) {
|
|
|
|
|
//查找是否存在该tab
|
|
|
|
@ -353,10 +354,11 @@
|
|
|
|
|
if (tempTabs.length <= 0) {
|
|
|
|
|
this.tabs.push(tab)
|
|
|
|
|
}
|
|
|
|
|
this.activeTabName = tab.name;
|
|
|
|
|
this.prop.tabName = tab.name;
|
|
|
|
|
this.onSaveState();
|
|
|
|
|
},
|
|
|
|
|
removeTab: function (tabName) {
|
|
|
|
|
var activeName = this.activeTabName;
|
|
|
|
|
var activeName = this.prop.tabName;
|
|
|
|
|
var tempTabs = this.tabs;
|
|
|
|
|
if (activeName === tabName) {
|
|
|
|
|
tempTabs.forEach(function (tab, index) {
|
|
|
|
@ -368,7 +370,7 @@
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
this.activeTabName = activeName;
|
|
|
|
|
this.prop.tabName = activeName;
|
|
|
|
|
this.tabs = tempTabs.filter(function (tab) {
|
|
|
|
|
return tab.name !== tabName
|
|
|
|
|
})
|
|
|
|
@ -401,17 +403,45 @@
|
|
|
|
|
} else {
|
|
|
|
|
nav.screenNotFull()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onSaveState: function () {
|
|
|
|
|
nav.setCookie("prop.menu", this.prop.menu);
|
|
|
|
|
nav.setCookie("prop.full", this.prop.full);
|
|
|
|
|
var tab = this.tabs.filter(function (tab_) {
|
|
|
|
|
return tab_.name == this.prop.tabName;
|
|
|
|
|
}.bind(this))[0];
|
|
|
|
|
nav.setCookie("tab.title", tab.title);
|
|
|
|
|
nav.setCookie("tab.name", tab.name);
|
|
|
|
|
nav.setCookie("tab.url", tab.url);
|
|
|
|
|
},
|
|
|
|
|
onRecoveryState: function () {
|
|
|
|
|
this.prop.menu = nav.getCookie("prop.menu");
|
|
|
|
|
|
|
|
|
|
this.prop.full = nav.getCookie("prop.full");
|
|
|
|
|
if (this.prop.full) {
|
|
|
|
|
nav.screenFull();
|
|
|
|
|
} else {
|
|
|
|
|
nav.screenNotFull();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var tabTitle = nav.getCookie("tab.title");
|
|
|
|
|
var tabName = nav.getCookie("tab.name");
|
|
|
|
|
var tabUrl = nav.getCookie("tab.url");
|
|
|
|
|
if (tabTitle && tabName && tabUrl) {
|
|
|
|
|
this.addTab({
|
|
|
|
|
title: tabTitle,
|
|
|
|
|
name: tabName,
|
|
|
|
|
url: tabUrl
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
this.onHome();//页面初始好后打开首页
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
created: function () {
|
|
|
|
|
},
|
|
|
|
|
mounted: function () {
|
|
|
|
|
this.onHome();//页面初始好后打开首页
|
|
|
|
|
if (this.prop.full) {
|
|
|
|
|
nav.screenFull()
|
|
|
|
|
} else {
|
|
|
|
|
nav.screenNotFull()
|
|
|
|
|
}
|
|
|
|
|
this.onRecoveryState();
|
|
|
|
|
},
|
|
|
|
|
watch: {}
|
|
|
|
|
})
|
|
|
|
|