sql执行器页面刷新记住数据库,可同时存在多个数据库执行器页面
This commit is contained in:
@@ -43,7 +43,7 @@
|
||||
let dataname = json.data.name;
|
||||
let groupName = json.data.name;
|
||||
if(dataname){
|
||||
name = name+"("+dataname+")"
|
||||
name = name+"( "+dataname+"["+database+"] )"
|
||||
}
|
||||
this.pageList.push({name, path, fullPath});
|
||||
let activePage = this.getRouteRealPath(this.$route);
|
||||
@@ -52,6 +52,28 @@
|
||||
this.$router.push(this.$route.fullPath);
|
||||
})
|
||||
return false;
|
||||
}else{
|
||||
datasourceApi.datasourceList({}).then(json => {
|
||||
this.datasourceList = json.data || [];
|
||||
if (this.datasourceList.length > 0) {
|
||||
let dataname = this.datasourceList[0].name;
|
||||
if(this.datasourceList[0].id){
|
||||
datasourceApi.databaseList({sourceId: this.datasourceList[0].id}).then(json => {
|
||||
if (json.data.length > 0) {
|
||||
// 排除系统库
|
||||
let sysDbName = ["information_schema", "master", "model", "msdb", "tempdb"];
|
||||
let notSysDbItem = json.data.find(item => sysDbName.indexOf(item.dbName) < 0);
|
||||
let choiceDatabase = (!!notSysDbItem) ? notSysDbItem.dbName : json.data[0].dbName;
|
||||
if(dataname&&choiceDatabase){
|
||||
name = name+"( "+dataname+"["+choiceDatabase+"] )"
|
||||
}
|
||||
this.$router.replace({ query: { datasourceId: this.datasourceList[0].id,database:choiceDatabase } })
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
}
|
||||
}
|
||||
this.pageList.push({name, path, fullPath});
|
||||
@@ -67,7 +89,7 @@
|
||||
if (this.linkList.indexOf(activePage) < 0) {
|
||||
this.linkList.push(activePage);
|
||||
let {name, path, fullPath} = newRoute;
|
||||
|
||||
this.pageList.push({name, path, fullPath});
|
||||
//sql执行器tab页名称动态变化
|
||||
if(path === '/data/executor'){
|
||||
let database = newRoute.query.database;
|
||||
@@ -75,22 +97,46 @@
|
||||
if(datasourceId) {
|
||||
datasourceApi.datasource({sourceId: datasourceId}).then(json => {
|
||||
let dataname = json.data.name;
|
||||
let groupName = json.data.name;
|
||||
let groupName = json.data.groupName;
|
||||
if (dataname) {
|
||||
name = name + "(" + dataname + ")"
|
||||
name = name+"( "+dataname+"["+database+"] )"
|
||||
}
|
||||
this.pageList.push({name, path, fullPath});
|
||||
//this.pageList.push({name, path, fullPath});
|
||||
let pageRoute = this.pageList.find(item => this.getRouteRealPath(item) === activePage);
|
||||
pageRoute.name = name;
|
||||
|
||||
})
|
||||
}else{
|
||||
this.pageList.push({name, path, fullPath});
|
||||
datasourceApi.datasourceList({}).then(json => {
|
||||
this.datasourceList = json.data || [];
|
||||
if (this.datasourceList.length > 0) {
|
||||
let dataname = this.datasourceList[0].name;
|
||||
if(this.datasourceList[0].id){
|
||||
datasourceApi.databaseList({sourceId: this.datasourceList[0].id}).then(json => {
|
||||
if (json.data.length > 0) {
|
||||
// 排除系统库
|
||||
let sysDbName = ["information_schema", "master", "model", "msdb", "tempdb"];
|
||||
let notSysDbItem = json.data.find(item => sysDbName.indexOf(item.dbName) < 0);
|
||||
let choiceDatabase = (!!notSysDbItem) ? notSysDbItem.dbName : json.data[0].dbName;
|
||||
if(dataname&&choiceDatabase){
|
||||
name = name+"( "+dataname+"["+choiceDatabase+"] )"
|
||||
}
|
||||
console.log("this.pageList+++++++++"+JSON.stringify(this.pageList))
|
||||
this.pageList.splice(this.pageList.findIndex(item => item.fullPath === path),1);
|
||||
this.linkList.splice(this.linkList.findIndex(item => item === path),1);
|
||||
console.log("this.pageList+++++++++"+JSON.stringify(this.pageList))
|
||||
this.$router.replace({ query: { datasourceId: this.datasourceList[0].id,database:choiceDatabase } })
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}else{
|
||||
this.pageList.push({name, path, fullPath});
|
||||
}
|
||||
|
||||
}
|
||||
let pageRoute = this.pageList.find(item => this.getRouteRealPath(item) === activePage);
|
||||
pageRoute.fullPath = newRoute.fullPath;
|
||||
//let pageRoute = this.pageList.find(item => this.getRouteRealPath(item) === activePage);
|
||||
//pageRoute.fullPath = newRoute.fullPath;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
@@ -143,4 +189,12 @@
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
/deep/ .el-tabs__nav-next{
|
||||
line-height: 33px;
|
||||
font-size: 20px;
|
||||
}
|
||||
/deep/ .el-tabs__nav-prev{
|
||||
line-height: 33px;
|
||||
font-size: 20px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -365,6 +365,10 @@ export default {
|
||||
this.$message.error("请先选择数据源");
|
||||
return;
|
||||
}
|
||||
if(!this.choiceDatabase){
|
||||
this.$message.error("请先选择数据库");
|
||||
return;
|
||||
}
|
||||
this.executeError = "";
|
||||
this.executeUseTime = "";
|
||||
this.executeResultList = [];
|
||||
@@ -612,13 +616,12 @@ export default {
|
||||
// 排除系统库
|
||||
let sysDbName = ["information_schema", "master", "model", "msdb", "tempdb"];
|
||||
let notSysDbItem = this.databaseList.find(item => sysDbName.indexOf(item.dbName) < 0);
|
||||
this.choiceDatabase = (!!notSysDbItem) ? notSysDbItem.dbName : this.databaseList[0].dbName;
|
||||
this.executorSource = {sourceId: this.choiceDatasourceId, dbName: this.choiceDatabase};
|
||||
// 非初次加载,动态改变url参数
|
||||
// 非初次加载,动态改变url参数
|
||||
if(!initFlag){
|
||||
this.choiceDatabase = (!!notSysDbItem) ? notSysDbItem.dbName : this.databaseList[0].dbName;
|
||||
this.$router.replace({ query: { datasourceId: this.choiceDatasourceId,database:this.choiceDatabase } })
|
||||
|
||||
}
|
||||
}
|
||||
this.executorSource = {sourceId: this.choiceDatasourceId, dbName: this.choiceDatabase};
|
||||
}
|
||||
});
|
||||
},
|
||||
@@ -653,6 +656,7 @@ export default {
|
||||
this.loadHistoryAndFavoriteList();
|
||||
},
|
||||
databaseChangeEvents() {
|
||||
this.$router.replace({ query: { datasourceId: this.choiceDatasourceId,database:this.choiceDatabase } })
|
||||
this.executorSource = {sourceId: this.choiceDatasourceId, dbName: this.choiceDatabase};
|
||||
this.currentPage = 1;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user