zy-asrs-flow/src/components/TableSearch/index.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-asrs-flow/src/pages/system/role/components/edit.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-asrs-flow/src/pages/system/role/index.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/HostController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
zy-asrs-flow/src/components/TableSearch/index.jsx
@@ -1,6 +1,6 @@ import React from 'react'; import { Input, Button, Space, Select, DatePicker } from 'antd'; import moment from 'moment'; import Http from '@/utils/http'; const NONE_OPTION = -9999; @@ -170,5 +170,80 @@ ); } const LinkFilter = (props) => { const [currentOption, setCurrentOption] = React.useState(); const [options, setOptions] = React.useState([]); export { TextFilter, SelectFilter, DatetimeRangeFilter }; const handleSearch = async (value) => { if (value) { const resp = await Http.doPostForm(`api/${props.name}/query`, { condition: value }); setOptions(resp.data); } else { setOptions([]); } } return ( <div style={{ padding: 8 }}> <div> <Select style={{ width: 188, marginBottom: 8, display: 'block' }} placeholder="请选择" value={currentOption === NONE_OPTION ? undefined : currentOption} onChange={value => { setCurrentOption(value) props.setSelectedKeys(value !== undefined && value !== null ? [value] : []); }} onSearch={handleSearch} showSearch={true} debounceTime={300} > {options.map(item => ( <Select.Option key={item.value} value={item.value}> {item.label} </Select.Option> ))} </Select> </div> <Space> <Button type="primary" onClick={() => { props.confirm(); if (currentOption === NONE_OPTION) { props.setSearchParam(prevState => { const state = { ...prevState }; delete state[props.name]; return state; }) } else { props.setSearchParam(prevState => ({ ...prevState, [props.name]: currentOption })); } props.actionRef.current?.reload(); }} size="small" style={{ width: 90 }} > 确定 </Button> <Button onClick={() => { setCurrentOption(NONE_OPTION) props.setSelectedKeys([]); props.clearFilters(); }} size="small" style={{ width: 90 }} > 重置 </Button> </Space> </div> ); } export { TextFilter, SelectFilter, DatetimeRangeFilter, LinkFilter }; zy-asrs-flow/src/pages/system/role/components/edit.jsx
@@ -101,7 +101,7 @@ showSearch debounceTime={300} request={async ({ keyWords }) => { const resp = await Http.doPostForm('api/host/query', { condition: keyWords }); const resp = await Http.doPostForm('api/hostId/query', { condition: keyWords }); return resp.data; }} /> zy-asrs-flow/src/pages/system/role/index.jsx
@@ -11,7 +11,7 @@ import { PlusOutlined, ExportOutlined } from '@ant-design/icons'; import Http from '@/utils/http'; import Edit from './components/edit' import { TextFilter, SelectFilter, DatetimeRangeFilter } from '@/components/TableSearch' import { TextFilter, SelectFilter, DatetimeRangeFilter, LinkFilter } from '@/components/TableSearch' const handleSave = async (val) => { const hide = message.loading('正在添加'); @@ -131,9 +131,15 @@ />, }, { title: '公司', title: '机构', dataIndex: 'hostId$', valueType: 'text', filterDropdown: (props) => <LinkFilter name='hostId' {...props} actionRef={actionRef} setSearchParam={setSearchParam} />, }, { title: '状态', zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/HostController.java
@@ -28,7 +28,7 @@ private HostService hostService; @PreAuthorize("hasAuthority('sys:host:list')") @PostMapping("/host/query") @PostMapping("/hostId/query") public R query(@RequestParam(required = false) String condition) { List<KeyValVo> vos = new ArrayList<>(); LambdaQueryWrapper<Host> wrapper = new LambdaQueryWrapper<>();