|  | @@ -1,15 +1,232 @@
 | 
												
													
														
															|  |  import React from 'react';
 |  |  import React from 'react';
 | 
												
													
														
															|  | -import { Spin, Button, Tabs } from 'antd';
 |  | 
 | 
												
													
														
															|  | 
 |  | +import { Spin, Button, Tabs, Table } from 'antd';
 | 
												
													
														
															|  |  import ajax from 'jquery/src/ajax/xhr.js'
 |  |  import ajax from 'jquery/src/ajax/xhr.js'
 | 
												
													
														
															|  |  import $ from 'jquery/src/ajax';
 |  |  import $ from 'jquery/src/ajax';
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  import '../content.less';
 |  |  import '../content.less';
 | 
												
													
														
															|  | 
 |  | +import './content.less';
 | 
												
													
														
															|  |  import LeftTab from './leftTab.jsx';
 |  |  import LeftTab from './leftTab.jsx';
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  const TabPane = Tabs.TabPane;
 |  |  const TabPane = Tabs.TabPane;
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | 
 |  | +const MessageModal = React.createClass({
 | 
												
													
														
															|  | 
 |  | +    getInitialState() {
 | 
												
													
														
															|  | 
 |  | +        return {
 | 
												
													
														
															|  | 
 |  | +            visible: false,
 | 
												
													
														
															|  | 
 |  | +            loading: false,
 | 
												
													
														
															|  | 
 |  | +            pagination: {
 | 
												
													
														
															|  | 
 |  | +                defaultCurrent: 1,
 | 
												
													
														
															|  | 
 |  | +                defaultPageSize: 10,
 | 
												
													
														
															|  | 
 |  | +                showQuickJumper: true,
 | 
												
													
														
															|  | 
 |  | +                pageSize: 10,
 | 
												
													
														
															|  | 
 |  | +                onChange: function (page) {
 | 
												
													
														
															|  | 
 |  | +                    this.loadReaded(page);
 | 
												
													
														
															|  | 
 |  | +                }.bind(this),
 | 
												
													
														
															|  | 
 |  | +                showTotal: function (total) {
 | 
												
													
														
															|  | 
 |  | +                    return '共' + total + '条数据';
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +            },
 | 
												
													
														
															|  | 
 |  | +            UnreadPagination: {
 | 
												
													
														
															|  | 
 |  | +                defaultCurrent: 1,
 | 
												
													
														
															|  | 
 |  | +                defaultPageSize: 10,
 | 
												
													
														
															|  | 
 |  | +                showQuickJumper: true,
 | 
												
													
														
															|  | 
 |  | +                pageSize: 10,
 | 
												
													
														
															|  | 
 |  | +                onChange: function (page) {
 | 
												
													
														
															|  | 
 |  | +                    this.loadUnread(page);
 | 
												
													
														
															|  | 
 |  | +                }.bind(this),
 | 
												
													
														
															|  | 
 |  | +                showTotal: function (total) {
 | 
												
													
														
															|  | 
 |  | +                    return '共' + total + '条数据';
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +            },
 | 
												
													
														
															|  | 
 |  | +            columns: [
 | 
												
													
														
															|  | 
 |  | +                {
 | 
												
													
														
															|  | 
 |  | +                    title: '编号',
 | 
												
													
														
															|  | 
 |  | +                    dataIndex: 'key',
 | 
												
													
														
															|  | 
 |  | +                    key: 'key'
 | 
												
													
														
															|  | 
 |  | +                }, {
 | 
												
													
														
															|  | 
 |  | +                    title: '类型',
 | 
												
													
														
															|  | 
 |  | +                    dataIndex: 'noticeType',
 | 
												
													
														
															|  | 
 |  | +                    key: 'noticeType',
 | 
												
													
														
															|  | 
 |  | +                    render: (text, record) => {
 | 
												
													
														
															|  | 
 |  | +                        switch (text) {
 | 
												
													
														
															|  | 
 |  | +                            case 1:
 | 
												
													
														
															|  | 
 |  | +                                return <a href={globalConfig.context + "/admin/servicesManage/patent.html?rid=" + record.rid + "&uid=" + record.uid + "#comprehensive"}> {record.noticeTypeName} </a>;
 | 
												
													
														
															|  | 
 |  | +                            case 3:
 | 
												
													
														
															|  | 
 |  | +                                return <a href={globalConfig.context + "/admin/servicesManage/copyright.html?rid=" + record.rid + "&uid=" + record.uid + "#copyright"}> {record.noticeTypeName} </a>;
 | 
												
													
														
															|  | 
 |  | +                            case 2:
 | 
												
													
														
															|  | 
 |  | +                                return <a href={globalConfig.context + "/admin/servicesManage/highTech.html?rid=" + record.rid + "&uid=" + record.uid + "&year=" + record.year + "#highTechApply"}> {record.noticeTypeName} </a>;
 | 
												
													
														
															|  | 
 |  | +                            case 4:
 | 
												
													
														
															|  | 
 |  | +                                return <a href={globalConfig.context + "/admin/servicesManage/technology.html?rid=" + record.rid + "&uid=" + record.uid + "#applyManage"}> {record.noticeTypeName} </a>;
 | 
												
													
														
															|  | 
 |  | +                            case 5:
 | 
												
													
														
															|  | 
 |  | +                                return <a href={globalConfig.context + "/admin/userManage.html?id=" + record.uid + "&type=0" + (window.showUserList ? "#userList" : "#customerList")}> {record.noticeTypeName} </a>;
 | 
												
													
														
															|  | 
 |  | +                            case 6:
 | 
												
													
														
															|  | 
 |  | +                                return <a href={globalConfig.context + "/admin/userManage.html?id=" + record.uid + "&type=1" + (window.showOrgList ? "#orgList" : "#customerList")}> {record.noticeTypeName} </a >;
 | 
												
													
														
															|  | 
 |  | +                            case 7:
 | 
												
													
														
															|  | 
 |  | +                                return <a href={globalConfig.context + "/admin/servicesManage/contract.html?rid=" + record.rid + "&uid=" + record.uid + "#contract"}> {record.noticeTypeName} </a >;
 | 
												
													
														
															|  | 
 |  | +                            case 8:
 | 
												
													
														
															|  | 
 |  | +                                return <a href={globalConfig.context + "/admin/demand.html?rid=" + record.rid + "#techDemandUser"}> {record.noticeTypeName} </a >;
 | 
												
													
														
															|  | 
 |  | +                            case 9:
 | 
												
													
														
															|  | 
 |  | +                                return <a href={globalConfig.context + "/admin/demand.html?rid=" + record.rid + "&uid=" + record.uid + "#techDemandOrg"}> {record.noticeTypeName} </a >;
 | 
												
													
														
															|  | 
 |  | +                            case 10:
 | 
												
													
														
															|  | 
 |  | +                                return <a href={globalConfig.context + "/admin/achievement.html?rid=" + record.rid + "#orgTechAchievement"}> {record.noticeTypeName} </a >;
 | 
												
													
														
															|  | 
 |  | +                            case 11:
 | 
												
													
														
															|  | 
 |  | +                                return <a href={globalConfig.context + "/admin/achievement.html?rid=" + record.rid + "#userTechAchievement"}> {record.noticeTypeName} </a >;
 | 
												
													
														
															|  | 
 |  | +                        }
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                }, {
 | 
												
													
														
															|  | 
 |  | +                    title: '时间',
 | 
												
													
														
															|  | 
 |  | +                    dataIndex: 'createTimeFormattedDate',
 | 
												
													
														
															|  | 
 |  | +                    key: 'createTimeFormattedDate'
 | 
												
													
														
															|  | 
 |  | +                }, {
 | 
												
													
														
															|  | 
 |  | +                    title: '内容',
 | 
												
													
														
															|  | 
 |  | +                    dataIndex: 'content',
 | 
												
													
														
															|  | 
 |  | +                    key: 'content',
 | 
												
													
														
															|  | 
 |  | +                }, {
 | 
												
													
														
															|  | 
 |  | +                    title: '公司',
 | 
												
													
														
															|  | 
 |  | +                    dataIndex: 'unitName',
 | 
												
													
														
															|  | 
 |  | +                    key: 'unitName',
 | 
												
													
														
															|  | 
 |  | +                }, {
 | 
												
													
														
															|  | 
 |  | +                    title: '业务员',
 | 
												
													
														
															|  | 
 |  | +                    dataIndex: 'principle',
 | 
												
													
														
															|  | 
 |  | +                    key: 'principle',
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +            ],
 | 
												
													
														
															|  | 
 |  | +            data: []
 | 
												
													
														
															|  | 
 |  | +        };
 | 
												
													
														
															|  | 
 |  | +    },
 | 
												
													
														
															|  | 
 |  | +    loadReaded(pageNo) {
 | 
												
													
														
															|  | 
 |  | +        this.state.data = [];
 | 
												
													
														
															|  | 
 |  | +        this.setState({
 | 
												
													
														
															|  | 
 |  | +            loading: true
 | 
												
													
														
															|  | 
 |  | +        });
 | 
												
													
														
															|  | 
 |  | +        $.ajax({
 | 
												
													
														
															|  | 
 |  | +            method: "get",
 | 
												
													
														
															|  | 
 |  | +            dataType: "json",
 | 
												
													
														
															|  | 
 |  | +            crossDomain: false,
 | 
												
													
														
															|  | 
 |  | +            url: globalConfig.context + "/api/admin/notice/readed",
 | 
												
													
														
															|  | 
 |  | +            data: {
 | 
												
													
														
															|  | 
 |  | +                pageNo: pageNo || 1,
 | 
												
													
														
															|  | 
 |  | +                pageSize: this.state.pagination.pageSize,
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +        }).done((data) => {
 | 
												
													
														
															|  | 
 |  | +            if (!data.data) {
 | 
												
													
														
															|  | 
 |  | +                if (data.error && data.error.length) {
 | 
												
													
														
															|  | 
 |  | +                    message.warning(data.error[0].message);
 | 
												
													
														
															|  | 
 |  | +                    return;
 | 
												
													
														
															|  | 
 |  | +                };
 | 
												
													
														
															|  | 
 |  | +            };
 | 
												
													
														
															|  | 
 |  | +            this.state.data = [];
 | 
												
													
														
															|  | 
 |  | +            for (let i = 0; i < data.data.list.length; i++) {
 | 
												
													
														
															|  | 
 |  | +                let thisdata = data.data.list[i];
 | 
												
													
														
															|  | 
 |  | +                this.state.data.push({
 | 
												
													
														
															|  | 
 |  | +                    key: i + 1,
 | 
												
													
														
															|  | 
 |  | +                    id: thisdata.id,
 | 
												
													
														
															|  | 
 |  | +                    rid: thisdata.rid,
 | 
												
													
														
															|  | 
 |  | +                    uid: thisdata.uid,
 | 
												
													
														
															|  | 
 |  | +                    aid: thisdata.aid,
 | 
												
													
														
															|  | 
 |  | +                    noticeType: thisdata.noticeType,
 | 
												
													
														
															|  | 
 |  | +                    year: thisdata.year,
 | 
												
													
														
															|  | 
 |  | +                    noticeTypeName: thisdata.noticeTypeName,
 | 
												
													
														
															|  | 
 |  | +                    content: thisdata.content,
 | 
												
													
														
															|  | 
 |  | +                    createTime: thisdata.createTime,
 | 
												
													
														
															|  | 
 |  | +                    createTimeFormattedDate: thisdata.createTimeFormattedDate,
 | 
												
													
														
															|  | 
 |  | +                    principle: thisdata.principle,
 | 
												
													
														
															|  | 
 |  | +                    unitName: thisdata.unitName
 | 
												
													
														
															|  | 
 |  | +                });
 | 
												
													
														
															|  | 
 |  | +            };
 | 
												
													
														
															|  | 
 |  | +            this.state.pagination.current = data.data.pageNo;
 | 
												
													
														
															|  | 
 |  | +            this.state.pagination.total = data.data.totalCount;
 | 
												
													
														
															|  | 
 |  | +            this.setState({
 | 
												
													
														
															|  | 
 |  | +                dataSource: this.state.data,
 | 
												
													
														
															|  | 
 |  | +                pagination: this.state.pagination
 | 
												
													
														
															|  | 
 |  | +            });
 | 
												
													
														
															|  | 
 |  | +        }).always(function () {
 | 
												
													
														
															|  | 
 |  | +            this.setState({
 | 
												
													
														
															|  | 
 |  | +                loading: false
 | 
												
													
														
															|  | 
 |  | +            });
 | 
												
													
														
															|  | 
 |  | +        }.bind(this));
 | 
												
													
														
															|  | 
 |  | +    },
 | 
												
													
														
															|  | 
 |  | +    loadUnread(pageNo) {
 | 
												
													
														
															|  | 
 |  | +        this.state.data = [];
 | 
												
													
														
															|  | 
 |  | +        this.setState({
 | 
												
													
														
															|  | 
 |  | +            loading: true
 | 
												
													
														
															|  | 
 |  | +        });
 | 
												
													
														
															|  | 
 |  | +        $.ajax({
 | 
												
													
														
															|  | 
 |  | +            method: "get",
 | 
												
													
														
															|  | 
 |  | +            dataType: "json",
 | 
												
													
														
															|  | 
 |  | +            crossDomain: false,
 | 
												
													
														
															|  | 
 |  | +            url: globalConfig.context + "/api/admin/notice/unread",
 | 
												
													
														
															|  | 
 |  | +            data: {
 | 
												
													
														
															|  | 
 |  | +                pageNo: pageNo || 1,
 | 
												
													
														
															|  | 
 |  | +                pageSize: this.state.UnreadPagination.pageSize,
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +        }).done((data) => {
 | 
												
													
														
															|  | 
 |  | +            if (!data.data) {
 | 
												
													
														
															|  | 
 |  | +                if (data.error && data.error.length) {
 | 
												
													
														
															|  | 
 |  | +                    message.warning(data.error[0].message);
 | 
												
													
														
															|  | 
 |  | +                    return;
 | 
												
													
														
															|  | 
 |  | +                };
 | 
												
													
														
															|  | 
 |  | +            };
 | 
												
													
														
															|  | 
 |  | +            this.state.data = [];
 | 
												
													
														
															|  | 
 |  | +            for (let i = 0; i < data.data.list.length; i++) {
 | 
												
													
														
															|  | 
 |  | +                let thisdata = data.data.list[i];
 | 
												
													
														
															|  | 
 |  | +                this.state.data.push({
 | 
												
													
														
															|  | 
 |  | +                    key: i + 1,
 | 
												
													
														
															|  | 
 |  | +                    id: thisdata.id,
 | 
												
													
														
															|  | 
 |  | +                    rid: thisdata.rid,
 | 
												
													
														
															|  | 
 |  | +                    uid: thisdata.uid,
 | 
												
													
														
															|  | 
 |  | +                    aid: thisdata.aid,
 | 
												
													
														
															|  | 
 |  | +                    noticeType: thisdata.noticeType,
 | 
												
													
														
															|  | 
 |  | +                    year: thisdata.year,
 | 
												
													
														
															|  | 
 |  | +                    noticeTypeName: thisdata.noticeTypeName,
 | 
												
													
														
															|  | 
 |  | +                    content: thisdata.content,
 | 
												
													
														
															|  | 
 |  | +                    createTime: thisdata.createTime,
 | 
												
													
														
															|  | 
 |  | +                    createTimeFormattedDate: thisdata.createTimeFormattedDate,
 | 
												
													
														
															|  | 
 |  | +                    principle: thisdata.principle,
 | 
												
													
														
															|  | 
 |  | +                    unitName: thisdata.unitName
 | 
												
													
														
															|  | 
 |  | +                });
 | 
												
													
														
															|  | 
 |  | +            };
 | 
												
													
														
															|  | 
 |  | +            this.state.UnreadPagination.current = data.data.pageNo;
 | 
												
													
														
															|  | 
 |  | +            this.state.UnreadPagination.total = data.data.totalCount;
 | 
												
													
														
															|  | 
 |  | +            this.setState({
 | 
												
													
														
															|  | 
 |  | +                unreadData: this.state.data,
 | 
												
													
														
															|  | 
 |  | +                UnreadPagination: this.state.UnreadPagination
 | 
												
													
														
															|  | 
 |  | +            });
 | 
												
													
														
															|  | 
 |  | +        }).always(function () {
 | 
												
													
														
															|  | 
 |  | +            this.setState({
 | 
												
													
														
															|  | 
 |  | +                loading: false
 | 
												
													
														
															|  | 
 |  | +            });
 | 
												
													
														
															|  | 
 |  | +        }.bind(this));
 | 
												
													
														
															|  | 
 |  | +    },
 | 
												
													
														
															|  | 
 |  | +    componentWillMount() {
 | 
												
													
														
															|  | 
 |  | +        this.loadReaded();
 | 
												
													
														
															|  | 
 |  | +        this.loadUnread();
 | 
												
													
														
															|  | 
 |  | +    },
 | 
												
													
														
															|  | 
 |  | +    render() {
 | 
												
													
														
															|  | 
 |  | +        return (
 | 
												
													
														
															|  | 
 |  | +            <div className="set-content">
 | 
												
													
														
															|  | 
 |  | +                <div className="set-title">
 | 
												
													
														
															|  | 
 |  | +                    <span>管理员中心</span>
 | 
												
													
														
															|  | 
 |  | +                </div>
 | 
												
													
														
															|  | 
 |  | +                <Spin spinning={this.state.loading} className='spin-box'>
 | 
												
													
														
															|  | 
 |  | +                    <Tabs defaultActiveKey="1">
 | 
												
													
														
															|  | 
 |  | +                        <Tabs.TabPane tab="新信息" key="1">
 | 
												
													
														
															|  | 
 |  | +                            <Table columns={this.state.columns}
 | 
												
													
														
															|  | 
 |  | +                                dataSource={this.state.unreadData}
 | 
												
													
														
															|  | 
 |  | +                                pagination={this.state.UnreadPagination} />
 | 
												
													
														
															|  | 
 |  | +                        </Tabs.TabPane>
 | 
												
													
														
															|  | 
 |  | +                        <Tabs.TabPane tab="已读信息" key="2">
 | 
												
													
														
															|  | 
 |  | +                            <Table columns={this.state.columns}
 | 
												
													
														
															|  | 
 |  | +                                dataSource={this.state.dataSource}
 | 
												
													
														
															|  | 
 |  | +                                pagination={this.state.pagination} />
 | 
												
													
														
															|  | 
 |  | +                        </Tabs.TabPane>
 | 
												
													
														
															|  | 
 |  | +                    </Tabs>
 | 
												
													
														
															|  | 
 |  | +                </Spin>
 | 
												
													
														
															|  | 
 |  | +            </div>
 | 
												
													
														
															|  | 
 |  | +        );
 | 
												
													
														
															|  | 
 |  | +    }
 | 
												
													
														
															|  | 
 |  | +});
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  const Content = React.createClass({
 |  |  const Content = React.createClass({
 | 
												
													
														
															|  |      getInitialState() {
 |  |      getInitialState() {
 | 
												
											
												
													
														
															|  | @@ -24,6 +241,7 @@ const Content = React.createClass({
 | 
												
													
														
															|  |                  <div className="content-right">
 |  |                  <div className="content-right">
 | 
												
													
														
															|  |                      <Spin spinning={this.state.loading} className='spin-box'>
 |  |                      <Spin spinning={this.state.loading} className='spin-box'>
 | 
												
													
														
															|  |                          <div className="index-content">
 |  |                          <div className="index-content">
 | 
												
													
														
															|  | 
 |  | +                            <MessageModal />
 | 
												
													
														
															|  |                          </div>
 |  |                          </div>
 | 
												
													
														
															|  |                      </Spin>
 |  |                      </Spin>
 | 
												
													
														
															|  |                  </div>
 |  |                  </div>
 |