|
@@ -9,12 +9,12 @@ import {
|
|
|
} from '@ant-design/pro-components'
|
|
|
import { Button, Col, message, Form } from 'antd'
|
|
|
import { useState } from 'react'
|
|
|
-import {testDataSourceConnection, createDataSource} from '../services'
|
|
|
+import { testDataSourceConnection, createDataSource } from '../services'
|
|
|
|
|
|
const DATA_TYPE_MYSQL = 'mysql'
|
|
|
const KERBS_VALID_FALSE = false
|
|
|
|
|
|
-export default function DatasourceAdd({updateDataSource}) {
|
|
|
+export default function DatasourceAdd({ updateDataSource }) {
|
|
|
// 数据源类型
|
|
|
const [dataType, setDataType] = useState(DATA_TYPE_MYSQL)
|
|
|
// 是否开启kerbsValid验证
|
|
@@ -25,12 +25,24 @@ export default function DatasourceAdd({updateDataSource}) {
|
|
|
const [form] = Form.useForm()
|
|
|
// 测试连接
|
|
|
const testConnect = async () => {
|
|
|
- const fields = ['datasource_name','datasource','database_name','jdbc_username','jdbc_password','jdbc_url','comments', 'tag']
|
|
|
+ const fields = [
|
|
|
+ 'datasource_name',
|
|
|
+ 'datasource',
|
|
|
+ 'database_name',
|
|
|
+ 'jdbc_username',
|
|
|
+ 'jdbc_password',
|
|
|
+ 'jdbc_url',
|
|
|
+ 'comments',
|
|
|
+ 'tag',
|
|
|
+ ]
|
|
|
try {
|
|
|
await form.validateFields(fields)
|
|
|
setLoading(true)
|
|
|
const testData = form.getFieldsValue(fields)
|
|
|
- const { data } = await testDataSourceConnection({...testData, tag: form.getFieldValue('tag').join('/')})
|
|
|
+ const { data } = await testDataSourceConnection({
|
|
|
+ ...testData,
|
|
|
+ tag: form.getFieldValue('tag').join('/'),
|
|
|
+ })
|
|
|
if (data.data) {
|
|
|
message.success('连接成功')
|
|
|
} else {
|
|
@@ -43,8 +55,20 @@ export default function DatasourceAdd({updateDataSource}) {
|
|
|
}
|
|
|
// 完成添加
|
|
|
const finishAdd = async () => {
|
|
|
- const fields = ['datasource_name','datasource','database_name','jdbc_username','jdbc_password','jdbc_url','comments', 'tag']
|
|
|
- const { data } = await createDataSource({...form.getFieldsValue(fields), tag: form.getFieldValue('tag').join('/')})
|
|
|
+ const fields = [
|
|
|
+ 'datasource_name',
|
|
|
+ 'datasource',
|
|
|
+ 'database_name',
|
|
|
+ 'jdbc_username',
|
|
|
+ 'jdbc_password',
|
|
|
+ 'jdbc_url',
|
|
|
+ 'comments',
|
|
|
+ 'tag',
|
|
|
+ ]
|
|
|
+ const { data } = await createDataSource({
|
|
|
+ ...form.getFieldsValue(fields),
|
|
|
+ tag: form.getFieldValue('tag').join('/'),
|
|
|
+ })
|
|
|
if (data.code === 200) {
|
|
|
message.success('添加成功')
|
|
|
updateDataSource()
|
|
@@ -62,14 +86,12 @@ export default function DatasourceAdd({updateDataSource}) {
|
|
|
return (
|
|
|
<ModalForm
|
|
|
form={form}
|
|
|
- trigger={
|
|
|
- <Button type="primary">添加数据源</Button>
|
|
|
- }
|
|
|
+ trigger={<Button type="primary">添加数据源</Button>}
|
|
|
onFinish={finishAdd}
|
|
|
initialValues={{
|
|
|
datasource: DATA_TYPE_MYSQL,
|
|
|
kerbsValid: KERBS_VALID_FALSE,
|
|
|
- comments: ''
|
|
|
+ comments: '',
|
|
|
}}
|
|
|
title="添加数据源"
|
|
|
modalProps={{
|
|
@@ -121,12 +143,12 @@ export default function DatasourceAdd({updateDataSource}) {
|
|
|
label="数据源标签"
|
|
|
name="tag"
|
|
|
fieldProps={{
|
|
|
- mode: 'tags'
|
|
|
+ mode: 'tags',
|
|
|
}}
|
|
|
valueEnum={{
|
|
|
- '线上': '线上',
|
|
|
- '测试': '测试',
|
|
|
- '开发': '开发',
|
|
|
+ 线上: '线上',
|
|
|
+ 测试: '测试',
|
|
|
+ 开发: '开发',
|
|
|
}}
|
|
|
rules={[
|
|
|
{
|
|
@@ -182,8 +204,8 @@ export default function DatasourceAdd({updateDataSource}) {
|
|
|
/>
|
|
|
{dataType === 'hive' ? (
|
|
|
<ProFormRadio.Group
|
|
|
- label="kerbs验证"
|
|
|
- name="kerbsValid"
|
|
|
+ label="kerberos验证"
|
|
|
+ name="kerberosValid"
|
|
|
fieldProps={{
|
|
|
onChange: e => setKerbsValid(e.target.value),
|
|
|
}}
|