import React, { useEffect, useState, useRef } from 'react'; import { connect } from 'react-redux'; import { Spin, Button, Popconfirm } from 'antd'; import ProTable from '@ant-design/pro-table'; import './protable.less' import { getRoadway, getHighways, getCustodyunit, delProject } from "../actions/infor" import HightModal from './highways/highwaysdata'; import Guanli from './highways/guanli'; const TransporTationTable = (props) => { const { dispatch, user, depData, depMessage, depLoading } = props const [rowSelected, setRowSelected] = useState([]) const [sitename, setSitename] = useState()//名称 const [counts, setCounts] = useState()//shuju const [modalVisible, setModalVisible] = useState(false); const [modalVisibleyilan, setModalVisibleyilan] = useState(false); const [modalVisibleyilans, setModalVisibleyilans] = useState(false); const [modalRecord, setModalRecord] = useState(); const [typecard, setTypecard] = useState(); const [activeKey, setActiveKey] = useState('tab1'); const [recortd, setRecortd] = useState() const [whichofits, setWhichofits] = useState('sheshi') const [delet, setDelet] = useState() const [differentiate, setDifferentiate] = useState('road') const [grade, setGrade] = useState('县') const ref = useRef() useEffect(() => { ref.current.reload() }, [whichofits, delet]) //打开弹窗 const hightModal = (type, record) => { setModalVisibleyilan(true); // setModalType(type); if (type == 'edit') { setModalRecord(record); } else { setModalRecord(null); } } const yilanModal = (type, record) => { setModalVisibleyilans(true); // setModalType(type); if (type == 'edit') { setModalRecord(record); } else { setModalRecord(null); } } const columns = { tab1: [ { title: '类型', dataIndex: 'placeName', fixed: 'left', width: 120, search: false, options: 1, backgroundColor: "#ffffff", fieldProps: { onChange: (value, cs) => { setSitename(value.currentTarget.value) }, placeholder: '请输入类型进行搜索', }, render: (dom, record) => { return record.name }, }, { title: '数量', search: false, dataIndex: 'containers', fixed: 'left', width: 120, render: (dom, record) => { return record.count }, fieldProps: { getPopupContainer: (triggerNode) => triggerNode.parentNode, } }, { title: '操作', dataIndex: 'creatTime', valueType: 'dateTimeRange', hideInSearch: true, width: 160, fixed: 'right', render: (dom, record) => { return
} }, ], tab2: [ { title: '管养责单位', dataIndex: 'placeName', fixed: 'left', width: 120, options: 1, search: false, backgroundColor: "#ffffff", fieldProps: { onChange: (value, cs) => { setSitename(value.currentTarget.value) }, placeholder: '请输入项目名称进行搜索', }, render: (dom, record) => { return record.responsibleUnitForManagementAndMaintenance }, }, { title: '养护单位', search: false, dataIndex: 'time1', valueType: 'dateRange', // fixed: 'left', width: 120, render: (dom, record) => { return record.maintenanceUnit }, fieldProps: { getPopupContainer: (triggerNode) => triggerNode.parentNode, } }, { title: '管理人员(人)', search: false, dataIndex: 'time2', valueType: 'dateRange', // align: 'right', width: 120, render: (dom, record) => { return record.management }, fieldProps: { getPopupContainer: (triggerNode) => triggerNode.parentNode, } }, { title: '工人(人)', search: false, dataIndex: 'time3', valueType: 'dateRange', width: 120, render: (dom, record) => { return record.worker }, fieldProps: { getPopupContainer: (triggerNode) => triggerNode.parentNode, } }, { title: '公益岗位(人)', search: false, dataIndex: 'time4', valueType: 'dateRange', width: 120, render: (dom, record) => { return record.publicWelfarePost }, fieldProps: { getPopupContainer: (triggerNode) => triggerNode.parentNode, } }, { title: '县道(km)', search: false, dataIndex: 'time5', valueType: 'dateRange', width: 120, render: (dom, record) => { return record.countyHighway }, fieldProps: { getPopupContainer: (triggerNode) => triggerNode.parentNode, } }, { title: '乡道(km)', search: false, dataIndex: 'time6', valueType: 'dateRange', width: 120, render: (dom, record) => { return record.townshipRoad }, fieldProps: { getPopupContainer: (triggerNode) => triggerNode.parentNode, } }, { title: '村道(km)', search: false, dataIndex: 'time7', valueType: 'dateRange', width: 120, render: (dom, record) => { return record.villageRoad }, fieldProps: { getPopupContainer: (triggerNode) => triggerNode.parentNode, } }, { title: '桥梁(座)', search: false, dataIndex: 'time8', valueType: 'dateRange', width: 120, render: (dom, record) => { return record.bridge }, fieldProps: { getPopupContainer: (triggerNode) => triggerNode.parentNode, } }, { title: '操作', dataIndex: 'creatTime', valueType: 'dateTimeRange', hideInSearch: true, width: 160, fixed: 'right', render: (dom, record) => { return
} }, ] } return (
setActiveKey(key), items: [ { key: 'tab1', label: { setWhichofits('sheshi') setDifferentiate('bridge') }}>设施统计{activeKey === 'tab1'}, }, { key: 'tab2', label: { setWhichofits('guanli') setDifferentiate('project') }}>管养统计{activeKey === 'tab2'}, }, ], }, }} form={{ submitter: false }} scroll={{ x: 800 }} options={false} ref={c => { finishedProductTable = c; }} style={{ width: "100% ", overflow: "auto", height: '760px' }} rowKey='id' onReset={(v) => { setSitename('') }} // rowSelection={{ // selectedRowKeys: rowSelected, // onChange: (selectedRowKeys) => { // setRowSelected(selectedRowKeys); // }, // }} columns={columns[activeKey]} dataSource={counts || []} request={async (params) => { console.log(whichofits) if (whichofits == 'sheshi') { const query = { } setRowSelected([]); const res = await dispatch(getHighways(query)); // console.log(res) setCounts(res.payload.data) return { ...res, total: res.payload.data ? res.payload.data.count : 0 } } if (whichofits == 'guanli') { const query = { } setRowSelected([]); const res = await dispatch(getCustodyunit(query)); setCounts(res.payload.data) return { ...res, total: res.payload.data ? res.payload.data.count : 0 } } }} search={{ defaultCollapsed: false, optionRender: (searchConfig, formProps, dom) => [ ...dom.reverse(), // { props.exports(rowSelected,grade,differentiate) }}> // // ], }} >
{modalVisibleyilan ? : ''} {modalVisibleyilans ? : ''}
) } const data = [ { name: "管养责任单位", type: 'responsibleUnitForManagementAndMaintenance' }, { name: "养护单位", type: 'maintenanceUnit' }, { name: "管理人员", type: 'management' }, { name: "工人", type: 'worker' }, { name: "公益岗位", type: 'publicWelfarePost' }, { name: "县道", type: 'countyHighway' }, { name: "乡道", type: 'townshipRoad' }, { name: "村道", type: 'villageRoad' }, { name: "桥梁", type: 'bridge' }, ] function mapStateToProps(state) { const { auth, depMessage } = state; const pakData = (dep) => { return dep.map((d) => { return { title: d.name, value: d.id, // children: d.type >= 2 ? [] : pakData(d.subordinate) children: pakData(d.subordinate) } }) } let depData = pakData(depMessage.data || []) return { user: auth.user, depMessage: depMessage.data || [], depLoading: depMessage.isRequesting, depData, }; } export default connect(mapStateToProps)(TransporTationTable);