|
@@ -7,6 +7,7 @@ import {
|
|
|
delDataSource,
|
|
|
getTableNamesList,
|
|
|
getDataSourceInfo,
|
|
|
+ getAilabList,
|
|
|
} from '../services'
|
|
|
|
|
|
export default function DatasourceManage({ onRef, dataType }) {
|
|
@@ -16,6 +17,8 @@ export default function DatasourceManage({ onRef, dataType }) {
|
|
|
|
|
|
// 初始化数据源列表数据 constructor
|
|
|
const [dataSourceList, setDataSourceList] = useState([])
|
|
|
+ // 初始化ailab列表数据
|
|
|
+ const [ailabDataList, setAilabDataList] = useState([])
|
|
|
|
|
|
// 表格Loading状态
|
|
|
const [dataLoading, setDataLoading] = useState(false)
|
|
@@ -54,6 +57,24 @@ export default function DatasourceManage({ onRef, dataType }) {
|
|
|
}
|
|
|
})
|
|
|
setDataSourceList(list)
|
|
|
+ } else {
|
|
|
+ message.error(data.msg)
|
|
|
+ }
|
|
|
+ setDataLoading(false)
|
|
|
+ }
|
|
|
+
|
|
|
+ const fetchAilabList = async () => {
|
|
|
+ setDataLoading(true)
|
|
|
+ const { data } = await getAilabList()
|
|
|
+ if (data.code === 200) {
|
|
|
+ const list = data.data.map(item => {
|
|
|
+ return {
|
|
|
+ datatable_name: item,
|
|
|
+ }
|
|
|
+ })
|
|
|
+ setAilabDataList(list)
|
|
|
+ } else {
|
|
|
+ message.error(data.msg)
|
|
|
}
|
|
|
setDataLoading(false)
|
|
|
}
|
|
@@ -62,6 +83,7 @@ export default function DatasourceManage({ onRef, dataType }) {
|
|
|
useImperativeHandle(onRef, () => {
|
|
|
return {
|
|
|
updateSourceList: fetchDataSourceList,
|
|
|
+ updateAilabList: fetchAilabList,
|
|
|
}
|
|
|
})
|
|
|
|
|
@@ -92,8 +114,19 @@ export default function DatasourceManage({ onRef, dataType }) {
|
|
|
|
|
|
// componentDidMount
|
|
|
useEffect(() => {
|
|
|
- fetchDataSourceList()
|
|
|
- }, [])
|
|
|
+ switch (dataType) {
|
|
|
+ case 'datasource':
|
|
|
+ fetchDataSourceList()
|
|
|
+ break
|
|
|
+ case 'ailab':
|
|
|
+ fetchAilabList()
|
|
|
+ break
|
|
|
+ case 'datalake':
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }, [dataType])
|
|
|
|
|
|
// 格式化事件
|
|
|
const formatTime = time => {
|
|
@@ -277,6 +310,12 @@ export default function DatasourceManage({ onRef, dataType }) {
|
|
|
],
|
|
|
}
|
|
|
|
|
|
+ const shareBtn = () => (
|
|
|
+ <Button type="link" onClick={() => {}}>
|
|
|
+ 批量分享
|
|
|
+ </Button>
|
|
|
+ )
|
|
|
+
|
|
|
// 最终渲染
|
|
|
return (
|
|
|
<div>
|
|
@@ -292,9 +331,10 @@ export default function DatasourceManage({ onRef, dataType }) {
|
|
|
<Table
|
|
|
rowSelection={rowSelection}
|
|
|
columns={ailab_columns}
|
|
|
- dataSource={dataSourceList}
|
|
|
+ dataSource={ailabDataList}
|
|
|
bordered
|
|
|
loading={dataLoading}
|
|
|
+ footer={shareBtn}
|
|
|
/>
|
|
|
)}
|
|
|
{dataType === 'datalake' && (
|