import { IReconciliationModalProps, ReconciliationModal } from '@/components'; import { FormInstance, ProFormSelect, ProFormSelectProps, } from '@ant-design/pro-components'; import { useEffect, useState } from 'react'; export interface IReconciliationSearchProps extends ProFormSelectProps { form: FormInstance; selectedList?: IReconciliationModalProps['selectedList']; onFinish?: (reconciliationVOList: BusinessAPI.ReconciliationVO[]) => void; params: BusinessAPI.ReconciliationPageQry; } export default function ReconciliationSearch( props: IReconciliationSearchProps, ) { const { form, selectedList, onFinish, params, ...rest } = props; const [showReconciliationModal, setShowReconciliationModal] = useState(false); const [reconciliationList, setReconciliationList] = useState(); useEffect(() => { setReconciliationList(selectedList); }, [selectedList]); return ( <> { setShowReconciliationModal(true); }, placeholder: '请选择对账记录', options: reconciliationList?.map( (reconciliationVO?: BusinessAPI.ReconciliationVO) => { return { value: reconciliationVO?.reconciliationId, label: reconciliationVO?.reconciliationSn || reconciliationVO?.reconciliationId, }; }, ), }} /> setShowReconciliationModal(false)} onCancel={() => setShowReconciliationModal(false)} selectedList={selectedList} onFinish={async (reconciliationVOList) => { if (reconciliationVOList.length > 0) { const reconciliationVO = reconciliationVOList[0]; form.setFieldsValue({ reconciliationId: reconciliationVO?.reconciliationId, reconciliationVO: reconciliationVO, }); form.validateFields(['reconciliationId', 'reconciliationVO']); setReconciliationList(reconciliationVOList); setShowReconciliationModal(false); onFinish?.(reconciliationVOList); } }} type={'radio'} params={params} /> ); }