import React, { useState, useEffect } from "react"; import { Form, Table, Button, Tag, Modal, Row, Col, Card, Statistic, Space, message, } from "antd"; import { AntdTableFuncControl } from "@cqsjjb/jjb-common-decorator/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 { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace"; import { RISK_LEVEL_MAP, RISK_STATUS_MAP } from "~/enumerate/constant"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { tools } from "@cqsjjb/jjb-common-lib"; import "./index.less"; const { router } = tools; const RiskWarning = (props) => { const [searchForm] = Form.useForm(); const [dataSource, setDataSource] = useState([]); const [total, setTotal] = useState(0); const [statData, setStatData] = useState({}); const { riskWarningPageLoading } = props.safetyEvalBusiness; const getStat = async () => { const res = await props.evalProjectRiskWarningStat(); if (res?.success !== false) { setStatData(res?.data || {}); } }; const getData = async () => { const params = { ...router.query, current: router.query.current || 1, size: router.query.size || 10, }; const res = await props.evalProjectRiskWarningPage(params); if (res?.success !== false) { setDataSource(res?.data || []); setTotal(res?.total || 0); } }; useEffect(() => { searchForm.setFieldsValue(router.query); getStat(); getData(); }, []); const handleSearch = (values) => { router.query = { ...router.query, ...values, current: 1, size: 10 }; getData(); }; const handleReset = (values) => { searchForm.resetFields(); router.query = { ...values, current: 1, size: 10 }; getData(); }; const handlePageChange = (pagination) => { router.query = { ...router.query, current: pagination.current, size: pagination.pageSize, }; getData(); }; const columns = [ { title: "项目编号", dataIndex: "projectNo", width: 130 }, { title: "项目/客户", width: 240, render: (_, record) => (
{record.projectName}
{record.customerName}
), }, { title: "风险等级", dataIndex: "riskLevelCode", width: 100, render: (code) => { const cfg = RISK_LEVEL_MAP[code]; return cfg ? {cfg.text} : ""; }, }, { title: "预警类型", dataIndex: "warningTypeName", width: 100 }, { title: "触发条件", dataIndex: "triggerCondition", ellipsis: true, width: 260, }, { title: "责任人", dataIndex: "responsiblePerson", width: 90 }, { title: "预警时间", dataIndex: "warningTime", width: 120 }, { title: "状态", dataIndex: "statusCode", width: 90, render: (code) => { const cfg = RISK_STATUS_MAP[code]; return cfg ? {cfg.text} : ""; }, }, ]; return ( 来自项目过程控制与周期规则} /> 延期、逾期、重大整改} /> 已分派但未闭环} /> 需在周例会确认} /> , , , ]} onFinish={handleSearch} onReset={handleReset} /> `共 ${total} 条`, }} onChange={handlePageChange} /> ); }; export default Connect( [NS_SAFETY_EVAL_BUSINESS], true, )(AntdTableFuncControl(RiskWarning));