From 52aa9f64e5dea1c0e30bc1094fa580c3851d8f9d Mon Sep 17 00:00:00 2001 From: zhangyongtian <1181606322@qq.com> Date: Sat, 14 Sep 2024 18:02:38 +0800 Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh --- gz-customerSystem/src/components/NewTableSearch/index.jsx | 145 ++++++++++++++++++++++++++---------------------- 1 files changed, 78 insertions(+), 67 deletions(-) diff --git a/gz-customerSystem/src/components/NewTableSearch/index.jsx b/gz-customerSystem/src/components/NewTableSearch/index.jsx index 5964455..5e8a818 100644 --- a/gz-customerSystem/src/components/NewTableSearch/index.jsx +++ b/gz-customerSystem/src/components/NewTableSearch/index.jsx @@ -1,7 +1,7 @@ import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { Form, Row, Col, Input, DatePicker, Select, Button, TreeSelect } from 'antd'; -import { DownOutlined } from '@ant-design/icons'; +import { DownOutlined, SearchOutlined } from '@ant-design/icons'; import * as $$ from '../../utils/utility'; import './index.less'; @@ -16,8 +16,9 @@ * rowNum, // 一行放多少个搜索item * handleRest, // 重置 * handleSearch, // 搜索 + * exportButton //导出按钮 */ -const NewTableSearch = ({ form, itemData, labelLength = 5, rowNum = 3, handleReset, handleSearch }) => { +const NewTableSearch = ({ form, itemData, labelLength = 5, rowNum = 3, handleReset, handleSearch, exportButton }) => { const [searchMore, setSearchMore] = useState(false); const span = 24 / rowNum; @@ -59,77 +60,86 @@ return ( <Form form={form} labelAlign="right" className="tableSearch"> - <Row gutter={[24, 16]}> - {itemData.map((x, t) => { - let placeholder = x.placeholder || setPlaceholder(x.name, x.type); - let allowClear = x.allowClear || true; - let dom = null; - let rules = {}; - if (x.type === 'Input') { - dom = <Input placeholder={placeholder} allowClear {...x} />; - rules = { max: x.max || 32, message: '搜索内容过长' }; - } - if (x.type === 'Select') { - dom = ( - <Select allowClear placeholder={placeholder} {...x}> - {x.selectdata?.map((y) => ( - <Option key={y.value}>{y.label}</Option> - ))} - </Select> - ); - } - if (x.type === 'RangePicker') { - rules = { type: 'array' }; - dom = ( - <RangePicker - style={{ width: '100%' }} - ranges={{ - '今日': [$$.myMoment(), $$.myMoment()], - '本月': [$$.myMoment().startOf('month'), $$.myMoment().endOf('month')], - }} - allowClear - {...x} - /> - ); - } - if (x.type === 'TreeSelect') { - dom = ( - <TreeSelect - showSearch - placeholder={placeholder} - dropdownStyle={{ maxHeight: 500, overflow: 'auto' }} - treeData={x.treedata} - treeDefaultExpandAll - allowClear - filterTreeNode={(inputValue, treeNode) => (treeNode.label.indexOf(inputValue) !== -1 ? true : false)} - {...x} - /> - ); - } - return ( - <> - <Col span={8} style={display && { display: searchMore ? 'block' : t < lineNum ? 'block' : 'none' }} key={t + 1}> - <Form.Item name={x.name} rules={[rules]} label={<div style={{ width: `${fontSize * labelLength}px` }}>{x.label}</div>}> - {dom} - </Form.Item> - </Col> - <Col span={8}></Col> - <Col span={8}></Col> - </> + + {itemData.map((x, t) => { + let placeholder = x.placeholder || setPlaceholder(x.name, x.type); + let allowClear = x.allowClear || true; + let dom = null; + let rules = {}; + if (x.type === 'Input') { + dom = <Input placeholder={placeholder} allowClear {...x} />; + rules = { max: x.max || 32, message: '搜索内容过长' }; + } + if (x.type === 'Select') { + dom = ( + <Select allowClear placeholder={placeholder} {...x}> + {x.selectdata?.map((y) => ( + <Option key={y.value}>{y.label}</Option> + ))} + </Select> ); - })} - </Row> + } + if (x.type === 'RangePicker') { + rules = { type: 'array' }; + dom = ( + <RangePicker + style={{ width: '100%' }} + ranges={{ + '今日': [$$.myMoment(), $$.myMoment()], + '本月': [$$.myMoment().startOf('month'), $$.myMoment().endOf('month')], + }} + allowClear + {...x} + /> + ); + } + if (x.type === 'TreeSelect') { + dom = ( + <TreeSelect + showSearch + placeholder={placeholder} + dropdownStyle={{ maxHeight: 500, overflow: 'auto' }} + treeData={x.treedata} + treeDefaultExpandAll + allowClear + filterTreeNode={(inputValue, treeNode) => (treeNode.label.indexOf(inputValue) !== -1 ? true : false)} + {...x} + /> + ); + } + return ( + <Row className='tableSearch-searchMore-row' gutter={[24, 16]} style={display && { display: searchMore ? 'block' : t < lineNum ? 'block' : 'none' }}> + <Col span={x.span || 8} key={t + 1}> + <Form.Item name={x.name} rules={[rules]} label={<div style={{ width: `${fontSize * labelLength}px` }}>{x.label}</div>}> + {dom} + </Form.Item> + </Col> + </Row> + // <div> + // <Col span={8} style={display && { display: searchMore ? 'block' : t < lineNum ? 'block' : 'none' }} key={t + 1}> + // <Form.Item name={x.name} rules={[rules]} label={<div style={{ width: `${fontSize * labelLength}px` }}>{x.label}</div>}> + // {dom} + // </Form.Item> + // </Col> + // <Col span={8}></Col> + // <Col span={8}></Col> + // </div> + ); + })} <Row style={{ marginTop: '16px' }}> - <Col span={24} style={{ textAlign: 'right' }}> - <Button className="public-buttonMargin" onClick={handleReset}> - 重置 - </Button> - <Button type="primary" htmlType="submit" onClick={handleSearch}> + <Col span={24} style={{ textAlign: 'left' }}> + <Button className="public-buttonMargin" type="primary" htmlType="submit" icon={<SearchOutlined />} onClick={handleSearch}> 查询 + </Button> + <Button className="public-buttonMargin" type="primary" ghost htmlType="submit" onClick={exportButton}> + 导出查询结果 + </Button> + <Button onClick={handleReset}> + 重置条件 </Button> {display && ( <span className="tableSearch-searchMore" onClick={() => setSearchMore(!searchMore)}> - {!searchMore ? '展开' : '折叠'} + {!searchMore ? '展开更多' : '收起更多'} <DownOutlined className={`tableSearch-searchMore-icon ${searchMore && 'tableSearch-searchMore-iconRotate'}`} /> </span> )} @@ -145,6 +155,7 @@ rowNum: PropTypes.number, handleReset: PropTypes.func, handleSearch: PropTypes.func, + exportButton: PropTypes.func, }; export default NewTableSearch; -- Gitblit v1.8.0