From 7d7da4dc4d9fb42b7c5c58c3d13b078c2e977049 Mon Sep 17 00:00:00 2001 From: xianyi Date: Wed, 7 Jan 2026 18:05:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96pdf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/exam/ExamSignPanel.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/components/exam/ExamSignPanel.tsx b/src/components/exam/ExamSignPanel.tsx index 76d54e3..51fb7dc 100644 --- a/src/components/exam/ExamSignPanel.tsx +++ b/src/components/exam/ExamSignPanel.tsx @@ -299,7 +299,7 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => { if (examId) { refreshTijianPdfs(examId); } - }, 2000); + }, 500); } else { setSubmitMessage(res.Message || '签名提交失败'); } @@ -988,7 +988,7 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => { setDaojiandanSubmitMessage(null); daojiandanSignaturePadRef.current?.clear(); setShowDaojiandanPreview(true); - }, 2000); + }, 500); } else { setDaojiandanSubmitMessage(res.Message || '签名提交失败'); } @@ -1018,6 +1018,9 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => { return; } + // 记录当前正在签名的加项单,用于签名成功后重新选中它 + const justSignedCombinationCode = currentAddItemBill.combinationCode; + setAddItemBillSubmitLoading(true); setAddItemBillSubmitMessage(null); try { @@ -1050,8 +1053,13 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => { is_signed: item.is_sign === 1, })); setAddItemBillList(addItemList); + + // 优先选中刚刚签名的那一张,其次选未签名的,其次第一张 + const justSigned = addItemList.find( + (bill) => bill.combinationCode === justSignedCombinationCode + ); const unsigned = addItemList.find((bill) => bill.is_signed !== true); - setCurrentAddItemBill(unsigned || addItemList[0] || null); + setCurrentAddItemBill(justSigned || unsigned || addItemList[0] || null); } else { setAddItemBillList([]); setCurrentAddItemBill(null); @@ -1066,7 +1074,7 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => { setAddItemBillSubmitMessage(null); addItemBillSignaturePadRef.current?.clear(); setShowAddItemBillPreview(true); - }, 2000); + }, 500); } else { setAddItemBillSubmitMessage(res.Message || '签名提交失败'); }