123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339 |
- import React from 'react';
- import { Spin, Button, Tabs } from 'antd';
- import ajax from 'jquery/src/ajax/xhr.js'
- import $ from 'jquery/src/ajax';
- import DemandDesc from '../../portal/search/demandDesc';
- import AchievementDesc from '../../portal/search/achievementDesc';
- import './content.less';
- const TabPane = Tabs.TabPane;
- const Content = React.createClass({
- achievementLoadData(pageNo) {
- this.state.data = [];
- this.setState({
- loading: true
- });
- $.ajax({
- method: "get",
- dataType: "json",
- crossDomain: false,
- url: globalConfig.context + "/api/user/portal/achievementInterestList",
- data: {
- pageNo: pageNo || 1,
- pageSize: this.state.pagination.pageSize
- },
- success: function (data) {
- let theArr = [];
- if (!data.data && !data.data.list) {
- if (data.error && data.error.length) {
- message.warning(data.error[0].message);
- };
- } else {
- for (let i = 0; i < data.data.list.length; i++) {
- let thisdata = data.data.list[i];
- theArr.push({
- key: i,
- id: thisdata.id,
- achievementId: thisdata.achievementId,
- createTime: thisdata.createTime,
- name: thisdata.name,
- serialNumber: thisdata.serialNumber,
- deletedSign: thisdata.deletedSign,
- auditStatus: thisdata.auditStatus,
- createTimeFormattedDate: thisdata.createTimeFormattedDate
- });
- };
- }
- this.state.achievementPagination.current = data.data.pageNo;
- this.state.achievementPagination.total = data.data.totalCount;
- this.setState({
- achievementDataSource: theArr,
- achievementPagination: this.state.achievementPagination
- });
- }.bind(this),
- }).always(function () {
- this.setState({
- loading: false
- });
- }.bind(this));
- },
- demandLoadData(pageNo) {
- this.state.data = [];
- this.setState({
- loading: true
- });
- $.ajax({
- method: "get",
- dataType: "json",
- crossDomain: false,
- url: globalConfig.context + "/api/user/demand/list",
- data: {
- pageNo: pageNo || 1,
- pageSize: this.state.pagination.pageSize,
- serialNumber: this.state.serialNumber,
- name: this.state.name,
- keyword: this.state.keyword,
- demandType: this.state.demandType ? Number(this.state.demandType) : undefined,
- status: this.state.status ? Number(this.state.status) : undefined,
- releaseStatus: this.state.releaseStatus ? Number(this.state.releaseStatus) : undefined,
- validityPeriodStartDate: this.state.validityPeriodDate[0],
- validityPeriodEndDate: this.state.validityPeriodDate[1],
- releaseDateStartDate: this.state.releaseDate[0],
- releaseDateEndDate: this.state.releaseDate[1],
- auditStatus: this.state.auditStatus
- },
- success: function (data) {
- let theArr = [];
- if (!data.data && !data.data.list) {
- if (data.error && data.error.length) {
- message.warning(data.error[0].message);
- };
- } else {
- for (let i = 0; i < data.data.list.length; i++) {
- let thisdata = data.data.list[i];
- theArr.push({
- key: i,
- id: thisdata.id,
- serialNumber: thisdata.serialNumber,
- dataCategory: thisdata.dataCategory,
- name: thisdata.name,
- keyword: thisdata.keyword,
- releaseDate: thisdata.releaseDate,
- demandType: thisdata.demandType,
- validityPeriod: thisdata.validityPeriod,
- status: thisdata.status,
- releaseStatus: thisdata.releaseStatus,
- employerId: thisdata.employerId,
- releaseDateFormattedDate: thisdata.releaseDateFormattedDate,
- validityPeriodFormattedDate: thisdata.validityPeriodFormattedDate,
- auditStatus: thisdata.auditStatus
- });
- };
- }
- this.state.pagination.current = data.data.pageNo;
- this.state.pagination.total = data.data.totalCount;
- this.setState({
- dataSource: theArr,
- pagination: this.state.pagination
- });
- }.bind(this),
- }).always(function () {
- this.setState({
- loading: false
- });
- }.bind(this));
- },
- getInitialState() {
- return {
- loading: false,
- demandShowDesc: false,
- achievementShowDesc: false,
- achievementPagination: {
- defaultCurrent: 1,
- defaultPageSize: 10,
- showQuickJumper: true,
- pageSize: 10,
- onChange: function (page) {
- this.achievementLoadData(page);
- }.bind(this),
- showTotal: function (total) {
- return '共' + total + '条数据';
- }
- },
- achievementColumns: [
- {
- title: '编号',
- dataIndex: 'serialNumber',
- key: 'serialNumber',
- }, {
- title: '需求名称',
- dataIndex: 'name',
- key: 'name',
- }, {
- title: '关键字',
- dataIndex: 'keyword',
- key: 'keyword',
- }, {
- title: '需求类型',
- dataIndex: 'demandType',
- key: 'demandType',
- render: text => { return getDemandType(text); }
- }, {
- title: '审核状态',
- dataIndex: 'auditStatus',
- key: 'auditStatus',
- render: text => {
- switch (text) {
- case "0":
- return <span>未提交审核(草稿)</span>;
- case "1":
- return <span>提交审核</span>;
- case "2":
- return <span>审核中</span>;
- case "3":
- return <span>审核通过</span>;
- case "4":
- return <span>审核未通过</span>;
- }
- }
- }, {
- title: '需求状态',
- dataIndex: 'status',
- key: 'status',
- render: text => {
- switch (text) {
- case "0":
- return <span>进行中</span>;
- case "1":
- return <span>未解决</span>;
- case "2":
- return <span>已解决</span>;
- }
- }
- }, {
- title: '有效期限',
- dataIndex: 'validityPeriodFormattedDate',
- key: 'validityPeriodFormattedDate',
- }, {
- title: '发布时间',
- dataIndex: 'releaseDateFormattedDate',
- key: 'releaseDateFormattedDate',
- }
- ],
- achievementDataSource: [],
- demandPagination: {
- defaultCurrent: 1,
- defaultPageSize: 10,
- showQuickJumper: true,
- pageSize: 10,
- onChange: function (page) {
- this.demandLoadData(page);
- }.bind(this),
- showTotal: function (total) {
- return '共' + total + '条数据';
- }
- },
- demandColumns: [
- {
- title: '编号',
- dataIndex: 'serialNumber',
- key: 'serialNumber',
- }, {
- title: '需求名称',
- dataIndex: 'name',
- key: 'name',
- }, {
- title: '关键字',
- dataIndex: 'keyword',
- key: 'keyword',
- }, {
- title: '需求类型',
- dataIndex: 'demandType',
- key: 'demandType',
- render: text => { return getDemandType(text); }
- }, {
- title: '审核状态',
- dataIndex: 'auditStatus',
- key: 'auditStatus',
- render: text => {
- switch (text) {
- case "0":
- return <span>未提交审核(草稿)</span>;
- case "1":
- return <span>提交审核</span>;
- case "2":
- return <span>审核中</span>;
- case "3":
- return <span>审核通过</span>;
- case "4":
- return <span>审核未通过</span>;
- }
- }
- }, {
- title: '需求状态',
- dataIndex: 'status',
- key: 'status',
- render: text => {
- switch (text) {
- case "0":
- return <span>进行中</span>;
- case "1":
- return <span>未解决</span>;
- case "2":
- return <span>已解决</span>;
- }
- }
- }, {
- title: '有效期限',
- dataIndex: 'validityPeriodFormattedDate',
- key: 'validityPeriodFormattedDate',
- }, {
- title: '发布时间',
- dataIndex: 'releaseDateFormattedDate',
- key: 'releaseDateFormattedDate',
- }
- ],
- demandDataSource: [],
- };
- },
- componentDidMount() {
- this.achievementLoadData();
- },
- tabChange(key) {
- },
- demandRowClick(record, index) {
- this.state.demandRowData = record;
- this.setState({
- demandShowDesc: true
- });
- },
- achievementRowClick(record, index) {
- this.state.achievementRowData = record;
- this.setState({
- achievementShowDesc: true
- });
- },
- demandCloseDesc(e) {
- this.setState({
- demandShowDesc: e
- });
- },
- achievementCloseDesc(e) {
- this.setState({
- achievementShowDesc: e
- });
- },
- render() {
- return (
- <div className="collection">
- <Spin spinning={this.state.loading} >
- <Tabs defaultActiveKey="1" onChange={this.tabChange}>
- <TabPane tab="我感兴趣的成果" key="1">
- <Table columns={this.state.achievementColumns}
- dataSource={this.state.achievementDataSource}
- pagination={this.state.achievementPagination}
- onRowClick={this.achievementRowClick} />
- </TabPane>
- <TabPane tab="我感兴趣的需求" key="2">
- <Table columns={this.state.demandColumns}
- dataSource={this.state.demandDataSource}
- pagination={this.state.demandPagination}
- onRowClick={this.demandRowClick} />
- </TabPane>
- </Tabs>
- </Spin>
- <DemandDesc data={this.state.demandRowData}
- showDesc={this.state.demandShowDesc}
- closeDesc={this.demandShowDesc} />
- <AchievementDesc data={this.state.achievementRowData}
- showDesc={this.state.achievementShowDesc}
- closeDesc={this.achievementShowDesc} />
- </div>
- )
- }
- });
- export default Content;
|