From 6605938618d02b1fd5ada8a3b802ed31a02d20c2 Mon Sep 17 00:00:00 2001 From: tangjie <122778500@qq.com> Date: Wed, 5 Aug 2026 15:30:43 +0800 Subject: [PATCH] fix --- jjb.config.js | 4 +- .../Container/QualApplication/filingVerify.js | 23 +--- .../SafetyEvalBusiness/Progress/index.js | 122 +++++++++++++----- .../ProjectFlow/RiskAnalysisContent.js | 7 +- 4 files changed, 101 insertions(+), 55 deletions(-) diff --git a/jjb.config.js b/jjb.config.js index 8e0617e..ee4de0f 100644 --- a/jjb.config.js +++ b/jjb.config.js @@ -10,9 +10,9 @@ 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: "https://gbs-gateway.qhdsafety.com", - API_HOST: "http://192.168.0.134", + // API_HOST: "http://192.168.0.134", //API_HOST: "http://192.168.0.150", //太浅 // API_HOST: "http://192.168.0.152", //API_HOST: "http://192.168.0.103", //huwei diff --git a/src/pages/Container/QualApplication/filingVerify.js b/src/pages/Container/QualApplication/filingVerify.js index 4c22ba5..178420a 100644 --- a/src/pages/Container/QualApplication/filingVerify.js +++ b/src/pages/Container/QualApplication/filingVerify.js @@ -16,14 +16,7 @@ function includesSeniorTitle(titleName = "") { return titleName === "SENIOR"; } -function includesMidTitle(titleName = "") { - return titleName === "MIDDLE" || titleName === "SENIOR"; -} -function isRegisterEngineer(record = {}) { - const flag = record.registerEngineerFlag; - return flag === 1 || flag === true || flag === "1"; -} export function verifyFilingPrerequisites(detail = {}) { const items = []; @@ -47,21 +40,17 @@ export function verifyFilingPrerequisites(detail = {}) { const personnel = detail.personnelList || []; const total = personnel.length; - const regEngineerCount = personnel.filter(isRegisterEngineer).length; - const midTitleCount = personnel.filter((p) => - includesMidTitle(p.titleName), - ).length; - const seniorTitleCount = personnel.filter((p) => - includesSeniorTitle(p.titleName), - ).length; + + const businessScopeCount = Array.isArray(detail.businessScope) ? detail.businessScope.length : 0; + const minPersonnel = 25 + Math.max(businessScopeCount - 1, 0) * 5; items.push({ key: "personnelStructure", label: "人员数量与结构", - desc: "专职技术人员≥25人", + desc: `专职技术人员≥${minPersonnel}人`, passed: SKIP_PERSONNEL_VERIFY || - total >= 25 , + total >= minPersonnel, }); const twoYearsAgo = new Date(); @@ -79,7 +68,7 @@ export function verifyFilingPrerequisites(detail = {}) { }) .map((p) => p.userName || p.personName || ""); - const personnelExpPassed = total >= 25 && ratio(withExperience, total) >= 1; + const personnelExpPassed = ratio(withExperience, total) >= 1; items.push({ key: "personnelExp", label: "人员资历", diff --git a/src/pages/Container/SafetyEvalBusiness/Progress/index.js b/src/pages/Container/SafetyEvalBusiness/Progress/index.js index 8135473..c426c0b 100644 --- a/src/pages/Container/SafetyEvalBusiness/Progress/index.js +++ b/src/pages/Container/SafetyEvalBusiness/Progress/index.js @@ -18,7 +18,11 @@ import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout"; import SearchForm from "@cqsjjb/jjb-react-admin-component/SearchForm"; import ControlWrapper from "@cqsjjb/jjb-react-admin-component/ControlWrapper"; import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace"; -import { PROGRESS_STATUS_MAP, NODE_LABELS } from "~/enumerate/constant"; +import { + PROGRESS_STATUS_MAP, + NODE_LABELS, + EVAL_TYPE_MAP, +} from "~/enumerate/constant"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { tools } from "@cqsjjb/jjb-common-lib"; import "./index.less"; @@ -87,17 +91,24 @@ const ProjectProgress = (props) => { }; const renderProgressDots = (nodes) => { - if (!nodes || nodes.length === 0) return 暂无进度; + if (!nodes || nodes.length === 0) + return 暂无进度; const total = nodes.length; const done = nodes.filter((n) => n.state === 1).length; return (
{nodes.map((node, idx) => { - const dotClass = node.state === 1 ? "pp-progress-dot-done" : "pp-progress-dot-wait"; + const dotClass = + node.state === 1 + ? "pp-progress-dot-done" + : "pp-progress-dot-wait"; const name = NODE_LABELS[node.type] || node.type; return ( - + ); @@ -122,8 +133,20 @@ const ProjectProgress = (props) => {
), }, - { title: "评价类别", dataIndex: "evalTypeName", width: 110 }, - { title: "负责人", dataIndex: "projectLeaderName", width: 100, ellipsis: true }, + { + title: "评价类别", + dataIndex: "evalTypeCode", + width: 110, + render: (_, record) => { + return EVAL_TYPE_MAP[record.evalTypeCode]; + }, + }, + { + title: "负责人", + dataIndex: "projectLeaderName", + width: 100, + ellipsis: true, + }, { title: "项目进度", width: 240, @@ -142,8 +165,15 @@ const ProjectProgress = (props) => { : `超期${Math.abs(record.remainingDays)}天`; return (
-
{cfg ? {cfg.text}-{daysText} : {code}}
- +
+ {cfg ? ( + + {cfg.text}-{daysText} + + ) : ( + {code} + )} +
); }, @@ -162,14 +192,15 @@ const ProjectProgress = (props) => { return ( - 当前机构名下评价项目} + suffix={ + 当前机构名下评价项目 + } /> @@ -179,7 +210,9 @@ const ProjectProgress = (props) => { title="正常项目" value={statData.normalCount ?? "-"} valueStyle={{ color: "#52c41a" }} - suffix={距项目结束日期超过3天} + suffix={ + 距项目结束日期超过3天 + } /> @@ -189,7 +222,9 @@ const ProjectProgress = (props) => { title="项目临期" value={statData.nearExpiryCount ?? "-"} valueStyle={{ color: "#faad14" }} - suffix={项目结束前3天自动提醒} + suffix={ + 项目结束前3天自动提醒 + } /> @@ -199,14 +234,14 @@ const ProjectProgress = (props) => { title="项目延期" value={statData.delayedCount ?? "-"} valueStyle={{ color: "#ff4d4f" }} - suffix={已超过项目结束日期} + suffix={ + 已超过项目结束日期 + } /> - - { onReset={handleReset} /> - - { > {currentRecord && ( <> - - {currentRecord.projectNo} - {currentRecord.projectName} - {currentRecord.customerName} - {currentRecord.customerContactName} - {currentRecord.evalTypeName} - {currentRecord.projectLeaderName} - {currentRecord.planEndDate} + + + {currentRecord.projectNo} + + + {currentRecord.projectName} + + + {currentRecord.customerName} + + + {currentRecord.customerContactName} + + + {currentRecord.evalTypeName} + + + {currentRecord.projectLeaderName} + + + {currentRecord.planEndDate} + - {currentRecord.remainingDays >= 0 ? `${currentRecord.remainingDays}天` : `已超期${Math.abs(currentRecord.remainingDays)}天`} + {currentRecord.remainingDays >= 0 + ? `${currentRecord.remainingDays}天` + : `已超期${Math.abs(currentRecord.remainingDays)}天`} - + {currentRecord.progressStatusName} @@ -320,4 +380,4 @@ const ProjectProgress = (props) => { export default Connect( [NS_SAFETY_EVAL_BUSINESS], true, -)(AntdTableFuncControl(ProjectProgress)); \ No newline at end of file +)(AntdTableFuncControl(ProjectProgress)); diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/RiskAnalysisContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/RiskAnalysisContent.js index 1c01d3d..1cf8b56 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/RiskAnalysisContent.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/RiskAnalysisContent.js @@ -19,6 +19,7 @@ import { import dayjs from "dayjs"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace"; +import {EVAL_TYPE_OPTIONS} from '~/enumerate/constant'; import { QUALIFICATION_INDUSTRY_OPTIONS } from "~/enumerate/enterpriseOptions"; import { tools } from "@cqsjjb/jjb-common-lib"; import AttachmentUpload from "~/components/AttachmentUpload"; @@ -26,11 +27,7 @@ import AttachmentUpload from "~/components/AttachmentUpload"; const { router } = tools; const { TextArea } = Input; -const EVAL_TYPE_OPTIONS = [ - { label: "安全预评价", value: "PRE" }, - { label: "安全验收评价", value: "ACCEPT" }, - { label: "安全现状评价", value: "STATUS" }, -]; + const RiskAnalysisContent = ({ readOnly, ...props }) => { const [form] = Form.useForm();