From 9309037f196f5c43a5bdc82efe6b451bdccef9d3 Mon Sep 17 00:00:00 2001 From: xianyi Date: Thu, 8 Jan 2026 15:05:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=96=E6=B6=88=E9=BB=98=E8=AE=A4=E6=8C=82?= =?UTF-8?q?=E8=B4=A6=E5=85=AC=E5=8F=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/exam/ExamAddonPanel.tsx | 30 ++++++++++++++------------ 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/components/exam/ExamAddonPanel.tsx b/src/components/exam/ExamAddonPanel.tsx index 45f5a2c..274342e 100644 --- a/src/components/exam/ExamAddonPanel.tsx +++ b/src/components/exam/ExamAddonPanel.tsx @@ -50,7 +50,7 @@ export const ExamAddonPanel = ({ client, onGoToSign }: ExamAddonPanelProps) => { const [isPaymentMethodDropdownOpen, setIsPaymentMethodDropdownOpen] = useState(false); const paymentMethodDropdownRef = useRef(null); // 挂账公司 - const [accountCompany, setAccountCompany] = useState('圆和'); + const [accountCompany, setAccountCompany] = useState(''); const [isAccountCompanyDropdownOpen, setIsAccountCompanyDropdownOpen] = useState(false); const [accountCompanySearch, setAccountCompanySearch] = useState(''); const accountCompanyDropdownRef = useRef(null); @@ -139,11 +139,6 @@ export const ExamAddonPanel = ({ client, onGoToSign }: ExamAddonPanelProps) => { const res = await getChannelCompanyList({}); if (res.Status === 200 && Array.isArray(res.Data) && res.Data.length > 0) { setAccountCompanyList(res.Data); - // 设置默认值为第一个公司 - const firstCompany = res.Data[0]; - if (firstCompany?.company_name) { - setAccountCompany(firstCompany.company_name); - } } else { setAccountCompanyList([]); } @@ -156,16 +151,14 @@ export const ExamAddonPanel = ({ client, onGoToSign }: ExamAddonPanelProps) => { fetchCompanyList(); }, []); - // 当挂账公司列表更新时,确保当前选中的公司在列表中 + // 当挂账公司列表更新时,如果当前选中的公司不在列表中,清空选择 useEffect(() => { - if (accountCompanyList.length > 0) { + if (accountCompany && accountCompanyList.length > 0) { const companyNames = accountCompanyList.map((c) => c.company_name).filter(Boolean) as string[]; if (!companyNames.includes(accountCompany)) { - // 如果当前选中的公司不在列表中,更新为第一个公司 - const firstCompany = accountCompanyList[0]; - if (firstCompany?.company_name) { - setAccountCompany(firstCompany.company_name); - } + // 如果当前选中的公司不在列表中,清空选择 + setAccountCompany(''); + setAccountCompanySearch(''); } } }, [accountCompanyList, accountCompany]); @@ -543,6 +536,15 @@ export const ExamAddonPanel = ({ client, onGoToSign }: ExamAddonPanelProps) => { } } else { // 挂账模式:直接查询 + // 验证是否选择了挂账公司 + console.log('accountCompany', accountCompany); + + if (!accountCompany || accountCompany.trim() === '') { + setPaymentMessage('请选择挂账公司'); + setPaymentLoading(false); + return; + } + const selectedCompany = accountCompanyList.find( (c) => c.company_name === accountCompany ); @@ -834,7 +836,7 @@ export const ExamAddonPanel = ({ client, onGoToSign }: ExamAddonPanelProps) => { setAccountCompanySearch(e.target.value); setIsAccountCompanyDropdownOpen(true); }} - placeholder={accountCompany || '请输入公司名称'} + placeholder={'请输入公司名称'} className='w-full outline-none text-xs bg-transparent' />