From 12d561aea1143eae863d80edebf8b4cbe3cc85df Mon Sep 17 00:00:00 2001
From: liuwh <hugeinfo123>
Date: Mon, 06 Apr 2020 19:05:16 +0800
Subject: [PATCH] 1
---
src/components/page/AnnouncementPage/index.jsx | 225 ++++++++++++++-----------------------------------------
1 files changed, 58 insertions(+), 167 deletions(-)
diff --git a/src/components/page/AnnouncementPage/index.jsx b/src/components/page/AnnouncementPage/index.jsx
index 56d9683..56d8695 100644
--- a/src/components/page/AnnouncementPage/index.jsx
+++ b/src/components/page/AnnouncementPage/index.jsx
@@ -1,199 +1,90 @@
/* eslint-disable */
-/**liuwh
- * 4/6/2020, 12:33:28 PM
+/**柯礼钦
+ * 4/6/2020, 5:17:40 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 TableView from '../../common/TableView';
+import SearchFormView from '../../common/SearchFormView';
+import moment from 'moment';
+
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: {
+ formData: {
+ __key: Date.now(),
type: '',
title: '',
- startTime: '',
- endTime: ''
- }
+ page: 1,
+ size: 10,
+ },
};
}
-
-
-
componentWillMount() { }
- componentDidMount() {
- this.loadData(this.state.formdata, this.state.page, this.state.size);
+ componentDidMount() { }
+
+ cancle = (id) => {
+ console.log(id)
+ // // this.props.history.push("/document/create?id=" + id);
+ this.props.history.push({ pathname: "/document/create/" + id });
}
- 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);
+ renderColumns = () => {
+ return [
+ { title: '标题', dataIndex: 'documentTitle' },
+ { title: '通知内容', dataIndex: 'documentContent' },
+ { title: '接受情况', dataIndex: 'groupType', render: (cur, item) => <span>{item.readNumber || 0}/{item.noticeNumber || 0}</span> },
+ { title: '通知时间', dataIndex: 'createTime', render: (cur, item) => cur !== "" && cur != null ? moment(cur).format("YYYY-MM-DD HH:mm") : "" },
+ { title: '操作', render: (text, record) => <a onClick={() => this.cancle(record.id)}>查看</a> }
+ ];
}
- 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
- });
+ setFormData = data => {
+ console.log('form', data);
+ this.setState({
+ formData: data,
});
}
- //查询
- 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;
+ const { formData } = this.state;
+
+ let tableParams = {
+ url: `api/document/getNotice`,
+ formData,
+ key: formData.__key,
+ columns: this.renderColumns(),
+ extraFromData: {
+ type: '',
+ },
+ setFormData: this.setFormData
+ }
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 className="rules-list-main">
+ <SearchFormView
+ formData={formData}
+ setFormData={this.setFormData}
+ data={[
+ { type: 'input', name: '标题', label: '标题', key: 'documentTitle' },
+ {
+ type: 'rangePicker',
+ label: '通知时间',
+ name: JSON.stringify(['开始时间', '结束时间']),
+ key: JSON.stringify(['startTime', 'endTime']),
+ keylistName: 'rangeTimelist',
+ },
+ ]} />
+ <TableView {...tableParams} />
</div>
)
}
--
Gitblit v1.8.0