Leo vor 2 Jahren
Ursprung
Commit
7e72f10bc4

+ 43 - 3
src/module/datasource/component/DatasourceManage.jsx

@@ -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' && (

+ 7 - 0
src/module/datasource/services/index.js

@@ -138,3 +138,10 @@ export const updateDataSourceInfo = (id, params) =>
     method: 'put',
     data: params
   })
+
+export const getAilabList = () =>
+  request({
+    url: `jpt/datasource/ailab_table?project_id=${sessionStorage.getItem('project_id')}`,
+    method: 'get',
+  })
+