import React, {useCallback, useEffect} from 'react'; import {Button, Col, DatePicker, Flex, Form, Input, message, Row, Select} from "antd"; import {useForm} from "antd/es/form/Form"; import {PlusOutlined, RedoOutlined, SearchOutlined} from "@ant-design/icons"; import {useNavigate} from "react-router-dom"; import creatMessageCommonAxios from "../../../../http/CreatMessageCommonAxios"; import {debounce} from "lodash"; QueryConditionBox.propTypes = {}; function QueryConditionBox(props) { const {setQueryRequest, setLoading} = props; const [messageApi, contextHolder] = message.useMessage(); const [form] = useForm(); const commonAxios = creatMessageCommonAxios(messageApi); const [staffInfo, setStaffInfo] = React.useState([]); const onReset = () => { form.resetFields(); setQueryRequest({ page: 1, size: 6, id: null, staffNumber: null, fileType: null, status: null, startTime: null, endTime: null }) setLoading(true) } const onFinish = () => { const newRequest = { page: 1, size: 6, id: form.getFieldValue('id'), staffNumber: form.getFieldValue('staffNumber'), fileType: form.getFieldValue('fileType'), status: form.getFieldValue('status'), startTime: form.getFieldValue('time-range') ? form.getFieldValue('time-range')[0] : null, endTime: form.getFieldValue('time-range') ? form.getFieldValue('time-range')[1] : null }; setQueryRequest(newRequest); setLoading(true) } const fetchStaffInfo = (value) => { commonAxios.get(`/api/auth/query/registered?page=1&size=10&staffNumber=${value}&precise=false`) .then((response) => { let staffInfoList = response.data.data.list || []; setStaffInfo(staffInfoList); }) } const debouncedFetchStaffInfo = useCallback(debounce(fetchStaffInfo, 150), []); const navigate = useNavigate(); useEffect(() => { commonAxios.get(`/api/auth/query/registered?page=1&size=10&precise=false`) .then((response) => { let staffInfoList = response.data.data.list || []; setStaffInfo(staffInfoList); }) }, []); return (