diff --git a/data-room-ui/example/main.js b/data-room-ui/example/main.js index 95fe26be..8fdea1d3 100644 --- a/data-room-ui/example/main.js +++ b/data-room-ui/example/main.js @@ -60,6 +60,11 @@ registerConfig( sourceExtends: ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'svg', 'webp', 'ico', 'xls', 'xlsx', 'csv'], // datasetAuth: ['unAdd', 'unEdit', 'unDelete'], // 数据集按钮权限 新增 编辑 删除 // datasetTypeList: ['original', 'custom', 'http'], + // sourceTypeList: [ + // { label: 'Mysql', code: 'mysql', name: 'com.mysql.jdbc.Driver', url: 'jdbc:mysql://localhost:3306/db_name?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&useOldAliasMetadataBehavior=true' }, + // { label: 'ClickHouse', code: 'clickhouse', name: 'ru.yandex.clickhouse.ClickHouseDriver', url: 'jdbc:clickhouse://localhost:8123/db_name' }, + // { label: 'test', code: 'test', name: 'test', url: 'test' } + // ], // customPlots: [], // 远程组件列表 remoteComponents, diff --git a/data-room-ui/packages/DataSourceManagement/src/setDatasource.vue b/data-room-ui/packages/DataSourceManagement/src/setDatasource.vue index 95329d9d..b5130c6d 100644 --- a/data-room-ui/packages/DataSourceManagement/src/setDatasource.vue +++ b/data-room-ui/packages/DataSourceManagement/src/setDatasource.vue @@ -37,8 +37,8 @@ > @@ -223,27 +223,10 @@ export default { setDatasourceVisible: false, title: '', linkLoading: false, - sourceTypeList: [ - { name: 'Mysql', code: 'mysql' }, - { name: 'ClickHouse', code: 'clickhouse' }, - { name: 'PostgreSQL', code: 'postgresql' }, - { name: 'Oracle', code: 'oracle' }, - { name: 'Sqlserver', code: 'sqlserver' } - ], - driverCLassList: [ - { code: 'mysqlDriver', name: 'com.mysql.jdbc.Driver' }, - { code: 'clickhouseDriver', name: 'ru.yandex.clickhouse.ClickHouseDriver' }, - { code: 'oracleDriver', name: 'oracle.jdbc.driver.OracleDriver' }, - { code: 'hsqlDriver', name: 'org.hsqldb.jdbc.JDBCDriver' }, - { code: 'ibmdb2Driver', name: 'com.ibm.db2.jcc.DB2Driver' }, - { code: 'sqlserverDriver', name: 'com.microsoft.sqlserver.jdbc.SQLServerDriver' }, - { code: 'postgresqlDriver', name: 'org.postgresql.Driver' }, - { code: 'hiveDriver', name: 'org.apache.hive.jdbc.HiveDriver' } - ], dataForm: { id: '', sourceName: '', - sourceType: 'Mysql', + sourceType: 'mysql', driverClassName: 'com.mysql.jdbc.Driver', username: '', password: '', @@ -315,6 +298,17 @@ export default { } } }, + computed: { + sourceTypeList () { + return window.BS_CONFIG?.sourceTypeList || [ + { label: 'Mysql', code: 'mysql', name: 'com.mysql.jdbc.Driver', url: 'jdbc:mysql://localhost:3306/db_name?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&useOldAliasMetadataBehavior=true' }, + { label: 'ClickHouse', code: 'clickhouse', name: 'ru.yandex.clickhouse.ClickHouseDriver', url: 'jdbc:clickhouse://localhost:8123/db_name' }, + { label: 'PostgreSQL', code: 'postgresql', name: 'org.postgresql.Driver', url: 'jdbc:postgresql://localhost:13308/db_name' }, + { label: 'Oracle', code: 'oracle', name: 'oracle.jdbc.driver.OracleDriver', url: 'jdbc:oracle:thin:@localhost:1521:orcl' }, + { label: 'Sqlserver', code: 'sqlserver', name: 'com.microsoft.sqlserver.jdbc.SQLServerDriver', url: 'jdbc:sqlserver://localhost:1433;databaseName=db_name' } + ] + } + }, methods: { // 初始化 init (row) { @@ -326,26 +320,6 @@ export default { this.dataForm = row } }, - getUrl (driverClassName) { - switch (driverClassName) { - case 'com.mysql.jdbc.Driver': - return 'jdbc:mysql://localhost:3306/db_name?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&useOldAliasMetadataBehavior=true' - case 'ru.yandex.clickhouse.ClickHouseDriver': - return 'jdbc:clickhouse://localhost:8123/db_name' - case 'oracle.jdbc.driver.OracleDriver': - return 'jdbc:oracle:thin:@localhost:1521:orcl' - case 'org.hsqldb.jdbc.JDBCDriver': - return 'jdbc:hsqldb:http://localhost:1527/db_name' - case 'com.ibm.db2.jcc.DB2Driver': - return 'jdbc:db2://localhost:5000/db_name' - case 'com.microsoft.sqlserver.jdbc.SQLServerDriver': - return 'jdbc:sqlserver://localhost:1433;databaseName=db_name;encrypt=false' - case 'org.postgresql.Driver': - return 'jdbc:postgresql://localhost:13308/db_name' - case 'org.apache.hive.jdbc.HiveDriver': - return 'jdbc:hive2://localhost:10000/db_name' - } - }, // 名称校验 validateSourceName (rule, value, callback) { checkRepeat({ @@ -363,20 +337,10 @@ export default { // 数据源类型选择 sourceTypeChange (code) { if (!this.dataForm.id && code) { - let driverName = '' - driverName = code + 'Driver' - // 从驱动列表中获取驱动的对应的jdbcUrl - this.driverCLassList.forEach(driver => { - if (driverName === driver.code) { - this.dataForm.driverClassName = driver.name - this.queryDriverTemp(driver.name) - } - }) + this.dataForm.driverClassName = this.sourceTypeList.find(item => item.code === code)?.name + this.$set(this.dataForm, 'url', this.sourceTypeList.find(item => item.code === code)?.url) } }, - queryDriverTemp (val) { - this.$set(this.dataForm, 'url', this.getUrl(val)) - }, // 阻止文本域回车换行 textareaKeydown () { const e = window.event || arguments[0] @@ -414,7 +378,7 @@ export default { this.dataForm = { id: '', sourceName: '', - sourceType: 'Mysql', + sourceType: 'mysql', driverClassName: 'com.mysql.jdbc.Driver', username: '', password: '',