优化加项

This commit is contained in:
xianyi
2026-01-07 18:00:45 +08:00
parent 5d78dfed5a
commit 3998349f02
2 changed files with 8 additions and 4 deletions

View File

@@ -24,9 +24,10 @@ interface AddonItem {
interface ExamAddonPanelProps { interface ExamAddonPanelProps {
client: ExamClient; client: ExamClient;
onGoToSign?: () => void;
} }
export const ExamAddonPanel = ({ client }: ExamAddonPanelProps) => { export const ExamAddonPanel = ({ client, onGoToSign }: ExamAddonPanelProps) => {
const [addonList, setAddonList] = useState<AddonItem[]>([]); const [addonList, setAddonList] = useState<AddonItem[]>([]);
// 防抖:内部输入值(用于显示) // 防抖:内部输入值(用于显示)
const [addonSearchInput, setAddonSearchInput] = useState(''); const [addonSearchInput, setAddonSearchInput] = useState('');
@@ -425,7 +426,9 @@ export const ExamAddonPanel = ({ client }: ExamAddonPanelProps) => {
// 获取本次支付对应的加项PDF // 获取本次支付对应的加项PDF
fetchAddItemBillPdf(physical_exam_id, combinationItemCodes).then((success) => { fetchAddItemBillPdf(physical_exam_id, combinationItemCodes).then((success) => {
if (success) { if (success) {
setPaymentMessage('支付成功,加项单已生成'); setPaymentMessage('支付成功,加项单已生成,正在跳转签署...');
// 跳转到签署页面
onGoToSign?.();
} else { } else {
setPaymentMessage('支付成功,但加项单生成失败'); setPaymentMessage('支付成功,但加项单生成失败');
} }
@@ -566,7 +569,8 @@ export const ExamAddonPanel = ({ client }: ExamAddonPanelProps) => {
// 获取本次挂账对应的加项PDF // 获取本次挂账对应的加项PDF
fetchAddItemBillPdf(physical_exam_id, combinationItemCodes).then((success) => { fetchAddItemBillPdf(physical_exam_id, combinationItemCodes).then((success) => {
if (success) { if (success) {
setPaymentMessage('挂账成功,加项单已生成'); setPaymentMessage('挂账成功,加项单已生成,正在跳转签署...');
onGoToSign?.();
} else { } else {
setPaymentMessage('挂账成功,但加项单生成失败'); setPaymentMessage('挂账成功,但加项单生成失败');
} }

View File

@@ -161,7 +161,7 @@ export const ExamModal = ({ client, tab, onTabChange, onClose }: ExamModalProps)
/> />
)} )}
{tab === 'sign' && <ExamSignPanel examId={Number(client.id)} onBusyChange={setSignBusy} />} {tab === 'sign' && <ExamSignPanel examId={Number(client.id)} onBusyChange={setSignBusy} />}
{tab === 'addon' && <ExamAddonPanel client={client} />} {tab === 'addon' && <ExamAddonPanel client={client} onGoToSign={() => onTabChange('sign')} />}
{tab === 'print' && <ExamPrintPanel client={client} />} {tab === 'print' && <ExamPrintPanel client={client} />}
{tab === 'delivery' && <ExamDeliveryPanel client={client} />} {tab === 'delivery' && <ExamDeliveryPanel client={client} />}
</div> </div>