import React, { useEffect, useState } from 'react'; import { connect } from 'react-redux'; import { Spin, Form, Input, Button, Table, Modal, Popconfirm, Tooltip } from 'antd'; import { SettingOutlined } from '@ant-design/icons'; import { push } from 'react-router-redux'; import moment from 'moment'; import { v4 } from 'uuid'; import ProjectModel from '../components/projectModel' import './style.less'; const ProjectPublish = ({ dispatch, actions, user, loading, publishList, webScreen }) => { const { projectManagement, projectRegime } = actions const [firmList, setFirmList] = useState([]) const [tableList, settableList] = useState([]) const [editModel, setEditModel] = useState(false) const [codeEdit, setCodeEdit] = useState(false) const [modelData, setModelData] = useState({}) const [query, setQuery] = useState({ limit: 10, page: 0 }) const [strucList, setStrucList] = useState([]) const [search, setSearch] = useState({}) const [companyID, setCompanyId] = useState('') const [code, setCode] = useState('') useEffect(() => { dispatch(projectManagement.getProjectType()) dispatch(projectRegime.getProjectList({ justStructure: true })).then(v => { if (v.success) { setStrucList(v.payload.data?.rows || []) } }) projectPublishList(query) }, []) const projectPublishList = (data = {}) => { dispatch(projectManagement.getProjectPublishList(data)) } const columns = [{ title: '项目名称', dataIndex: 'projectName', key: 'projectName', }, { title: '监测对象', dataIndex: 'monitorObject', key: 'monitorObject', render: (text, record, index) => { let findAll = strucList?.filter(d => text?.includes(d.id))?.map(s => s.name) || [] return findAll.join('、') || '--' } }, { title: '创建时间', dataIndex: 'createTime', key: 'createTime', render: (text, record, index) => text && moment(text).format('YYYY-MM-DD HH:mm:ss') || '--' }, { title: '操作', dataIndex: 'operation', key: 'operation', render: (text, record, index) => { return (<> 是否确认删除此项目?} position='topLeft' onConfirm={() => { dispatch(projectManagement.delProjectPublish(record.id)).then(res => { if (res.success) { setQuery({ limit: 10, page: 0 }); projectPublishList({ limit: 10, page: 0 }) } }) }} > ) } } ] return (
{ return {`共${Math.ceil(total / query?.limit)}页,${total}项`} }, onChange: (page, pageSize) => { setQuery({ limit: pageSize, page: page - 1 }); projectPublishList({ limit: pageSize, page: page - 1 }) } }} // rowSelection={{ // selectedRowKeys: select || [], // onChange: (selectedRowKeys, selectedRows) => { // setSelect(selectedRowKeys) // console.log(selectedRowKeys, selectedRows); // } // }} rowClassName={(record, index) => { let className = 'global-light-row'; if (index % 2 === 1) className = 'global-dark-row'; return className; }} // scroll={{ y: 590 }} /> { editModel ? { setEditModel(false) setModelData({}) }} success={() => { setEditModel(false) setModelData({}) setQuery({ limit: 10, page: 0 }); projectPublishList({ limit: 10, page: 0 }) }} /> : "" } { codeEdit && { dispatch(projectManagement.postProjectPublish({ id: modelData?.id, code: code || v4(), isCode: true, })).then(res => { if (res.success) { setCodeEdit(false) setCode("") setModelData({}) } }) }} onCancel={() => { setCodeEdit(false) setCode("") setModelData({}) }} > { setCode(v4()) }}>修改} value={code} /> } ) } function mapStateToProps (state) { const { auth, global, publishList } = state; return { user: auth.user, actions: global.actions, loading: publishList?.isRequesting, publishList: publishList?.data || {}, webScreen: global?.webScreen }; } export default connect(mapStateToProps)(ProjectPublish);