#
luxiaotao1123
2024-02-16 b431086c5ec3472a91e5022727810865dfac37f5
#
4个文件已修改
93 ■■■■■ 已修改文件
zy-asrs-flow/src/components/TableSearch/index.jsx 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-flow/src/pages/system/role/components/edit.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-flow/src/pages/system/role/index.jsx 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/HostController.java 2 ●●● 补丁 | 查看 | 原始文档 | 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<>();