liting2017 6 years ago
parent
commit
4b1db0c0fb

+ 16 - 24
js/component/account/achievement/achievementDetails.jsx

@@ -24,7 +24,7 @@ import {
     Col
 } from 'antd';
 import {  getIndustryCategory } from '@/DicIndustryList.js';
-import {  splitUrl ,getMaturity,getTransaction,getAchievementPosition,getAchievementCategory,getReleaseStateList,getInnovation} from '@/tools.js';
+import {  splitUrl ,getMaturity,getAchievementType,getTransaction,getAchievementPosition,getAchievementCategory,getReleaseStateList,getInnovation} from '@/tools.js';
 
 const DemandDetail = Form.create()(React.createClass({
     getInitialState() {
@@ -45,7 +45,7 @@ const DemandDetail = Form.create()(React.createClass({
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context +  '/api/user/demand/demandDetail' ,
+            url: globalConfig.context +  '/api/user/achievement/achievementDetail' ,
             data: {
                 id: id
             },
@@ -66,11 +66,7 @@ const DemandDetail = Form.create()(React.createClass({
                     publishPagesArr:publishPagesArr,
                     data: thisData,
                     auditStatus:thisData.auditStatus,
-					isHot:thisData.isHot,
-					isUrgent:thisData.isUrgent,
-					status:thisData.status,
-					isHot:thisData.isHot,
-                    pictureUrl: thisData.pictureUrl ? splitUrl(thisData.pictureUrl, ',', globalConfig.avatarHost + '/upload') : []
+                    pictureUrl: thisData.technicalPictureUrl ? splitUrl(thisData.technicalPictureUrl, ',', globalConfig.avatarHost + '/upload') : []
                 });
             }.bind(this),
         }).always(function () {
@@ -97,7 +93,7 @@ const DemandDetail = Form.create()(React.createClass({
             method: "POST",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context +'/api/user/demand/refreshPublish',
+            url: globalConfig.context +'/api/user/achievement/refreshPublish',
             data: {
                 id: this.state.id,
                 auditStatus:this.state.auditStatus
@@ -155,9 +151,6 @@ const DemandDetail = Form.create()(React.createClass({
                 this.loadData(nextProps.data.id);
             } else {
 				this.state.data = {};
-				this.state.isUrgent=undefined;//加急需求
-				this.state.isHot=undefined;//是否悬赏
-				this.state.status=undefined;
                 this.state.pictureUrl = [];
             };
             this.props.form.resetFields();
@@ -175,7 +168,6 @@ const DemandDetail = Form.create()(React.createClass({
 			<div className='login'>
 			<Form layout="horizontal" id="demand-form">
 				<Spin spinning={this.state.loading}>
-                   
                     <div className="clearfix">
 						<FormItem className="half-item" {...formItemLayout} label="标题">
 							<span>{theData.name}</span>
@@ -183,41 +175,41 @@ const DemandDetail = Form.create()(React.createClass({
 					</div>
 					<div className="clearfix">
 						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="发个成果吧">
-							<span>{theData.problemDes}</span>
+							<span>{theData.introduction}</span>
 						</FormItem>
 						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="知识产权情况">
-							<span>{theData.problemDes}</span>
+							<span>{theData.patentCase}</span>
 						</FormItem>
 						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="技术参数">
-							<span>{theData.problemDes}</span>
+							<span>{theData.parameter}</span>
 						</FormItem>
 						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="团队情况">
-							<span>{theData.problemDes}</span>
+							<span>{theData.teamDes}</span>
 						</FormItem>
 					</div>
 					<div className="clearfix">
                         <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="关键字">
-                            <span>{theData.keyword}</span>
+                            <span>{theData.keywords&&theData.keywords.length?(theData.keywords).join(','):''}</span>
                         </FormItem>
 					</div>
 					<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="行业领域">
-                        <span>{getIndustryCategory(theData.industryCategoryA,theData.industryCategoryB)}</span>
+                        <span>{getIndustryCategory(theData.fieldA,theData.fieldB)}</span>
                     </FormItem>
 					<div className="clearfix">
 						<FormItem className="half-item" {...formItemLayout} label="成果类型">
-                            <span>{getTransaction(theData.achievementType)}</span>
+                            <span>{getAchievementType(theData.dataCategory)}</span>
 						</FormItem>
 						<FormItem className="half-item" {...formItemLayout} label="知识产权类型">
-                            <span>{getAchievementCategory(theData.achievementType)}</span>
+                            <span>{getAchievementCategory(theData.category)}</span>
 						</FormItem>
 						<FormItem className="half-item" {...formItemLayout} label="创新度">
-                            <span>{getInnovation(theData.achievementType)}</span>
+                            <span>{getInnovation(theData.innovation)}</span>
 						</FormItem>
 						<FormItem className="half-item" {...formItemLayout} label="成熟度">
-                            <span>{getMaturity(theData.achievementType)}</span>
+                            <span>{getMaturity(theData.maturity)}</span>
 						</FormItem>
 						<FormItem className="half-item" {...formItemLayout} label="交易形式">
-                            <span>{getTransaction(theData.achievementType)}</span>
+                            <span>{getTransaction(theData.transferMode)}</span>
 						</FormItem>
 					</div>
 					<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="成果文件(图片)">
@@ -247,7 +239,7 @@ const DemandDetail = Form.create()(React.createClass({
                     <div>
                         <FormItem className="half-item" labelCol={{ span: 6 }}
 							wrapperCol={{ span: 18 }} label="发布位置">
-                                <span>{getAchievementPosition(this.state.publishPagesArr)}</span>
+                                <span>{getAchievementPosition(theData.publishPages)}</span>
 						</FormItem>
                     </div>
                     <div className="clearfix">

+ 48 - 58
js/component/account/achievement/achievementForm.jsx

@@ -176,7 +176,7 @@ const DemandDetailForm = Form.create()(React.createClass({
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context +  '/api/user/demand/demandDetail' ,
+            url: globalConfig.context +  '/api/user/achievement/achievementDetail' ,
             data: {
                 id: id
             },
@@ -188,21 +188,13 @@ const DemandDetailForm = Form.create()(React.createClass({
                     };
                     thisData = {};
 				};
-				let publishPagesArr = [];
-				thisData.publishPages.map(item=>{
-					publishPagesArr.push(item.publishPage)
-				})
                 this.setState({
 					id:thisData.id,
-					tags: thisData.keyword ? thisData.keyword.split(",") : [],
+					tags: thisData.keywords,
 					data: thisData,
+					publishPages:thisData.publishPages,
 					auditStatus:thisData.auditStatus,
-					publishPagesArr:publishPagesArr,
-					isHot:thisData.isHot,
-					isUrgent:thisData.isUrgent,
-					status:thisData.status,
-					isHot:thisData.isHot,
-                    pictureUrl: thisData.pictureUrl ? splitUrl(thisData.pictureUrl, ',', globalConfig.avatarHost + '/upload') : []
+                    pictureUrl: thisData.technicalPictureUrl ? splitUrl(thisData.technicalPictureUrl, ',', globalConfig.avatarHost + '/upload') : []
                 });
             }.bind(this),
         }).always(function () {
@@ -243,32 +235,34 @@ const DemandDetailForm = Form.create()(React.createClass({
                     method: "post",
 					dataType: "json",
 					async:true,
-                    url: this.props.data.id ? globalConfig.context + '/api/user/demand/updateDemand' : globalConfig.context + '/api/user/demand/apply',
+                    url: this.props.data.id ? globalConfig.context + '/api/user/achievement/update' : globalConfig.context + '/api/user/achievement/apply',
                     data: {
                         id: this.props.data.id,
 						name: values.name,
-                        industryCategoryA: values.industryCategory ? values.industryCategory[0] : undefined,
-                        industryCategoryB: values.industryCategory ? values.industryCategory[1] : undefined,
-                        demandType: values.demandType,
-                        problemDes: values.problemDes,
-                        pictureUrl: thePictureUrl,
-						crowdCost:values.crowdCost,
+                        fieldA: values.industryCategory ? values.industryCategory[0] : undefined,
+                        fieldB: values.industryCategory ? values.industryCategory[1] : undefined,
+                        dataCategory: values.dataCategory,
+                        category: values.category,
+                        technicalPictureUrl: thePictureUrl,
+						introduction:values.introduction,
 						keyword: this.state.tags ? this.state.tags.join(",") : [],
 						keywords: this.state.tags,
-						budgetCost:values.budgetCost,
-						urgentDays:values.urgentDays,
-						urgentMoney:values.urgentMoney,
+						maturity:values.maturity,
+						innovation:values.innovation,
+						transferMode:values.transferMode,
 						auditStatus:index,
-                        status: this.state.status,
-						isUrgent: this.state.isUrgent,
-						isHot:this.state.isHot,
+                        patentCase: values.patentCase,
+						teamDes: values.teamDes,
+						parameter: values.parameter,
+						boutique: values.boutique,
+						isHot:values.isHot,
 						publishPages:values.publishPages,
-						researchType:values.researchType
                     }
                 }).done(function (data) {
                     this.setState({
                         loading: false
-                    });
+					});
+
                     if (!data.error.length) {
                         message.success('操作成功!');
                         this.setState({
@@ -289,10 +283,9 @@ const DemandDetailForm = Form.create()(React.createClass({
             dataType: "json",
 			crossDomain: false,
 			async:true,
-            url: globalConfig.context + "/api/user/demand/publishDemand",
+            url: globalConfig.context + "/api/user/achievement/commit",
             data: {
 				id: this.state.id,
-				auditStatus:this.state.auditStatus
             }
         }).done(function (data) {
             if (!data.error.length) {
@@ -314,7 +307,7 @@ const DemandDetailForm = Form.create()(React.createClass({
 			this.state.data = {};
 			this.state.tags = [];
 			this.setState({
-				publishPagesArr:['app_achievement_list','web_achievement_list']
+				publishPages:['app_achievement_list','web_achievement_list']
 			})
         };
     },
@@ -326,13 +319,10 @@ const DemandDetailForm = Form.create()(React.createClass({
                 this.loadData(nextProps.data.id);
             } else {
 				this.state.data = {};
-				this.state.isUrgent=undefined;//加急需求
-				this.state.isHot=undefined;//是否悬赏
-				this.state.status=undefined;
 				this.state.pictureUrl = [];
 				this.state.tags = [];
 				this.setState({
-					publishPagesArr:['app_achievement_list','web_achievement_list']
+					publishPages:['app_achievement_list','web_achievement_list']
 				})
             };
 			this.props.form.resetFields();
@@ -360,24 +350,24 @@ const DemandDetailForm = Form.create()(React.createClass({
 					</div>
 					<div className="clearfix">
 						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="发个成果吧">
-							{getFieldDecorator('problemDes', {
+							{getFieldDecorator('introduction', {
 								rules: [ { required: true, message: '此项为必填项!' } ],
-								initialValue: theData.problemDes
+								initialValue: theData.introduction
 							})(<Input type="textarea" rows={4} placeholder="请详细介绍您的技术成果情况,包括但不限于:能解决什么问题、重大技术性突破、取得的奖励情况." />)}
 						</FormItem>
 						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="知识产权情况">
-							{getFieldDecorator('problemDes2', {
-								initialValue: theData.problemDes2
+							{getFieldDecorator('patentCase', {
+								initialValue: theData.patentCase
 							})(<Input type="textarea" rows={4} placeholder="请输入您的知识产权情况." />)}
 						</FormItem>
 						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="技术参数">
-							{getFieldDecorator('problemDes4', {
-								initialValue: theData.problemDes4
+							{getFieldDecorator('parameter', {
+								initialValue: theData.parameter
 							})(<Input type="textarea" rows={4} placeholder="请输入您的技术成果参数." />)}
 						</FormItem>
 						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="团队情况">
-							{getFieldDecorator('problemDes3', {
-								initialValue: theData.problemDes3
+							{getFieldDecorator('teamDes', {
+								initialValue: theData.teamDes
 							})(<Input type="textarea" rows={4} placeholder="请输入您的团队情况." />)}
 						</FormItem>
 					</div>
@@ -395,14 +385,14 @@ const DemandDetailForm = Form.create()(React.createClass({
 					<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="行业领域">
 						{getFieldDecorator('industryCategory', {
 							rules: [ { type: 'array', required: true, message: '此项为必填项!' } ],
-							initialValue: [ theData.industryCategoryA, theData.industryCategoryB ]
+							initialValue: [ theData.fieldA, theData.fieldB ]
 						})(<Cascader style={{ width: 300 }} options={IndustryObject} placeholder="请选择一个行业" />)}
 					</FormItem>
 					<div className="clearfix">
 						<FormItem className="half-item" {...formItemLayout} label="成果类型">
-							{getFieldDecorator('demandType', {
+							{getFieldDecorator('dataCategory', {
 									rules: [ { required: true, message: '此项为必填项!' } ],
-									initialValue:(theData.demandType||theData.demandType=='0'?theData.demandType.toString():undefined)
+									initialValue:(theData.dataCategory||theData.dataCategory=='0'?theData.dataCategory.toString():undefined)
 							})(
 								<Select style={{ width: 160 }} placeholder="请选择成果类型"
 									>
@@ -415,8 +405,9 @@ const DemandDetailForm = Form.create()(React.createClass({
 							)}
 						</FormItem>
 						<FormItem className="half-item" {...formItemLayout} label="知识产权类型">
-							{getFieldDecorator('demandType1', {
-									initialValue:(theData.demandType2||theData.demandType2=='0'?theData.demandType2.toString():undefined)
+							{getFieldDecorator('category', {
+									rules: [ { required: true, message: '此项为必填项!' } ],
+									initialValue:(theData.category||theData.category=='0'?theData.category.toString():undefined)
 							})(
 								<Select style={{ width: 160 }} placeholder="请选择知识产权类型"
 									>
@@ -429,8 +420,8 @@ const DemandDetailForm = Form.create()(React.createClass({
 							)}
 						</FormItem>
 						<FormItem className="half-item" {...formItemLayout} label="创新度">
-							{getFieldDecorator('demandType1', {
-									initialValue:(theData.demandType4||theData.demandType4=='0'?theData.demandType4.toString():undefined)
+							{getFieldDecorator('innovation', {
+									initialValue:(theData.innovation||theData.innovation=='0'?theData.innovation.toString():undefined)
 							})(
 								<Select style={{ width: 160 }} placeholder="请选择创新度"
 									>
@@ -443,8 +434,8 @@ const DemandDetailForm = Form.create()(React.createClass({
 							)}
 						</FormItem>
 						<FormItem className="half-item" {...formItemLayout} label="成熟度">
-							{getFieldDecorator('demandType1', {
-									initialValue:(theData.demandType5||theData.demandType5=='0'?theData.demandType5.toString():undefined)
+							{getFieldDecorator('maturity', {
+									initialValue:(theData.maturity||theData.maturity=='0'?theData.maturity.toString():undefined)
 							})(
 								<Select style={{ width: 160 }} placeholder="请选择成熟度"
 									>
@@ -457,8 +448,8 @@ const DemandDetailForm = Form.create()(React.createClass({
 							)}
 						</FormItem>
 						<FormItem className="half-item" {...formItemLayout} label="交易形式">
-							{getFieldDecorator('demandType1', {
-									initialValue:(theData.demandType6||theData.demandType6=='0'?theData.demandType6.toString():undefined)
+							{getFieldDecorator('transferMode', {
+									initialValue:(theData.transferMode||theData.transferMode=='0'?theData.transferMode.toString():undefined)
 							})(
 								<Select style={{ width: 160 }} placeholder="请选择交易形式"
 									>
@@ -474,7 +465,6 @@ const DemandDetailForm = Form.create()(React.createClass({
 					<div className="clearfix">
 						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="成果文件(图片)">
 							<PicturesWall
-								uid={theData.employerId}
 								fileList={this.getPictureUrl}
 								pictureUrl={this.state.pictureUrl}
 								visible={this.props.visible}
@@ -483,8 +473,8 @@ const DemandDetailForm = Form.create()(React.createClass({
 					</div>
 					<div className="clearfix">
 						<FormItem className="half-item" {...formItemLayout} label="精品成果">
-							{getFieldDecorator('urgentDays', {
-								initialValue: theData.fineQuality 
+							{getFieldDecorator('boutique', {
+								initialValue: theData.boutique 
 							})(
 								<Radio.Group>
 									<Radio value={0}>非精品</Radio>
@@ -511,7 +501,7 @@ const DemandDetailForm = Form.create()(React.createClass({
 							wrapperCol={{ span: 18 }} label="发布位置">
 							{getFieldDecorator('publishPages', {
 								rules: [ { required: false } ],
-								initialValue: this.state.publishPagesArr
+								initialValue: this.state.publishPages
 							})(
 								<Checkbox.Group>
 									<Row>
@@ -541,7 +531,7 @@ const DemandDetailForm = Form.create()(React.createClass({
 								type="ghost"
 								onClick={(e) => {
 									if(this.props.data.id){
-										this.submission(e,this.state.auditStatus)
+										this.submission(e,1)
 									}else{
 										this.handleSubmit(e,1)
 									}

+ 34 - 22
js/component/account/achievement/techAchievement.jsx

@@ -5,7 +5,7 @@ import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import '@/account/demand/techDemand.less';
 import TechDemandDesc from '@/account/achievement/achievementDesc';
-import { demandTypeList } from '@/dataDic.js';
+import { demandTypeList,achievementCategoryList,achievementType } from '@/dataDic.js';
 import { getDemandType,getReleaseStateList,getAchievementType } from '@/tools.js';
 
 const DemandList = React.createClass({
@@ -19,13 +19,15 @@ const DemandList = React.createClass({
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/user/demand/list",
+            url: globalConfig.context + "/api/user/achievement/list",
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
-                name: this.state.name, //需求名称
+                name: this.state.nameSearch, //需求名称
                 startDate: this.state.releaseDate[0],
                 endDate: this.state.releaseDate[1],
+                dataCategory:this.state.dataCategorySearch,
+                auditStatus:this.state.auditStatusSearch,
             },
             success: function (data) {
                 let theArr = [];
@@ -41,10 +43,8 @@ const DemandList = React.createClass({
                             id: thisdata.id,
                             serialNumber: thisdata.serialNumber, //编号
                             name: thisdata.name,
-                            demandType: thisdata.demandType,
+                            dataCategory: thisdata.dataCategory,
                             auditStatus: thisdata.auditStatus, //审核状态
-                            createTime:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
-                            status:thisdata.status, //需求状态
                             releaseDate:thisdata.releaseDate?(new Date(thisdata.releaseDate)).toLocaleString():''
                         });
                     };
@@ -97,8 +97,8 @@ const DemandList = React.createClass({
                     key: 'name',
                 },  {
                     title: '成果类型',
-                    dataIndex: 'demandType',
-                    key: 'demandType',
+                    dataIndex: 'dataCategory',
+                    key: 'dataCategory',
                     render: text => { return getAchievementType(text); }
                 },
                 {
@@ -140,10 +140,9 @@ const DemandList = React.createClass({
             method: "POST",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/user/demand/publishDemand",
+            url: globalConfig.context + "/api/user/achievement/commit",
             data: {
-				id:record.id,
-				auditStatus:record.auditStatus
+				id:record.id
             }
         }).done(function (data) {
             if (!data.error.length) {
@@ -166,7 +165,7 @@ const DemandList = React.createClass({
             method: "POST",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context +'/api/user/demand/refreshPublish',
+            url: globalConfig.context +'/api/user/achievement/refreshPublish',
             data: {
                 id: recard.id,
                 auditStatus:recard.auditStatus
@@ -265,8 +264,10 @@ const DemandList = React.createClass({
         this.loadData();
     },
     reset() {
-        this.state.name = '';
+        this.state.nameSearch = '';
         this.state.releaseDate = [];
+        this.state.dataCategorySearch = undefined;
+        this.state.auditStatusSearch = undefined;
         this.loadData();
     },
     searchSwitch() {
@@ -284,13 +285,6 @@ const DemandList = React.createClass({
                 });
             }
         };
-        this.state.dataSource=[
-            {key:1,auditStatus:0,serialNumber:0},
-            {key:2,auditStatus:1,serialNumber:1},
-            {key:3,auditStatus:2,serialNumber:2},
-            {key:4,auditStatus:3,serialNumber:3},
-            {key:5,auditStatus:4,serialNumber:4}
-        ]
         const hasSelected = this.state.selectedRowKeys.length > 0;
         const { RangePicker } = DatePicker;
         return (
@@ -303,8 +297,26 @@ const DemandList = React.createClass({
                 </div>
                 <div className="user-search">
                     <Input placeholder="成果名称"
-                        value={this.state.name}
-                        onChange={(e) => { this.setState({ name: e.target.value }); }} />
+                        value={this.state.nameSearch}
+                        onChange={(e) => { this.setState({ nameSearch: e.target.value }); }} />
+                    <Select placeholder="发布状态" style={{ width: 120 }}
+                        value={this.state.auditStatusSearch}
+                        onChange={(e) => { this.setState({ auditStatusSearch: e }) }}>
+                        <Select.Option value="0" >草稿</Select.Option>
+                        <Select.Option value="1" >发布审核</Select.Option>
+                        <Select.Option value="2" >已发布</Select.Option>
+                        <Select.Option value="3" >发布失败</Select.Option>
+                        <Select.Option value="4" >已撤销</Select.Option>
+                    </Select>
+                    <Select placeholder="成果类型" style={{ width: 120 }}
+                        value={this.state.dataCategorySearch}
+                        onChange={(e) => { this.setState({ dataCategorySearch: e }) }}>
+                        { 
+                            achievementType.map(function (item) {
+                                return	<Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>
+                            })
+                        }
+                    </Select>    
                     <Button type="primary" onClick={this.search}>搜索</Button>
                     <Button onClick={this.reset}>重置</Button>
                     <span>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch} /></span>

+ 0 - 1
js/component/account/index/leftMenu.jsx

@@ -132,7 +132,6 @@ const LeftTab = React.createClass({
 			}
 		});
 		menu[1].children = menuList;
-		this.state.type=1;
 		if (this.state.type == '0' || this.state.type == '1') {
 			newMenu = menu.concat(demandList);
 		}else{

+ 37 - 63
js/component/administration/achievement/achievementDetaiel.jsx

@@ -26,7 +26,7 @@ import {
 import { getTechField } from '@/DicTechFieldList.js';
 import {areaSelect,getProvince } from '@/NewDicProvinceList';
 import { IndustryObject, getIndustryCategory } from '@/DicIndustryList.js';
-import {  splitUrl, companySearch, getDemandType, getAchievementCategory,getReleaseStateList,getReleasePositionList } from '@/tools.js';
+import {  splitUrl ,getMaturity,getAchievementType,getTransaction,getAchievementPosition,getAchievementCategory,getReleaseStateList,getInnovation} from '@/tools.js';
 const FormItem = Form.Item;
 
 const DemandDetail = Form.create()(React.createClass({
@@ -48,7 +48,7 @@ const DemandDetail = Form.create()(React.createClass({
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context +  '/api/user/demand/demandDetail' ,
+            url: globalConfig.context +  '/api/admin/achievement/achievementDetail' ,
             data: {
                 id: id
             },
@@ -64,13 +64,7 @@ const DemandDetail = Form.create()(React.createClass({
                 thisData.publishPages.map(item=>{
 					publishPagesArr.push(item.publishPage)
                 })
-				// let ProvinceCityArr = [];
-				// let ProvinceS = thisData.locationProvince; //getprovince
-				// let citys = thisData.locationCity;
-				// let Areas = thisData.locationArea;
-				// ProvinceCityArr.push(ProvinceS, citys, Areas);
                 this.setState({
-					//ProvinceCity:ProvinceCityArr,
                     id:thisData.id,
                     publishPagesArr:publishPagesArr,
 					data: thisData,
@@ -99,10 +93,10 @@ const DemandDetail = Form.create()(React.createClass({
             loading:true
         })
         $.ajax({
-            method: "get",
+            method: "post",
             dataType: "JSON",
             crossDomain: false,
-            url: globalConfig.context +  '/api/admin/demand/auditDemand',
+            url: globalConfig.context +  '/api/admin/achievement/audit',
             data: {
                 id: this.state.id,
                 auditResult:index,
@@ -158,11 +152,6 @@ const DemandDetail = Form.create()(React.createClass({
                 this.loadData(nextProps.data.id);
             } else {
 				this.state.data = {};
-				this.state.demandType=undefined; //需求类型
-				this.state.urgent=undefined;//加急需求
-				this.state.offer=undefined;//是否悬赏
-				this.state.hotDemand=undefined;
-				this.state.solve=undefined;
                 this.state.pictureUrl = [];
             };
             this.props.form.resetFields();
@@ -180,66 +169,51 @@ const DemandDetail = Form.create()(React.createClass({
 			<div className='login'>
 			<Form layout="horizontal" id="demand-form">
 				<Spin spinning={this.state.loading}>
-                <div className="clearfix">
-						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="发个需求吧">
-                            <span>{theData.problemDes}</span>
-                        </FormItem>
+                    <div className="clearfix">
 						<FormItem className="half-item" {...formItemLayout} label="标题">
-                            <span>{theData.name}</span>
+							<span>{theData.name}</span>
 						</FormItem>
 					</div>
-                    <div className>
-                        <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="关键字">
-                            <span>{theData.keyword}</span>
-                        </FormItem>
-                    </div>
-					<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="行业领域">
-                        <span>{getIndustryCategory(theData.industryCategoryA,theData.industryCategoryB)}</span>
-                    </FormItem>
 					<div className="clearfix">
-						<FormItem className="half-item" {...formItemLayout} label="需求类型">
-                                <span>{getDemandType(theData.demandType)}</span>
+						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="发个成果吧">
+							<span>{theData.introduction}</span>
 						</FormItem>
-						{theData.demandType=='5'&&
-							<FormItem className="half-item" {...formItemLayout} label="人才需求酬劳">
-							     <span>{theData.crowdCost} 元/月</span>
-						    </FormItem>}
-						{theData.demandType=='3'&&<div className="clearfix"><FormItem className="half-item" {...formItemLayout} label="资金需求额度">
-                            <span>{theData.budgetCost}万元</span>
+						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="知识产权情况">
+							<span>{theData.patentCase}</span>
 						</FormItem>
-						<FormItem className="half-item" {...formItemLayout} label="资金用途">
-							<span>{theData.researchType=='1'&&'扩大再生产'}</span>
-                            <span>{theData.researchType=='0'&&'研发'}</span>
+						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="技术参数">
+							<span>{theData.parameter}</span>
+						</FormItem>
+						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="团队情况">
+							<span>{theData.teamDes}</span>
 						</FormItem>
-						</div>
-						}
 					</div>
-					<p style={{marginLeft:40,fontSize:18,marginBottom:15}}>您还可以说明</p>
 					<div className="clearfix">
-						<FormItem className="half-item" {...formItemLayout} label="加急需求">
-                            <span>{theData.isUrgent?'加急':'非加急'}</span>
-						</FormItem>
-						{theData.isUrgent?<div><FormItem className="half-item" {...formItemLayout} label="日期">
-							<span>{theData.urgentDays}</span>
+                        <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="关键字">
+                            <span>{theData.keywords&&theData.keywords.length?(theData.keywords).join(','):''}</span>
                         </FormItem>
-                        <FormItem className="half-item" {...formItemLayout} label="悬赏金额">
-							<span style={{ marginLeft: '20px' }}>{theData.urgentMoney}万元</span>
-						</FormItem>
-                        </div>:''}
 					</div>
+					<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="行业领域">
+                        <span>{getIndustryCategory(theData.fieldA,theData.fieldB)}</span>
+                    </FormItem>
 					<div className="clearfix">
-						<FormItem className="half-item" {...formItemLayout} label="热点需求">
-                            <span>{theData.isHot?'热点':'非热点'}</span>
+						<FormItem className="half-item" {...formItemLayout} label="成果类型">
+                            <span>{getAchievementType(theData.dataCategory)}</span>
+						</FormItem>
+						<FormItem className="half-item" {...formItemLayout} label="知识产权类型">
+                            <span>{getAchievementCategory(theData.category)}</span>
 						</FormItem>
-						<FormItem className="half-item" {...formItemLayout} label="解决">
-                            <span>
-                                {theData.status=='0'&&'进行中'}
-                                {theData.status=='1'&&'未解决'}
-                                {theData.status=='2'&&'已解决'}
-                            </span>
+						<FormItem className="half-item" {...formItemLayout} label="创新度">
+                            <span>{getInnovation(theData.innovation)}</span>
+						</FormItem>
+						<FormItem className="half-item" {...formItemLayout} label="成熟度">
+                            <span>{getMaturity(theData.maturity)}</span>
+						</FormItem>
+						<FormItem className="half-item" {...formItemLayout} label="交易形式">
+                            <span>{getTransaction(theData.transferMode)}</span>
 						</FormItem>
 					</div>
-					<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="需求文件(图片)">
+					<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="成果文件(图片)">
                         <div className="clearfix">
                                 <Upload className="demandDetailShow-upload"
                                     listType="picture-card"
@@ -266,14 +240,14 @@ const DemandDetail = Form.create()(React.createClass({
                     <div>
                         <FormItem className="half-item" labelCol={{ span: 6 }}
 							wrapperCol={{ span: 18 }} label="发布位置">
-                                 <span>{getReleasePositionList(this.state.publishPagesArr)}</span>
+                                <span>{getAchievementPosition(theData.publishPages)}</span>
 						</FormItem>
                     </div>
-                    <div className="clearfix">
+                   {!this.props.examineState&&<div className="clearfix">
                             <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="审核信息">
                                 <span>{theData.auditInfo}</span>
                             </FormItem>
-					</div>
+					</div>}
 					<div className="clearfix">
 						{this.props.examineState&&<FormItem wrapperCol={{ span: 12, offset: 3 }}>
 							<Button className="set-submit" type="primary"  onClick={(e)=>{this.updateFun(1)}} >

+ 25 - 33
js/component/administration/achievement/achievementExamine.jsx

@@ -5,9 +5,9 @@ import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import './techAchievement.less';
 import TechDemandDesc from './achievementDesc.jsx';
-import { demandTypeList,achievementCategoryList } from '@/dataDic.js';
+import {achievementCategoryList,achievementType } from '@/dataDic.js';
 import { IndustryObject, getIndustryCategory } from '@/DicIndustryList.js';
-import { getTransaction,getReleaseStateList,getAchievementCategory } from '@/tools.js';
+import { getTransaction,getReleaseStateList,getAchievementCategory,getAchievementType } from '@/tools.js';
 
 const DemandList = React.createClass({
     loadData(pageNo) {
@@ -20,14 +20,14 @@ const DemandList = React.createClass({
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/admin/demand/list",
+            url: globalConfig.context + "/api/admin/achievement/list",
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
-                employerName: this.state.employerNameSearch,//客户名称
+                ownerName: this.state.employerNameSearch,//客户名称
                 name: this.state.nameSearch,
-                demandType: this.state.demandTypeSearch ? Number(this.state.demandTypeSearch) : undefined,
-                status: this.state.statusSearch ? Number(this.state.statusSearch) : undefined,
+                dataCategory: this.state.dataCategorySearch ? Number(this.state.dataCategorySearch) : undefined,
+                category: this.state.categorySearch ? Number(this.state.categorySearch) : undefined,
                 startDate: this.state.releaseDate[0],
                 endDate: this.state.releaseDate[1],
                 auditStatus: 1
@@ -45,14 +45,13 @@ const DemandList = React.createClass({
                             key: i,
                             id: thisdata.id,
                             serialNumber: thisdata.serialNumber,
-                            status: thisdata.status,
                             name: thisdata.name,
-                            demandType: thisdata.demandType,
+                            fieldA:thisdata.fieldA,
+                            fieldB:thisdata.fieldB,
+                            category: thisdata.category,
+                            dataCategory: thisdata.dataCategory,
                             auditStatus: thisdata.auditStatus,
-                            isHot: thisdata.isHot,
-                            isUrgent: thisdata.isUrgent,
-                            employerName:thisdata.employerName,
-                            createTime:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
+                            ownerName:thisdata.ownerName,
                             releaseDate:thisdata.releaseDate?(new Date(thisdata.releaseDate)).toLocaleString():''
                         });
                     };
@@ -105,26 +104,20 @@ const DemandList = React.createClass({
                     key: 'name',
                 },  {
                     title: '成果类型',
-                    dataIndex: 'demandType',
-                    key: 'demandType',
-                    render: (text) => { return getTransaction(text); }
+                    dataIndex: 'dataCategory',
+                    key: 'dataCategory',
+                    render: (text) => { return getAchievementType(text); }
                 },
                 {
                     title: '知识产权类型',
-                    dataIndex: 'demandType1',
-                    key: 'demandType1',
+                    dataIndex: 'category',
+                    key: 'category',
                     render: (text) => { return getAchievementCategory(text); }
                 },
                 {
-                    title: '行业领域',
-                    dataIndex: 'industryCategory',
-                    key: 'industryCategory',
-                    render: (text,recard) => { return getIndustryCategory(recard.industryCategoryA,recard.industryCategoryB) }
-                },
-                {
                     title: '客户名称',
-                    dataIndex: 'employerName',
-                    key: 'employerName'
+                    dataIndex: 'ownerName',
+                    key: 'ownerName'
                 },
                 {
                     title: '发布状态',
@@ -149,7 +142,7 @@ const DemandList = React.createClass({
     },
     componentWillMount() {
         let theArr = [];
-        demandTypeList.map(function (item) {
+        achievementType.map(function (item) {
             theArr.push(
                 <Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>
             )
@@ -199,9 +192,8 @@ const DemandList = React.createClass({
     },
     reset() {
         this.state.nameSearch = '';
-        this.state.demandTypeSearch = undefined;
-        this.state.auditStatus = undefined;
-        this.state.statusSearch = undefined;
+        this.state.dataCategorySearch = undefined;
+        this.state.categorySearch = undefined;
         this.state.employerNameSearch='';
         this.state.releaseDate = [];
         this.loadData();
@@ -234,13 +226,13 @@ const DemandList = React.createClass({
                         onChange={(e) => { this.setState({ nameSearch: e.target.value }); }} />
                     <Select placeholder="选择成果类型"
                         style={{ width: 120 }}
-                        value={this.state.demandTypeSearch}
-                        onChange={(e) => { this.setState({ demandTypeSearch: e }) }}>
+                        value={this.state.dataCategorySearch}
+                        onChange={(e) => { this.setState({ dataCategorySearch: e }) }}>
                         {this.state.demandTypeOption}
                     </Select>
                     <Select placeholder="知识产权类型" style={{ width: 120 }}
-                        value={this.state.auditStatus1}
-                        onChange={(e) => { this.setState({ auditStatus: e }) }}>
+                        value={this.state.categorySearch}
+                        onChange={(e) => { this.setState({ categorySearch: e }) }}>
                         { 
                             achievementCategoryList.map(function (item) {
                                 return	<Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>

+ 29 - 47
js/component/administration/achievement/techAchievement.jsx

@@ -7,7 +7,7 @@ import './techAchievement.less';
 import TechDemandDesc from './achievementDesc.jsx';
 import { achievementType,achievementCategoryList } from '@/dataDic.js';
 import { IndustryObject, getIndustryCategory } from '@/DicIndustryList.js';
-import { getTransaction,getReleaseStateList ,getAchievementCategory} from '@/tools.js';
+import { getTransaction,getReleaseStateList ,getAchievementCategory,getAchievementType} from '@/tools.js';
 
 const DemandList = React.createClass({
     loadData(pageNo) {
@@ -20,14 +20,14 @@ const DemandList = React.createClass({
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/admin/demand/list",
+            url: globalConfig.context + "/api/admin/achievement/list",
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
-                employerName: this.state.employerNameSearch,//客户名称
+                ownerName: this.state.employerNameSearch,//客户名称
                 name: this.state.nameSearch,
-                demandType: this.state.demandTypeSearch ? Number(this.state.demandTypeSearch) : undefined,
-                status: this.state.statusSearch ? Number(this.state.statusSearch) : undefined,
+                dataCategory: this.state.dataCategorySearch ? Number(this.state.dataCategorySearch) : undefined,
+                auditStatus:this.state.auditStatusSearch,
                 startDate: this.state.releaseDate[0],
                 endDate: this.state.releaseDate[1],
             },
@@ -44,14 +44,15 @@ const DemandList = React.createClass({
                             key: i,
                             id: thisdata.id,
                             serialNumber: thisdata.serialNumber,
-                            status: thisdata.status,
                             name: thisdata.name,
-                            demandType: thisdata.demandType,
+                            category:thisdata.category,
+                            fieldA:thisdata.thisdata,
+                            fieldB:thisdata.fieldB,
+                            dataCategory: thisdata.dataCategory,
                             auditStatus: thisdata.auditStatus,
                             isHot: thisdata.isHot,
-                            isUrgent: thisdata.isUrgent,
-                            employerName:thisdata.employerName,
-                            createTime:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
+                            boutique: thisdata.boutique,
+                            ownerName:thisdata.ownerName,
                             releaseDate:thisdata.releaseDate?(new Date(thisdata.releaseDate)).toLocaleString():''
                         });
                     };
@@ -104,38 +105,26 @@ const DemandList = React.createClass({
                     key: 'name',
                 },  {
                     title: '成果类型',
-                    dataIndex: 'demandType',
-                    key: 'demandType',
-                    render: (text) => { return getTransaction(text); }
+                    dataIndex: 'dataCategory',
+                    key: 'dataCategory',
+                    render: (text) => { return getAchievementType(text); }
                 },
                 {
                     title: '知识产权类型',
-                    dataIndex: 'demandType1',
-                    key: 'demandType1',
+                    dataIndex: 'category',
+                    key: 'category',
                     render: (text) => { return getAchievementCategory(text); }
                 },
                 {
-                    title: '行业领域',
-                    dataIndex: 'industryCategory',
-                    key: 'industryCategory',
-                    render: (text,recard) => { return getIndustryCategory(recard.industryCategoryA,recard.industryCategoryB) }
-                },
-                {
-                    title: '热门标识',
-                    dataIndex: 'isHot',
-                    key: 'isHot',
-                    render: text => { return text?'热门':'非热门'; }
-                },
-                {
                     title: '精品标识',
-                    dataIndex: 'isUrgent',
-                    key: 'isUrgent',
+                    dataIndex: 'boutique',
+                    key: 'boutique',
                     render: text => { return text?'精品':'非精品' }
                 },
                 {
                     title: '客户名称',
-                    dataIndex: 'employerName',
-                    key: 'employerName'
+                    dataIndex: 'ownerName',
+                    key: 'ownerName'
                 },
                 {
                     title: '发布状态',
@@ -205,11 +194,10 @@ const DemandList = React.createClass({
     },
     reset() {
         this.state.nameSearch = '';
-        this.state.demandTypeSearch = undefined;
-        this.state.auditStatus = undefined;
-        this.state.statusSearch = undefined;
-        this.state.employerNameSearch='';
+        this.state.dataCategorySearch = undefined;
+        this.state.auditStatusSearch = undefined;
         this.state.releaseDate = [];
+        this.state.employerNameSearch=''
         this.loadData();
     },
     searchSwitch() {
@@ -238,26 +226,20 @@ const DemandList = React.createClass({
                     <Input placeholder="成果名称"
                         value={this.state.nameSearch}
                         onChange={(e) => { this.setState({ nameSearch: e.target.value }); }} />
-                    <Select placeholder="选择成果类型"
-                        style={{ width: 120 }}
-                        value={this.state.demandTypeSearch}
-                        onChange={(e) => { this.setState({ demandTypeSearch: e }) }}>
-                        {this.state.demandTypeOption}
-                    </Select>
                     <Select placeholder="发布状态" style={{ width: 120 }}
-                        value={this.state.auditStatus}
-                        onChange={(e) => { this.setState({ auditStatus: e }) }}>
+                        value={this.state.auditStatusSearch}
+                        onChange={(e) => { this.setState({ auditStatusSearch: e }) }}>
                         <Select.Option value="0" >草稿</Select.Option>
                         <Select.Option value="1" >发布审核</Select.Option>
                         <Select.Option value="2" >已发布</Select.Option>
                         <Select.Option value="3" >发布失败</Select.Option>
                         <Select.Option value="4" >已撤销</Select.Option>
                     </Select>
-                    <Select placeholder="知识产权类型" style={{ width: 120 }}
-                        value={this.state.auditStatus1}
-                        onChange={(e) => { this.setState({ auditStatus: e }) }}>
+                    <Select placeholder="成果类型" style={{ width: 120 }}
+                        value={this.state.dataCategorySearch}
+                        onChange={(e) => { this.setState({ dataCategorySearch: e }) }}>
                         { 
-                            achievementCategoryList.map(function (item) {
+                            achievementType.map(function (item) {
                                 return	<Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>
                             })
                         }

+ 1 - 1
js/component/tools.js

@@ -1423,7 +1423,7 @@ module.exports = {
         if (e||e==0) {
             let str=e.toString();
             let theType = '';
-            releaseStateList.map(function (item) {
+            achievementType.map(function (item) {
                 if (item.value == str) {
                     theType = item.key;
                 };