diff --git a/src/components/exam/ExamAddonPanel.tsx b/src/components/exam/ExamAddonPanel.tsx index 62f97b0..774c70e 100644 --- a/src/components/exam/ExamAddonPanel.tsx +++ b/src/components/exam/ExamAddonPanel.tsx @@ -51,6 +51,7 @@ export const ExamAddonPanel = ({ client }: ExamAddonPanelProps) => { // 挂账公司 const [accountCompany, setAccountCompany] = useState('圆和'); const [isAccountCompanyDropdownOpen, setIsAccountCompanyDropdownOpen] = useState(false); + const [accountCompanySearch, setAccountCompanySearch] = useState(''); const accountCompanyDropdownRef = useRef(null); // 挂账公司列表 const [accountCompanyList, setAccountCompanyList] = useState< @@ -338,6 +339,13 @@ export const ExamAddonPanel = ({ client }: ExamAddonPanelProps) => { })); }, [accountCompanyList]); + // 挂账公司模糊过滤 + const filteredAccountCompanyOptions = useMemo(() => { + const kw = accountCompanySearch.trim().toLowerCase(); + if (!kw) return accountCompanyOptions; + return accountCompanyOptions.filter((opt) => opt.label.toLowerCase().includes(kw)); + }, [accountCompanyOptions, accountCompanySearch]); + // 清理轮询定时器 useEffect(() => { return () => { @@ -805,26 +813,37 @@ export const ExamAddonPanel = ({ client }: ExamAddonPanelProps) => {
挂账公司
- +
{isAccountCompanyDropdownOpen && ( -
- {accountCompanyOptions.map((option) => ( +
+ {filteredAccountCompanyOptions.length === 0 && ( +
无匹配结果
+ )} + {filteredAccountCompanyOptions.map((option, idx) => (