import React, { useState, useEffect } from "react"; import { Button, Form, Select, Space, Table, Tag, Modal, Input, DatePicker, } from "antd"; 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 { AntdTableFuncControl } from "@cqsjjb/jjb-common-decorator/antd"; import { tools } from "@cqsjjb/jjb-common-lib"; import { PUBLICITY_STATUS_MAP } from "~/enumerate/constant"; const { TextArea } = Input; const MOCK_DATA = [ { id: 1, orgName: "重庆安评技术研究院有限公司", orgType: "本地机构", certNo: "API-2026-001", businessScope: "化工, 石油加工", reviewDept: "市应急管理局", reviewTime: "2026-06-20", status: "pending", }, { id: 2, orgName: "重庆恒安安全评价有限公司", orgType: "本地机构", certNo: "API-2025-032", businessScope: "化工", reviewDept: "市应急管理局", reviewTime: "2026-05-15", status: "published", }, { id: 3, orgName: "北京中安评价中心(重庆分公司)", orgType: "异地机构", certNo: "API-2026-015", businessScope: "矿山, 建筑施工", reviewDept: "市应急管理局", reviewTime: "2026-06-18", status: "pending", }, ]; const { router } = tools; const QualPublicity = (props) => { const [form] = Form.useForm(); const [loading, setLoading] = useState(false); const [publicityVisible, setPublicityVisible] = useState(false); const [publicityTarget, setPublicityTarget] = useState(null); const [publicityDept, setPublicityDept] = useState(undefined); const [publicityContent, setPublicityContent] = useState(""); const [publicityStartDate, setPublicityStartDate] = useState(null); const [publicityEndDate, setPublicityEndDate] = useState(null); const openPublicity = (record) => { setPublicityTarget(record); setPublicityDept(undefined); setPublicityContent( "依据《安全评价机构管理规定》等相关法规,经审核,该机构符合安全评价机构资质条件,现予以公示,接受社会监督。", ); setPublicityStartDate(null); setPublicityEndDate(null); setPublicityVisible(true); }; const handlePublicitySubmit = () => { console.log("公示提交:", { target: publicityTarget, dept: publicityDept, content: publicityContent, startDate: publicityStartDate, endDate: publicityEndDate, }); setPublicityVisible(false); }; const handleSearch = () => { setLoading(true); setTimeout(() => setLoading(false), 500); }; const handleReset = (values) => { router.query = { ...router.query, ...values, current: 1, pageSize: 10, }; handleSearch(); }; useEffect(() => { form.setFieldsValue(router.query); }, []); const columns = [ { title: "序号", dataIndex: "id", width: 60, fixed: "left", render: (text, record, index) => index + 1, }, { title: "机构名称", dataIndex: "orgName", width: 220, ellipsis: true }, { title: "机构类型", dataIndex: "orgType", width: 100 }, { title: "证书编号", dataIndex: "certNo", width: 140, ellipsis: true }, { title: "安全评价业务范围", dataIndex: "businessScope", width: 180, ellipsis: true, }, { title: "审核部门", dataIndex: "reviewDept", width: 120, ellipsis: true }, { title: "审核通过时间", dataIndex: "reviewTime", width: 120 }, { title: "公示状态", dataIndex: "status", width: 100, render: (status) => { const config = PUBLICITY_STATUS_MAP[status]; return config ? {config.label} : status; }, }, { title: "操作", width: 180, fixed: "right", render: (_, record) => ( {record.status === "pending" && ( )} ), }, ]; return ( , 本地机构 异地机构 , 石油加工 化工 矿山 建筑施工 , 待公示 已公示 , ]} onReset={handleReset} onFinish={(values) => { router.query = { ...router.query, ...values, current: 1, pageSize: 10, }; handleSearch(); }} /> `共 ${total} 条`, current: router.query.current, pageSize: router.query.pageSize, onChange: (page, pageSize) => { router.query = { ...router.query, current: page, pageSize, }; handleSearch(); }, }} /> setPublicityVisible(false)} width={560} footer={
} >
公示信息
机构名称
{publicityTarget?.orgName || "—"}
公示部门
公示内容