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 [handleModalVisible, setHandleModalVisible] = useState(false); const [currentRecord, setCurrentRecord] = useState(null); 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 handleProcess = (record) => { setCurrentRecord(record); setHandleModalVisible(true); }; const handleCloseRisk = async (record) => { Modal.confirm({ title: "确认闭环", content: `确定将"${record.projectName}"的风险标记为闭环吗?`, onOk: async () => { // TODO: 调用闭环接口 message.success("已闭环"); getData(); }, }); }; const columns = [ { title: "项目编号", dataIndex: "projectNo", width: 130 }, { title: "项目/客户", width: 240, render: (_, record) => (