Commit bd3c0aba by zhaochengxiang

模型增加搜索

parent 014578f7
...@@ -232,7 +232,7 @@ const ImportActionTable = (props) => { ...@@ -232,7 +232,7 @@ const ImportActionTable = (props) => {
useEffect(() => { useEffect(() => {
setFilterData((modelerData.easyDataModelerDataModelAttributes||[]||[]).filter(item => (item.name||'').indexOf(keyword)!==-1 || (item.cnName).indexOf(keyword)!==-1)); setFilterData((modelerData.easyDataModelerDataModelAttributes||[]).filter(item => (item.name||'').indexOf(keyword)!==-1 || (item.cnName).indexOf(keyword)!==-1));
}, [modelerData, keyword]) }, [modelerData, keyword])
......
...@@ -11,6 +11,7 @@ const ModelTable = (props) => { ...@@ -11,6 +11,7 @@ const ModelTable = (props) => {
const { data, onChange, loading, onItemAction, onSelect, catalogId } = props; const { data, onChange, loading, onItemAction, onSelect, catalogId } = props;
const [ selectedRowKeys, setSelectedRowKeys ] = useState([]); const [ selectedRowKeys, setSelectedRowKeys ] = useState([]);
const [modal, contextHolder] = Modal.useModal(); const [modal, contextHolder] = Modal.useModal();
useEffect(() => { useEffect(() => {
......
import React from 'react'; import React from 'react';
import { Row, Col, Button } from 'antd'; import { Row, Col, Button, Input } from 'antd';
import ModelTree from './Component/ModelTree'; import ModelTree from './Component/ModelTree';
import ModelTable from './Component/ModelTable'; import ModelTable from './Component/ModelTable';
...@@ -18,15 +18,17 @@ class Model extends React.Component { ...@@ -18,15 +18,17 @@ class Model extends React.Component {
catalogId: '', catalogId: '',
importModalAction: '', importModalAction: '',
tableData: [], tableData: [],
filterTableData: [],
loadingTableData: false, loadingTableData: false,
selectModelerIds: [], selectModelerIds: [],
keyword: '',
} }
} }
onTreeSelect = (key) => { onTreeSelect = (key) => {
this.setState({ catalogId: key, selectModelerIds: [] }, () => { this.setState({ catalogId: key, selectModelerIds: [], keyword: '' }, () => {
if (!key || key==='') { if (!key || key==='') {
this.setState({ tableData: [] }); this.setState({ tableData: [], filterTableData: [] });
} else { } else {
this.onTableChange(); this.onTableChange();
} }
...@@ -43,7 +45,9 @@ class Model extends React.Component { ...@@ -43,7 +45,9 @@ class Model extends React.Component {
easyDataModelerCatalogId: catalogId easyDataModelerCatalogId: catalogId
}, },
callback: data => { callback: data => {
this.setState({ loadingTableData: false, tableData: data.easyDataModelerDataModels||[] }); this.setState({ loadingTableData: false, tableData: data.easyDataModelerDataModels||[] }, () => {
this.setFilterData();
});
}, },
error: () => { error: () => {
this.setState({ loadingTableData: false }); this.setState({ loadingTableData: false });
...@@ -60,6 +64,21 @@ class Model extends React.Component { ...@@ -60,6 +64,21 @@ class Model extends React.Component {
this.setState({ importModalVisible: true, importModalAction: action, modelerId: id }); this.setState({ importModalVisible: true, importModalAction: action, modelerId: id });
} }
onSearchInputChange = (e) => {
this.setState({ keyword: e.target.value||'' }, () => {
this.setFilterData();
});
}
setFilterData = () => {
const { keyword, tableData } = this.state;
const _filterData = (tableData||[]).filter(item => (item.name||'').indexOf(keyword)!==-1 || (item.cnName).indexOf(keyword)!==-1);
this.setState({ filterTableData: _filterData });
}
onImportBtnClick = () => { onImportBtnClick = () => {
const { catalogId } = this.state; const { catalogId } = this.state;
if (!catalogId || catalogId==='') { if (!catalogId || catalogId==='') {
...@@ -94,7 +113,7 @@ class Model extends React.Component { ...@@ -94,7 +113,7 @@ class Model extends React.Component {
} }
render() { render() {
const { importModalVisible, exportModalVisible, catalogId, importModalAction, tableData, loadingTableData, modelerId, selectModelerIds } = this.state; const { importModalVisible, exportModalVisible, catalogId, importModalAction, loadingTableData, modelerId, selectModelerIds, keyword, filterTableData } = this.state;
return ( return (
<div style={{ backgroundColor: '#ECEEF3' }}> <div style={{ backgroundColor: '#ECEEF3' }}>
...@@ -113,12 +132,19 @@ class Model extends React.Component { ...@@ -113,12 +132,19 @@ class Model extends React.Component {
borderBottom: "1px solid #EFEFEF", borderBottom: "1px solid #EFEFEF",
}} }}
> >
<Input
placeholder="请输入模型名称或者英文名称"
allowClear
value={keyword}
onChange={this.onSearchInputChange}
style={{ width: 240, marginLeft: 'auto' }}
/>
{/* <Button type="primary" style={{ marginLeft: 'auto' }}>提交审核</Button> */} {/* <Button type="primary" style={{ marginLeft: 'auto' }}>提交审核</Button> */}
<Button type="primary" className='ml-3' style={{ marginLeft: 'auto' }} onClick={this.onImportBtnClick}>模型创建</Button> <Button type="primary" className='ml-3' onClick={this.onImportBtnClick}>模型创建</Button>
<Button type="primary" className='ml-3' onClick={this.onExportBtnClick}>模型导出</Button> <Button type="primary" className='ml-3' onClick={this.onExportBtnClick}>模型导出</Button>
</div> </div>
<div className='p-3'> <div className='p-3'>
<ModelTable loading={loadingTableData} catalogId={catalogId} data={tableData} onChange={this.onTableChange} onSelect={this.onTableSelect} onItemAction={this.onTableItemAction} /> <ModelTable loading={loadingTableData} catalogId={catalogId} data={filterTableData} onChange={this.onTableChange} onSelect={this.onTableSelect} onItemAction={this.onTableItemAction} />
</div> </div>
</div> </div>
</Col> </Col>
......
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