From 07027325f5b9821c7ecf204defd459ea664198e8 Mon Sep 17 00:00:00 2001
From: tangjie <122778500@qq.com>
Date: Mon, 20 Jul 2026 15:40:12 +0800
Subject: [PATCH] feat
---
.../ProjectFlow/InternalReviewContent.js | 120 +++++++--
.../ProjectFlow/SurveyContent.js | 249 ++++++++++++++++--
.../ProjectFlow/TechnicalReviewContent.js | 112 ++++++--
3 files changed, 399 insertions(+), 82 deletions(-)
diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/InternalReviewContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/InternalReviewContent.js
index d53496b..5f356eb 100644
--- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/InternalReviewContent.js
+++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/InternalReviewContent.js
@@ -1,31 +1,95 @@
-import React from "react";
-import { Card, Descriptions, Table } from "antd";
+import React, { useState } from "react";
+import { Tag, Button, Card, Table, Select, Input, Flex, Typography, Row, Col } from "antd";
-const InternalReviewContent = () => (
-
-
- V1.3
- 王丽萍
- 7项
- 2项
-
-
-
-);
+const { TextArea } = Input;
+
+const INITIAL_ROWS = [
+ { dim: "评价依据", focus: "充分、有效", result: "符合", opinion: "补充地方标准有效版本", feedback: "已验证", feedbackType: "success" },
+ { dim: "危险辨识", focus: "全面、无遗漏", result: "需修改", opinion: "补充液氨装卸泄漏场景", feedback: "待反馈", feedbackType: "warning" },
+ { dim: "单元划分", focus: "科学合理", result: "符合", opinion: "划分合理", feedback: "—", feedbackType: "default" },
+ { dim: "评价方法", focus: "适用、过程正确", result: "符合", opinion: "方法适用", feedback: "—", feedbackType: "default" },
+ { dim: "对策措施", focus: "针对性、可操作性", result: "需修改", opinion: "细化报警联锁措施", feedback: "已验证", feedbackType: "success" },
+ { dim: "评价结论", focus: "客观、正确", result: "符合", opinion: "结论客观", feedback: "—", feedbackType: "default" },
+ { dim: "报告规范", focus: "格式、文字、数据逻辑", result: "符合", opinion: "统一图表编号", feedback: "—", feedbackType: "default" },
+];
+
+const InternalReviewContent = () => {
+ const [rows, setRows] = useState(INITIAL_ROWS);
+
+ const updateRow = (index, field, value) => {
+ const next = [...rows];
+ next[index] = { ...next[index], [field]: value };
+ setRows(next);
+ };
+
+ return (
+
+
+ 内部审核人
+ 审核、修改、反馈、验证闭环
+
+
+
+ 审核版本V1.3
+ 内审人王丽萍
+ 审核项7项
+ 问题2项
+
+
+
(
+
+ ),
+ },
+ {
+ title: "审核意见", dataIndex: "opinion", width: 180,
+ render: (val, _, idx) => (
+ updateRow(idx, "opinion", e.target.value)} />
+ ),
+ },
+ {
+ title: "修改反馈", dataIndex: "feedback", width: 120,
+ render: (val, record) => {
+ if (record.feedbackType === "success") return 已验证;
+ if (record.feedbackType === "warning") return 待反馈;
+ return —;
+ },
+ },
+ ]}
+ rowKey="dim"
+ pagination={false}
+ size="small"
+ />
+
+
+ 总体审核意见
+
+
+
+
+
+ 内审人独立签字
+ 王丽萍
+
+
+
+
+
+
+
+
+
+
+ );
+};
export default InternalReviewContent;
\ No newline at end of file
diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js
index 9a3c0ac..65f886d 100644
--- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js
+++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js
@@ -1,30 +1,227 @@
-import React from "react";
-import { Card, Steps, Descriptions } from "antd";
+import React, { useState } from "react";
+import { Tag, Button, Card, Table, Flex, Typography, Steps } from "antd";
+import { CheckCircleFilled } from "@ant-design/icons";
-const SurveyContent = () => (
-
-
-
-
-
-
-
-
-
-
- 至少2名项目组专职人员完成有效签到签退
-
-
- 厂区入口、生产装置区、末次会议等关键影像已上传
-
-
- 现场检查表已上传
-
-
- 整改通知和复查单双方已签字
-
-
-
+const STAGES = [
+ { key: "notice", index: "01", label: "从业告知",},
+ { key: "inspection", index: "02", label: "现场勘查", },
+ { key: "rectification", index: "03", label: "整改通知", },
+ { key: "enterprise", index: "04", label: "企业整改",},
+ { key: "review", index: "05", label: "整改复查", },
+];
+
+const NoticePanel = () => (
+
+
+
+ 01
+ 安全评价检测检验机构从业告知书
+ 支持在线填写后打印;阶段试行期间,以机构盖章版上传归档作为完成依据。
+
+
盖章件已上传
+
+
+
+ 办理方式
+ 在线填写用于生成、打印标准告知书
+ 打印盖章后上传扫描件或清晰照片
+ 完成节点必须留存盖章件
+
+
+
已上传} style={{ marginBottom: 12 }}>
+
+
+ PDF
+
+ 安全评价检测检验机构从业告知书(盖章版).pdf
+ 2.4MB · 2026-07-07 10:28 上传
+
+
+
+
+
+
+
+
+
+
+
机构公章清晰
+
填写内容完整
+
归档版本一致
+
+
+
+
+
+
+
);
+const InspectionPanel = () => (
+
+
+
+ 02
+ 现场人员打卡与检查表
+ 主要核验项目组人员是否真实到场,留存APP人脸、GPS、签到签退、现场照片及本人签字记录。
+
+
打卡与检查表完整
+
+
+
+ {v} },
+ { title: "GPS定位", dataIndex: "gps", render: (v) => {v} },
+ { title: "签到时间", dataIndex: "signIn" },
+ { title: "签退时间", dataIndex: "signOut" },
+ { title: "在场时长", dataIndex: "duration" },
+ { title: "现场照片", dataIndex: "photos", render: (v) => },
+ { title: "本人签字", dataIndex: "sign", render: (v) => {v} },
+ ]}
+ rowKey="name"
+ pagination={false}
+ size="small"
+ />
+
+ 打卡企业地址:重庆市渝北区化工园区东路18号
+ 允许打卡范围:企业地址周边500米
+ 签到日期:2026-07-15
+
+
+
+
+
+
+ XLSX
+
+ 华安化工园区现场安全检查表.xlsx
+ 1.8MB · 李明华 · 2026-07-15 17:06 上传
+
+
+
+ 已归档
+
+
+
+
+
+
+
+
+
+
+
+
+);
+
+const SimpleUploadPanel = ({ index, title, desc, icon, fileType, fileName, fileSize, uploader, date }) => (
+
+
+
+ {index}
+ {title}
+ {desc}
+
+
已完成
+
+
+
+
+ {icon}
+ 上传{title}
+ 支持 PDF、Word、JPG、PNG
+
+ 上传后本节点自动标记完成
+
+
+
+
+ 已归档文件
+ 已上传
+
+
+ {fileType}
+
+ {fileName}
+ {fileSize} · {uploader} · {date} 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+);
+
+const SurveyContent = () => {
+ const [activeStage, setActiveStage] = useState("notice");
+
+ return (
+
+
+ 项目组专职人员 ≥ 2人
+ 从业告知、现场勘查、整改与复查全过程留痕
+
+
+
+
s.key === activeStage)}
+
+ onChange={(idx) => setActiveStage(STAGES[idx].key)}
+ style={{ marginBottom: 16 }}
+ items={STAGES.map((s) => ({
+ title: s.label,
+ status: "process",
+ }))}
+ />
+
+ {activeStage === "notice" && }
+ {activeStage === "inspection" && }
+ {activeStage === "rectification" && (
+
+ )}
+ {activeStage === "enterprise" && (
+
+ )}
+ {activeStage === "review" && (
+
+ )}
+
+
+ );
+};
+
export default SurveyContent;
\ No newline at end of file
diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TechnicalReviewContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TechnicalReviewContent.js
index f547258..900da16 100644
--- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TechnicalReviewContent.js
+++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TechnicalReviewContent.js
@@ -1,31 +1,87 @@
-import React from "react";
-import { Card, Descriptions, Table } from "antd";
+import React, { useState } from "react";
+import { Tag, Button, Card, Row, Col, Table, Select, Input, Flex, Typography } from "antd";
-const TechnicalReviewContent = () => (
-
-
- V1.4
- 陈志强
- 化工安全
- 有效
-
-
-
-);
+const { TextArea } = Input;
+
+const INITIAL_ROWS = [
+ { dim: "资料有效性", focus: "现场资料和检测报告齐全有效", result: "符合", opinion: "资料有效" },
+ { dim: "危险辨识", focus: "辨识充分、规律准确", result: "符合", opinion: "辨识充分" },
+ { dim: "评价方法", focus: "选型合理、计算正确", result: "需修改", opinion: "补充事故模拟参数来源" },
+ { dim: "对策措施", focus: "针对性和可行性", result: "符合", opinion: "措施可行" },
+ { dim: "评价结论", focus: "结论正确、反映风险", result: "符合", opinion: "结论正确" },
+];
+
+const TechnicalReviewContent = () => {
+ const [rows, setRows] = useState(INITIAL_ROWS);
+
+ const updateRow = (index, field, value) => {
+ const next = [...rows];
+ next[index] = { ...next[index], [field]: value };
+ setRows(next);
+ };
+
+ return (
+
+
+ 技术负责人
+ 技术负责人独立审核技术路线和结论
+
+
+
+
+ 审核版本V1.4
+ 技术负责人陈志强
+ 专业匹配化工安全
+ 备案校验有效
+
+
+
(
+
+ ),
+ },
+ {
+ title: "技术意见", dataIndex: "opinion",
+ render: (val, _, idx) => (
+ updateRow(idx, "opinion", e.target.value)} />
+ ),
+ },
+ ]}
+ rowKey="dim"
+ pagination={false}
+ size="small"
+ />
+
+
+ 技术审核意见
+
+
+
+
+
+ 技术负责人签字
+ 陈志强
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
export default TechnicalReviewContent;
\ No newline at end of file