import React, { useEffect, useState } from 'react';
import { connect } from 'react-redux';
import { Spin, Button, Popconfirm, TreeSelect } from 'antd';
import ProTable from '@ant-design/pro-table';
import moment from 'moment';
import { getReportStatistic } from "../actions/infor"
const InForTable = (props) => {
const { dispatch, user, depData, depMessage, depLoading } = props
const [rowSelected, setRowSelected] = useState([])
const [regionId, setRegionId] = useState()//区域id
const [placeType, setPlaceType] = useState()//场所
const [day, setDay] = useState([moment('2022-03-01').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')])//日期
const [sitename, setSitename] = useState()//场所名称
const [counts, setCounts] = useState()//shuju
useEffect(() => {
setRegionId(user.departmentId)
}, [user])
useEffect(() => {
setDay([moment('2022-03-01').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')])
}, [depData])
const onChange = (value) => {
// setRegionName(value)
setRegionId(value)
}
const columns = [
{
title: '场所名称',
dataIndex: 'placeName',
formItemProps: {
label: '场所名称',
},
fieldProps: {
onChange: (value, cs) => {
setSitename(value.currentTarget.value)
},
placeholder: '请输入场所名称进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
},
{
title: '场所地址',
search: false,
dataIndex: 'time',
valueType: 'dateRange',
initialValue: day,
order: 4,
render: (dom, record) => {
return record.address
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
}
},
{
title: '隐患场所',
dataIndex: 'regionName',
valueType: 'select',
initialValue: -1,
fieldProps: {
label: null,
onChange: (value, cs) => {
setPlaceType(value);
},
options: [{
label: '全部',
value: -1
},
{
label: '隐患场所',
value: 0
}, {
label: '非隐患场所',
value: 1
}, {
label: '非合用场所',
value: 2
},],
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
order: 5,
render: (dom, record) => {
let flag = "是"
if (record.hiddenDangerItem12 == null) {
flag = /
}
if (record.hiddenDangerItem12 && record.correctiveAction == null && record.punishment == null) {
flag = 否
}
return flag
}
},
{
title: '排查日期',
dataIndex: 'time',
valueType: 'dateRange',
initialValue: day,
order: 4,
fieldProps: {
onChange: (value, cs) => {
setDay(cs)
},
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
render: (dom, record) => {
return [moment(record.time).format('YYYY-MM-DD HH:mm:ss'),]
}
},
{
title: '操作',
dataIndex: 'creatTime',
valueType: 'dateTimeRange',
hideInSearch: true,
render: (dom, record) => {
return
}
},
]
return (
区域:
{
return depData
}}
expandedKeys={["title"]}
notFoundContent={
depLoading ?
:
暂无数据
}
getPopupContainer={(triggerNode) => triggerNode.parentNode}
/>
{
const { id } = depMessage[0]
console.log(id)
setRegionId(id)
setPlaceType(-1)
setDay([moment('2022-03-01').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')])
setSitename('')
}}
rowSelection={{
selectedRowKeys: rowSelected,
onChange: (selectedRowKeys) => {
setRowSelected(selectedRowKeys);
},
}}
columns={columns}
options={false}
dataSource={(counts || {}).rows || []}
request={async (params) => {
const query = {
startDate: day[0],
endDate: day[1],
placeType: placeType,
regionId: regionId,
placeName: sitename,
limit: params.pageSize,
offset: ((params.current ? params.current : 1) - 1) * params.pageSize
}
setRowSelected([]);
const res = await dispatch(getReportStatistic(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, counts) }}>
],
}}
>
)
}
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)(InForTable);