diff --git a/jjb.config.js b/jjb.config.js index 61acb0a..b0e9e8b 100644 --- a/jjb.config.js +++ b/jjb.config.js @@ -10,7 +10,7 @@ module.exports = { javaGitBranch: "dev", // 本地联调 safetyEval-service(context-path: /safetyEval,默认端口 8095) // 可通过环境变量覆盖: SAFETY_EVAL_API_HOST=http://192.168.x.x:8095 - API_HOST: "https://gbs-gateway.qhdsafety.com", + API_HOST: "http://192.168.0.149", }, production: { // 应用后端分支名称,部署上线需要 diff --git a/src/pages/Container/EnterpriseInfo/PersonnelInfo/List/index.js b/src/pages/Container/EnterpriseInfo/PersonnelInfo/List/index.js index e0aeb64..0a42faf 100644 --- a/src/pages/Container/EnterpriseInfo/PersonnelInfo/List/index.js +++ b/src/pages/Container/EnterpriseInfo/PersonnelInfo/List/index.js @@ -204,7 +204,7 @@ function PersonnelInfoPage(props) { ( + + + + - + { + form.setFieldValue("professionalLevelName", option?.label || undefined); + }} /> + - + { + form.setFieldValue( + "educationLevelName", + option?.label || undefined, + ); + }} /> + index + 1 }, - { title: "装备名称", dataIndex: "deviceName" }, - { title: "规格型号", dataIndex: "deviceModel" }, + { title: "装备名称", dataIndex: "deviceName", ellipsis: true }, + { title: "规格型号", dataIndex: "deviceModel",ellipsis: true }, { title: "生产厂家", dataIndex: "manufacturer" }, { title: "计量检定情况", diff --git a/src/pages/Container/QualApplication/FilingForm/components/OrgEquipmentSelectModal.jsx b/src/pages/Container/QualApplication/FilingForm/components/OrgEquipmentSelectModal.jsx index 3c79ea5..c67516e 100644 --- a/src/pages/Container/QualApplication/FilingForm/components/OrgEquipmentSelectModal.jsx +++ b/src/pages/Container/QualApplication/FilingForm/components/OrgEquipmentSelectModal.jsx @@ -94,8 +94,8 @@ function OrgEquipmentSelectModalInner(props) { onChange: (page, pageSize) => getData(page, pageSize), }} columns={[ - { title: "装备名称", dataIndex: "deviceName" }, - { title: "规格型号", dataIndex: "deviceModel" }, + { title: "装备名称", dataIndex: "deviceName", ellipsis: true }, + { title: "规格型号", dataIndex: "deviceModel",ellipsis: true }, { title: "生产厂家", dataIndex: "manufacturer" }, ]} /> diff --git a/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx b/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx index 85004ed..b8c9fe2 100644 --- a/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx +++ b/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx @@ -94,10 +94,10 @@ function OrgPersonnelSelectModalInner(props) { }} scroll={ { y: 400 }} columns={[ - { title: "人员姓名", dataIndex: "userName" }, + { title: "人员姓名", dataIndex: "userName", ellipsis: true }, { title: "类型", dataIndex: "personTypeName" }, - { title: "职称", dataIndex: "titleName" }, + { title: "职称", dataIndex: "titleName", ellipsis: true }, { title: "操作", width: 80, diff --git a/src/pages/Container/QualApplication/filingVerify.js b/src/pages/Container/QualApplication/filingVerify.js index b595da7..dbd233e 100644 --- a/src/pages/Container/QualApplication/filingVerify.js +++ b/src/pages/Container/QualApplication/filingVerify.js @@ -1,7 +1,7 @@ /** 资质申请前置条件核验(提交前展示,对齐原型) */ /** 人员相关三项暂不校验(机构库数据不足),恢复时改为 false */ -const SKIP_PERSONNEL_VERIFY = true; +const SKIP_PERSONNEL_VERIFY = false; const KEY_POSITIONS = ["负责人", "技术负责人", "质量负责人"]; @@ -45,6 +45,7 @@ export function verifyFilingPrerequisites(detail = {}) { }); const personnel = detail.personnelList || []; + const total = personnel.length; const regEngineerCount = personnel.filter(isRegisterEngineer).length; const midTitleCount = personnel.filter((p) => @@ -57,27 +58,28 @@ export function verifyFilingPrerequisites(detail = {}) { items.push({ key: "personnelStructure", label: "人员数量与结构", - desc: "专职技术人员≥25人,中级注安师≥30%,中级职称≥50%,高级职称≥30%", + desc: "专职技术人员≥25人", passed: SKIP_PERSONNEL_VERIFY || - (total >= 25 && - ratio(regEngineerCount, total) >= 0.3 && - ratio(midTitleCount, total) >= 0.5 && - ratio(seniorTitleCount, total) >= 0.3), + total >= 25 , }); + const twoYearsAgo = new Date(); + twoYearsAgo.setFullYear(twoYearsAgo.getFullYear() - 2); const withExperience = personnel.filter((p) => { - const exp = String(p.workExperience || ""); - return exp.length >= 4 || /[2-9]\s*年|[二三四五六七八九十]年/.test(exp); + const joinDate = new Date(p.joinWorkDate); + + return !isNaN(joinDate.getTime()) && joinDate <= twoYearsAgo; }).length; + items.push({ key: "personnelExp", label: "人员资历", desc: "专职技术人员在本行业领域工作二年以上", passed: SKIP_PERSONNEL_VERIFY || - (total >= 25 && ratio(withExperience, total) >= 0.8), + (total >= 25 && ratio(withExperience, total) >= 1), }); const keyOk = KEY_POSITIONS.every((pos) => @@ -92,7 +94,7 @@ export function verifyFilingPrerequisites(detail = {}) { key: "keyPosition", label: "关键岗位要求", desc: "负责人、技术负责人、质量负责人具有高级职称,工作八年以上", - passed: SKIP_PERSONNEL_VERIFY || keyOk, + passed: true || keyOk, }); const mgmtUploaded =