From f2c03e879e825a883a4d290860f04ae0798310b6 Mon Sep 17 00:00:00 2001 From: tangjie <122778500@qq.com> Date: Mon, 17 Aug 2026 17:38:30 +0800 Subject: [PATCH] style --- src/components/CustomerDetailModal/index.js | 6 +- src/components/LayoutFooterPortal/index.js | 19 +++ src/components/StatCardGroup/index.less | 3 +- .../InspectionNotice/index.js | 122 ++++++++++-------- .../InspectionNotice/index.less | 113 +--------------- .../components/ChangeHistoryModal.jsx | 4 +- .../CustomerManage/index.js | 2 +- .../EvalReportLibrary/index.js | 34 +++-- .../EvalReportLibrary/index.less | 50 ------- .../ProjectFlow/ArchiveContent.js | 32 +++-- .../ProjectFlow/ContractContent.js | 23 ++-- .../ProjectFlow/ControlContent.js | 28 ++-- .../ProjectFlow/InternalReviewContent.js | 33 ++--- .../ProjectFlow/RiskAnalysisContent.js | 33 ++--- .../ProjectFlow/SurveyContent.js | 19 +-- .../ProjectFlow/TeamContent.js | 25 ++-- .../ProjectFlow/TechnicalReviewContent.js | 33 ++--- .../SafetyEvalBusiness/ProjectFlow/index.js | 1 + .../SafetyEvalBusiness/ProjectFlow/index.less | 10 +- src/pages/Container/index.js | 6 +- src/pages/Container/index.less | 1 + 21 files changed, 246 insertions(+), 351 deletions(-) create mode 100644 src/components/LayoutFooterPortal/index.js diff --git a/src/components/CustomerDetailModal/index.js b/src/components/CustomerDetailModal/index.js index a11597b..a8ae713 100644 --- a/src/components/CustomerDetailModal/index.js +++ b/src/components/CustomerDetailModal/index.js @@ -32,7 +32,7 @@ const CustomerDetailModal = ({ open, customerId, onCancel, ...props }) => { loading={customerDetailLoading} onCancel={onCancel} footer={} - width={700} + width={900} destroyOnHidden > {detail && ( @@ -41,7 +41,9 @@ const CustomerDetailModal = ({ open, customerId, onCancel, ...props }) => { column={2} bordered size="small" - style={{ marginBottom: 16 }} + labelStyle={{ + width: '120px' + }} > {detail.customerName} diff --git a/src/components/LayoutFooterPortal/index.js b/src/components/LayoutFooterPortal/index.js new file mode 100644 index 0000000..55c8167 --- /dev/null +++ b/src/components/LayoutFooterPortal/index.js @@ -0,0 +1,19 @@ +import { useEffect, useState } from "react"; +import { createPortal } from "react-dom"; + +/** + * 将节点传送到 PageLayout footer 插槽(配合 footer={ -
-
-
-
监管消息总数
-
{metrics.total}
-
来源:监管端风险预警中心
-
-
✉️
-
-
-
-
待处理
-
{metrics.pending}
-
需机构直接处理
-
-
-
-
-
-
待监管复核
-
{metrics.feedback}
-
材料已提交
-
-
-
-
-
-
已办结
-
{metrics.closed}
-
办结消息可归档
-
-
-
-
+
消息来源: diff --git a/src/pages/Container/InspNoticeManage/InspectionNotice/index.less b/src/pages/Container/InspNoticeManage/InspectionNotice/index.less index 58020f6..44d4dc2 100644 --- a/src/pages/Container/InspNoticeManage/InspectionNotice/index.less +++ b/src/pages/Container/InspNoticeManage/InspectionNotice/index.less @@ -41,76 +41,9 @@ font-weight: 600; } -.inst-metrics { - display: grid; - grid-template-columns: repeat(4, minmax(0, 1fr)); - gap: 12px; - margin-bottom: 12px; -} - -@media (max-width: 1100px) { - .inst-metrics { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } -} - -.inst-metric-card { - display: flex; - justify-content: space-between; - align-items: flex-start; - gap: 8px; - padding: 14px 16px; - border: 1px solid #e2e8f0; - border-radius: 10px; - background: #fff; -} - -.inst-metric-card .label { - font-size: 16px; - color: #64748b; -} - -.inst-metric-card .value { - font-size: 20px; - font-weight: 700; - color: #0f172a; - margin: 4px 0; - line-height: 1.2; -} - -.inst-metric-card .value.danger { - color: #dc2626; -} - -.inst-metric-card .value.warning { - color: #d97706; -} - -.inst-metric-card .value.success { - color: #059669; -} - -.inst-metric-card .hint { - font-size: 16px; - color: #94a3b8; -} - -.inst-metric-card .icon { - width: 32px; - height: 32px; - border-radius: 8px; - background: #f1f5f9; - color: #64748b; - display: flex; - align-items: center; - justify-content: center; - font-size: 14px; - flex-shrink: 0; -} - .inst-note { margin-bottom: 12px; - padding: 10px 12px; + padding: 6px 12px; border-radius: 8px; background: #f8fafc; border: 1px solid #e2e8f0; @@ -124,7 +57,7 @@ align-items: center; justify-content: space-between; gap: 12px; - margin-bottom: 12px; + margin-bottom: 6px; flex-wrap: wrap; } @@ -145,38 +78,6 @@ color: #999; } -.inst-tag { - display: inline-block; - padding: 2px 8px; - border-radius: 999px; - font-size: 14px; - font-weight: 500; - background: #f1f5f9; - color: #475569; -} - -.inst-tag-success { - background: #d1fae5; - color: #065f46; -} - -.inst-tag-info { - background: #dbeafe; - color: #1e40af; -} - -.inst-tag-warning { - background: #fef3c7; - color: #92400e; -} - -.inst-tag-danger { - background: #fee2e2; - color: #991b1b; -} - - - .inst-modal-section { border: 1px solid #e2e8f0; border-radius: 8px; @@ -272,16 +173,6 @@ gap: 4px; } -.inst-source-pill { - display: inline-block; - padding: 0 6px; - border-radius: 999px; - font-size: 14px; - background: #eff6ff; - color: #1d4ed8; - border: 1px solid #bfdbfe; -} - .inst-upload-tip { font-size: 14px; color: #64748b; diff --git a/src/pages/Container/QualApplication/FilingForm/components/ChangeHistoryModal.jsx b/src/pages/Container/QualApplication/FilingForm/components/ChangeHistoryModal.jsx index 005de70..0f6ce73 100644 --- a/src/pages/Container/QualApplication/FilingForm/components/ChangeHistoryModal.jsx +++ b/src/pages/Container/QualApplication/FilingForm/components/ChangeHistoryModal.jsx @@ -39,7 +39,7 @@ export default function ChangeHistoryModal({ open, filingId, onCancel }) { index + 1 }, { title: "变更事项", dataIndex: "changeItemName" }, - { title: "变更时间", dataIndex: "changeTime", width: 120 }, + { title: "变更时间", dataIndex: "changeTime", width: 200 }, { title: "操作人", dataIndex: "operatorName", width: 100, render: (val) => val || "-" }, ]} /> diff --git a/src/pages/Container/SafetyEvalBusiness/CustomerManage/index.js b/src/pages/Container/SafetyEvalBusiness/CustomerManage/index.js index 1fe4c47..c31ac46 100644 --- a/src/pages/Container/SafetyEvalBusiness/CustomerManage/index.js +++ b/src/pages/Container/SafetyEvalBusiness/CustomerManage/index.js @@ -393,7 +393,7 @@ const CustomerManage = (props) => { - + diff --git a/src/pages/Container/SafetyEvalBusiness/EvalReportLibrary/index.js b/src/pages/Container/SafetyEvalBusiness/EvalReportLibrary/index.js index ec6675c..0559926 100644 --- a/src/pages/Container/SafetyEvalBusiness/EvalReportLibrary/index.js +++ b/src/pages/Container/SafetyEvalBusiness/EvalReportLibrary/index.js @@ -30,6 +30,7 @@ import { tools } from "@cqsjjb/jjb-common-lib"; import dayjs from "dayjs"; import {EVAL_TYPE_OPTIONS} from '~/enumerate/constant'; import {QUALIFICATION_INDUSTRY_OPTIONS} from '~/enumerate/enterpriseOptions'; +import StatCardGroup from "~/components/StatCardGroup"; import "./index.less"; @@ -719,29 +720,35 @@ const EvalReportLibrary = (props) => { ]; const summaryItems = [ - { key: "totalCount", label: "报告总数", value: statData.totalCount }, + { + key: "totalCount", + title: "报告总数", + value: statData.totalCount, + valueColor: "#1e293b", + }, { key: "recentThreeYearCount", - label: "近三年报告", + title: "近三年报告", value: statData.recentThreeYearCount, + valueColor: "#1e293b", }, { key: "submittedCount", - label: "已报送监管", + title: "已报送监管", value: statData.submittedCount, - color: "#059669", + valueColor: "#059669", }, { key: "incompleteCount", - label: "待完善分类", + title: "待完善分类", value: statData.incompleteCount, - color: "#d97706", + valueColor: "#d97706", }, { key: "spotcheckingCount", - label: "监管抽查中", + title: "监管抽查中", value: statData.spotcheckingCount, - color: "#2563eb", + valueColor: "#2563eb", }, ]; @@ -784,16 +791,7 @@ const EvalReportLibrary = (props) => { 上传过去三年已执行项目的正式报告,按年度、评价类型、行业和企业分类管理,并可报送监管端抽查。
-
- {summaryItems.map((item) => ( -
- {item.label} - - {item.value ?? "-"} - -
- ))} -
+ div { border-radius: 6px } */ -.erl-summary { - display: grid; - grid-template-columns: repeat(5, minmax(0, 1fr)); - gap: 11px; - margin-bottom: 16px; -} - -.erl-summary-item { - padding: 13px; - background: #fff; - border: 1px solid #dce4ec; - border-radius: 6px; -} - -.erl-summary-item span, -.erl-summary-item strong { - display: block; -} - -.erl-summary-item span { - font-size: 14px; - color: #64748b; -} - -.erl-summary-item strong { - font-size: 19px; - margin-top: 2px; - color: #0f172a; - font-weight: 600; - line-height: 1.2; -} - /* 报告名称文件图标 - 原型 .report-file-cell i { border-radius: 4px } */ .erl-file-cell { display: flex; @@ -350,18 +317,7 @@ border-radius: 12px; } -@media (max-width: 1200px) { - .erl-summary { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } -} - @media (max-width: 768px) { - /* 原型 media:.report-library-summary { grid-template-columns: repeat(2,1fr) } */ - .erl-summary { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - .erl-upload-box-inner { grid-template-columns: 54px 1fr; } @@ -372,9 +328,3 @@ justify-self: start; } } - -@media (max-width: 480px) { - .erl-summary { - grid-template-columns: 1fr; - } -} diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ArchiveContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ArchiveContent.js index f67e1df..091d65e 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ArchiveContent.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ArchiveContent.js @@ -18,6 +18,7 @@ import dayjs from "dayjs"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace"; import { tools } from "@cqsjjb/jjb-common-lib"; +import LayoutFooterPortal from "~/components/LayoutFooterPortal"; const { router } = tools; @@ -193,23 +194,20 @@ const ArchiveContent = ({ readOnly, ...props }) => { - - {!readOnly && ( - - )} - + {!readOnly && ( + + + + + + )} ); }; diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ContractContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ContractContent.js index b6ad52a..0937320 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ContractContent.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ContractContent.js @@ -22,6 +22,7 @@ import { district } from "~/enumerate/constant"; import { phoneRule } from "~/utils/validators"; import { tools } from "@cqsjjb/jjb-common-lib"; import AttachmentUpload from "~/components/AttachmentUpload"; +import LayoutFooterPortal from "~/components/LayoutFooterPortal"; const { router } = tools; const { TextArea } = Input; @@ -530,16 +531,18 @@ const ContractContent = ({ readOnly, ...props }) => { {!readOnly && ( - - - - + + + + + + )} diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ControlContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ControlContent.js index d744120..87c6a55 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ControlContent.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ControlContent.js @@ -14,6 +14,7 @@ import { CheckCircleFilled } from "@ant-design/icons"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace"; import { tools } from "@cqsjjb/jjb-common-lib"; +import LayoutFooterPortal from "~/components/LayoutFooterPortal"; const { TextArea } = Input; const { router } = tools; @@ -266,18 +267,6 @@ const ControlContent = ({ readOnly, ...props }) => { }, ]} /> - - {!readOnly && ( - - )} - )} @@ -373,6 +362,21 @@ const ControlContent = ({ readOnly, ...props }) => { )} + + {step === 1 && !readOnly && ( + + + + + + )} ); }; diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/InternalReviewContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/InternalReviewContent.js index c054dd7..5ddcd88 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/InternalReviewContent.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/InternalReviewContent.js @@ -17,6 +17,7 @@ import { import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace"; import { tools } from "@cqsjjb/jjb-common-lib"; +import LayoutFooterPortal from "~/components/LayoutFooterPortal"; const { TextArea } = Input; const { router } = tools; @@ -317,21 +318,23 @@ const InternalReviewContent = ({ readOnly, ...props }) => { ]} /> {!readOnly && ( - - - - + + + + + + )} ); diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/RiskAnalysisContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/RiskAnalysisContent.js index 8bdbb11..070dab0 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/RiskAnalysisContent.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/RiskAnalysisContent.js @@ -23,6 +23,7 @@ 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"; +import LayoutFooterPortal from "~/components/LayoutFooterPortal"; const { router } = tools; const { TextArea } = Input; @@ -543,22 +544,24 @@ const RiskAnalysisContent = ({ readOnly, ...props }) => { {!readOnly && ( - - + + + - - + + + )} diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js index 92d0a26..6b7b610 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js @@ -6,6 +6,7 @@ import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace"; import { tools } from "@cqsjjb/jjb-common-lib"; import AttachmentUpload from "~/components/AttachmentUpload"; import {ROLE_DEFINITIONS_MAP} from '~/enumerate/constant' +import LayoutFooterPortal from "~/components/LayoutFooterPortal"; import "./index.less"; import dayjs from "dayjs"; @@ -353,14 +354,16 @@ const SurveyContent = ({ readOnly, ...props }) => { - - {!isFirst && } - {isLast ? ( - !readOnly && - ) : ( - - )} - + + + {!isFirst && } + {isLast ? ( + !readOnly && + ) : ( + + )} + + ); }; diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TeamContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TeamContent.js index 1221a6b..b83c2b1 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TeamContent.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TeamContent.js @@ -15,6 +15,7 @@ import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace"; import { tools } from "@cqsjjb/jjb-common-lib"; import { ROLE_DEFINITIONS } from "~/enumerate/constant"; import StatCardGroup from "~/components/StatCardGroup"; +import LayoutFooterPortal from "~/components/LayoutFooterPortal"; const { router } = tools; @@ -342,17 +343,19 @@ const TeamContent = ({ readOnly, ...props }) => { - - {!readOnly && ( - - )} - + {!readOnly && ( + + + + + + )} { ]} /> {!readOnly && ( - - - - + + + + + + )} ); diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js index efba212..5a9e3aa 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js @@ -247,6 +247,7 @@ const ProjectFlow = (props) => { } title={
项目工作台 diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.less b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.less index 3f11b48..dc0d03b 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.less +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.less @@ -3,6 +3,11 @@ padding-top: 0px; } } + +// footer 插槽为空时隐藏 PageLayout 底栏 +[class*="-lay-container-bottom"]:has(> #pf-footer-slot:empty) { + display: none; +} .pf { // 区块头部 @@ -207,11 +212,6 @@ line-height: 1.55; } - // 项目组 - 底部操作行 - &-bottom-actions { - margin-top: 8px; - } - // 弹窗 - 提示文字 &-modal-hint { margin-bottom: 8px; diff --git a/src/pages/Container/index.js b/src/pages/Container/index.js index 882d321..18f7d5a 100644 --- a/src/pages/Container/index.js +++ b/src/pages/Container/index.js @@ -46,7 +46,11 @@ export default class Container extends React.Component { theme={{ token: this.token, algorithm: this.algorithm, - + components: { + Tag: { + fontSizeSM: 13, + }, + }, }} locale={language} prefixCls={window.process.env.app.antd["ant-prefix"]} diff --git a/src/pages/Container/index.less b/src/pages/Container/index.less index fb18d50..cf2173a 100644 --- a/src/pages/Container/index.less +++ b/src/pages/Container/index.less @@ -2,6 +2,7 @@ color: rgba(0, 0, 0, 0.45); font-size: 14px; + line-height: 22px; font-weight: 400; } .micro-temp-page-header-heading-left{