From 30d891bae3fe679f908f7dc2b3a481ce7246080d Mon Sep 17 00:00:00 2001
From: luotaiqian <1147642922@qq.com>
Date: Fri, 24 Jul 2026 17:09:48 +0800
Subject: [PATCH] on-site confirm
---
src/enumerate/constant/index.js | 20 +++++++++++++
.../PersonnelInfo/Certificate/index.js | 29 +++++++++++++++++--
2 files changed, 47 insertions(+), 2 deletions(-)
diff --git a/src/enumerate/constant/index.js b/src/enumerate/constant/index.js
index db488f4..39981e0 100644
--- a/src/enumerate/constant/index.js
+++ b/src/enumerate/constant/index.js
@@ -137,6 +137,26 @@ export const CERT_TYPE_MAP = {
evaluator: "评价师",
};
+/** 证书等级选项(按证书类型区分标签,后端枚举 SENIOR/MIDDLE/JUNIOR) */
+export const CERT_LEVEL_OPTIONS_BY_TYPE = {
+ registered_safety_engineer: [
+ { label: "初级", value: "JUNIOR" },
+ { label: "中级", value: "MIDDLE" },
+ { label: "高级", value: "SENIOR" },
+ ],
+ evaluator: [
+ { label: "一级", value: "SENIOR" },
+ { label: "二级", value: "MIDDLE" },
+ { label: "三级", value: "JUNIOR" },
+ ],
+};
+
+/** 证书等级 value → label 映射(按证书类型区分标签) */
+export const CERT_LEVEL_LABEL_BY_TYPE = {
+ registered_safety_engineer: { SENIOR: "高级", MIDDLE: "中级", JUNIOR: "初级" },
+ evaluator: { SENIOR: "一级", MIDDLE: "二级", JUNIOR: "三级" },
+};
+
/** 风险预警中心 — 预警大类映射 */
export const RISK_TYPE_MAP = {
资质预警: { label: "资质预警", color: "error" },
diff --git a/src/pages/Container/EnterpriseInfo/PersonnelInfo/Certificate/index.js b/src/pages/Container/EnterpriseInfo/PersonnelInfo/Certificate/index.js
index 587e0c3..b6751ab 100644
--- a/src/pages/Container/EnterpriseInfo/PersonnelInfo/Certificate/index.js
+++ b/src/pages/Container/EnterpriseInfo/PersonnelInfo/Certificate/index.js
@@ -23,7 +23,12 @@ import { NS_STAFF_CERTIFICATE } from "~/enumerate/namespace";
import CertPreviewImg from "~/components/CertPreviewImg";
import AttachmentUpload from "~/components/AttachmentUpload";
import { dateRangeRule } from "~/utils/validators";
-import { CERT_TYPE_OPTIONS, CERT_TYPE_MAP } from "~/enumerate/constant";
+import {
+ CERT_TYPE_OPTIONS,
+ CERT_TYPE_MAP,
+ CERT_LEVEL_OPTIONS_BY_TYPE,
+ CERT_LEVEL_LABEL_BY_TYPE,
+} from "~/enumerate/constant";
import { QUALIFICATION_INDUSTRY_OPTIONS, QUALIFICATION_INDUSTRY_OPTIONS_MAP } from "~/enumerate/enterpriseOptions";
const { router } = tools;
@@ -268,6 +273,8 @@ function CertModal({
const [uploadFileList, setUploadFileList] = useState([]);
const [professionalCapabilityOptions, setProfessionalCapabilityOptions] =
useState([]);
+ const certTypeCode = Form.useWatch("certTypeCode", form);
+ const certLevelOptions = CERT_LEVEL_OPTIONS_BY_TYPE[certTypeCode] || [];
const loadProfessionalCapabilities = async (industryCode) => {
if (!industryCode) {
@@ -468,7 +475,22 @@ function CertModal({
label="证书类型"
rules={[{ required: true, message: "请选择证书类型" }]}
>
-
+