import React, { useEffect, useState } from 'react'; import { connect } from 'react-redux'; import { Spin, Card, Form, Input, Select, Button, Table, Modal, Popconfirm, Tooltip } from 'antd'; import moment from "moment"; import '../style.less'; import ProjectAddModel from '../components/projectAddModel' import { Model } from 'echarts'; const Information = (props) => { const { dispatch, actions, user, loading } = props const { projectRegime } = actions const [firmList, setFirmList] = useState([]) const [tableList, settableList] = useState([]) const [addModel, setAddModel] = useState(false) const [modelData, setModelData] = useState({}) const [query, setQuery] = useState({ limit: 10, page: 0 }) const [limits, setLimits] = useState() const [search, setSearch] = useState({}) const [isPicture, setIsPicture] = useState(false) const [pictureUrl, setPictureUrl] = useState() const [companyID, setCompanyId] = useState('') useEffect(() => { dispatch(projectRegime.getFirmList()).then(res => { if (res.success) { let data = res.payload.data?.map(r => ({ value: r.id, label: r.name })) if (user?.role?.type == 1) { setFirmList(data) projectList(query) } else if (user?.role?.type == 2) { let dataId = user?.userDepartments[0]?.department?.company?.id setFirmList(data?.filter(v => v.value == dataId)) projectList({ ...query, companyId: dataId }) setSearch({ companyId: dataId }) setCompanyId(dataId) } } }) }, []) const projectList = (obj) => { const { limit, page, companyId, name, type } = obj dispatch(projectRegime.getProjectList({ limit, page, companyId, name, type })).then(res => { // console.log(res) if (res.success) { settableList(res.payload.data?.rows?.map(v => ({ ...v, key: v.id }))) setLimits(res.payload.data?.count) } }) } const columns = [ { title: '序号', dataIndex: 'index', key: 'index', render: (text, record, index) => index + 1 }, { title: '结构物名称', dataIndex: 'name', key: 'name', }, { title: '所在地区', dataIndex: 'type', key: 'type', }, { title: '结构物类型', dataIndex: 'scale', key: 'scale', render: (text, record, index) => record?.scale?.scale + record?.scale?.scaleSuffix }, { title: '描述', dataIndex: 'amount', key: 'amount', render: (text, record, index) => record?.amount?.amount + record?.amount?.amountSuffix }, { title: '操作', dataIndex: 'operation', key: 'operation', render: (text, record, index) => { return (
{(user?.isSuper || user.id == record.userId) ? <> { dispatch(projectRegime.delProject(record.id)).then(res => { if (res.success) { if ((limits > 11 && tableList.length > 1) || limits < 11) { projectList({ ...query, ...search }) } else { projectList({ limit: query?.limit, page: query?.page - 1, ...search }) setQuery({ limit: query?.limit, page: query?.page - 1 }); } } }) }} > : <> }
) } } ] return ( <>
{ projectList({ limit: 10, page: 0, ...r, companyId: companyID || r?.companyId }) setQuery({ limit: 10, page: 0 }); setSearch(r) }} >
{ return {`共${Math.ceil(total / query?.limit)}页,${total}项`} }, onChange: (page, pageSize) => { setQuery({ limit: pageSize, page: page - 1 }); projectList({ limit: pageSize, page: page - 1, ...search, companyId: companyID || search?.companyId }) } }} /> { { }} footer={null} onCancel={() => { setIsPicture(false) setPictureUrl('') }} > {pictureUrl && pictureUrl[0] ? : "暂无图片"} } { addModel ? { setAddModel(false) setModelData({}) }} success={() => { setAddModel(false) setModelData({}) setQuery({ limit: 10, page: 0 }); projectList({ limit: 10, page: 0, ...search, companyId: companyID || search?.companyId }) }} /> : "" } ) } function mapStateToProps (state) { const { auth, global } = state; return { user: auth.user, actions: global.actions, }; } export default connect(mapStateToProps)(Information);