import React, { useState } from "react"; import { Button, Descriptions, Table, Tag, Tabs, Select, Modal, Space } from "antd"; import { MOCK_MATERIALS, MOCK_PERSONNEL, MOCK_EQUIPMENT, MOCK_EQUIP_DETAIL, MOCK_PERSONNEL_DETAIL, MOCK_CERTIFICATES, CALIBRATION_MAP, } from "../mockData"; /** * 共享组件:资质备案 5 个标签页(详情 / 审核共用) * @param {Object} props * @param {Object} props.detail - 备案详情数据 * @param {boolean} [props.isReview=false] - 审核模式(开启后材料上传显示"上传附件"+"符合性"列) * @param {Object} [props.compliance={}] - 审核模式下的符合性状态 * @param {Function} [props.onComplianceChange] - 符合性变动回调 * @param {Function} [props.onPersonnelView] - 查看人员详情回调(覆盖默认弹窗) * @param {Function} [props.onEquipView] - 查看设备详情回调 (record) => void(覆盖默认弹窗) */ const FilingTabs = ({ detail, isReview = false, compliance = {}, onComplianceChange, onPersonnelView, onEquipView, }) => { const [personnelVisible, setPersonnelVisible] = useState(false); const [equipVisible, setEquipVisible] = useState(false); const [selectedEquip, setSelectedEquip] = useState(null); const baseCols = [ { title: "序号", width: 60, render: (_, __, i) => i + 1 }, { title: "材料名称", dataIndex: "name" }, ]; const materialCols = isReview ? [ ...baseCols, { title: "上传附件", dataIndex: "attachment", width: 120 }, { title: "格式", dataIndex: "format", width: 80 }, { title: "状态", dataIndex: "status", width: 100, render: () => 已上传 }, { title: "符合性", width: 100, render: (_, record) => ( ), }, ] : [ ...baseCols, { title: "格式", dataIndex: "format", width: 80 }, { title: "状态", dataIndex: "status", width: 100, render: () => 已上传 }, { title: "操作", width: 80, render: () => }, ]; const items = [ { key: "info", label: "1.备案基本信息", children: ( {detail.scopeName} {detail.filingRegion} {detail.orgName} {detail.orgType} {detail.creditCode} {detail.officeAddress} {detail.registerAddress} {detail.certNo} {detail.website} {detail.legalPerson} / {detail.legalPhone} {detail.contactPerson} / {detail.contactPhone} {detail.fixedAssets} {detail.officeArea} {detail.archiveArea} {detail.evaluatorCount} {detail.registerEngineerCount} {detail.description} ), }, { key: "materials", label: "2.备案材料上传", children: ( ), }, { key: "promise", label: "3.法定代表人承诺书", children: (

申请单位法定代表人承诺书

本人{detail.legalPerson}是{detail.orgName}法定代表人,现代表我单位承诺如下:

一、我单位自愿申请安全评价机构资质。本人已经认真学习、了解并掌握《安全生产法》《行政许可法》《行政处罚法》及《安全评价检测检验机构管理办法》等法律法规的相关规定,知悉开展安全评价工作的法律责任、义务、权力和风险。

二、本人承诺本单位满足《安全评价检测检验机构管理办法》所规定的资质条件要求,本人及单位三年内无重大违法失信行为,申请资质所提交的有关材料真实、合法、有效,并对其真实性、合法性承担相应法律责任,接受并配合有关部门对本单位开展的专业能力审查。

三、如能获准资质,本单位将严格按照法律法规、规章标准的要求开展安全评价活动,遵守执业准则和职业道德,并对作出的安全评价报告结果承担法律责任,自觉接受应急管理部门、煤矿安全监督管理部门等行政执法部门的监督检查。

法定代表人:{detail.legalPerson}(已签名)

(单位盖章)

2026年06月25日

), }, { key: "personnel", label: "4.备案人员管理", children: (
i + 1 }, { title: "人员姓名", dataIndex: "name", width: 100 }, { title: "类型", dataIndex: "type", width: 100 }, { title: "职务", dataIndex: "position", width: 120 }, { title: "职称", dataIndex: "title", width: 100 }, { title: "专业能力", dataIndex: "ability" }, { title: "操作", width: 80, render: () => ( ), }, ]} /> ), }, { key: "equipment", label: "5.装备清单", children: (
i + 1 }, { title: "装备名称", dataIndex: "name", width: 140 }, { title: "规格型号", dataIndex: "model", width: 120 }, { title: "生产厂家", dataIndex: "manufacturer", width: 140 }, { title: "计量检定情况", dataIndex: "calibration", width: 120, render: (s) => { const cfg = CALIBRATION_MAP[s]; return cfg ? {cfg.label} : s; }, }, { title: "操作", width: 80, render: (_, record) => ( ), }, ]} /> ), }, ]; return ( <> {/* 人员详细信息弹窗 */} setPersonnelVisible(false)} width={720} footer={(originNode, { CancelBtn }) => } > {MOCK_PERSONNEL_DETAIL.name} {MOCK_PERSONNEL_DETAIL.gender} {MOCK_PERSONNEL_DETAIL.qualScope} {MOCK_PERSONNEL_DETAIL.birthDate} {MOCK_PERSONNEL_DETAIL.officeAddress} {MOCK_PERSONNEL_DETAIL.major} {MOCK_PERSONNEL_DETAIL.certLevel} {MOCK_PERSONNEL_DETAIL.email} {MOCK_PERSONNEL_DETAIL.personnelType} {MOCK_PERSONNEL_DETAIL.idCard} {MOCK_PERSONNEL_DETAIL.currentAddress} {MOCK_PERSONNEL_DETAIL.education} {MOCK_PERSONNEL_DETAIL.graduateSchool} {MOCK_PERSONNEL_DETAIL.position} {MOCK_PERSONNEL_DETAIL.isRegisterEngineer} {MOCK_PERSONNEL_DETAIL.publications} {MOCK_PERSONNEL_DETAIL.selfDeclaration} {MOCK_PERSONNEL_DETAIL.workExperience} 专业能力证明.pdf

证照信息

}, ]} /> {/* 设备详细信息弹窗 */} setEquipVisible(false)} width={600} footer={} > {selectedEquip && ( {MOCK_EQUIP_DETAIL.name} {MOCK_EQUIP_DETAIL.model} {MOCK_EQUIP_DETAIL.category} {MOCK_EQUIP_DETAIL.type} {MOCK_EQUIP_DETAIL.manufacturer} {MOCK_EQUIP_DETAIL.calibrationType} {MOCK_EQUIP_DETAIL.flowDesc} {MOCK_EQUIP_DETAIL.maxFlow} {MOCK_EQUIP_DETAIL.minFlow} {MOCK_EQUIP_DETAIL.dualChannel} {MOCK_EQUIP_DETAIL.calibInitValue} {MOCK_EQUIP_DETAIL.calibUnit} {CALIBRATION_MAP[MOCK_EQUIP_DETAIL.status]?.label} )} ); }; export default FilingTabs;