import React, { useState, useEffect } from "react";
import { Button, Form, Select, Table, Tag } from "antd";
import TableAction from "@cqsjjb/jjb-react-admin-component/TableAction";
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 { REVIEW_STATUS_MAP, EXPERT_STATUS_MAP } from "~/enumerate/constant";
// 静态模拟数据
const MOCK_DATA = [
{
id: 1,
orgName: "重庆安评技术研究院有限公司",
orgType: "本地机构",
certNo: "API-2026-001",
businessScope: "化工, 石油加工",
expertStatus: "pending",
reviewStatus: "pending",
},
{
id: 2,
orgName: "北京中安评价中心(重庆分公司)",
orgType: "异地机构",
certNo: "API-2026-015",
businessScope: "矿山, 建筑施工",
expertStatus: "arranging",
reviewStatus: "reviewing",
},
{
id: 3,
orgName: "重庆渝安风险评估中心",
orgType: "本地机构",
certNo: "API-2026-008",
businessScope: "化工",
expertStatus: "none",
reviewStatus: "rejected",
},
];
const { router } = tools;
const QualReview = (props) => {
const [form] = Form.useForm();
const [loading, setLoading] = useState(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: "expertStatus",
width: 100,
render: (status) => {
const config = EXPERT_STATUS_MAP[status];
return config ? {config.label} : '--';
},
},
{
title: "审核状态",
dataIndex: "reviewStatus",
width: 100,
render: (status) => {
const config = REVIEW_STATUS_MAP[status];
return config ? {config.label} : '--';
},
},
{
title: "操作",
width: 140,
fixed: "right",
render: (_, record) => (
{record.reviewStatus === "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();
},
}}
/>
);
};
export default AntdTableFuncControl(QualReview);