四好公路
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.7 KiB

3 years ago
import React, { useEffect, useState } from 'react';
import { connect } from 'react-redux';
import '../style.less';
import { getDepMessage, getReportStatistic } from "../actions/infor"
import InForTable from '../components/inforTable';
const superagent = require('superagent');
const infor = (props) => {
const { dispatch, user} = props
const [data, setData] = useState()
const [modalVisible, setModalVisible] = useState(false);
const [modalRecord, setModalRecord] = useState();
useEffect(() => {
// dispatch(getDepMessage())
3 years ago
setData(props)
}, []);
// //打开弹窗
// const openModal = (type, record) => {
// setModalVisible(true);
// // setModalType(type);
// if (type == 'edit') {
// setModalRecord(record);
// } else {
// setModalRecord(null);
// }
// }
3 years ago
//批量导出
const exports = (ids,counts) => {
// console.log(user);
let reportIds = [];
if (ids.length)
reportIds = ids
else
reportIds = (counts || {}).ids || [];
superagent.post('/_report/http')
.send({ id: reportIds.map(i => Number(i)) }).end((err, res) => {
const resTextIs = res.text.split('/').pop()
window.open(
'/_api/' +
`attachments?src=files/${resTextIs}&filename=${encodeURIComponent(resTextIs)}&token=${user.token}`)
})
}
return (
<> <InForTable data={data} exports={exports} />
</>
3 years ago
)
}
function mapStateToProps(state) {
const {auth}=state
return {
user: auth.user,
}
}
export default connect(mapStateToProps)(infor);