import React, { useEffect, useRef, useState } from 'react'; import { connect } from 'react-redux'; import { Skeleton, Button, Pagination, Form, Popconfirm, Table, Tooltip, Input } from '@douyinfe/semi-ui'; import { IconSearch } from '@douyinfe/semi-icons'; import { SkeletonScreen, } from "$components"; import moment from "moment"; import AutomaticModal from '../components/automatic-Modal' import SimpleBar from 'simplebar-react'; const AutomaticReport = ({ dispatch, actions, user, clientHeight, loading, generateloading, socket, projectPoms, pepProjectId }) => { const { service, } = actions; const [query, setQuery] = useState({ limit: 10, page: 0 }); //页码信息 const [limits, setLimits] = useState()//总数 const mylimits = useRef(); //每页实际条数 const [automaticModal, setAutomaticModall] = useState(false) //弹框 const [eidtData, setEidtData] = useState({}) //是否改变 const [tableData, setTableData] = useState([]) //表格数据 const [projectList, setProjectList] = useState([]) //项目数据 const [projectId, setProjectId] = useState() //项目id const [projectSearch, setProjectSearch] = useState() //项目搜索 const [keyword, setKeyword] = useState() //报表关键字 const [id, setId] = useState() const page = useRef(query.page);//哪一页 useEffect(() => { if (projectPoms?.length) { let dataList = projectPoms?.filter(v => v.pepProjectIsDelete != 1 && (!pepProjectId || (pepProjectId?.length > 0 ? pepProjectId?.split(',')?.map(s => Number(s.id))?.includes(v.id) : pepProjectId))) setProjectList(dataList) getData({ limit: 10, page: 0 }) setQuery({ limit: 10, page: 0 }) } }, [projectPoms, pepProjectId, projectSearch]) const getData = (data = {}) => { dispatch(service.getAutomaticReport({ projectId: pepProjectId, ...query, keyword, ...data })).then((res) => { if (res.success) { setTableData(res.payload.data?.rows) setLimits(res.payload.data?.count) setId("") } }) } const columns = [{ title: "序号", dataIndex: "index", key: 'index', render: (txet, row, index) => index + 1 }, { title: "报表名称", dataIndex: "reportName", key: 'reportName', }, { title: "所属项目", dataIndex: "projectId", key: 'projectId', render: (_, row) => { let project = projectPoms?.find(s => s.id == row?.projectId) return project?.name || project?.pepProjectName || '--' } }, { title: "报表类型", dataIndex: "reportType", key: 'reportType', }, { title: "最近生成时间", dataIndex: "time", key: 'time', render: (txet, row) => txet && moment(txet).format('YYYY-MM-DD HH:mm:ss') || '--' }, { title: "操作", dataIndex: "text", key: 'text', render: (_, row) => { return (