diff --git a/frontend/src/views/AdminCertificates.vue b/frontend/src/views/AdminCertificates.vue index 839702b..fb42fb4 100644 --- a/frontend/src/views/AdminCertificates.vue +++ b/frontend/src/views/AdminCertificates.vue @@ -376,6 +376,7 @@ async function previewCertificate(row: AdminCertificate) { async function downloadCertificate(row: AdminCertificate) { downloadingCertificateId.value = row.id; + let downloaded = false; const loading = ElLoading.service({ lock: true, text: "当前查询人数较多,请稍后。。。", @@ -383,12 +384,21 @@ async function downloadCertificate(row: AdminCertificate) { }); try { await downloadFile(`/admin/certificates/${row.id}/download`, `${row.certificate_no}.pdf`); + row.pdf_status = "generated"; + downloaded = true; } catch (error: any) { ElMessage.error(await apiErrorMessage(error, "PDF生成失败,请稍后再试")); } finally { loading.close(); downloadingCertificateId.value = null; } + if (downloaded) { + try { + await loadCertificates(); + } catch { + ElMessage.warning("PDF已生成并下载,但列表状态同步失败,请稍后重试"); + } + } } async function voidCertificate(row: AdminCertificate) {