fix:测试连接同步完善

etl-ui
2812875475 2024-04-21 20:21:15 +08:00 committed by 031026
parent 62f28a9563
commit 78ced28f2d
5 changed files with 133 additions and 45 deletions

View File

@ -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'
})
}

View File

@ -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 {

View File

@ -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`)
}
}
};

View File

@ -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>

View File

@ -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]: ''