import React from 'react'; import { Spin, Button, Tabs, Table } from 'antd'; import ajax from 'jquery/src/ajax/xhr.js' import $ from 'jquery/src/ajax'; import '../content.less'; import './content.less'; import LeftTab from './leftTab.jsx'; 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({ getInitialState() { return { loading: false }; }, render() { return ( <div className="manage-content"> <LeftTab handlekey={this.handlekey} /> <div className="content-right"> <Spin spinning={this.state.loading} className='spin-box'> <div className="index-content"> <MessageModal /> </div> </Spin> </div> </div> ) } }); export default Content; // <div className="index-content"> // <div className="index-userdata clearfix"> // <p className="acc-title">{this.state.number}</p> // <div className="userdata-img"> // <img src={globalConfig.staticHost + "/upload" + this.state.personPortraitUrl} alt="" /> // </div> // <div className="userdata-content"> // {(() => { // switch (userData.lvl || this.state.userlvl) { // case '0': // return <p className="userdata-lvl">等级:<span>LV1</span> 普通用户</p>; // case '1': // return <p className="userdata-lvl">等级:<span>LV2</span> 已认证用户</p>; // }; // })()} // <p>完善资料 {this.state.per}% ,<a href="./set.html">继续完善</a>,有助于提高您的资信</p> // <p className="userdata-relate" style={{ 'display': 'none' }}> // <Button className="relateqq"><img src={qq} alt="" /> QQ账号登录</Button> // <Button className="relateweibo"><img src={weibo} alt="" />微博账号登录</Button> // <Button className="relateweixin"><img src={weixin} alt="" />微信账号登录</Button> // </p> // <div className="userdata-follow">已有<a href="">{this.state.follow}</a>人关注你</div> // </div> // </div> // <div className="index-record"> // <p className="acc-title">我的轨迹</p> // <ul className="record-list clearfix"> // <li>技术成果:<a href="">{this.state.chengguo}</a>项</li> // <li>技术开发:<a href="">{this.state.kaifa}</a>项</li> // <li>科技服务:<a href="">{this.state.fuwu}</a>项</li> // <li>发布需求:<a href="">{this.state.xuqiu}</a>项</li> // </ul> // </div> // <div className="index-activity"> // <Tabs defaultActiveKey="1" onChange={this.tabChange}> // <TabPane tab="活动" key="1"> // <p className="acc-title">即将举办的活动</p> // <ul className="activity-list"> // { // this.state.activityArr.map(function (item, i) { // return <li key={i}> // <span className="list-type">[{item.type}]</span> // <span className="list-title">{item.title}</span> // <a href={item.link}>报名</a> // <span className="list-time">{item.time}</span> // </li>; // }) // } // </ul> // </TabPane> // <TabPane tab="其他" key="2">Content of Tab Pane 2</TabPane> // </Tabs> // </div> // </div>