测试连接完成修改状态

chao
chao 2024-04-21 20:24:28 +08:00
parent e2fc9d5ef1
commit eefc9723bb
1 changed files with 64 additions and 50 deletions

View File

@ -2,14 +2,14 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="数据源类型" prop="typeId"> <el-form-item label="数据源类型" prop="typeId">
<el-select v-model="queryParams.typeId" placeholder="请选择数据源类型"> <el-select v-model="queryParams.typeId" placeholder="请选择数据源类型">
<el-option <el-option
v-for="item in typeList" v-for="item in typeList"
:key="item.id" :key="item.id"
:label="item.dataType" :label="item.dataType"
:value="item.id" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="数据源名称" prop="dataSourceName"> <el-form-item label="数据源名称" prop="dataSourceName">
<el-input <el-input
@ -42,7 +42,8 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['data:source:add']" v-hasPermi="['data:source:add']"
>新增</el-button> >新增
</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -53,7 +54,8 @@
:disabled="single" :disabled="single"
@click="handleUpdate" @click="handleUpdate"
v-hasPermi="['data:source:edit']" v-hasPermi="['data:source:edit']"
>修改</el-button> >修改
</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -64,7 +66,8 @@
:disabled="multiple" :disabled="multiple"
@click="handleDelete" @click="handleDelete"
v-hasPermi="['data:source:remove']" v-hasPermi="['data:source:remove']"
>删除</el-button> >删除
</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -74,22 +77,23 @@
size="mini" size="mini"
@click="handleExport" @click="handleExport"
v-hasPermi="['data:source:export']" v-hasPermi="['data:source:export']"
>导出</el-button> >导出
</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="sourceList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="sourceList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center"/>
<el-table-column label="主键id" align="center" prop="id" /> <el-table-column label="主键id" align="center" prop="id"/>
<el-table-column label="数据源名称" align="center" prop="dataSourceName" /> <el-table-column label="数据源名称" align="center" prop="dataSourceName"/>
<el-table-column label="数据源系统名称" align="center" prop="dataSourceSystemName" /> <el-table-column label="数据源系统名称" align="center" prop="dataSourceSystemName"/>
<el-table-column label="数据源类型" align="center" prop="dataType" /> <el-table-column label="数据源类型" align="center" prop="dataType"/>
<el-table-column label="数据源ip地址" align="center" prop="dataSourceIp" /> <el-table-column label="数据源ip地址" align="center" prop="dataSourceIp"/>
<el-table-column label="端口号" align="center" prop="dataSourcePort" /> <el-table-column label="端口号" align="center" prop="dataSourcePort"/>
<el-table-column label="连接数据库名称" align="center" prop="dataSourceDatabaseName" /> <el-table-column label="连接数据库名称" align="center" prop="dataSourceDatabaseName"/>
<el-table-column label="状态" align="center" prop="status" /> <el-table-column label="状态" align="center" prop="status"/>
<el-table-column label="备注说明" align="center" prop="remark" /> <el-table-column label="备注说明" align="center" prop="remark"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -98,21 +102,24 @@
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['data:source:edit']" v-hasPermi="['data:source:edit']"
>修改</el-button> >修改
</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="testConnection(scope.row.id)" @click="testConnection(scope.row.id)"
v-hasPermi="['data:source:testConnection']" v-hasPermi="['data:source:testConnection']"
>测试链接</el-button> >测试链接
</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['data:source:remove']" v-hasPermi="['data:source:remove']"
>删除</el-button> >删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -135,24 +142,24 @@
<el-row> <el-row>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="数据源名称" prop="dataSourceName"> <el-form-item label="数据源名称" prop="dataSourceName">
<el-input v-model="form.dataSourceName" placeholder="请输入数据源名称" /> <el-input v-model="form.dataSourceName" placeholder="请输入数据源名称"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="数据源系统名称" prop="dataSourceSystemName"> <el-form-item label="数据源系统名称" prop="dataSourceSystemName">
<el-input v-model="form.dataSourceSystemName" placeholder="请输入数据源系统名称" /> <el-input v-model="form.dataSourceSystemName" placeholder="请输入数据源系统名称"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="数据源ip地址" prop="dataSourceIp"> <el-form-item label="数据源ip地址" prop="dataSourceIp">
<el-input v-model="form.dataSourceIp" placeholder="请输入数据源ip地址" /> <el-input v-model="form.dataSourceIp" placeholder="请输入数据源ip地址"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="端口号" prop="dataSourcePort"> <el-form-item label="端口号" prop="dataSourcePort">
<el-input v-model="form.dataSourcePort" placeholder="请输入端口号" /> <el-input v-model="form.dataSourcePort" placeholder="请输入端口号"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -171,7 +178,7 @@
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="连接数据库名称" prop="dataSourceDatabaseName"> <el-form-item label="连接数据库名称" prop="dataSourceDatabaseName">
<el-input v-model="form.dataSourceDatabaseName" placeholder="请输入连接数据库名称" /> <el-input v-model="form.dataSourceDatabaseName" placeholder="请输入连接数据库名称"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -183,18 +190,18 @@
<el-row> <el-row>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="用户名" prop="dataSourceUsername"> <el-form-item label="用户名" prop="dataSourceUsername">
<el-input v-model="form.dataSourceUsername" placeholder="请输入用户名" /> <el-input v-model="form.dataSourceUsername" placeholder="请输入用户名"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="密码" prop="dataSourcePassword"> <el-form-item label="密码" prop="dataSourcePassword">
<el-input v-model="form.dataSourcePassword" placeholder="请输入密码" /> <el-input v-model="form.dataSourcePassword" placeholder="请输入密码"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-col :sm="24"> <el-col :sm="24">
<el-form-item label="额外配置" prop="connectionParam"> <el-form-item label="额外配置" prop="connectionParam">
<el-input v-model="form.additionalConfiguration" placeholder="请输入内容" /> <el-input v-model="form.additionalConfiguration" placeholder="请输入内容"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-row :gutter="10" style="margin: 10px 0"> <el-row :gutter="10" style="margin: 10px 0">
@ -206,7 +213,8 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :md="8" :xs="12" style="margin: 10px 0" v-for="(dataSourceParam, dataSourceParamIndex) in dataSourceParamList"> <el-col :md="8" :xs="12" style="margin: 10px 0"
v-for="(dataSourceParam, dataSourceParamIndex) in dataSourceParamList">
<el-col :span="10"> <el-col :span="10">
<el-input v-model="dataSourceParam.name" placeholder="请输入参数键" @keyup.native="processParam"/> <el-input v-model="dataSourceParam.name" placeholder="请输入参数键" @keyup.native="processParam"/>
</el-col> </el-col>
@ -228,22 +236,22 @@
<el-row> <el-row>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="初始化连接数量" prop="initialNumberOfConnections"> <el-form-item label="初始化连接数量" prop="initialNumberOfConnections">
<el-input v-model="form.initialNumberOfConnections" placeholder="请输入初始化连接数量" /> <el-input v-model="form.initialNumberOfConnections" placeholder="请输入初始化连接数量"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="最大连接数量" prop="maximumNumberOfConnections"> <el-form-item label="最大连接数量" prop="maximumNumberOfConnections">
<el-input v-model="form.maximumNumberOfConnections" placeholder="请输入最大连接数量" /> <el-input v-model="form.maximumNumberOfConnections" placeholder="请输入最大连接数量"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="最大等待时间" prop="maximumWaitingTime"> <el-form-item label="最大等待时间" prop="maximumWaitingTime">
<el-input v-model="form.maximumWaitingTime" placeholder="请输入最大等待时间" /> <el-input v-model="form.maximumWaitingTime" placeholder="请输入最大等待时间"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="最大等待次数" prop="maximumWaitingTimes"> <el-form-item label="最大等待次数" prop="maximumWaitingTimes">
<el-input v-model="form.maximumWaitingTimes" placeholder="请输入最大等待次数" /> <el-input v-model="form.maximumWaitingTimes" placeholder="请输入最大等待次数"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -262,7 +270,7 @@
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="备注说明" prop="remark"> <el-form-item label="备注说明" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注说明" /> <el-input v-model="form.remark" placeholder="请输入备注说明"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -370,31 +378,32 @@ export default {
testConnection(id) { testConnection(id) {
testConnection(id).then(response => { testConnection(id).then(response => {
console.log(response) console.log(response)
if (response.data){ if (response.data) {
this.$modal.msgSuccess("测试成功"); this.$modal.msgSuccess("测试成功");
}else { } else {
this.$modal.msgError("测试失败"); this.$modal.msgError("测试失败");
} }
this.getList();
}) })
}, },
// //
addParam(){ addParam() {
this.dataSourceParamList.push({ this.dataSourceParamList.push({
name: null, name: null,
val: null val: null
}) })
}, },
// //
deleteParam(index){ deleteParam(index) {
if (index != null){ if (index != null) {
this.dataSourceParamList.splice(index, 1); this.dataSourceParamList.splice(index, 1);
}else { } else {
this.dataSourceParamList = [] this.dataSourceParamList = []
} }
this.processParam(); this.processParam();
}, },
// //
processParam(){ processParam() {
this.form.additionalConfiguration = this.dataSourceParamList this.form.additionalConfiguration = this.dataSourceParamList
.filter(item => item.name != null || item.val != null) .filter(item => item.name != null || item.val != null)
.map(item => { .map(item => {
@ -410,8 +419,12 @@ export default {
this.sourceList.forEach(item => { this.sourceList.forEach(item => {
if (item.status === 'Y') { if (item.status === 'Y') {
item.status = '启用' item.status = '启用'
} else { } else if (item.status === 'N') {
item.status = '禁用' item.status = '禁用'
} else if (item.status === 'S') {
item.status = '成功'
} else if (item.status === 'E') {
item.status = '失败'
} }
}) })
this.total = response.data.total; this.total = response.data.total;
@ -469,7 +482,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.single = selection.length!==1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
@ -511,12 +524,13 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除数据源信息编号为"' + ids + '"的数据项?').then(function() { this.$modal.confirm('是否确认删除数据源信息编号为"' + ids + '"的数据项?').then(function () {
return delSource(ids); return delSource(ids);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => {}); }).catch(() => {
});
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {