Commit 206774fe by yuwei

2.0.0项目初始化

parent 110e4345
...@@ -19,6 +19,7 @@ public class DbQueryProperty implements Serializable { ...@@ -19,6 +19,7 @@ public class DbQueryProperty implements Serializable {
private String password; private String password;
private Integer port; private Integer port;
private String dbName; private String dbName;
private String sid;
/** /**
* 参数合法性校验 * 参数合法性校验
......
...@@ -19,11 +19,11 @@ public enum DbType { ...@@ -19,11 +19,11 @@ public enum DbType {
/** /**
* ORACLE * ORACLE
*/ */
ORACLE("3", "Oracle11g及以下数据库", "jdbc:oracle:thin:@${host}:${port}:${dbName}"), ORACLE("3", "Oracle11g及以下数据库", "jdbc:oracle:thin:@${host}:${port}:${sid}"),
/** /**
* oracle12c new pagination * oracle12c new pagination
*/ */
ORACLE_12C("4", "Oracle12c+数据库", "jdbc:oracle:thin:@${host}:${port}:${dbName}"), ORACLE_12C("4", "Oracle12c+数据库", "jdbc:oracle:thin:@${host}:${port}:${sid}"),
/** /**
* POSTGRESQL * POSTGRESQL
*/ */
......
...@@ -16,17 +16,17 @@ public class DbColumn { ...@@ -16,17 +16,17 @@ public class DbColumn {
private String dataType; private String dataType;
/** /**
* 数据长度 * 数据长度
*/ */
private Integer dataLength; private Integer dataLength;
/** /**
* 数据精度 * 数据精度
*/ */
private Integer dataPrecision; private Integer dataPrecision;
/** /**
* 数据小数位 * 数据小数位
*/ */
private Integer dataScale; private Integer dataScale;
...@@ -46,12 +46,12 @@ public class DbColumn { ...@@ -46,12 +46,12 @@ public class DbColumn {
private Integer colPosition; private Integer colPosition;
/** /**
* 列默认值 * 列默认值
*/ */
private String dataDefault; private String dataDefault;
/** /**
* 列注释 * 列注释
*/ */
private String colComment; private String colComment;
} }
...@@ -49,10 +49,11 @@ public abstract class AbstractDataSourceFactory implements DataSourceFactory { ...@@ -49,10 +49,11 @@ public abstract class AbstractDataSourceFactory implements DataSourceFactory {
} }
url = url.replace("${host}", property.getHost()); url = url.replace("${host}", property.getHost());
url = url.replace("${port}", String.valueOf(property.getPort())); url = url.replace("${port}", String.valueOf(property.getPort()));
if (null == property.getDbName()){ if (DbType.ORACLE.getDb().equals(property.getDbType()) || DbType.ORACLE_12C.getDb().equals(property.getDbType())) {
property.setDbName(""); url = url.replace("${sid}", property.getSid());
} else {
url = url.replace("${dbName}", property.getDbName());
} }
url = url.replace("${dbName}", property.getDbName());
return url; return url;
} }
} }
...@@ -30,4 +30,6 @@ public class DbSchema implements Serializable { ...@@ -30,4 +30,6 @@ public class DbSchema implements Serializable {
@ApiModelProperty(value = "密码") @ApiModelProperty(value = "密码")
@NotBlank(message = "密码不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class}) @NotBlank(message = "密码不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private String password; private String password;
@ApiModelProperty(value = "服务名")
private String sid;
} }
...@@ -73,7 +73,7 @@ public class SqlConsoleServiceImpl implements SqlConsoleService { ...@@ -73,7 +73,7 @@ public class SqlConsoleServiceImpl implements SqlConsoleService {
} }
DbSchema dbSchema = dataSource.getDbSchema(); DbSchema dbSchema = dataSource.getDbSchema();
DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(), DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(),
dbSchema.getUsername(), dbSchema.getPassword(), dbSchema.getPort(), dbSchema.getDbName()); dbSchema.getUsername(), dbSchema.getPassword(), dbSchema.getPort(), dbSchema.getDbName(), dbSchema.getSid());
DbQuery dbQuery = dataSourceFactory.createDbQuery(dbQueryProperty); DbQuery dbQuery = dataSourceFactory.createDbQuery(dbQueryProperty);
// 定义计数器 // 定义计数器
final CountDownLatch latch = new CountDownLatch(sqls.size()); final CountDownLatch latch = new CountDownLatch(sqls.size());
......
...@@ -167,13 +167,11 @@ public class DataSourceController extends BaseController { ...@@ -167,13 +167,11 @@ public class DataSourceController extends BaseController {
*/ */
@ApiOperation(value = "数据库表", notes = "根据数据源的id来获取指定数据库表") @ApiOperation(value = "数据库表", notes = "根据数据源的id来获取指定数据库表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path"), @ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
@ApiImplicitParam(name = "dbName", value = "数据库表名", required = true, dataType = "String", paramType = "path")
}) })
@GetMapping("/{id}/{dbName}/tables") @GetMapping("/{id}/tables")
public R getDbTables(@PathVariable String id, @PathVariable String dbName) { public R getDbTables(@PathVariable String id) {
DbQuery dbQuery = dataSourceService.getDbQuery(id); List<DbTable> tables = dataSourceService.getDbTables(id);
List<DbTable> tables = dbQuery.getTables(dbName);
return R.ok().setData(tables); return R.ok().setData(tables);
} }
...@@ -185,13 +183,11 @@ public class DataSourceController extends BaseController { ...@@ -185,13 +183,11 @@ public class DataSourceController extends BaseController {
@ApiOperation(value = "数据库表结构", notes = "根据数据源的id来获取指定数据库表的表结构") @ApiOperation(value = "数据库表结构", notes = "根据数据源的id来获取指定数据库表的表结构")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path"), @ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path"),
@ApiImplicitParam(name = "dbName", value = "数据库名", required = true, dataType = "String", paramType = "path"), @ApiImplicitParam(name = "tableName", value = "数据库表", required = true, dataType = "String", paramType = "path")
@ApiImplicitParam(name = "tableName", value = "数据表名", required = true, dataType = "String", paramType = "path")
}) })
@GetMapping("/{id}/{dbName}/{tableName}/columns") @GetMapping("/{id}/{tableName}/columns")
public R getDbTableColumns(@PathVariable String id, @PathVariable String dbName, @PathVariable String tableName) { public R getDbTableColumns(@PathVariable String id, @PathVariable String tableName) {
DbQuery dbQuery = dataSourceService.getDbQuery(id); List<DbColumn> columns = dataSourceService.getDbTableColumns(id, tableName);
List<DbColumn> columns = dbQuery.getTableColumns(dbName, tableName);
return R.ok().setData(columns); return R.ok().setData(columns);
} }
......
package cn.datax.service.data.factory.service; package cn.datax.service.data.factory.service;
import cn.datax.common.database.DbQuery; import cn.datax.common.database.DbQuery;
import cn.datax.common.database.core.DbColumn;
import cn.datax.common.database.core.DbTable;
import cn.datax.service.data.factory.api.dto.DataSourceDto; import cn.datax.service.data.factory.api.dto.DataSourceDto;
import cn.datax.service.data.factory.api.entity.DataSourceEntity; import cn.datax.service.data.factory.api.entity.DataSourceEntity;
import cn.datax.common.base.BaseService; import cn.datax.common.base.BaseService;
...@@ -30,4 +32,8 @@ public interface DataSourceService extends BaseService<DataSourceEntity> { ...@@ -30,4 +32,8 @@ public interface DataSourceService extends BaseService<DataSourceEntity> {
DbQuery checkConnection(DataSourceDto dataSource); DbQuery checkConnection(DataSourceDto dataSource);
DbQuery getDbQuery(String id); DbQuery getDbQuery(String id);
List<DbTable> getDbTables(String id);
List<DbColumn> getDbTableColumns(String id, String tableName);
} }
...@@ -4,6 +4,8 @@ import cn.datax.common.core.RedisConstant; ...@@ -4,6 +4,8 @@ import cn.datax.common.core.RedisConstant;
import cn.datax.common.database.DataSourceFactory; import cn.datax.common.database.DataSourceFactory;
import cn.datax.common.database.DbQuery; import cn.datax.common.database.DbQuery;
import cn.datax.common.database.constants.DbQueryProperty; import cn.datax.common.database.constants.DbQueryProperty;
import cn.datax.common.database.core.DbColumn;
import cn.datax.common.database.core.DbTable;
import cn.datax.service.data.factory.api.dto.DataSourceDto; import cn.datax.service.data.factory.api.dto.DataSourceDto;
import cn.datax.service.data.factory.api.dto.DbSchema; import cn.datax.service.data.factory.api.dto.DbSchema;
import cn.datax.service.data.factory.api.entity.DataSourceEntity; import cn.datax.service.data.factory.api.entity.DataSourceEntity;
...@@ -84,7 +86,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl<DataSourceDao, DataSo ...@@ -84,7 +86,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl<DataSourceDao, DataSo
DataSourceEntity dataSource = dataSourceMapper.toEntity(dataSourceDto); DataSourceEntity dataSource = dataSourceMapper.toEntity(dataSourceDto);
DbSchema dbSchema = dataSource.getDbSchema(); DbSchema dbSchema = dataSource.getDbSchema();
DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(), DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(),
dbSchema.getUsername(), dbSchema.getPassword(), dbSchema.getPort(), dbSchema.getDbName()); dbSchema.getUsername(), dbSchema.getPassword(), dbSchema.getPort(), dbSchema.getDbName(), dbSchema.getSid());
DbQuery dbQuery = dataSourceFactory.createDbQuery(dbQueryProperty); DbQuery dbQuery = dataSourceFactory.createDbQuery(dbQueryProperty);
return dbQuery; return dbQuery;
} }
...@@ -94,8 +96,30 @@ public class DataSourceServiceImpl extends BaseServiceImpl<DataSourceDao, DataSo ...@@ -94,8 +96,30 @@ public class DataSourceServiceImpl extends BaseServiceImpl<DataSourceDao, DataSo
DataSourceEntity dataSource = getById(id); DataSourceEntity dataSource = getById(id);
DbSchema dbSchema = dataSource.getDbSchema(); DbSchema dbSchema = dataSource.getDbSchema();
DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(), DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(),
dbSchema.getUsername(), dbSchema.getPassword(), dbSchema.getPort(), dbSchema.getDbName()); dbSchema.getUsername(), dbSchema.getPassword(), dbSchema.getPort(), dbSchema.getDbName(), dbSchema.getSid());
DbQuery dbQuery = dataSourceFactory.createDbQuery(dbQueryProperty); DbQuery dbQuery = dataSourceFactory.createDbQuery(dbQueryProperty);
return dbQuery; return dbQuery;
} }
@Override
public List<DbTable> getDbTables(String id) {
DataSourceEntity dataSource = getById(id);
DbSchema dbSchema = dataSource.getDbSchema();
DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(),
dbSchema.getUsername(), dbSchema.getPassword(), dbSchema.getPort(), dbSchema.getDbName(), dbSchema.getSid());
DbQuery dbQuery = dataSourceFactory.createDbQuery(dbQueryProperty);
List<DbTable> tables = dbQuery.getTables(dbSchema.getDbName());
return tables;
}
@Override
public List<DbColumn> getDbTableColumns(String id, String tableName) {
DataSourceEntity dataSource = getById(id);
DbSchema dbSchema = dataSource.getDbSchema();
DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(),
dbSchema.getUsername(), dbSchema.getPassword(), dbSchema.getPort(), dbSchema.getDbName(), dbSchema.getSid());
DbQuery dbQuery = dataSourceFactory.createDbQuery(dbQueryProperty);
List<DbColumn> columns = dbQuery.getTableColumns(dbSchema.getDbName(), tableName);
return columns;
}
} }
...@@ -80,7 +80,7 @@ public class ApiCallServiceImpl implements ApiCallService { ...@@ -80,7 +80,7 @@ public class ApiCallServiceImpl implements ApiCallService {
} }
DbSchema dbSchema = dataSource.getDbSchema(); DbSchema dbSchema = dataSource.getDbSchema();
DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(), DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(),
dbSchema.getUsername(), dbSchema.getPassword(), dbSchema.getPort(), dbSchema.getDbName()); dbSchema.getUsername(), dbSchema.getPassword(), dbSchema.getPort(), dbSchema.getDbName(), dbSchema.getSid());
DbQuery dbQuery = dataSourceFactory.createDbQuery(dbQueryProperty); DbQuery dbQuery = dataSourceFactory.createDbQuery(dbQueryProperty);
// 接收参数 // 接收参数
Map<String, Object> params = null; Map<String, Object> params = null;
......
...@@ -25,10 +25,10 @@ public class ExecuteConfig implements Serializable { ...@@ -25,10 +25,10 @@ public class ExecuteConfig implements Serializable {
@NotNull(message = "配置方式不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class}) @NotNull(message = "配置方式不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private String configType; private String configType;
@ApiModelProperty(value = "选择表") @ApiModelProperty(value = "数据库表")
private String tableName; private String tableName;
@ApiModelProperty(value = "字段列表") @ApiModelProperty(value = "字段列表")
@Valid @Valid
private List<FieldParam> fieldParams; private List<FieldParam> fieldParams;
......
...@@ -68,3 +68,17 @@ export function queryByPage (data) { ...@@ -68,3 +68,17 @@ export function queryByPage (data) {
data: data data: data
}) })
} }
export function getDbTables (id) {
return request({
url: '/data/factory/dataSources/' + id + '/tables',
method: 'get'
})
}
export function getDbTableColumns (id, tableName) {
return request({
url: '/data/factory/dataSources/' + id + '/' + tableName + '/columns',
method: 'get'
})
}
...@@ -128,12 +128,17 @@ export default { ...@@ -128,12 +128,17 @@ export default {
}, },
// 表单参数 // 表单参数
form: { form: {
status: '1', id: undefined,
sourceId: undefined, sourceId: undefined,
setSql: undefined setSql: undefined,
status: '1',
remark: undefined
}, },
// 表单校验 // 表单校验
rules: { rules: {
sourceId: [
{ required: true, message: '数据源不能为空', trigger: 'blur' }
],
setName: [ setName: [
{ required: true, message: '数据集名称不能为空', trigger: 'blur' } { required: true, message: '数据集名称不能为空', trigger: 'blur' }
] ]
......
...@@ -47,6 +47,9 @@ ...@@ -47,6 +47,9 @@
<el-form-item label="端口" prop="port"> <el-form-item label="端口" prop="port">
<el-input v-model="form2.port" placeholder="请输入端口" /> <el-input v-model="form2.port" placeholder="请输入端口" />
</el-form-item> </el-form-item>
<el-form-item label="服务名" prop="sid" v-if="form.dbType === '3' || form.dbType === '4'">
<el-input v-model="form2.sid" placeholder="请输入服务名" />
</el-form-item>
<el-form-item label="数据库" prop="dbName"> <el-form-item label="数据库" prop="dbName">
<el-input v-model="form2.dbName" placeholder="请输入数据库" /> <el-input v-model="form2.dbName" placeholder="请输入数据库" />
</el-form-item> </el-form-item>
...@@ -104,7 +107,12 @@ export default { ...@@ -104,7 +107,12 @@ export default {
active: 1, active: 1,
// 表单参数 // 表单参数
form: { form: {
status: '1' id: undefined,
dbType: undefined,
sourceName: undefined,
dbSchema: {},
status: '1',
remark: undefined
}, },
// 表单校验 // 表单校验
rules: { rules: {
...@@ -115,7 +123,14 @@ export default { ...@@ -115,7 +123,14 @@ export default {
{ required: true, message: '数据源名称不能为空', trigger: 'blur' } { required: true, message: '数据源名称不能为空', trigger: 'blur' }
] ]
}, },
form2: {}, form2: {
host: undefined,
port: undefined,
dbName: undefined,
username: undefined,
password: undefined,
sid: undefined
},
rules2: { rules2: {
host: [ host: [
{ required: true, message: '主机不能为空', trigger: 'blur' } { required: true, message: '主机不能为空', trigger: 'blur' }
......
...@@ -46,6 +46,9 @@ ...@@ -46,6 +46,9 @@
<el-form-item label="端口" prop="port"> <el-form-item label="端口" prop="port">
<el-input v-model="form2.port" placeholder="请输入端口" /> <el-input v-model="form2.port" placeholder="请输入端口" />
</el-form-item> </el-form-item>
<el-form-item label="服务名" prop="sid" v-if="form.dbType === '3' || form.dbType === '4'">
<el-input v-model="form2.sid" placeholder="请输入服务名" />
</el-form-item>
<el-form-item label="数据库" prop="dbName"> <el-form-item label="数据库" prop="dbName">
<el-input v-model="form2.dbName" placeholder="请输入数据库" /> <el-input v-model="form2.dbName" placeholder="请输入数据库" />
</el-form-item> </el-form-item>
......
...@@ -47,6 +47,9 @@ ...@@ -47,6 +47,9 @@
<el-form-item label="端口" prop="port"> <el-form-item label="端口" prop="port">
<el-input v-model="form2.port" placeholder="请输入端口" /> <el-input v-model="form2.port" placeholder="请输入端口" />
</el-form-item> </el-form-item>
<el-form-item label="服务名" prop="sid" v-if="form.dbType === '3' || form.dbType === '4'">
<el-input v-model="form2.sid" placeholder="请输入服务名" />
</el-form-item>
<el-form-item label="数据库" prop="dbName"> <el-form-item label="数据库" prop="dbName">
<el-input v-model="form2.dbName" placeholder="请输入数据库" /> <el-input v-model="form2.dbName" placeholder="请输入数据库" />
</el-form-item> </el-form-item>
......
...@@ -76,8 +76,18 @@ ...@@ -76,8 +76,18 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form ref="form2" :model="form2" :rules="rules2" label-width="80px" v-if="active == 2"> <el-form ref="form2" :model="form2" :rules="rules2" label-width="80px" v-if="active == 2">
<el-form-item label="配置方式" prop="configType">
<el-select v-model="form2.configType" placeholder="请选择配置方式" @change="configTypeSelectChanged">
<el-option
v-for="dict in configTypeOptions"
:key="dict.id"
:label="dict.itemValue"
:value="dict.itemText"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="数据源" prop="sourceId"> <el-form-item label="数据源" prop="sourceId">
<el-select v-model="form2.sourceId" placeholder="请选择数据源"> <el-select v-model="form2.sourceId" placeholder="请选择数据源" @change="sourceSelectChanged">
<el-option <el-option
v-for="source in sourceOptions" v-for="source in sourceOptions"
:key="source.id" :key="source.id"
...@@ -87,16 +97,50 @@ ...@@ -87,16 +97,50 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="配置方式" prop="configType"> <el-form-item v-if="form2.configType === '1'">
<el-select v-model="form2.configType" placeholder="请选择配置方式"> <el-select v-model="form2.tableName" placeholder="请选择" @change="tableNameSelectChanged">
<el-option <el-option
v-for="dict in configTypeOptions" v-for="item in tableNameOptions"
:key="dict.id" :key="item.tableName"
:label="dict.itemValue" :label="item.tableComment"
:value="dict.itemText" :value="item.tableName">
></el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="form2.configType === '1'">
<el-table :data="fieldParamList" stripe border
:max-height="300"
style="width: 100%; margin: 15px 0;">
<el-table-column prop="colPosition" label="序号" width="55" align="center" >
</el-table-column>
<el-table-column prop="colName" label="列名" align="center" show-overflow-tooltip >
</el-table-column>
<el-table-column prop="dataType" label="数据类型" align="center" show-overflow-tooltip >
</el-table-column>
<el-table-column prop="dataLength" label="数据长度" align="center" show-overflow-tooltip >
</el-table-column>
<el-table-column prop="dataPrecision" label="数据精度" align="center" show-overflow-tooltip >
</el-table-column>
<el-table-column prop="dataScale" label="数据小数位" align="center" show-overflow-tooltip >
</el-table-column>
<el-table-column prop="colKey" label="是否主键" align="center" show-overflow-tooltip >
<template slot-scope="scope">
<span v-if="scope.row.colKey === true"></span>
<span v-if="scope.row.colKey === false"></span>
</template>
</el-table-column>
<el-table-column prop="nullable" label="是否允许为空" align="center" show-overflow-tooltip >
<template slot-scope="scope">
<span v-if="scope.row.nullable === true"></span>
<span v-if="scope.row.nullable === false"></span>
</template>
</el-table-column>
<el-table-column prop="dataDefault" label="列默认值" align="center" show-overflow-tooltip >
</el-table-column>
<el-table-column prop="colComment" label="列注释" align="center" show-overflow-tooltip >
</el-table-column>
</el-table>
</el-form-item>
<el-row v-if="form2.configType === '2'"> <el-row v-if="form2.configType === '2'">
<el-col :span="24"> <el-col :span="24">
<sql-editor <sql-editor
...@@ -122,7 +166,7 @@ ...@@ -122,7 +166,7 @@
<script> <script>
import { addDataApi, sqlParse } from '@/api/market/dataapi' import { addDataApi, sqlParse } from '@/api/market/dataapi'
import { listDataSource } from '@/api/factory/datasource' import { listDataSource, getDbTables, getDbTableColumns } from '@/api/factory/datasource'
import SqlEditor from '@/components/SqlEditor' import SqlEditor from '@/components/SqlEditor'
export default { export default {
...@@ -197,18 +241,24 @@ export default { ...@@ -197,18 +241,24 @@ export default {
] ]
}, },
form2: { form2: {
sourceId: undefined,
configType: undefined, configType: undefined,
sourceId: undefined,
tableName: undefined, tableName: undefined,
fieldParams: [], fieldParams: [],
sqlText: undefined sqlText: undefined
}, },
rules2: { rules2: {
configType: [
{ required: true, message: '配置方式不能为空', trigger: 'blur' }
],
sourceId: [ sourceId: [
{ required: true, message: '数据源不能为空', trigger: 'blur' } { required: true, message: '数据源不能为空', trigger: 'blur' }
] ]
}, },
form3: {}, form3: {
reqParams: [],
resParams: []
},
rules3: {}, rules3: {},
// 请求方式数据字典 // 请求方式数据字典
reqMethodOptions: [], reqMethodOptions: [],
...@@ -220,6 +270,10 @@ export default { ...@@ -220,6 +270,10 @@ export default {
statusOptions: [], statusOptions: [],
// 数据源数据字典 // 数据源数据字典
sourceOptions: [], sourceOptions: [],
// 数据库表数据字典
tableNameOptions: [],
// 数据库表字段列表
fieldParamList: [],
// 配置方式数据字典 // 配置方式数据字典
configTypeOptions: [] configTypeOptions: []
} }
...@@ -286,6 +340,33 @@ export default { ...@@ -286,6 +340,33 @@ export default {
changeTextarea (val) { changeTextarea (val) {
this.form2.sqlText = val this.form2.sqlText = val
}, },
configTypeSelectChanged (val) {
if (this.form2.configType === '1' && this.form2.sourceId && this.dbTableOptions.length <= 0) {
getDbTables(this.form2.sourceId).then(response => {
if (response.success) {
this.tableNameOptions = response.data
this.fieldParamList = []
}
})
}
},
sourceSelectChanged (val) {
if (this.form2.configType && this.form2.configType === '1') {
getDbTables(val).then(response => {
if (response.success) {
this.tableNameOptions = response.data
this.fieldParamList = []
}
})
}
},
tableNameSelectChanged (val) {
getDbTableColumns(this.form2.sourceId, val).then(response => {
if (response.success) {
this.fieldParamList = response.data
}
})
},
sqlParse () { sqlParse () {
if (!this.form2.sourceId) { if (!this.form2.sourceId) {
this.$message.error('数据源不能为空') this.$message.error('数据源不能为空')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment