dengzhiguo 6 years ago
parent
commit
c7c582cb26

+ 32 - 0
js/component/dataDic.js

@@ -1616,6 +1616,38 @@ module.exports = {
         } 
     ], 
     //社会属性
+    demandProfile:[
+        {
+            value: '0',
+            label: "高端装备制造"
+        }, {
+            value: '1',
+            label: "生物医药"
+        },
+        {
+            value: '2',
+            label: "新一代信息技术"
+        },  
+        {
+            value: '3',
+            label: "新能源"
+        },{
+            value: '4',
+            label: "新能源汽车"
+        }, {
+            value: '5',
+            label: "新材料"
+        },
+        {
+            value: '6',
+            label: "现代农业"
+        },  
+        {
+            value: '7',
+            label: "节能环保"
+        }
+    ],
+    //社会属性
     socialAttributeS:[
         {
             value: '0',

+ 228 - 291
js/component/manageCenter/achievement/sichuan/sichuan.jsx

@@ -27,6 +27,58 @@ import './sichuan.css';
 const { TextArea } = Input;
 
 class Achievement extends React.Component {
+	loadData(pageNo) {
+		this.setState({
+			page: pageNo,
+			loading: true
+		});
+		$.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/open/api/achievementList",
+            data: {
+                pageNo: pageNo || 1,
+                pageSize: this.state.pagination.pageSize,
+                type:0,
+                name:this.state.seachName,//成果名称
+                ownerName:this.state.seachOwnerName,//所有权人
+                patentNumber:this.state.seachPatentNumber,//专利编号
+            },
+            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,//成果编号
+                            name: thisdata.name,//成果名称
+                            industry: thisdata.industry,//行业
+                            ownerName:thisdata.ownerName,//所有权人
+                            patentNumber:thisdata.patentNumber,//专利编号
+                            contacts:thisdata.contacts,//负责人姓名
+                            telephone:thisdata.telephone,//负责人电话
+                        });
+                    };
+                    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));
+	}
 	constructor(props) {
 		super(props);
 		this.state = {
@@ -47,39 +99,29 @@ class Achievement extends React.Component {
 			},
 			columns: [
 				{
-					title: '成果编号',
-					dataIndex: 'serialNumber',
-					key: 'serialNumber'
-				},
-				{
 					title: '成果名称',
 					dataIndex: 'name',
 					key: 'name'
 				},
 				{
-					title: '关键字',
-					dataIndex: 'keyword',
-					key: 'keyword'
+					title: '所有权人',
+					dataIndex: 'ownerName',
+					key: 'ownerName'
 				},
 				{
-					title: '行业领域',
-					dataIndex: 'auditStatus',
-					key: 'auditStatus'
+					title: '专利编号',
+					dataIndex: 'patentNumber',
+					key: 'patentNumber'
 				},
 				{
-					title: '企业名称',
-					dataIndex: 'createTime',
-					key: 'createTime'
+					title: '负责人姓名',
+					dataIndex: 'contacts',
+					key: 'contacts'
 				},
 				{
-					title: '拟对接单位',
-					dataIndex: 'releaseDate',
-					key: 'releaseDate'
-				},
-				{
-					title: '成果状态',
-					dataIndex: 'releaseDate1',
-					key: 'releaseDate1'
+					title: '负责人电话',
+					dataIndex: 'telephone',
+					key: 'telephone'
 				},
 				{
 					title: '操作',
@@ -89,15 +131,9 @@ class Achievement extends React.Component {
 						return (
 							<div className="btnRight">
 								<Button
-									style={{ marginRight: 10 }}
-									type="primary"
-									onClick={this.tableRowClick.bind(this)}
-								>
-									修改
-								</Button>
-								<Button
 									type="danger"
 									onClick={(e) => {
+										e.stopPropagation();
 										this.delectRow(recard);
 									}}
 								>
@@ -110,78 +146,33 @@ class Achievement extends React.Component {
 			]
 		};
 	}
-	loadData(pageNo) {
-		this.setState({
-			page: pageNo,
-			// loading: true
-		});
-//		axios.get('api/list',{
-//			params:{
-//				page:pageNo||1,
-//				pageSize:10
-//			}
-//		})
-//		.then(function(res) {
-//			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,
-//                          name: thisdata.name,
-//                          category:thisdata.category,
-//                          fieldA:thisdata.thisdata,
-//                          fieldB:thisdata.fieldB,
-//                      });
-//                  };
-//              }
-//              this.state.pagination.current = data.data.pageNo;
-//              this.state.pagination.total = data.data.totalCount;
-//              if(data.data&&data.data.list&&!data.data.list.length){
-//					this.state.pagination.current=0
-//					this.state.pagination.total=0
-//				}
-//              this.setState({
-//					loading:false,
-//                  dataSource: theArr,
-//                  pagination: this.state.pagination
-//              });
-//		})
-//		.catch(function(error) {
-//			console.log(error);
-//		});
-	}
-	//消息提示
-	message(mess) {
-		notification.open({
-			message: '提示',
-			description: mess,
-			placement: 'bottomRight'
-		});
-	}
+	
 	//删除
 	delectRow(recard) {
-		this.setState({
-			loading: true
-		});
-//		axios({
-//			method:'get',
-//			url:'api/sdas',
-//			}).then(function(res) {
-//				this.success('success');
-//				this.setState({
-//					loading: false
-//				});
-//			})
-//			.catch(function(error) {
-//				console.log(error);
-//			});
+		$.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/open/api/delectAchievement",
+            data: {
+                id:recard.id
+            },
+            success: function (data) {
+	            if (!data.error.length) {
+	                message.success('删除成功!');
+	                this.setState({
+	                    loading: false,
+	                });
+	                this.loadData();
+	            } else {
+	                message.warning(data.error[0].message);
+	            };
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
 	}
 	details(recard){
 		this.state({
@@ -209,67 +200,118 @@ class Achievement extends React.Component {
 		this.loadData(1);
 	}
 	reset() {
-		this.state.nameSearch = '';
-		this.state.keyword = '';
+		this.state.seachName = '';
+		this.state.seachOwnerName = '';
+		this.state.seachPatentNumber = '';
 		this.loadData(1);
 	}
 	tableRowClick(record, index) {
-		this.state.RowData = record;
 		this.setState({
 			visible: true,
 			addState: false,
-			uid: record.id
+			id:record.id,
 		});
-		this.details(record)
+		$.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/open/api/AchievementDetails",
+            data: {
+                id: record.id,//需求名称
+                
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+            	console.log(data.data);
+               let thisData=data.data;
+               this.setState({
+               		id:thisData.id,//需求ID
+	                name: thisData.name,//成果名称
+	                type:0,//需求类型
+	                industry:thisData.industry?thisData.industry.toString():"",//行业
+	                patentNumber: thisData.patentNumber,//专利编号
+	                ownerName: thisData.ownerName,//所有权人
+	                publisherName: thisData.publisherName,//联系人
+	                telephone: thisData.telephone,//联系方式
+	                reserveButtMode:thisData.reserveButtMode,//拟对接方式
+	                introduce: thisData.introduce,//技术成果内容
+	                pIntroduce: thisData.pIntroduce,//企业简介
+				});
+            } else {
+                message.warning(data.error[0].message);
+            };
+            this.setState({
+                loading: false,
+            });
+        }.bind(this));
 	}
 	handleOk() {
 		this.handleSubmit();
 	}
 	handleCancel() {
+		this.resets();
 		this.setState({
 			visible: false
 		});
 	}
 	handleSubmit() {
-		if (!this.state.name || !this.state.introduce) {
-			this.message('请填写带*项');
-			return false;
-		}
 		this.setState({
 			loading: true
 		});
-		let api = this.state.addState ? '/api/achievements' : '/api/update';
-//		axios
-//			.post(api, {
-//				id: this.state.uid,
-//				achievementDTO: {
-//					name: this.state.name,
-//					type: this.state.type,
-//					industry: this.state.industry,
-//					summary: this.state.summary,
-//					introduce: this.state.introduce,
-//					ownerName: this.state.ownerName,
-//					reserveButtMode: this.state.reserveButtMode,
-//					patentNumber: this.state.patentNumber,
-//					transferPrice: this.state.transferPrice
-//				},
-//				publisherDTO: {
-//					name: this.state.name,
-//					telephone: this.state.telephone
-//				}
-//			})
-//			.then(function(res) {
-//				console.log(res);
-//				this.message('success');
-//				this.setState({
-//					loading: false,
-//					visible: false
-//				});
-//				this.loadData(1);
-//			})
-//			.catch(function(error) {
-//				console.log(error);
-//			});
+		console.log(this.state.addState);
+		$.ajax({
+            method: "POST",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context +( this.state.addState?"/open/api/achievements":"/open/api/updateAchievement"),
+            data: {
+            	id:this.state.id,//需求ID
+                name: this.state.name,//成果名称
+                type:0,//需求类型
+                industry:this.state.industry,//行业
+                patentNumber: this.state.patentNumber,//专利编号
+                ownerName: this.state.ownerName,//所有权人
+                publisherName: this.state.publisherName,//联系人
+                telephone: this.state.telephone,//联系方式
+                reserveButtMode: this.state.reserveButtMode,//拟对接方式
+                introduce: this.state.introduce,//技术成果内容
+                pIntroduce: this.state.pIntroduce,//企业简介
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success(this.state.addState?'新建成功!':"修改成功!");
+                this.setState({
+	                visible: false,
+	            });
+                this.loadData();
+            } else {
+                message.warning(data.error[0].message);
+            };
+            this.setState({
+                loading: false,
+            });
+        }.bind(this));
+	}
+	resets(){
+		this.state.name = '',//需求名称
+        this.state.industry = undefined,//行业
+        this.state.investmentCost = '',//经费投入
+        this.state.reserveButtUnit = '',//拟对接单位
+        this.state.reserveButtMode = '',//拟对接方式
+        this.state.reserveSolveMode = '',//拟解决方式
+        this.state.publisherName = '',//联系人
+        this.state.telephone = '',//联系方式
+        this.state.summary = '',
+        this.state.introduce = '',//需求内容
+        this.state.Pname = '',//企业名称
+        this.state.nature = undefined,//企业特质
+        this.state.feature = '',//企业特征
+        this.state.ProvinceCity =undefined,//省
+        this.state.zipCode = '',//邮政编码
+        this.state.legalPerson = '',//法人名称
+        this.state.website = '',//企业网址
+        this.state.email = '',//企业邮箱
+        this.state.pIntroduce = ''//企业简介
 	}
 	componentWillMount() {
 		this.loadData(1);
@@ -288,11 +330,10 @@ class Achievement extends React.Component {
 			labelCol: { span: 6 },
 			wrapperCol: { span: 12 }
 		};
-		this.state.dataSource = [ { id: 212, key: 1, name: 'liting' }, { key: 2, name: 'YouXi' } ];
 		return (
 			<div className="user-content">
 				<div className="content-title">
-					<span className="title">我的科技成果</span>
+					<span className="title">四川科技成果</span>
 					<div className="patent-addNew">
 						<Button type="primary" onClick={this.add.bind(this)}>
 							发布成果<Icon type="plus" />
@@ -302,18 +343,26 @@ class Achievement extends React.Component {
 				<div className="user-search">
 					<Input
 						placeholder="成果名称"
-						value={this.state.name}
+						value={this.state.seachName}
 						className="searchInp"
 						onChange={(e) => {
-							this.setState({ name: e.target.value });
+							this.setState({ seachName: e.target.value });
 						}}
 						style={{ width: 120 }}
 					/>
 					<Input
-						placeholder="关键字"
-						value={this.state.keyword}
+						placeholder="所有权人"
+						value={this.state.seachOwnerName}
 						onChange={(e) => {
-							this.setState({ keyword: e.target.value });
+							this.setState({ seachOwnerName: e.target.value });
+						}}
+						style={{ width: 120 }}
+					/>
+					<Input
+						placeholder="专利编号"
+						value={this.state.seachPatentNumber}
+						onChange={(e) => {
+							this.setState({ seachPatentNumber: e.target.value });
 						}}
 						style={{ width: 120 }}
 					/>
@@ -331,11 +380,12 @@ class Achievement extends React.Component {
 							dataSource={this.state.dataSource}
 							rowSelection={rowSelection}
 							pagination={this.state.pagination}
+							onRowClick={this.tableRowClick.bind(this)}
 						/>
 					</Spin>
 				</div>
 				<Modal
-					title={this.state.addState ? '新建成果' : '查看成果'}
+					title={this.state.addState ? '新建成果' : '成果详情'}
 					visible={this.state.visible}
 					width="900px"
 					onOk={this.handleOk.bind(this)}
@@ -346,33 +396,17 @@ class Achievement extends React.Component {
 					<Form layout="horizontal" id="demand-form">
 						<Spin spinning={this.state.loading}>
 							<div className="clearfix">
-								{!this.state.addState ? (
-									<FormItem className="half-item" {...formItemLayout} label="成果编号">
-										<span />
-									</FormItem>
-								) : (
-									''
-								)}
-								<FormItem className="half-item" {...formItemLayout} label="专利编号">
-									<Input
-										placeholder="专利编号"
-										value={this.state.patentNumber}
-										onChange={(e) => {
-											this.setState({ patentNumber: e.target.value });
-										}}
-									/>
-								</FormItem>
 								<FormItem
 									className="half-item"
 									{...formItemLayout}
 									label={
 										<span>
-											<strong style={{ color: '#f00' }}>*</strong>成果名
+											<strong style={{ color: '#f00' }}>*</strong>技术简称
 										</span>
 									}
 								>
 									<Input
-										placeholder="成果名称."
+										placeholder="技术简称"
 										value={this.state.name}
 										onChange={(e) => {
 											this.setState({ name: e.target.value });
@@ -381,11 +415,11 @@ class Achievement extends React.Component {
 								</FormItem>
 								<FormItem className="half-item" {...formItemLayout} label="行业领域">
 									<Select
-										defaultValue={this.state.industry}
+										value={this.state.industry}
 										onChange={(e) => {
 											this.setState({ industry: e });
 										}}
-										placeholder="请选择"
+										placeholder="请选择行业领域"
 									>
 										<Select.Option value="0">先进制造与自动化</Select.Option>
 										<Select.Option value="1">电子信息技术</Select.Option>
@@ -395,7 +429,15 @@ class Achievement extends React.Component {
 										<Select.Option value="5">新能源</Select.Option>
 									</Select>
 								</FormItem>
-
+								<FormItem className="half-item" {...formItemLayout} label="专利编号">
+									<Input
+										placeholder="专利编号"
+										value={this.state.patentNumber}
+										onChange={(e) => {
+											this.setState({ patentNumber: e.target.value });
+										}}
+									/>
+								</FormItem>
 								<FormItem className="half-item" {...formItemLayout} label="所有权人">
 									<Input
 										placeholder="所有权人"
@@ -407,10 +449,10 @@ class Achievement extends React.Component {
 								</FormItem>
 								<FormItem className="half-item" {...formItemLayout} label="项目负责人">
 									<Input
-										placeholder="项目负责人"
-										value={this.state.cname}
+										placeholder="联系人"
+										value={this.state.publisherName}
 										onChange={(e) => {
-											this.setState({ cname: e.target.value });
+											this.setState({ publisherName: e.target.value });
 										}}
 									/>
 								</FormItem>
@@ -423,17 +465,16 @@ class Achievement extends React.Component {
 										}}
 									/>
 								</FormItem>
+								<FormItem className="half-item" {...formItemLayout} label="拟对接方式">
+									<Input
+										placeholder="拟对接方式"
+										value={this.state.reserveButtMode}
+										onChange={(e) => {
+											this.setState({ reserveButtMode: e.target.value });
+										}}
+									/>
+								</FormItem>
 								<div className="clearfix">
-									<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="技术简称">
-										<TextArea
-											autosize={{ minRows: 4, maxRows: 10 }}
-											placeholder="输入技术简称"
-											value={this.state.summary}
-											onChange={(e) => {
-												this.setState({ summary: e.target.value });
-											}}
-										/>
-									</FormItem>
 									<FormItem
 										labelCol={{ span: 3 }}
 										wrapperCol={{ span: 18 }}
@@ -454,118 +495,14 @@ class Achievement extends React.Component {
 										/>
 									</FormItem>
 								</div>
-								<Row>
-									<Col span={8} style={{ fontSize: 18 }}>
-										技术成果企业情况
-									</Col>
-								</Row>
 								<div className="clearfix">
-									<FormItem
-										className="half-item"
-										{...formItemLayout}
-										label={
-											<span>
-												<strong style={{ color: '#f00' }}>*</strong>企业名称
-											</span>
-										}
-									>
-										<Input
-											placeholder="企业名称."
-											value={this.state.cname}
+									<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="企业简介">
+										<TextArea autosize={{ minRows: 4, maxRows: 10 }} placeholder="输入企业简介" 
+										value={this.state.pIntroduce}
 											onChange={(e) => {
-												this.setState({ cname: e.target.value });
-											}}
-										/>
-									</FormItem>
-									<FormItem className="half-item" {...formItemLayout} label="科技主管部门">
-										<Input
-											placeholder="科技主管部门."
-											value={this.state.name}
-											onChange={(e) => {
-												this.setState({ name: e.target.value });
-											}}
-										/>
-									</FormItem>
-									<FormItem className="half-item" {...formItemLayout} label="单位性质">
-										<Select
-											defaultValue={this.state.name}
-											onChange={(e) => {
-												this.setState({ name: e });
-											}}
-											placeholder="请选择"
-										>
-											<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.Option value="5">外资企业</Select.Option>
-											<Select.Option value="6">私营企业</Select.Option>
-											<Select.Option value="7">集体企业</Select.Option>
-											<Select.Option value="8">国防军事企业</Select.Option>
-										</Select>
-									</FormItem>
-									<FormItem className="half-item" {...formItemLayout} label="企业特征">
-										<Input
-											placeholder="企业特征"
-											value={this.state.name}
-											onChange={(e) => {
-												this.setState({ name: e.target.value });
-											}}
-										/>
-									</FormItem>
-									<FormItem className="half-item" {...formItemLayout} label="邮政编码">
-										<Input
-											placeholder="邮政编码"
-											value={this.state.name}
-											onChange={(e) => {
-												this.setState({ name: e.target.value });
-											}}
-										/>
+												this.setState({ pIntroduce: e.target.value });
+											}}/>
 									</FormItem>
-									<div className="clearfix">
-										<FormItem className="half-item" {...formItemLayout} label="法定代表人">
-											<Input
-												placeholder="法定代表人"
-												value={this.state.name}
-												onChange={(e) => {
-													this.setState({ name: e.target.value });
-												}}
-											/>
-										</FormItem>
-										<FormItem className="half-item" {...formItemLayout} label="电话">
-											<Input
-												placeholder="电话"
-												value={this.state.name}
-												onChange={(e) => {
-													this.setState({ name: e.target.value });
-												}}
-											/>
-										</FormItem>
-										<FormItem className="half-item" {...formItemLayout} label="企业网址">
-											<Input
-												placeholder="企业网址"
-												value={this.state.name}
-												onChange={(e) => {
-													this.setState({ name: e.target.value });
-												}}
-											/>
-										</FormItem>
-										<FormItem className="half-item" {...formItemLayout} label="E-Mail">
-											<Input
-												placeholder="E-Mail"
-												value={this.state.name}
-												onChange={(e) => {
-													this.setState({ name: e.target.value });
-												}}
-											/>
-										</FormItem>
-									</div>
-									<div className="clearfix">
-										<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="企业简介">
-											<TextArea autosize={{ minRows: 4, maxRows: 10 }} placeholder="输入企业简介" />
-										</FormItem>
-									</div>
 								</div>
 							</div>
 						</Spin>

+ 11 - 0
js/component/manageCenter/demand/content.jsx

@@ -75,6 +75,17 @@ class Content extends Component {
                     });
                 });
                 break;
+             //四川
+            case 'siChuanMan':
+                require.ensure([], () => {
+                    const siChuanMan = require('./sichuan/sichuanman').default;
+                    this.setState({
+                        component: siChuanMan,
+                        listApiUrl: '/api/admin/achievement/myList',
+                        detailApiUrl: '/api/admin/achievement/orgDetail'
+                    });
+                });
+                break;
 //          case 'userTechDemand':
 //              require.ensure([], () => {
 //                  const TechDemand = require('./techDemand').default;

+ 381 - 303
js/component/manageCenter/demand/sichuan/sichuan.jsx

@@ -16,8 +16,9 @@ import {
 	Row,
 	Col,
 	InputNumber,
-	notification
 } from 'antd';
+import { citySelect, provinceList ,areaSelect} from '@/NewDicProvinceList';
+import {demandProfile} from '../../../dataDic.js';
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 //import axios from 'axios';
@@ -25,13 +26,65 @@ import 'antd/dist/antd.css';
 const FormItem = Form.Item;
 import './sichuan.css';
 const { TextArea } = Input;
+const CheckboxGroup = Checkbox.Group;
 
 class Achievement extends React.Component {
+	loadData(pageNo) {
+		this.setState({
+			page: pageNo,
+			loading: true
+		});
+		$.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/open/api/demandList",
+            data: {
+                pageNo: pageNo || 1,
+                pageSize: this.state.pagination.pageSize,
+                name:this.state.seachName,//需求名称
+                type:0,
+                reserveButtUnit:this.state.seachReserveButtUnit,//对接单位
+                
+            },
+            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,//需求编号
+                            name: thisdata.name,//需求名称
+                            industry: thisdata.industry,//行业
+                            reserveButtUnit:thisdata.reserveButtUnit,//对接单位
+                            orgName:thisdata.orgName,//企业名称
+                        });
+                    };
+                    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));
+	}
 	constructor(props) {
 		super(props);
 		this.state = {
 			loading:false,
 			publishPages: [],
+			nature:'',
 			visible: false,
 			pagination: {
 				defaultCurrent: 1,
@@ -47,39 +100,24 @@ class Achievement extends React.Component {
 			},
 			columns: [
 				{
-					title: '成果编号',
-					dataIndex: 'serialNumber',
-					key: 'serialNumber'
-				},
-				{
-					title: '成果名称',
+					title: '需求名称',
 					dataIndex: 'name',
 					key: 'name'
 				},
 				{
-					title: '关键字',
-					dataIndex: 'keyword',
-					key: 'keyword'
-				},
-				{
 					title: '行业领域',
-					dataIndex: 'auditStatus',
-					key: 'auditStatus'
+					dataIndex: 'industry',
+					key: 'industry'
 				},
 				{
 					title: '企业名称',
-					dataIndex: 'createTime',
-					key: 'createTime'
+					dataIndex: 'orgName',
+					key: 'orgName'
 				},
 				{
 					title: '拟对接单位',
-					dataIndex: 'releaseDate',
-					key: 'releaseDate'
-				},
-				{
-					title: '成果状态',
-					dataIndex: 'releaseDate1',
-					key: 'releaseDate1'
+					dataIndex: 'reserveButtUnit',
+					key: 'reserveButtUnit'
 				},
 				{
 					title: '操作',
@@ -89,15 +127,9 @@ class Achievement extends React.Component {
 						return (
 							<div className="btnRight">
 								<Button
-									style={{ marginRight: 10 }}
-									type="primary"
-									onClick={this.tableRowClick.bind(this)}
-								>
-									修改
-								</Button>
-								<Button
 									type="danger"
 									onClick={(e) => {
+										e.stopPropagation();
 										this.delectRow(recard);
 									}}
 								>
@@ -110,78 +142,34 @@ class Achievement extends React.Component {
 			]
 		};
 	}
-	loadData(pageNo) {
-		this.setState({
-			page: pageNo,
-			// loading: true
-		});
-//		axios.get('api/list',{
-//			params:{
-//				page:pageNo||1,
-//				pageSize:10
-//			}
-//		})
-//		.then(function(res) {
-//			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,
-//                          name: thisdata.name,
-//                          category:thisdata.category,
-//                          fieldA:thisdata.thisdata,
-//                          fieldB:thisdata.fieldB,
-//                      });
-//                  };
-//              }
-//              this.state.pagination.current = data.data.pageNo;
-//              this.state.pagination.total = data.data.totalCount;
-//              if(data.data&&data.data.list&&!data.data.list.length){
-//					this.state.pagination.current=0
-//					this.state.pagination.total=0
-//				}
-//              this.setState({
-//					loading:false,
-//                  dataSource: theArr,
-//                  pagination: this.state.pagination
-//              });
-//		})
-//		.catch(function(error) {
-//			console.log(error);
-//		});
-	}
-	//消息提示
-	message(mess) {
-		notification.open({
-			message: '提示',
-			description: mess,
-			placement: 'bottomRight'
-		});
-	}
+	
+	
 	//删除
 	delectRow(recard) {
-		this.setState({
-			loading: true
-		});
-//		axios({
-//			method:'get',
-//			url:'api/sdas',
-//			}).then(function(res) {
-//				this.success('success');
-//				this.setState({
-//					loading: false
-//				});
-//			})
-//			.catch(function(error) {
-//				console.log(error);
-//			});
+		$.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/open/api/delectDemand",
+            data: {
+                id:recard.id
+            },
+            success: function (data) {
+	            if (!data.error.length) {
+	                message.success('删除成功!');
+	                this.setState({
+	                    loading: false,
+	                });
+	                this.loadData();
+	            } else {
+	                message.warning(data.error[0].message);
+	            };
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
 	}
 	details(recard){
 		this.state({
@@ -190,13 +178,14 @@ class Achievement extends React.Component {
 	}
 	add() {
 		this.setState({
+			id:"",
 			uid: '',
 			visible: true,
 			addState: true,
 			name: '',
 			introduce: '',
 			industry: '',
-			summary: '',
+			summary: [],
 			ownerName: '',
 			reserveButtMode: '',
 			patentNumber: '',
@@ -209,67 +198,141 @@ class Achievement extends React.Component {
 		this.loadData(1);
 	}
 	reset() {
-		this.state.nameSearch = '';
-		this.state.keyword = '';
+		this.state.name = '';
+		this.state.reserveButtUnit = '';
 		this.loadData(1);
 	}
 	tableRowClick(record, index) {
-		this.state.RowData = record;
 		this.setState({
 			visible: true,
 			addState: false,
-			uid: record.id
+			id:record.id,
 		});
-		this.details(record)
+		$.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/open/api/demandDetails",
+            data: {
+                id: record.id,//需求名称
+                
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+            	console.log(data.data);
+               let thisData=data.data;
+               let ProvinceCityArr = [];
+               let ProvinceS =thisData.province? parseInt(thisData.province):""; //省
+			   let citys = thisData.city?parseInt(thisData.city):"";//市
+			   ProvinceCityArr.push(ProvinceS, citys);
+               this.setState({
+               		id:thisData.id,
+					name: thisData.name,//需求名称
+	                industry:(thisData.industry||thisData.industry==0)?thisData.industry.toString():undefined,//行业
+	                investmentCost: thisData.investmentCost,//经费投入
+	                reserveButtUnit: thisData.reserveButtUnit,//拟对接单位
+	                reserveButtMode: (thisData.reserveButtMode||thisData.reserveButtMode==0)?thisData.reserveButtMode.toString():undefined,//拟对接方式
+	                reserveSolveMode:(thisData.reserveSolveMode||thisData.reserveSolveMode==0)?thisData.reserveSolveMode.toString():undefined ,//拟解决方式
+	                publisherName: thisData.publisherName,//联系人
+	                telephone: thisData.telephone,//联系方式
+	                summary: thisData.summary?thisData.summary.split(","):[],//需求项目概况this.state.shehui?this.state.shehui.join(","):undefined
+	                introduce: thisData.introduce,//需求内容
+	                Pname: thisData.pname,//企业名称
+	                nature: thisData.nature,//企业特质
+	                feature: thisData.feature,//企业特征
+	                ProvinceCity:ProvinceCityArr[0]!=null?ProvinceCityArr:undefined,//地区
+	                zipCode: thisData.zipCode,//邮政编码
+	                legalPerson: thisData.legalPerson,//法人名称
+	                website: thisData.website,//企业网址
+	                email: thisData.email,//企业邮箱
+	                pintroduce:thisData.pintroduce,//企业简介
+				});
+            } else {
+                message.warning(data.error[0].message);
+            };
+            this.setState({
+                loading: false,
+            });
+        }.bind(this));
 	}
 	handleOk() {
 		this.handleSubmit();
 	}
 	handleCancel() {
+		this.resets();
 		this.setState({
 			visible: false
 		});
 	}
 	handleSubmit() {
-		if (!this.state.name || !this.state.introduce) {
-			this.message('请填写带*项');
-			return false;
-		}
 		this.setState({
 			loading: true
 		});
-		let api = this.state.addState ? '/api/achievements' : '/api/update';
-//		axios
-//			.post(api, {
-//				id: this.state.uid,
-//				achievementDTO: {
-//					name: this.state.name,
-//					type: this.state.type,
-//					industry: this.state.industry,
-//					summary: this.state.summary,
-//					introduce: this.state.introduce,
-//					ownerName: this.state.ownerName,
-//					reserveButtMode: this.state.reserveButtMode,
-//					patentNumber: this.state.patentNumber,
-//					transferPrice: this.state.transferPrice
-//				},
-//				publisherDTO: {
-//					name: this.state.name,
-//					telephone: this.state.telephone
-//				}
-//			})
-//			.then(function(res) {
-//				console.log(res);
-//				this.message('success');
-//				this.setState({
-//					loading: false,
-//					visible: false
-//				});
-//				this.loadData(1);
-//			})
-//			.catch(function(error) {
-//				console.log(error);
-//			});
+		console.log(this.state.addState);
+		$.ajax({
+            method: "POST",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context +( this.state.addState?"/open/api/addDemand":"/open/api/updateDemand"),
+            data: {
+            	id:this.state.id,//需求ID
+                name: this.state.name,//需求名称
+                type:0,//需求类型
+                industry:this.state.industry,//行业
+                investmentCost: this.state.investmentCost,//经费投入
+                reserveButtUnit: this.state.reserveButtUnit,//拟对接单位
+                reserveButtMode: this.state.reserveButtMode,//拟对接方式
+                reserveSolveMode: this.state.reserveSolveMode,//拟解决方式
+                publisherName: this.state.publisherName,//联系人
+                telephone: this.state.telephone,//联系方式
+                summary: this.state.summary?this.state.summary.join(","):undefined,//需求项目概况this.state.shehui?this.state.shehui.join(","):undefined
+                introduce: this.state.introduce,//需求内容
+                pname: this.state.Pname,//企业名称
+                nature: this.state.nature,//企业特质
+                feature: this.state.feature,//企业特征
+                province: this.state.ProvinceCity?this.state.ProvinceCity[0]:"",//省
+                city: this.state.ProvinceCity?this.state.ProvinceCity[1]:"",//市
+                zipCode: this.state.zipCode,//邮政编码
+                legalPerson: this.state.legalPerson,//法人名称
+                website: this.state.website,//企业网址
+                email: this.state.email,//企业邮箱
+                pintroduce: this.state.pintroduce,//企业简介
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success(this.state.addState?'新建成功!':"修改成功!");
+                this.setState({
+	                visible: false,
+	            });
+                this.loadData();
+            } else {
+                message.warning(data.error[0].message);
+            };
+            this.setState({
+                loading: false,
+            });
+        }.bind(this));
+	}
+	resets(){
+		this.state.name = '',//需求名称
+        this.state.industry = undefined,//行业
+        this.state.investmentCost = '',//经费投入
+        this.state.reserveButtUnit = '',//拟对接单位
+        this.state.reserveButtMode = '',//拟对接方式
+        this.state.reserveSolveMode = '',//拟解决方式
+        this.state.publisherName = '',//联系人
+        this.state.telephone = '',//联系方式
+        this.state.summary = '',
+        this.state.introduce = '',//需求内容
+        this.state.Pname = '',//企业名称
+        this.state.nature = undefined,//企业特质
+        this.state.feature = '',//企业特征
+        this.state.ProvinceCity =undefined,//省
+        this.state.zipCode = '',//邮政编码
+        this.state.legalPerson = '',//法人名称
+        this.state.website = '',//企业网址
+        this.state.email = '',//企业邮箱
+        this.state.pintroduce = ''//企业简介
 	}
 	componentWillMount() {
 		this.loadData(1);
@@ -288,32 +351,31 @@ class Achievement extends React.Component {
 			labelCol: { span: 6 },
 			wrapperCol: { span: 12 }
 		};
-		this.state.dataSource = [ { id: 212, key: 1, name: 'liting' }, { key: 2, name: 'YouXi' } ];
 		return (
 			<div className="user-content">
 				<div className="content-title">
-					<span className="title">我的科技成果</span>
+					<span className="title">四川科技需求</span>
 					<div className="patent-addNew">
 						<Button type="primary" onClick={this.add.bind(this)}>
-							发布成果<Icon type="plus" />
+							发布需求<Icon type="plus" />
 						</Button>
 					</div>
 				</div>
 				<div className="user-search">
 					<Input
-						placeholder="成果名称"
-						value={this.state.name}
+						placeholder="需求名称"
+						value={this.state.seachName}
 						className="searchInp"
 						onChange={(e) => {
-							this.setState({ name: e.target.value });
+							this.setState({ seachName: e.target.value });
 						}}
 						style={{ width: 120 }}
 					/>
 					<Input
-						placeholder="关键字"
-						value={this.state.keyword}
+						placeholder="对接单位"
+						value={this.state.seachReserveButtUnit}
 						onChange={(e) => {
-							this.setState({ keyword: e.target.value });
+							this.setState({ seachReserveButtUnit: e.target.value });
 						}}
 						style={{ width: 120 }}
 					/>
@@ -331,11 +393,12 @@ class Achievement extends React.Component {
 							dataSource={this.state.dataSource}
 							rowSelection={rowSelection}
 							pagination={this.state.pagination}
+							onRowClick={this.tableRowClick.bind(this)}
 						/>
 					</Spin>
 				</div>
 				<Modal
-					title={this.state.addState ? '新建成果' : '查看成果'}
+					title={this.state.addState ? '新建需求' : '需求详情'}
 					visible={this.state.visible}
 					width="900px"
 					onOk={this.handleOk.bind(this)}
@@ -346,107 +409,128 @@ class Achievement extends React.Component {
 					<Form layout="horizontal" id="demand-form">
 						<Spin spinning={this.state.loading}>
 							<div className="clearfix">
-								{!this.state.addState ? (
-									<FormItem className="half-item" {...formItemLayout} label="成果编号">
-										<span />
-									</FormItem>
-								) : (
-									''
-								)}
-								<FormItem className="half-item" {...formItemLayout} label="专利编号">
-									<Input
-										placeholder="专利编号"
-										value={this.state.patentNumber}
-										onChange={(e) => {
-											this.setState({ patentNumber: e.target.value });
-										}}
-									/>
-								</FormItem>
-								<FormItem
-									className="half-item"
-									{...formItemLayout}
-									label={
-										<span>
-											<strong style={{ color: '#f00' }}>*</strong>成果名称
-										</span>
-									}
-								>
-									<Input
-										placeholder="成果名称."
-										value={this.state.name}
-										onChange={(e) => {
-											this.setState({ name: e.target.value });
-										}}
-									/>
-								</FormItem>
-								<FormItem className="half-item" {...formItemLayout} label="行业领域">
-									<Select
-										defaultValue={this.state.industry}
-										onChange={(e) => {
-											this.setState({ industry: e });
-										}}
-										placeholder="请选择"
-									>
-										<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.Option value="5">新能源</Select.Option>
-									</Select>
-								</FormItem>
-
-								<FormItem className="half-item" {...formItemLayout} label="所有权人">
-									<Input
-										placeholder="所有权人"
-										value={this.state.ownerName}
-										onChange={(e) => {
-											this.setState({ ownerName: e.target.value });
-										}}
-									/>
-								</FormItem>
-								<FormItem className="half-item" {...formItemLayout} label="项目负责人">
-									<Input
-										placeholder="项目负责人"
-										value={this.state.cname}
-										onChange={(e) => {
-											this.setState({ cname: e.target.value });
-										}}
-									/>
-								</FormItem>
-								<FormItem className="half-item" {...formItemLayout} label="联系电话">
-									<Input
-										placeholder="联系电话"
-										value={this.state.telephone}
-										onChange={(e) => {
-											this.setState({ telephone: e.target.value });
-										}}
-									/>
-								</FormItem>
 								<div className="clearfix">
-									<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="技术简称">
-										<TextArea
-											autosize={{ minRows: 4, maxRows: 10 }}
-											placeholder="输入技术简称"
-											value={this.state.summary}
+									<FormItem
+										className="half-item"
+										{...formItemLayout}
+										label={
+											<span>
+												<strong style={{ color: '#f00' }}>*</strong>需求名称
+											</span>
+										}
+									>
+										<Input
+											placeholder="需求名称"
+											value={this.state.name}
 											onChange={(e) => {
-												this.setState({ summary: e.target.value });
+												this.setState({ name: e.target.value });
 											}}
 										/>
 									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="行业领域">
+										<Select
+											value={this.state.industry}
+											onChange={(e) => {
+												this.setState({ industry: e });
+											}}
+											placeholder="请选择"
+										>
+											<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.Option value="5">新能源</Select.Option>
+										</Select>
+									</FormItem>
+								
+									<FormItem className="half-item" {...formItemLayout} label="经费投入计划">
+										<Input
+											placeholder="经费投入计划"
+											value={this.state.investmentCost}
+											onChange={(e) => {
+												this.setState({ investmentCost: e.target.value });
+											}}
+										/>
+									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="拟对接单位">
+										<Input
+											placeholder="拟对接单位"
+											value={this.state.reserveButtUnit}
+											onChange={(e) => {
+												this.setState({ reserveButtUnit: e.target.value });
+											}}
+										/>
+										
+									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="拟对接方式">
+										<Select
+											value={this.state.reserveButtMode}
+											onChange={(e) => {
+												this.setState({ reserveButtMode: e });
+											}}
+											placeholder="请选择对接方式"
+										>
+											<Select.Option value="0">直接对接</Select.Option>
+											<Select.Option value="1">技术合作</Select.Option>
+											
+										</Select>
+									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="拟合作方式">
+										<Select
+											value={this.state.reserveSolveMode}
+											onChange={(e) => {
+												this.setState({ reserveSolveMode: e });
+											}}
+											placeholder="请选择解决方式"
+										>
+											<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>
+									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="项目负责人">
+										<Input
+											placeholder="项目负责人"
+											value={this.state.publisherName}
+											onChange={(e) => {
+												this.setState({ publisherName: e.target.value });
+											}}
+										/>
+									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="联系电话">
+										<Input
+											placeholder="联系电话"
+											value={this.state.telephone}
+											onChange={(e) => {
+												this.setState({ telephone: e.target.value });
+											}}
+										/>
+									</FormItem>
+								</div>
+									<FormItem  
+				                         	labelCol={{ span: 3 }}
+					                        wrapperCol={{ span: 18 }}
+				                           	label="需求项目概况"
+				                         >    
+			                              <CheckboxGroup options={demandProfile} value={this.state.summary} onChange={(e)=>{this.setState({summary:e})}} />
+				                   	</FormItem>
+								<div className="clearfix">
+									
 									<FormItem
 										labelCol={{ span: 3 }}
 										wrapperCol={{ span: 18 }}
 										label={
 											<span>
-												<strong style={{ color: '#f00' }}>*</strong>技术成果内容
+												<strong style={{ color: '#f00' }}>*</strong>需求内容
 											</span>
 										}
 										style={{ margin: '10px 0px' }}
 									>
 										<TextArea
 											autosize={{ minRows: 4, maxRows: 10 }}
-											placeholder="输入技术成果内容"
+											placeholder="输入需求内容"
 											value={this.state.introduce}
 											onChange={(e) => {
 												this.setState({ introduce: e.target.value });
@@ -470,104 +554,98 @@ class Achievement extends React.Component {
 										}
 									>
 										<Input
-											placeholder="企业名称."
-											value={this.state.cname}
-											onChange={(e) => {
-												this.setState({ cname: e.target.value });
-											}}
-										/>
-									</FormItem>
-									<FormItem className="half-item" {...formItemLayout} label="科技主管部门">
-										<Input
-											placeholder="科技主管部门."
-											value={this.state.name}
+											placeholder="企业名称"
+											value={this.state.Pname}
 											onChange={(e) => {
-												this.setState({ name: e.target.value });
+												this.setState({ Pname: e.target.value });
 											}}
 										/>
 									</FormItem>
 									<FormItem className="half-item" {...formItemLayout} label="单位性质">
 										<Select
-											defaultValue={this.state.name}
+											value={this.state.nature}
 											onChange={(e) => {
-												this.setState({ name: e });
+												this.setState({ nature: e });
 											}}
-											placeholder="请选择"
+											placeholder="请选择单位性质"
 										>
-											<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.Option value="5">外资企业</Select.Option>
-											<Select.Option value="6">私营企业</Select.Option>
-											<Select.Option value="7">集体企业</Select.Option>
-											<Select.Option value="8">国防军事企业</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.Option value="5">国际组织机构</Select.Option>
+											<Select.Option value="6">外资企业</Select.Option>
+											<Select.Option value="7">私营企业</Select.Option>
+											<Select.Option value="8">集体企业</Select.Option>
+											<Select.Option value="9">国防军事企业</Select.Option>
 										</Select>
 									</FormItem>
 									<FormItem className="half-item" {...formItemLayout} label="企业特征">
 										<Input
 											placeholder="企业特征"
-											value={this.state.name}
+											value={this.state.feature}
 											onChange={(e) => {
-												this.setState({ name: e.target.value });
+												this.setState({ feature: e.target.value });
 											}}
 										/>
 									</FormItem>
+									<FormItem  className="half-item"
+	                            		{...formItemLayout}
+			                           label="企业所在地"
+			                          > 
+										<Cascader options={citySelect()}  value={this.state.ProvinceCity} placeholder="选择城市"
+    										onChange={(e,pre) => { this.setState({ ProvinceCity: e }) }} />	
+				                    </FormItem>
 									<FormItem className="half-item" {...formItemLayout} label="邮政编码">
 										<Input
 											placeholder="邮政编码"
-											value={this.state.name}
+											value={this.state.zipCode}
 											onChange={(e) => {
-												this.setState({ name: e.target.value });
+												this.setState({ zipCode: e.target.value });
 											}}
 										/>
 									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="法定代表人">
+										<Input
+											placeholder="法定代表人"
+											value={this.state.legalPerson}
+											onChange={(e) => {
+												this.setState({ legalPerson: e.target.value });
+											}}
+										/>
+									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="企业网址">
+										<Input
+											placeholder="企业网址"
+											value={this.state.website}
+											onChange={(e) => {
+												this.setState({ website: e.target.value });
+											}}
+										/>
+									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="E-Mail">
+										<Input
+											placeholder="E-Mail"
+											value={this.state.email}
+											onChange={(e) => {
+												this.setState({ email: e.target.value });
+											}}
+										/>
+									</FormItem>
+									</div>
 									<div className="clearfix">
-										<FormItem className="half-item" {...formItemLayout} label="法定代表人">
-											<Input
-												placeholder="法定代表人"
-												value={this.state.name}
-												onChange={(e) => {
-													this.setState({ name: e.target.value });
-												}}
-											/>
-										</FormItem>
-										<FormItem className="half-item" {...formItemLayout} label="电话">
-											<Input
-												placeholder="电话"
-												value={this.state.name}
-												onChange={(e) => {
-													this.setState({ name: e.target.value });
-												}}
-											/>
-										</FormItem>
-										<FormItem className="half-item" {...formItemLayout} label="企业网址">
-											<Input
-												placeholder="企业网址"
-												value={this.state.name}
-												onChange={(e) => {
-													this.setState({ name: e.target.value });
-												}}
-											/>
-										</FormItem>
-										<FormItem className="half-item" {...formItemLayout} label="E-Mail">
-											<Input
-												placeholder="E-Mail"
-												value={this.state.name}
-												onChange={(e) => {
-													this.setState({ name: e.target.value });
-												}}
-											/>
+										<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 19 }} label="企业简介">
+											<Input type="textarea" rows={4} placeholder="企业简介" value={this.state.pintroduce}
+	                           				 	onChange={(e) => { this.setState({ pintroduce: e.target.value }) }} style={{width:'95%'}}/>
 										</FormItem>
 									</div>
 									<div className="clearfix">
-										<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="企业简介">
-											<TextArea autosize={{ minRows: 4, maxRows: 10 }} placeholder="输入企业简介" />
+										<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 19 }} label="二维码">
+											<img src="http://localhost:8080/open/achievementDetails?id=4c3f363e-fc5f-42b2-b7b8-71fa8659b468" style={{width:"100px",height:"100px"}}/>
 										</FormItem>
 									</div>
 								</div>
-							</div>
+							
 						</Spin>
 					</Form>
 				</Modal>

+ 494 - 0
js/component/manageCenter/demand/sichuan/sichuanman.jsx

@@ -0,0 +1,494 @@
+import React from 'react';
+import {
+	Icon,
+	Button,
+	Input,
+	Select,
+	Spin,
+	Checkbox,
+	Cascader,
+	Table,
+	Form,
+	Switch,
+	message,
+	DatePicker,
+	Modal,
+	Row,
+	Col,
+	InputNumber,
+} from 'antd';
+import { citySelect, provinceList ,areaSelect} from '@/NewDicProvinceList';
+import {demandProfile} from '../../../dataDic.js';
+import ajax from 'jquery/src/ajax/xhr.js';
+import $ from 'jquery/src/ajax';
+//import axios from 'axios';
+import 'antd/dist/antd.css';
+const FormItem = Form.Item;
+import './sichuan.css';
+const { TextArea } = Input;
+const CheckboxGroup = Checkbox.Group;
+
+class Achievement extends React.Component {
+	loadData(pageNo) {
+		this.setState({
+			page: pageNo,
+			loading: true
+		});
+		$.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/open/api/demandList",
+            data: {
+                pageNo: pageNo || 1,
+                pageSize: this.state.pagination.pageSize,
+                type:1,
+                name:this.state.seachOrgName,//企业名称
+                
+            },
+            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,//需求ID
+                            name:thisdata.orgName,//企业名称
+                            contacts:thisdata.contacts,//联系人
+                            address:thisdata.address,//详细地址
+                            telephone:thisdata.telephone,//联系电话
+                        });
+                    };
+                    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));
+	}
+	constructor(props) {
+		super(props);
+		this.state = {
+			loading:false,
+			publishPages: [],
+			visible: false,
+			pagination: {
+				defaultCurrent: 1,
+				defaultPageSize: 10,
+				showQuickJumper: true,
+				pageSize: 10,
+				onChange: function(page) {
+					this.loadData(page);
+				}.bind(this),
+				showTotal: function(total) {
+					return '共' + total + '条数据';
+				}
+			},
+			columns: [
+				{
+					title: '企业名称',
+					dataIndex: 'name',
+					key: 'name'
+				},{
+					title: '联系人',
+					dataIndex: 'contacts',
+					key: 'contacts'
+				},{
+					title: '联系方式',
+					dataIndex: 'telephone',
+					key: 'telephone'
+				},{
+					title: '详细地址',
+					dataIndex: 'address',
+					key: 'address'
+				},
+				{
+					title: '操作',
+					dataIndex: 'caozuo',
+					key: 'caozuo',
+					render: (text, recard) => {
+						return (
+							<div className="btnRight">
+								<Button
+									type="danger"
+									onClick={(e) => {
+										e.stopPropagation();
+										this.delectRow(recard);
+									}}
+								>
+									删除
+								</Button>
+							</div>
+						);
+					}
+				}
+			]
+		};
+	}
+	
+	
+	//删除
+	delectRow(recard) {
+		console.log(recard);
+		$.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/open/api/delectDemand",
+            data: {
+                id:recard.id
+            },
+            success: function (data) {
+	            if (!data.error.length) {
+	                message.success('删除成功!');
+	                this.setState({
+	                    loading: false,
+	                });
+	                this.loadData();
+	            } else {
+	                message.warning(data.error[0].message);
+	            };
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+	}
+	details(recard){
+		this.state({
+			loading:true
+		})
+	}
+	add() {
+		this.setState({
+			uid: '',
+			visible: true,
+			addState: true,
+			name: '',
+			introduce: '',
+			industry: '',
+			summary: '',
+			ownerName: '',
+			reserveButtMode: '',
+			patentNumber: '',
+			transferPrice: '',
+			telephone: '',
+			cname: ''
+		});
+	}
+	search() {
+		this.loadData(1);
+	}
+	reset() {
+		this.state.seachOrgName = '';
+		this.loadData(1);
+	}
+	tableRowClick(record, index) {
+		this.setState({
+			visible: true,
+			addState: false,
+			id:record.id,
+		});
+		$.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/open/api/demandDetails",
+            data: {
+                id: record.id,//需求名称
+                
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+            	console.log(data.data);
+               let thisData=data.data;
+               let ProvinceCityArr = [];
+               let ProvinceS =thisData.province? parseInt(thisData.province):""; //省
+			   let citys = thisData.city?parseInt(thisData.city):"";//市
+			   ProvinceCityArr.push(ProvinceS, citys);
+               this.setState({
+               		id:thisData.id,
+               		Pname: thisData.pname,//企业名称
+               		ProvinceCity:ProvinceCityArr[0]!=null?ProvinceCityArr:undefined,//地区
+               		address: thisData.address,//详细地址
+               		publisherName: thisData.publisherName,//联系人
+	                telephone: thisData.telephone,//联系方式
+               		email: thisData.email,//企业邮箱
+               		feature: thisData.feature,//企业特征
+               		introduce: thisData.introduce,//需求内容
+               		investmentCost: thisData.investmentCost,//经费投入
+               		pintroduce:thisData.pintroduce,//企业简介
+               		remarks:thisData.remarks,//企业
+//					name: thisData.name,//需求名称
+//	                industry:(thisData.industry||thisData.industry==0)?thisData.industry.toString():undefined,//行业
+//	                reserveButtUnit: thisData.reserveButtUnit,//拟对接单位
+//	                reserveButtMode: (thisData.reserveButtMode||thisData.reserveButtMode==0)?thisData.reserveButtMode.toString():undefined,//拟对接方式
+//	                reserveSolveMode:(thisData.reserveSolveMode||thisData.reserveSolveMode==0)?thisData.reserveSolveMode.toString():undefined ,//拟解决方式
+//	                summary: thisData.summary?thisData.summary.split(","):[],//需求项目概况this.state.shehui?this.state.shehui.join(","):undefined
+//	                nature: thisData.nature,//企业特质
+//	                zipCode: thisData.zipCode,//邮政编码
+//	                legalPerson: thisData.legalPerson,//法人名称
+//	                website: thisData.website,//企业网址
+	                
+				});
+            } else {
+                message.warning(data.error[0].message);
+            };
+            this.setState({
+                loading: false,
+            });
+        }.bind(this));
+	}
+	handleOk() {
+		this.handleSubmit();
+	}
+	handleCancel() {
+		this.setState({
+			visible: false
+		});
+		this.resets();
+	}
+	handleSubmit() {
+		this.setState({
+			loading: true
+		});
+		$.ajax({
+            method: "POST",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + ( this.state.addState?"/open/api/addDemand":"/open/api/updateDemand"),
+            data: {
+            	id:this.state.id,//需求ID
+            	Pname: this.state.Pname,//企业名称
+            	province: this.state.ProvinceCity?this.state.ProvinceCity[0]:"",//省
+                city: this.state.ProvinceCity?this.state.ProvinceCity[1]:"",//市
+            	publisherName: this.state.publisherName,//联系人
+                telephone: this.state.telephone,//联系方式
+            	email: this.state.email,//企业邮箱
+            	address: this.state.address,//详细地址
+            	Pintroduce: this.state.pintroduce,//企业简介
+            	remarks: this.state.remarks,//企业情况
+            	feature:this.state.feature,//企业特征
+            	introduce: this.state.introduce,//人才需求
+                type:1,//需求类型
+                investmentCost: this.state.investmentCost,//经费投入
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success(this.state.addState?'新建成功!':"修改成功!");
+                this.setState({
+	                visible: false,
+	            });
+                this.loadData();
+            } else {
+                message.warning(data.error[0].message);
+            };
+            this.setState({
+                loading: false,
+            });
+        }.bind(this));
+	}
+	componentWillMount() {
+		this.loadData(1);
+	}
+	resets(){
+		this.state.name = '',//需求名称
+        this.state.industry = undefined,//行业
+        this.state.investmentCost = '',//经费投入
+        this.state.reserveButtUnit = '',//拟对接单位
+        this.state.reserveButtMode = '',//拟对接方式
+        this.state.reserveSolveMode = '',//拟解决方式
+        this.state.publisherName = '',//联系人
+        this.state.telephone = '',//联系方式
+        this.state.summary = '',
+        this.state.introduce = '',//需求内容
+        this.state.Pname = '',//企业名称
+        this.state.nature = undefined,//企业特质
+        this.state.feature = '',//企业特征
+        this.state.ProvinceCity =undefined,//省
+        this.state.zipCode = '',//邮政编码
+        this.state.legalPerson = '',//法人名称
+        this.state.website = '',//企业网址
+        this.state.email = '',//企业邮箱
+        this.state.Pintroduce = ''//企业简介
+        this.state.address = ''//企业简介
+	}
+	render() {
+		console.log(this.state.ProvinceCity);
+		const rowSelection = {
+			selectedRowKeys: this.state.selectedRowKeys,
+			onChange: (selectedRowKeys, selectedRows) => {
+				this.setState({
+					selectedRows: selectedRows.slice(-1),
+					selectedRowKeys: selectedRowKeys.slice(-1)
+				});
+			}
+		};
+		const formItemLayout = {
+			labelCol: { span: 6 },
+			wrapperCol: { span: 12 }
+		};
+		return (
+			<div className="user-content">
+				<div className="content-title">
+					<span className="title">四川人才需求</span>
+					<div className="patent-addNew">
+						<Button type="primary" onClick={this.add.bind(this)}>
+							发布人才需求<Icon type="plus" />
+						</Button>
+					</div>
+				</div>
+				<div className="user-search">
+					<Input
+						placeholder="企业名称"
+						value={this.state.seachOrgName}
+						className="searchInp"
+						onChange={(e) => {
+							this.setState({ seachOrgName: e.target.value });
+						}}
+						style={{ width: 120 }}
+					/>
+					<Button type="primary" onClick={this.search.bind(this)} className="interval">
+						搜索
+					</Button>
+					<Button onClick={this.reset.bind(this)} className="interval">
+						重置
+					</Button>
+				</div>
+				<div className="patent-table">
+					<Spin spinning={this.state.loading}>
+						<Table
+							columns={this.state.columns}
+							dataSource={this.state.dataSource}
+							rowSelection={rowSelection}
+							pagination={this.state.pagination}
+							onRowClick={this.tableRowClick.bind(this)}
+						/>
+					</Spin>
+				</div>
+				<Modal
+					title={this.state.addState ? '新建人才需求' : '人才需求详情'}
+					visible={this.state.visible}
+					width="900px"
+					onOk={this.handleOk.bind(this)}
+					onCancel={this.handleCancel.bind(this)}
+					okText="保存"
+					cancelText="取消"
+				>
+					<Form layout="horizontal" id="demand-form">
+						<Spin spinning={this.state.loading}>
+								<div className="clearfix">
+									<FormItem
+										className="half-item"
+										{...formItemLayout}
+										label={
+											<span>
+												<strong style={{ color: '#f00' }}>*</strong>企业名称
+											</span>
+										}
+									>
+										<Input
+											placeholder="企业名称"
+											value={this.state.Pname}
+											onChange={(e) => {
+												this.setState({ Pname: e.target.value });
+											}}
+										/>
+									</FormItem>
+									<FormItem  className="half-item"
+	                            		{...formItemLayout}
+			                           label="企业所在地"
+			                          > 
+										   <Cascader options={citySelect()}   placeholder="选择城市"  value={this.state.ProvinceCity}
+											onChange={(e) => {this.setState({ ProvinceCity: e })}}
+											/>
+				                    </FormItem>
+				                    <FormItem className="half-item" {...formItemLayout} label="联系人">
+										<Input
+											placeholder="联系人"
+											value={this.state.publisherName}
+											onChange={(e) => {
+												this.setState({ publisherName: e.target.value });
+											}}
+										/>
+									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="联系人电话">
+										<Input
+											placeholder="联系人电话"
+											value={this.state.telephone}
+											onChange={(e) => {
+												this.setState({ telephone: e.target.value });
+											}}
+										/>
+									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="电子邮件">
+										<Input
+											placeholder="电子邮件"
+											value={this.state.email}
+											onChange={(e) => {
+												this.setState({ email: e.target.value });
+											}}
+										/>
+									</FormItem>
+									<FormItem className="half-item" {...formItemLayout} label="详细地址">
+										<Input
+											placeholder="详细地址"
+											value={this.state.address}
+											onChange={(e) => {
+												this.setState({ address: e.target.value });
+											}}
+										/>
+									</FormItem>
+									<div className="clearfix">
+										<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="企业简介">
+											<Input type="textarea" rows={4} placeholder="企业简介" value={this.state.pintroduce}
+	                           				 	onChange={(e) => { this.setState({ pintroduce: e.target.value }) }} style={{width:'95%'}}/>
+										</FormItem>
+									</div>
+									<div className="clearfix" style={{marginTop:"10px"}}>
+										<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="企业情况">
+											<Input type="textarea" rows={4} placeholder="企业在行业中情况" value={this.state.remarks}
+	                           				 	onChange={(e) => { this.setState({ remarks: e.target.value }) }} style={{width:'95%'}}/>
+										</FormItem>
+									</div>
+									<div className="clearfix" style={{marginTop:"10px"}}>
+										<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="产品概述">
+											<Input type="textarea" rows={4} placeholder="产品概述" value={this.state.feature}
+	                           				 	onChange={(e) => { this.setState({ feature: e.target.value }) }} style={{width:'95%'}}/>
+										</FormItem>
+									</div>
+									<div className="clearfix" style={{marginTop:"10px"}}>
+										<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="人才需求概述">
+											<Input type="textarea" rows={4} placeholder="人才需求概述" value={this.state.introduce}
+	                           				 	onChange={(e) => { this.setState({ introduce: e.target.value }) }} style={{width:'95%'}}/>
+										</FormItem>
+									</div>
+									<div className="clearfix" style={{marginTop:"10px"}}>
+										<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="待遇">
+											<Input type="textarea" rows={4} placeholder="待遇" value={this.state.investmentCost}
+	                           				 	onChange={(e) => { this.setState({ investmentCost: e.target.value }) }} style={{width:'95%'}}/>
+										</FormItem>
+									</div>
+								</div>
+						</Spin>
+					</Form>
+				</Modal>
+			</div>
+		);
+	}
+}
+
+export default Achievement;