/* eslint-disable */
|
/**liuwh
|
* 4/6/2020, 12:33:28 PM
|
* doc comment for the file goes here
|
*/
|
|
/** Happy Coding */
|
import React, { ReactNode, ReactEventHandler, Component } from 'react';
|
// import { Link } from 'react-router-dom';
|
import moment from 'moment'
|
import { DatePicker, Table, Card, Row, Col, Icon, Form, Input, Button, Select, message } from 'antd';
|
import './index.scss';
|
|
import fetch from '../../../api/request';
|
const { MonthPicker, RangePicker } = DatePicker;
|
const FormItem = Form.Item;
|
export default class AnnouncementPage extends Component {
|
constructor(props) {
|
super(props);
|
this.config = {
|
};
|
this.state = {
|
loading: true,
|
totalElements: 1,
|
size: 10,
|
page: 1,
|
resetKey: Date.now(),
|
formdata: {
|
type: '',
|
title: '',
|
startTime: '',
|
endTime: ''
|
}
|
};
|
}
|
|
|
|
|
componentWillMount() { }
|
|
componentDidMount() {
|
this.loadData(this.state.formdata, this.state.page, this.state.size);
|
}
|
|
onShowSizeChange = (current, size) => {
|
console.log('pageSize', size)
|
this.setState({ size, page: 1 });
|
this.getData(this.state.formdata, this.state.page, this.state.size);
|
};
|
|
handleSubmit = (e) => {
|
e.preventDefault();
|
this.loadData(this.state.formdata, 1, this.state.size);
|
}
|
|
loadData = (formdata, page, size) => {
|
console.log('111')
|
let _this = this;
|
_this.setState({
|
loading: true
|
})
|
fetch({
|
url: 'api/document/getNotice',
|
params: {
|
...formdata,
|
page,
|
size
|
}
|
}).then(res => {
|
console.log(res)
|
_this.setState({
|
tableData: res.content,
|
loading: false,
|
totalElements: res.totalElements,
|
page
|
});
|
});
|
}
|
|
//查询
|
Seaech = () => {
|
const { formdata, page, size } = this.state;
|
if (formdata.areaId) {
|
formdata.areaId = parseInt(formdata.areaId[1]);
|
}
|
this.loadData(formdata, 1, size)
|
}
|
|
//重置
|
Reset = () => {
|
this.setState({
|
resetKey: Date.now(),
|
formdata: {},
|
page: 1,
|
size: 10
|
}, this.loadData({}, 1, this.state.size))
|
}
|
|
onInputChange = ({ target: { value, name } }) => {
|
this.setState(({ formdata }) => ({
|
formdata: {
|
...formdata,
|
[name]: this.trim(value)
|
}
|
}))
|
}
|
|
onTimeChange = (value, dateString) => {
|
this.onChange('startTime', moment(dateString[0]).format('YYYY-MM-DD HH:mm'));
|
this.onChange('endTime', moment(dateString[1]).format('YYYY-MM-DD HH:mm'));
|
}
|
|
onChange = (field, value) => {
|
this.setState(({ formdata }) => ({
|
formdata: {
|
...formdata,
|
[field]: value
|
}
|
}))
|
}
|
|
trim = (str) => {
|
str = str.replace(/^(\s|\u00A0)+/, '');
|
for (var i = str.length - 1; i >= 0; i--) {
|
if (/\S/.test(str.charAt(i))) {
|
str = str.substring(0, i + 1);
|
break;
|
}
|
}
|
return str;
|
}
|
|
getColumns = () => {
|
let obj = this;
|
return [
|
{ title: '通知标题', className: "txt-c", dataIndex: 'documentItle;' },
|
{ title: '通知内容', className: "txt-c", dataIndex: 'documentContent' },
|
// { title: '文档类型', className: "txt-c", dataIndex: 'documentType', render: (text, record) => text == "DT00001" ? "规章制度" : text == "DT00002" ? "通知公告" : text },
|
{ title: '接受情况', className: "txt-c", dataIndex: 'groupType', render: (text, record) => <span>{readNumber || 0}/{noticeNumber || 0}</span> },
|
{ title: '通知时间', className: "txt-c", dataIndex: 'createTime', render: (text, record) => text !== "" && text != null ? moment(text).format("YYYY-MM-DD HH:mm") : "" },
|
// {
|
// title: '操作', className: "txt-c", key: 'operation', render: (text, record) => {
|
// return <div>
|
// <Link to={{ pathname: "/baseManage/groupDetail/" + record.id + '/Modify', query: { id: record.id } }}>修改</Link>
|
// <span> | </span>
|
// <a href="javascript:void(0);" onClick={() => this.delete(record.id)}>删除</a>
|
// </div>
|
// }
|
// }
|
]
|
}
|
|
render() {
|
const { resetKey, formdata } = this.state;
|
return (
|
<div className="announcement-page-main">
|
<Card style={{ border: 20, margin: 20, padding: 20 }}>
|
<Row style={{ margin: '10px' }} key={resetKey}>
|
<Col span={1} style={{ display: 'flex', justifyContent: 'center', lineHeight: '28px' }}>标题:</Col>
|
<Col className="gutter-row" span={4}>
|
<Input placeholder="标题" name='name' onChange={this.onInputChange} />
|
</Col>
|
<Col span={2} style={{ display: 'flex', justifyContent: 'center', lineHeight: '28px' }}>工作时间:</Col>
|
<Col className="gutter-row" span={6}>
|
<RangePicker placeholder={['开始时间', '结束时间']} showTime format="YYYY-MM-DD HH:mm" onChange={this.onTimeChange} />
|
</Col>
|
<Col className="gutter-row" span={2}>
|
<Button type="primary" onClick={this.Seaech}>查询</Button>
|
</Col>
|
<Col className="gutter-row" span={2}>
|
<Button onClick={this.Reset}>重置</Button>
|
</Col>
|
</Row>
|
<Row>
|
<Table key={this.state.tableKey}
|
size="middle"
|
className="rowColor"
|
dataSource={this.state.tableData}
|
loading={{ spinning: this.state.loading }}
|
columns={this.getColumns()}
|
pagination={{
|
size: this.state.size,
|
onChange: this.pageChange,
|
total: this.state.totalElements,
|
showSizeChanger: true,
|
onShowSizeChange: this.onShowSizeChange,
|
showTotal: (total, range) => `共${total}条记录 `,
|
itemRender: this.itemRender,
|
showQuickJumper: true,
|
defaultCurrent: 1,
|
current: this.state.page
|
}}
|
/>
|
</Row>
|
</Card>
|
</div>
|
)
|
}
|
}
|