- 添加一个搜索功能呢

This commit is contained in:
sin 2019-05-08 18:35:05 +08:00
parent 23be2069b6
commit bca1afd3b4
2 changed files with 52 additions and 6 deletions

View File

@ -19,9 +19,15 @@ import dictionary from '../../utils/dictionary';
class OrderRefundsList extends PureComponent {
componentDidMount() {
// 查询 list
this.queryList({ index: 1 });
this.queryList({ index: 1 }, {});
}
handleSearch = searchParams => {
const { orderRefunds } = this.props;
const { index, pageSize } = orderRefunds;
this.queryList({ index, pageSize }, searchParams);
};
queryList = ({ index = 0, pageSize = 10 }, searchParams) => {
const { dispatch } = this.props;
dispatch({
@ -40,7 +46,7 @@ class OrderRefundsList extends PureComponent {
handleTableChange = pagination => {
const { pageSize, current } = pagination;
this.queryList({ pageSize, index: current });
this.queryList({ pageSize, index: current }, {});
};
render() {
@ -125,7 +131,7 @@ class OrderRefundsList extends PureComponent {
<PageHeaderWrapper>
<Card>
<div className={styles.tableListForm}>
<TableSearch />
<TableSearch handleSearch={this.handleSearch} />
</div>
<Tabs defaultActiveKey={null} onChange={this.handleTabsChange}>

View File

@ -9,11 +9,51 @@ const FormItem = Form.Item;
* @type {React.ComponentClass<RcBaseFormProps & Omit<FormComponentProps, keyof FormComponentProps>>}
*/
const TableSearch = Form.create()(props => {
const { getFieldDecorator } = props.form;
const { getFieldDecorator, form, handleSearch } = props.form;
function onSubmit() {}
function onSubmit(e) {
e.preventDefault();
function handleFormReset() {}
form.validateFields((err, fields) => {
const buildTime = (fieldValue, key) => {
const res = {};
if (fieldValue && fieldValue.length >= 2) {
const keySuffix = key.substring(0, 1).toUpperCase() + key.substring(1);
res[`start${keySuffix}`] = fieldValue[0].format('YYYY-MM-DD HH:mm:ss');
res[`end${keySuffix}`] = fieldValue[1].format('YYYY-MM-DD HH:mm:ss');
}
return res;
};
const timeFields = ['createTime'];
const buildSearchParams = fields2 => {
let res = {};
Object.keys(fields).map(objectKey => {
const fieldValue = fields2[objectKey];
if (timeFields.indexOf(objectKey) !== -1) {
// 处理时间
res = {
...res,
...buildTime(fieldValue, objectKey),
};
} else if (fieldValue !== undefined) {
res[objectKey] = fieldValue;
}
return true;
});
return res;
};
const searchParams = buildSearchParams(fields);
if (handleSearch) {
handleSearch(searchParams);
}
});
}
function handleFormReset() {
form.resetFields();
}
return (
<Form onSubmit={onSubmit} layout="inline">