固定证书发证单位来源
This commit is contained in:
@@ -85,7 +85,7 @@ def create_certificate(
|
|||||||
course_start_date=payload.course_start_date,
|
course_start_date=payload.course_start_date,
|
||||||
course_end_date=payload.course_end_date,
|
course_end_date=payload.course_end_date,
|
||||||
issue_date=payload.issue_date,
|
issue_date=payload.issue_date,
|
||||||
issuer_name=payload.issuer_name or project.default_issuer_name,
|
issuer_name=project.default_issuer_name,
|
||||||
remark=payload.remark,
|
remark=payload.remark,
|
||||||
)
|
)
|
||||||
db.add(certificate)
|
db.add(certificate)
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ class CertificateCreate(BaseModel):
|
|||||||
course_start_date: date
|
course_start_date: date
|
||||||
course_end_date: date
|
course_end_date: date
|
||||||
issue_date: date
|
issue_date: date
|
||||||
issuer_name: str = Field(min_length=1, max_length=128)
|
|
||||||
remark: str | None = None
|
remark: str | None = None
|
||||||
|
|
||||||
@field_validator("project_code")
|
@field_validator("project_code")
|
||||||
|
|||||||
@@ -84,5 +84,16 @@ def test_certificate_create_rejects_reversed_course_period():
|
|||||||
course_start_date="2026-06-30",
|
course_start_date="2026-06-30",
|
||||||
course_end_date="2026-06-01",
|
course_end_date="2026-06-01",
|
||||||
issue_date="2026-07-05",
|
issue_date="2026-07-05",
|
||||||
issuer_name="测试单位",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_certificate_create_uses_project_issuer_without_manual_input():
|
||||||
|
certificate = CertificateCreate(
|
||||||
|
learner_id=1,
|
||||||
|
project_code="DBY",
|
||||||
|
course_start_date="2026-06-01",
|
||||||
|
course_end_date="2026-06-30",
|
||||||
|
issue_date="2026-07-05",
|
||||||
|
)
|
||||||
|
|
||||||
|
assert "issuer_name" not in certificate.model_dump()
|
||||||
|
|||||||
@@ -35,9 +35,6 @@
|
|||||||
<el-input v-model.trim="form.stage_name" placeholder="如:全部、初级、中级" />
|
<el-input v-model.trim="form.stage_name" placeholder="如:全部、初级、中级" />
|
||||||
<div class="form-tip">证书上将显示为「{输入内容}课程的专业学习」,留空则默认显示「初级课程的专业学习」</div>
|
<div class="form-tip">证书上将显示为「{输入内容}课程的专业学习」,留空则默认显示「初级课程的专业学习」</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="发证单位">
|
|
||||||
<el-input v-model.trim="form.issuer_name" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="备注">
|
<el-form-item label="备注">
|
||||||
<el-input v-model.trim="form.remark" />
|
<el-input v-model.trim="form.remark" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -174,7 +171,6 @@ const form = reactive({
|
|||||||
course_start_date: "",
|
course_start_date: "",
|
||||||
course_end_date: "",
|
course_end_date: "",
|
||||||
issue_date: "",
|
issue_date: "",
|
||||||
issuer_name: "",
|
|
||||||
remark: "",
|
remark: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -223,8 +219,8 @@ function handleSelectionChange(rows: AdminCertificate[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function createCertificate() {
|
async function createCertificate() {
|
||||||
if (!form.learner_id || !form.project_code || !form.course_start_date || !form.course_end_date || !form.issue_date || !form.issuer_name) {
|
if (!form.learner_id || !form.project_code || !form.course_start_date || !form.course_end_date || !form.issue_date) {
|
||||||
ElMessage.warning("请填写学员ID、项目、课程起止日期、发证日期和发证单位");
|
ElMessage.warning("请填写学员ID、项目、课程起止日期和发证日期");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (form.course_end_date < form.course_start_date) {
|
if (form.course_end_date < form.course_start_date) {
|
||||||
@@ -239,7 +235,6 @@ async function createCertificate() {
|
|||||||
course_start_date: form.course_start_date,
|
course_start_date: form.course_start_date,
|
||||||
course_end_date: form.course_end_date,
|
course_end_date: form.course_end_date,
|
||||||
issue_date: form.issue_date,
|
issue_date: form.issue_date,
|
||||||
issuer_name: form.issuer_name,
|
|
||||||
remark: form.remark || null,
|
remark: form.remark || null,
|
||||||
});
|
});
|
||||||
ElMessage.success("证书已创建");
|
ElMessage.success("证书已创建");
|
||||||
|
|||||||
Reference in New Issue
Block a user