import React from 'react'; import { Pagination, Icon, message, Row, Col, Radio, Checkbox, Input, InputNumber, Button, Table, Spin } from 'antd'; import '../portal.less'; import logoImg from 'img/logo.png'; import searchImg from 'img/search.png'; import demand_sup from 'img/demand_sup.png'; import demand_ico_5 from 'img/demand_ico_5.png'; import demand_ico_3 from 'img/demand_ico_3.png'; import demand_ico_2 from 'img/demand_ico_2.png'; import demand_ico_1 from 'img/demand_ico_1.png'; import uncertify from 'img/demand_ico_6.png'; import certify from 'img/demand_ico_6_atv.png'; import { IndustryObject, getIndustryCategory } from '@/DicIndustryList'; import { demandTypeList } from '@/dataDic'; import { getDemandType } from '@/tools'; import ajax from 'jquery/src/ajax/xhr.js'; import $ from 'jquery/src/ajax'; const Content = React.createClass({ loadData(pageNo) { this.setState({ loading: true }); switch (this.state.budgetCost) { case 1: this.state.budgetCostLower = 1; this.state.budgetCostUpper = 10; break; case 2: this.state.budgetCostLower = 10; this.state.budgetCostUpper = 50; break; case 3: this.state.budgetCostLower = 50; this.state.budgetCostUpper = 100; break; case 4: this.state.budgetCostLower = 100; this.state.budgetCostUpper = 500; break; case 5: this.state.budgetCostLower = 500; this.state.budgetCostUpper = 1000; break; case 6: this.state.budgetCostLower = null; this.state.budgetCostUpper = null; this.state.sign = 1; break; case 999: this.state.budgetCostLower = null; this.state.budgetCostUpper = null; this.state.sign = 0; break; }; $.ajax({ method: "get", dataType: "json", url: globalConfig.context + "/portal/search/demandList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, keyword: this.state.keyword, demandType: this.state.demandType == 999 ? null : this.state.demandType, budgetCostLower: this.state.budgetCostLower, //交易金额下限 budgetCostUpper: this.state.budgetCostUpper, //交易金额上限 industryCategoryA: this.state.fieldA || null, //技术领域(行业类别A) industryCategoryB: this.state.fieldB == 999 ? null : this.state.fieldB, //技术领域(行业类别B) sign: this.state.sign }, success: function (data) { let theArr = []; if (!data.data || !data.data.list) { if (data.error && data.error.length) { message.warning(data.error[0].message); }; data.data = {}; } 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, keyword: thisdata.keyword, dataCategory: thisdata.dataCategory, name: thisdata.name, level: thisdata.level, industryCategory: [thisdata.industryCategoryA, thisdata.industryCategoryB], industryCategoryA: thisdata.industryCategoryA, industryCategoryB: thisdata.industryCategoryB, demandType: thisdata.demandType, budgetCost: thisdata.budgetCost, problemDes: thisdata.problemDes, releaseDate: thisdata.releaseDate, employerName: thisdata.employerName, releaseDateFormattedDate: thisdata.releaseDateFormattedDate }); }; }; this.state.pagination.pageNo = data.data.pageNo; this.state.pagination.total = data.data.totalCount; this.setState({ dataSource: theArr, pagination: this.state.pagination }); }.bind(this), }).done(function (data) { this.state.sign = 0; if (data.error && data.error.length) { message.warning(data.error[0].message); }; this.setState({ loading: false }); }.bind(this)); }, getInitialState() { return { loading: false, showDesc: false, industryRadioB: [], sign: 0, budgetCost: 999, budgetCostLower: null, budgetCostUpper: null, pagination: { pageNo: 1, pageSize: 10, total: 0 }, dataSource: [] }; }, componentWillMount() { let theArr = []; let demandArr = []; //行业分类单选项 theArr.push( 不限 ); IndustryObject.map(function (item) { theArr.push( {item.label} ); }); //技术类型单选项目 demandArr.push( 不限 ); demandTypeList.map(function (item) { demandArr.push( {item.key} ); }); this.state.industryRadioA = theArr; this.state.demandTypeRadio = demandArr; if (window.location.search) { let theUrl = window.location.search this.state.keyword = theUrl.substring(1, theUrl.length); this.state.keyword = decodeURIComponent(this.state.keyword); }; this.loadData(); }, industryChange(e) { let theArr = []; if (e.target.value !== 999) { theArr.push( 不限 ); IndustryObject.map(function (item1) { if (item1.value == e.target.value) { item1.children.map(function (item2) { theArr.push( {item2.label} ); }); } }); this.state.fieldA = e.target.value; } else { this.state.fieldA = null; this.state.fieldB = null; }; this.loadData(); this.setState({ industryRadioB: theArr }); }, tableRowClick(record, index) { window.open(globalConfig.context + '/portal/detail/demandDetail.html?id=' + record.id + '&type=' + record.dataCategory); }, closeDesc(e) { this.setState({ showDesc: e }); }, render() { const { pageNo, pageSize, total } = this.state.pagination; const _me = this; return (
行业分类 {this.state.industryRadioA} {this.state.industryRadioB.length > 1 ? 行业子分类 { this.state.fieldB = e.target.value; this.loadData() }}> {this.state.industryRadioB} :
} 技术类型 { this.setState({ demandType: e.target.value }); this.state.demandType = e.target.value; this.loadData(); }}> {this.state.demandTypeRadio}
{ this.setState({ keyword: e.target.value }); }} />
    {this.state.dataSource.map((item) => { return
  • { this.tableRowClick(item) }}>

    {item.name}

    {item.employerName}

    {item.level ? '身份已验证' : '身份未验证'}
    需求 关键词: {item.keyword}
    需求 需求描述: {item.problemDes}
    预算 预算: {item.budgetCost ? item.budgetCost + ' 万元' : '价格面议'}
    类型 类型: {getDemandType(item.demandType)}
    行业 行业: {getIndustryCategory(item.industryCategoryA, item.industryCategoryB)}
  • })}
{ this.loadData(e); }} total={total} showTotal={() => { return '共' + total + '条数据' }} current={pageNo} pageSize={pageSize} />
) } }); export default Content; // // // 预算价格 // // // { // this.setState({ // budgetCost: e.target.value // }); // this.state.budgetCost = e.target.value; // this.loadData(); // }}> // 不限 // 1-10万元 // 10-50万元 // 50-100万元 // 100-500万元 // 500-1000万元 // 面议 // // // // { if (e.target.checked) { this.setState({ budgetCost: null }) } }}>自定义金额 // { this.state.budgetCostLower = e; }} /> // // { this.state.budgetCostUpper = e; }} /> // 万元 // // //