|
@@ -13,7 +13,9 @@ import {
|
|
|
Button,
|
|
|
Select,
|
|
|
Tabs,
|
|
|
+ Input,
|
|
|
} from 'antd'
|
|
|
+import { SearchOutlined } from '@ant-design/icons'
|
|
|
import DatasourceData from '../component/DatasourceData'
|
|
|
import DatasourceEdit from '../component/DatasourceEdit'
|
|
|
import {
|
|
@@ -45,6 +47,8 @@ const DatasourceManage = ({ dataType }, ref) => {
|
|
|
// 初始化ailab列表数据
|
|
|
const [ailabDataList, setAilabDataList] = useState([])
|
|
|
|
|
|
+ const [filterAilabDataList, setFilterAilabDataList] = useState([])
|
|
|
+
|
|
|
const [lakeDataList, setLakeDataList] = useState([])
|
|
|
|
|
|
// 表格Loading状态
|
|
@@ -119,6 +123,7 @@ const DatasourceManage = ({ dataType }, ref) => {
|
|
|
}
|
|
|
})
|
|
|
setAilabDataList(list)
|
|
|
+ setFilterAilabDataList(list)
|
|
|
} else {
|
|
|
message.error(data.msg)
|
|
|
}
|
|
@@ -578,6 +583,22 @@ const DatasourceManage = ({ dataType }, ref) => {
|
|
|
</Button>
|
|
|
)
|
|
|
|
|
|
+ const searchTable = e => {
|
|
|
+ const list = ailabDataList.filter(item =>
|
|
|
+ item.datatable_name.includes(e.target.value)
|
|
|
+ )
|
|
|
+ setFilterAilabDataList(list)
|
|
|
+ }
|
|
|
+
|
|
|
+ const searchTool = () => (
|
|
|
+ <Input
|
|
|
+ type="link"
|
|
|
+ style={{ width: '210px' }}
|
|
|
+ onChange={searchTable}
|
|
|
+ suffix={<SearchOutlined />}
|
|
|
+ />
|
|
|
+ )
|
|
|
+
|
|
|
const shareTable = async () => {
|
|
|
if (selectedProjects.length) {
|
|
|
const parmas = {
|
|
@@ -645,7 +666,7 @@ const DatasourceManage = ({ dataType }, ref) => {
|
|
|
<Table
|
|
|
rowSelection={rowSelection}
|
|
|
columns={ailab_columns}
|
|
|
- dataSource={ailabDataList}
|
|
|
+ dataSource={filterAilabDataList}
|
|
|
bordered
|
|
|
loading={dataLoading}
|
|
|
footer={
|
|
@@ -653,6 +674,7 @@ const DatasourceManage = ({ dataType }, ref) => {
|
|
|
? shareBtn
|
|
|
: null
|
|
|
}
|
|
|
+ title={searchTool}
|
|
|
/>
|
|
|
)}
|
|
|
{dataType === 'datalake' && (
|