alarm 模块 db overview 页面,新增和编辑表单增加驱动类和数据源地址字段
皆苦参数调整 增加test 测试功能
This commit is contained in:
parent
5487cf3289
commit
0423207abf
|
@ -89,59 +89,60 @@
|
|||
]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="DB Type">
|
||||
<a-form-item label="Type">
|
||||
<j-dict-select-tag
|
||||
placeholder="Please select a database type"
|
||||
dict-code="database_type"
|
||||
@change="handleDbTypeChange"
|
||||
v-decorator="[
|
||||
'type',
|
||||
'dbType',
|
||||
{
|
||||
rules: [{ required: true, message: 'Please select a DB Type!' }],
|
||||
initialVale: this.formVal.type,
|
||||
initialVale: this.formVal.dbType,
|
||||
},
|
||||
]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="DB Port">
|
||||
<a-form-item label="Drive">
|
||||
<a-input-number
|
||||
v-decorator="[
|
||||
'port',
|
||||
'dbDriver',
|
||||
{
|
||||
rules: [{ required: true, message: 'Please input port!' }],
|
||||
initialVale: this.formVal.port,
|
||||
initialVale: this.formVal.dbDriver,
|
||||
},
|
||||
]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="Ip Address">
|
||||
<a-form-item label="Url">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'ipAddress',
|
||||
'dbUrl',
|
||||
{
|
||||
rules: [{ required: true, message: 'Please input ip address!' }],
|
||||
initialVale: this.formVal.ipAddress,
|
||||
initialVale: this.formVal.dbUrl,
|
||||
},
|
||||
]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="DB Username">
|
||||
<a-form-item label="Username">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'username',
|
||||
'dbUsername',
|
||||
{
|
||||
rules: [{ required: true, message: 'Please input username!' }],
|
||||
initialVale: this.formVal.username,
|
||||
initialVale: this.formVal.dbUsername,
|
||||
},
|
||||
]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="DB Password">
|
||||
<a-form-item label="Password">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'password',
|
||||
'dbPassword',
|
||||
{
|
||||
rules: [{ required: true, message: 'Please input DB Password!' }],
|
||||
initialVale: this.formVal.password,
|
||||
initialVale: this.formVal.dbPassword,
|
||||
},
|
||||
]"
|
||||
/>
|
||||
|
@ -149,6 +150,7 @@
|
|||
</a-form>
|
||||
<template slot="footer">
|
||||
<a-space class="operators" :size="20">
|
||||
<a-button type="success" @click="onTest">Test</a-button>
|
||||
<a-button type="success" @click="onSave">Save</a-button>
|
||||
<a-button type="warn" @click="onCancel">Cancel</a-button>
|
||||
</a-space>
|
||||
|
@ -238,12 +240,12 @@ export default {
|
|||
visible: false,
|
||||
form: this.$form.createForm(this),
|
||||
formVal: {
|
||||
username: '',
|
||||
password: '',
|
||||
dbUsername: '',
|
||||
dbPassword: '',
|
||||
name: '',
|
||||
type: undefined,
|
||||
port: '',
|
||||
ipAddress: '',
|
||||
dbType: undefined,
|
||||
dbDriver: '',
|
||||
dbUrl: '',
|
||||
},
|
||||
currentId: '',
|
||||
columns,
|
||||
|
@ -260,6 +262,76 @@ export default {
|
|||
showSizeChanger: true,
|
||||
total: 0,
|
||||
},
|
||||
dbDriverMap: {
|
||||
// MySQL 数据库
|
||||
1: { dbDriver: 'com.mysql.jdbc.Driver' },
|
||||
//MySQL5.7+ 数据库
|
||||
4: { dbDriver: 'com.mysql.cj.jdbc.Driver' },
|
||||
// Oracle
|
||||
2: { dbDriver: 'oracle.jdbc.OracleDriver' },
|
||||
// SQLServer 数据库
|
||||
3: { dbDriver: 'com.microsoft.sqlserver.jdbc.SQLServerDriver' },
|
||||
// marialDB 数据库
|
||||
5: { dbDriver: 'org.mariadb.jdbc.Driver' },
|
||||
// postgresql 数据库
|
||||
6: { dbDriver: 'org.postgresql.Driver' },
|
||||
// 达梦 数据库
|
||||
7: { dbDriver: 'dm.jdbc.driver.DmDriver' },
|
||||
// 人大金仓 数据库
|
||||
8: { dbDriver: 'com.kingbase8.Driver' },
|
||||
// 神通 数据库
|
||||
9: { dbDriver: 'com.oscar.Driver' },
|
||||
// SQLite 数据库
|
||||
10: { dbDriver: 'org.sqlite.JDBC' },
|
||||
// DB2 数据库
|
||||
11: { dbDriver: 'com.ibm.db2.jcc.DB2Driver' },
|
||||
// Hsqldb 数据库
|
||||
12: { dbDriver: 'org.hsqldb.jdbc.JDBCDriver' },
|
||||
// Derby 数据库
|
||||
13: { dbDriver: 'org.apache.derby.jdbc.ClientDriver' },
|
||||
// H2 数据库
|
||||
14: { dbDriver: 'org.h2.Driver' },
|
||||
// 其他数据库
|
||||
15: { dbDriver: '' },
|
||||
},
|
||||
dbUrlMap: {
|
||||
// MySQL 数据库
|
||||
1: { dbUrl: 'jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false' },
|
||||
//MySQL5.7+ 数据库
|
||||
4: {
|
||||
dbUrl:
|
||||
'jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai',
|
||||
},
|
||||
// Oracle
|
||||
2: { dbUrl: 'jdbc:oracle:thin:@127.0.0.1:1521:ORCL' },
|
||||
// SQLServer 数据库
|
||||
3: { dbUrl: 'jdbc:sqlserver://127.0.0.1:1433;SelectMethod=cursor;DatabaseName=jeecgboot' },
|
||||
// Mariadb 数据库
|
||||
5: { dbUrl: 'jdbc:mariadb://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useSSL=false' },
|
||||
// Postgresql 数据库
|
||||
6: { dbUrl: 'jdbc:postgresql://127.0.0.1:5432/jeecg-boot' },
|
||||
// 达梦 数据库
|
||||
7: {
|
||||
dbUrl:
|
||||
'jdbc:dm://127.0.0.1:5236/?jeecg-boot&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8',
|
||||
},
|
||||
// 人大金仓 数据库
|
||||
8: { dbUrl: 'jdbc:kingbase8://127.0.0.1:54321/jeecg-boot' },
|
||||
// 神通 数据库
|
||||
9: { dbUrl: 'jdbc:oscar://192.168.1.125:2003/jeecg-boot' },
|
||||
// SQLite 数据库
|
||||
10: { dbUrl: 'jdbc:sqlite://opt/test.db' },
|
||||
// DB2 数据库
|
||||
11: { dbUrl: 'jdbc:db2://127.0.0.1:50000/jeecg-boot' },
|
||||
// Hsqldb 数据库
|
||||
12: { dbUrl: 'jdbc:hsqldb:hsql://127.0.0.1/jeecg-boot' },
|
||||
// Derby 数据库
|
||||
13: { dbUrl: 'jdbc:derby://127.0.0.1:1527/jeecg-boot' },
|
||||
// H2 数据库
|
||||
14: { dbUrl: 'jdbc:h2:tcp://127.0.0.1:8082/jeecg-boot' },
|
||||
// 其他数据库
|
||||
15: { dbUrl: '' },
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -275,6 +347,17 @@ export default {
|
|||
this.getSysDatabase()
|
||||
},
|
||||
methods: {
|
||||
// 数据库类型更改时,联动更改数据库驱动
|
||||
handleDbTypeChange(val) {
|
||||
let dbDriver = this.dbDriverMap[val]
|
||||
let dbUrl = this.dbUrlMap[val]
|
||||
if (dbDriver) {
|
||||
this.form.setFieldsValue(dbDriver)
|
||||
}
|
||||
if (dbUrl) {
|
||||
this.form.setFieldsValue(dbUrl)
|
||||
}
|
||||
},
|
||||
getSysDatabase() {
|
||||
this.loading = true
|
||||
let params = {
|
||||
|
@ -312,12 +395,12 @@ export default {
|
|||
getAction('/sysDatabase/findInfo', { id: this.currentId }).then((res) => {
|
||||
if (res.success) {
|
||||
this.form.setFieldsValue({
|
||||
username: res.result.username,
|
||||
password: res.result.password,
|
||||
dbUsername: res.result.dbUsername,
|
||||
dbPassword: res.result.dbPassword,
|
||||
name: res.result.name,
|
||||
type: res.result.type,
|
||||
port: res.result.port,
|
||||
ipAddress: res.result.ipAddress,
|
||||
dbType: res.result.dbType,
|
||||
dbDriver: res.result.dbDriver,
|
||||
dbUrl: res.result.dbUrl,
|
||||
})
|
||||
} else {
|
||||
this.$message.warning('This operation fails. Contact your system administrator')
|
||||
|
@ -357,6 +440,23 @@ export default {
|
|||
cancelRow() {
|
||||
this.currentId = ''
|
||||
},
|
||||
onTest() {
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
let loading = this.$message.loading('连接中……', 0)
|
||||
postAction('/online/cgreport/api/testConnection', values)
|
||||
.then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success('连接成功')
|
||||
} else throw new Error(res.message)
|
||||
})
|
||||
.catch((error) => {
|
||||
this.$warning({ title: '连接失败', content: error.message || error })
|
||||
})
|
||||
.finally(() => loading())
|
||||
}
|
||||
})
|
||||
},
|
||||
onSave() {
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user