优化证书生成与正式部署配置

This commit is contained in:
2026-06-15 18:23:46 +08:00
parent f1d7491288
commit 668e0403af
31 changed files with 1603 additions and 145 deletions

View File

@@ -49,22 +49,24 @@
</div>
<el-table :data="certificates" border>
<el-table-column prop="certificate_no" label="证书编号" width="220" />
<el-table-column prop="learner_id" label="学员ID" width="90" />
<el-table-column prop="project_code" label="项目" width="90" />
<el-table-column prop="certificate_name" label="证书名称" min-width="180" />
<el-table-column prop="issue_date" label="发证日期" width="120" />
<el-table-column label="状态" width="100">
<el-table-column prop="certificate_no" label="证书编号" width="180" show-overflow-tooltip />
<el-table-column prop="learner_id" label="学员ID" width="76" />
<el-table-column prop="project_code" label="项目" width="72" />
<el-table-column prop="certificate_name" label="证书名称" min-width="140" show-overflow-tooltip />
<el-table-column prop="issue_date" label="发证日期" width="108" />
<el-table-column label="状态" width="80">
<template #default="{ row }">
<el-tag :type="row.status === 'valid' ? 'success' : 'danger'">{{ statusText(row.status) }}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="330">
<el-table-column label="操作" width="270">
<template #default="{ row }">
<el-button size="small" @click="previewCertificate(row)">预览</el-button>
<el-button size="small" @click="downloadCertificate(row)">下载</el-button>
<el-button size="small" @click="regenerateToken(row)">重置链接</el-button>
<el-button v-if="row.status === 'valid'" size="small" type="danger" @click="voidCertificate(row)">作废</el-button>
<div class="table-actions">
<el-button size="small" @click="previewCertificate(row)">预览</el-button>
<el-button size="small" @click="downloadCertificate(row)">下载</el-button>
<el-button size="small" @click="regenerateToken(row)">重置链接</el-button>
<el-button v-if="row.status === 'valid'" size="small" type="danger" @click="voidCertificate(row)">作废</el-button>
</div>
</template>
</el-table-column>
</el-table>
@@ -221,4 +223,14 @@ onMounted(async () => {
line-height: 1.6;
margin-top: 4px;
}
.table-actions {
display: flex;
gap: 8px;
flex-wrap: nowrap;
}
.table-actions :deep(.el-button + .el-button) {
margin-left: 0;
}
</style>