fix:测试连接同步完善
parent
62f28a9563
commit
78ced28f2d
|
@ -3,7 +3,7 @@ import request from '@/utils/request'
|
|||
// 查询数据源列表
|
||||
export function listDetabase(query) {
|
||||
return request({
|
||||
url: '/detabase/detabase/list',
|
||||
url: '/source/source/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
|
@ -12,14 +12,14 @@ export function listDetabase(query) {
|
|||
// 查询数据源详细
|
||||
export function getDetabase(id) {
|
||||
return request({
|
||||
url: '/detabase/detabase/' + id,
|
||||
url: '/source/source/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
//测试数据库连接
|
||||
export function testConnection(data) {
|
||||
return request({
|
||||
url: '/detabase/detabase/testConnection',
|
||||
url: '/source/source/testConnection/',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
|
@ -28,7 +28,7 @@ export function testConnection(data) {
|
|||
|
||||
export function selectDatabaseList(data) {
|
||||
return request({
|
||||
url: '/detabase/detabase/selectDatabaseList',
|
||||
url: '/source/source/selectDatabaseList',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
|
@ -37,7 +37,7 @@ export function selectDatabaseList(data) {
|
|||
//查询数据库下表名
|
||||
export function selectedDatabaseList(data) {
|
||||
return request({
|
||||
url: '/detabase/detabase/selectedDatabaseList',
|
||||
url: '/source/source/selectedDatabaseList',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
|
@ -46,7 +46,7 @@ export function selectedDatabaseList(data) {
|
|||
// 新增数据源
|
||||
export function addDetabase(data) {
|
||||
return request({
|
||||
url: '/detabase/detabase',
|
||||
url: '/source/source',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
|
@ -55,7 +55,7 @@ export function addDetabase(data) {
|
|||
// 修改数据源
|
||||
export function updateDetabase(data) {
|
||||
return request({
|
||||
url: '/detabase/detabase/'+data.id,
|
||||
url: '/source/source/'+data.id,
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
|
@ -64,7 +64,7 @@ export function updateDetabase(data) {
|
|||
// 删除数据源
|
||||
export function delDetabase(id) {
|
||||
return request({
|
||||
url: '/detabase/detabase/' + id,
|
||||
url: '/source/source/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
|
@ -107,7 +107,6 @@ import Hamburger from '@/components/Hamburger'
|
|||
import Screenfull from '@/components/Screenfull'
|
||||
import SizeSelect from '@/components/SizeSelect'
|
||||
import Search from '@/components/HeaderSearch'
|
||||
import {noticList, readNotic} from "@/api/system/notice";
|
||||
|
||||
|
||||
export default {
|
||||
|
|
|
@ -87,7 +87,7 @@
|
|||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['detabase:detabase:add']"
|
||||
v-hasPermi="['source:source:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
|
@ -98,7 +98,7 @@
|
|||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['detabase:detabase:edit']"
|
||||
v-hasPermi="['source:source:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
|
@ -109,7 +109,7 @@
|
|||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['detabase:detabase:remove']"
|
||||
v-hasPermi="['source:source:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
|
@ -119,7 +119,7 @@
|
|||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['detabase:detabase:export']"
|
||||
v-hasPermi="['source:source:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
|
@ -149,20 +149,21 @@
|
|||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="testContest(scope.row)"
|
||||
v-hasPermi="['source:source:testConnection']"
|
||||
>测试连接</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['detabase:detabase:edit']"
|
||||
v-hasPermi="['source:source:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['detabase:detabase:remove']"
|
||||
v-hasPermi="['source:source:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -332,10 +333,10 @@ import {
|
|||
addDetabase,
|
||||
updateDetabase,
|
||||
testConnection, selectDatabaseList
|
||||
} from "@/api/detabase/detabase";
|
||||
} from "@/api/source/source";
|
||||
|
||||
export default {
|
||||
name: "Detabase",
|
||||
name: "source",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
|
@ -516,7 +517,11 @@ export default {
|
|||
console.log(params)
|
||||
testConnection(params).then(
|
||||
res=>{
|
||||
this.$message.success(res.data)
|
||||
if (res.code == 200) {
|
||||
this.$message.success(res.data)
|
||||
}else {
|
||||
this.$message.success(res.msg)
|
||||
}
|
||||
}
|
||||
)
|
||||
},
|
||||
|
@ -571,9 +576,9 @@ export default {
|
|||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('detabase/detabase/export', {
|
||||
this.download('source/source/export', {
|
||||
...this.queryParams
|
||||
}, `detabase_${new Date().getTime()}.xlsx`)
|
||||
}, `source${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
|
@ -13,36 +13,61 @@
|
|||
v-for="(database, dbIndex) in item.databaseList"
|
||||
:key="dbIndex"
|
||||
:index="item.id + '-' + (dbIndex + 1)"
|
||||
class="custom-menu-item"
|
||||
>
|
||||
{{ database }}
|
||||
<span>{{ database}}</span>
|
||||
<el-select
|
||||
clearable
|
||||
v-model="select[dbIndex]"
|
||||
style="margin-left: 10px"
|
||||
class="custom-select"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in tableList"
|
||||
:key="item"
|
||||
:label="item"
|
||||
:value="item">
|
||||
{{item}}
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-menu-item>
|
||||
</el-submenu>
|
||||
</el-menu>
|
||||
</el-aside>
|
||||
|
||||
<el-container>
|
||||
<el-header style="text-align: right; font-size: 12px">
|
||||
<el-dropdown>
|
||||
<i class="el-icon-setting" style="margin-right: 15px"></i>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item>查看</el-dropdown-item>
|
||||
<el-dropdown-item>新增</el-dropdown-item>
|
||||
<el-dropdown-item>删除</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
<span>王小虎</span>
|
||||
</el-header>
|
||||
|
||||
<el-main>
|
||||
<el-table :data="tableData">
|
||||
<el-card style="height: 500px">
|
||||
<el-container>
|
||||
<el-header style="height: 200px">
|
||||
<h1 style=" margin-top: -2px; font-size: 50px; text-align: center; width: 100%; font-weight: 600; line-height: 100px ">{{title}}--资产结构概述</h1>
|
||||
|
||||
<el-table-column prop="date" label="日期" width="140">
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="姓名" width="120">
|
||||
</el-table-column>
|
||||
<el-table-column prop="address" label="地址">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-row style="margin-top: -50px" justify="center">
|
||||
<el-col :span="12">
|
||||
<el-card style="width: 80%;" class="centered-card"></el-card>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-card style="width: 80%;" class="centered-card"></el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-header>
|
||||
<el-container>
|
||||
<el-aside width="200px">Aside</el-aside>
|
||||
<el-container>
|
||||
<el-main>Main</el-main>
|
||||
<el-footer>Footer</el-footer>
|
||||
</el-container>
|
||||
</el-container>
|
||||
</el-container>
|
||||
<textarea v-model="selectSqlResp.sql" style="height: 400px;width: 100%">
|
||||
|
||||
</textarea>
|
||||
<el-button type="primary" @click="selectSql">查询</el-button>
|
||||
</el-card>
|
||||
<el-card style="height: 100%">
|
||||
|
||||
</el-card>
|
||||
</el-main>
|
||||
</el-container>
|
||||
</el-container>
|
||||
|
@ -56,7 +81,7 @@ import {
|
|||
selectedDatabase,
|
||||
selectedDatabaseList,
|
||||
selectedMenu
|
||||
} from "@/api/detabase/detabase";
|
||||
} from "@/api/source/source";
|
||||
|
||||
export default {
|
||||
name: 'Index',
|
||||
|
@ -74,23 +99,49 @@ export default {
|
|||
/*数据源查询条件*/
|
||||
queryParams: {},
|
||||
databaseList:[],
|
||||
tableList:[]
|
||||
tableList:[],
|
||||
select:[],
|
||||
selectSqlResp:{},
|
||||
title:''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
watch:{
|
||||
"select":{
|
||||
handler(val){
|
||||
val.forEach(item=>{
|
||||
if(item){
|
||||
this.selectSqlResp.tableName=item
|
||||
}
|
||||
})
|
||||
},
|
||||
deep:true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
selectSql(){
|
||||
console.log(this.selectSqlResp)
|
||||
},
|
||||
/*选中标题*/
|
||||
handSubmenuTitle(item){
|
||||
this.title=item.name
|
||||
let databaseConnect={};
|
||||
item.databaseList=[]
|
||||
databaseConnect.username=item.username;
|
||||
databaseConnect.password=item.password;
|
||||
databaseConnect.host=item.host;
|
||||
databaseConnect.type=item.type;
|
||||
selectDatabaseList(databaseConnect).then(
|
||||
res=>{
|
||||
item.databaseList=res.data
|
||||
/*所有数据库*/
|
||||
//item.databaseList=res.data
|
||||
res.data.forEach(item1=>{
|
||||
if(item1==item.databaseName){
|
||||
item.databaseList.push(item1)
|
||||
}
|
||||
})
|
||||
}
|
||||
)
|
||||
console.log(item)
|
||||
|
@ -137,6 +188,7 @@ export default {
|
|||
password: item.password,
|
||||
type: item.type,
|
||||
connectionParam: item.connectionParam,
|
||||
databaseName: item.databaseName,
|
||||
databaseList:[
|
||||
|
||||
]
|
||||
|
@ -150,6 +202,14 @@ export default {
|
|||
}
|
||||
</script>
|
||||
<style>
|
||||
|
||||
.centered-card {
|
||||
display: flex;
|
||||
justify-content: center; /* 水平居中 */
|
||||
align-items: center; /* 垂直居中 */
|
||||
flex-direction: column; /* 如果需要垂直堆叠内容 */
|
||||
}
|
||||
|
||||
.el-header {
|
||||
background-color: #B3C0D1;
|
||||
color: #333;
|
||||
|
@ -159,4 +219,28 @@ export default {
|
|||
.el-aside {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.custom-menu-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.custom-select {
|
||||
margin-left: 10px; /* 根据需要调整间距 */
|
||||
}
|
||||
|
||||
.el-header, .el-footer {
|
||||
background-color: white;
|
||||
color: #333;
|
||||
text-align: center;
|
||||
line-height: 60px;
|
||||
}
|
||||
|
||||
|
||||
.el-main {
|
||||
background-color: #E9EEF3;
|
||||
color: #333;
|
||||
text-align: center;
|
||||
line-height: 160px;
|
||||
}
|
||||
</style>
|
|
@ -35,7 +35,7 @@ module.exports = {
|
|||
proxy: {
|
||||
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
||||
[process.env.VUE_APP_BASE_API]: {
|
||||
target: `http://localhost:8081`,
|
||||
target: `http://localhost:8080`,
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
['^' + process.env.VUE_APP_BASE_API]: ''
|
||||
|
|
Loading…
Reference in New Issue