From 84fa518cc6973c26d2e006b57d3e5570d4625075 Mon Sep 17 00:00:00 2001
From: liuwh <hugeinfo123>
Date: Mon, 06 Apr 2020 19:04:25 +0800
Subject: [PATCH] 修改

---
 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>&nbsp;|&nbsp;</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