liting2017 6 years ago
parent
commit
74db24e893
28 changed files with 2242 additions and 89 deletions
  1. 4 8
      js/component/account/business/businessDetails.jsx
  2. 6 11
      js/component/account/business/businessForm.jsx
  3. 9 6
      js/component/account/business/businessProject.jsx
  4. 1 1
      js/component/account/demand/demandDetaiel.jsx
  5. 1 1
      js/component/account/demand/demandForm.jsx
  6. 11 0
      js/component/account/index/content.jsx
  7. 14 8
      js/component/account/menu.jsx
  8. 1 1
      js/component/account/order/achievementOrderS.jsx
  9. 1 1
      js/component/account/order/achievementOrderX.jsx
  10. 335 0
      js/component/account/order/adviserS.jsx
  11. 440 0
      js/component/account/order/adviserX.jsx
  12. 1 1
      js/component/account/order/demandOrderS.jsx
  13. 1 1
      js/component/account/order/demandOrderX.jsx
  14. 335 0
      js/component/account/order/expertS.jsx
  15. 459 0
      js/component/account/order/expertX.jsx
  16. 1 1
      js/component/account/order/memberOrderS.jsx
  17. 1 1
      js/component/account/order/memberOrderX.jsx
  18. 1 1
      js/component/account/order/projectOrderX.jsx
  19. 1 2
      js/component/account/setAccount/contacts.jsx
  20. 555 0
      js/component/account/setAccount/patent.jsx
  21. 1 1
      js/component/administration/achievement/achievementDetaiel.jsx
  22. 1 1
      js/component/administration/business/businessCategory.jsx
  23. 2 2
      js/component/administration/demand/demandDetaiel.jsx
  24. 0 3
      js/component/administration/news/newsList.jsx
  25. 11 0
      js/component/administration/order/order.jsx
  26. 0 3
      js/component/administration/policy/policyList.jsx
  27. 48 34
      js/component/administration/tags/tags.jsx
  28. 1 1
      js/component/dataDic.js

+ 4 - 8
js/component/account/business/businessDetails.jsx

@@ -46,14 +46,10 @@ const DemandDetail = Form.create()(
 							})
 						}
 					})
-					let tagFirst =thisData.tags?thisData.tags.split(','):[],tagTxt=[];
-					(this.props.tagList).map(item=>{
-						for(let j=0;j<tagFirst.length;j++){
-							if(item.id==tagFirst[j]){
-								tagTxt.push(item.name);
-							}
-						}
-					})
+					let tagFirst =thisData.tags,tagTxt=[];
+						tagFirst.map(item=>{
+							tagTxt.push(item.name);
+						})
 					this.setState({
 						id: thisData.id,
                         data: thisData,

+ 6 - 11
js/component/account/business/businessForm.jsx

@@ -243,12 +243,11 @@ const DemandDetailForm = Form.create()(
 					city: this.state.ProvinceCity ? this.state.ProvinceCity[1] : '',
 					introduce: this.state.introduce,
 					value: this.state.value,
-					// tag:this.state.tags?this.state.tags.join(','):'',
 					isHot: this.state.isHot,
 					minImgUrl: minPictureUrl.length ? minPictureUrl : '',
 					maxImgUrl: maxPictureUrl.length ? maxPictureUrl : '',
 					applyConditions: this.state.applyConditions,
-					tags:this.state.tagArr.join(',')
+					tag:this.state.tagArr.join(',')
 				}
 			}).done(
 				function(data) {
@@ -293,20 +292,16 @@ const DemandDetailForm = Form.create()(
 								})
 							}
 						})
-						let tagFirst =thisdata.tags?thisdata.tags.split(','):[],tagTxt=[];
-						(this.props.tagList).map(item=>{
-							for(let j=0;j<tagFirst.length;j++){
-								if(item.id==tagFirst[j]){
-									tagTxt.push(item.name);
-								}
-							}
+						let tagFirst =thisdata.tags,tagTxt=[],tagArr=[];
+						tagFirst.map(item=>{
+							tagTxt.push(item.name);
+							tagArr.push(item.id)
 						})
 						this.setState({
 							id: thisdata.id, //业务名称
 							name: thisdata.name, //业务名称
-							// tags:thisdata.tag?thisdata.tag.split(','):[],
 							tagTxt:tagTxt.join(' - '),
-							tagArr:tagFirst,
+							tagArr:tagArr,
 							categoryId: categoryIdArr, //业务品类
 							number: thisdata.number,
 							auditInfo:thisdata.auditInfo,

+ 9 - 6
js/component/account/business/businessProject.jsx

@@ -422,21 +422,24 @@ const BusinessProject = Form.create()(
 				method: 'get',
 				dataType: 'json',
 				crossDomain: false,
-				url: globalConfig.context + '/portal/service/jtBusiness/getCategoryList',
-				data: {},
+				url: globalConfig.context + '/api/user/jtBusiness/tag/list',
+				data: {
+					pageNo:  1,
+					pageSize:9999,
+				},
 				success:function(data){
-					if(!data.data){
+					if(!data.data&&data.data.list.length){
 						if(data.error&&data.error.length){
 							message.error(data.error[0].message)
 							return;
 						}
 					}else{
-						let thisdata = data.data,theDate=[];
+						let thisdata = data.data.list,theDate=[];
 						thisdata.map((item,index)=>{
 							theDate.push({
 								key:index,
 								id:item.id,
-								name:item.tagName
+								name:item.name
 							})
 						})
 						this.setState({
@@ -599,7 +602,7 @@ const BusinessProject = Form.create()(
 			};
 			const hasSelected = this.state.selectedRowKeys.length > 0;
 			const { RangePicker } = DatePicker;
-			return (
+ 			return (
 				<div className="user-content">
 					<div className="content-title">
 						<div className="user-search">

+ 1 - 1
js/component/account/demand/demandDetaiel.jsx

@@ -183,7 +183,7 @@ const DemandDetail = Form.create()(React.createClass({
 						</FormItem>
 						{theData.demandType=='5'&&
 							<FormItem className="half-item" {...formItemLayout} label="人才酬劳">
-							     <span>{theData.budgetCost} 元/月</span>
+							     <span>{theData.budgetCost} 元</span>
 						    </FormItem>}
 						{theData.demandType=='3'&&<div className="clearfix"><FormItem className="half-item" {...formItemLayout} label="资金需求额度">
                             <span>{theData.crowdCost}万元</span>

+ 1 - 1
js/component/account/demand/demandForm.jsx

@@ -397,7 +397,7 @@ const DemandDetailForm = Form.create()(React.createClass({
 								rules: [ { required: false } ],
 								initialValue: theData.budgetCost
 							})(<InputNumber min={0} max={999999} step={0.01} placeholder="输入酬劳."/>)}
-							<span style={{ marginLeft: '5px' }}>元/月</span>
+							<span style={{ marginLeft: '5px' }}>元</span>
 						</FormItem>:''}
 						{demandType=='3'||theData.demandType=='3'?<div className="clearfix"><FormItem className="half-item" {...formItemLayout} label="资金需求额度">
 							{getFieldDecorator('crowdCost', {

+ 11 - 0
js/component/account/index/content.jsx

@@ -3,6 +3,7 @@ import React from 'react';
 import Account from '@/account/setAccount/account';
 import Unit from '@/account/setAccount/unit';
 import Personal from '@/account/setAccount/personal';
+import Patent from "@/account/setAccount/patent";
 import Contacts from '@/account/setAccount/contacts';
 import Expert from '@/account/setAccount/expert';
 //会员中心
@@ -23,6 +24,10 @@ import DemandOrderX from "@/account/order/demandOrderX";
 import DemandOrderS from "@/account/order/demandOrderS";
 import ProjectOrderX from "@/account/order/projectOrderX";
 import ProjectOrderS from "@/account/order/projectOrderS";
+import ExpertX from "@/account/order/expertX";
+import ExpertS from "@/account/order/expertS";
+import AdviserX from "@/account/order/adviserX";
+import AdviserS from "@/account/order/adviserS";
 
 
 import {hashHistory,Route,Router} from 'react-router';
@@ -45,6 +50,7 @@ export default class ContentRouter extends React.Component {
             <Route path="/account" component={Account} />
             <Route path="/unit" component={Unit} />
             <Route path="/personal" component={Personal} />
+            <Route path="/patent" component={Patent} />
             <Route path="/contacts" component={Contacts} />
             <Route path="/demand" component={DemandList} />
             <Route path="/achievement" component={Achievement} />
@@ -58,6 +64,11 @@ export default class ContentRouter extends React.Component {
             <Route path="/demandOrderS" component={DemandOrderS} />
             <Route path="/projectOrderX" component={ProjectOrderX} />
             <Route path="/projectOrderS" component={ProjectOrderS} />
+
+            <Route path="/expertX" component={ExpertX} />
+            <Route path="/expertS" component={ExpertS} />
+            <Route path="/adviserX" component={AdviserX} />
+            <Route path="/adviserS" component={AdviserS} />
         </Router>
       </Content>
     )

+ 14 - 8
js/component/account/menu.jsx

@@ -21,7 +21,7 @@ module.exports = {
             { name: '账号管理', url: 'account' },
             { name: '企业资料', url: 'unit' },
             { name: '个人资料', url: 'personal' },
-            // { name: '专利代理人资料  ', url: 'patent' },
+            { name: '知识产权顾问资料  ', url: 'patent' },
             { name: '专家资料  ', url: 'expert' },
             { name: '常用联系人', url: 'contacts' },
           ]
@@ -51,8 +51,9 @@ module.exports = {
           children: [
             { name: '技术成果订单', url: 'achievementOrderS' },
             { name: '技术需求订单', url: 'demandOrderS' },
-            { name: '项目订单', url: 'projectOrderS' },
-            // { name: '会员订单', url: 'memberOrderS' }
+            { name: '赚钱订单', url: 'projectOrderS' },
+            { name: '专家订单', url: 'expertS' },
+            { name: '顾问订单', url: 'adviserS' }
           ]
         },
         {
@@ -62,8 +63,10 @@ module.exports = {
           children: [
             { name: '技术成果订单', url: 'achievementOrderX' },
             { name: '技术需求订单', url: 'demandOrderX' },
-            { name: '项目订单', url: 'projectOrderX' },
-            // { name: '会员订单', url: 'memberOrderX' },
+            { name: '赚钱订单', url: 'projectOrderX' },
+            { name: '专家订单', url: 'expertX' },
+            { name: '顾问订单', url: 'adviserX' },
+            { name: '会员订单', url: 'memberOrderX' },
           ]
         }
     ],
@@ -116,8 +119,9 @@ module.exports = {
           children: [
             { name: '技术成果订单', url: 'achievementOrderS' },
             { name: '技术需求订单', url: 'demandOrderS' },
-            { name: '项目订单', url: 'projectOrderS' },
-            // { name: '会员订单', url: 'memberOrderS' }
+            { name: '赚钱订单', url: 'projectOrderS' },
+            { name: '专家订单', url: 'expertS' },
+            { name: '顾问订单', url: 'adviserS' },
           ]
         },
         {
@@ -127,7 +131,9 @@ module.exports = {
           children: [
             { name: '技术成果订单', url: 'achievementOrderX' },
             { name: '技术需求订单', url: 'demandOrderX' },
-            { name: '项目订单', url: 'projectOrderX' },
+            { name: '赚钱订单', url: 'projectOrderX' },
+            { name: '专家订单', url: 'expertX' },
+            { name: '顾问订单', url: 'adviserX' },
             // { name: '会员订单', url: 'memberOrderX' },
           ]
         }

+ 1 - 1
js/component/account/order/achievementOrderS.jsx

@@ -198,7 +198,7 @@ const Order = Form.create()(
 			return (
 				<div className="user-content">
 					<div className="content-title">
-						<span>订单列表</span>
+						<span>成果订单列表</span>
 					</div>
 					<div className="user-search">
 						<Input

+ 1 - 1
js/component/account/order/achievementOrderX.jsx

@@ -257,7 +257,7 @@ const Order = Form.create()(
 			return (
 				<div className="user-content">
 					<div className="content-title">
-						<span>我的成果订单</span>
+						<span>成果订单列表</span>
 					</div>
 					<div className="user-search">
 						<Input

+ 335 - 0
js/component/account/order/adviserS.jsx

@@ -0,0 +1,335 @@
+/* 
+	update:2018/08/01
+	author:liting
+*/
+
+import React from 'react';
+import $ from 'jquery/src/ajax';
+import { Form, Button, Input, Select, Spin, Table, message, Modal, Tooltip, Switch, DatePicker } from 'antd';
+import { orderType } from '@/dataDic';
+import { getOrderType } from '@/tools.js';
+import moment  from 'moment';
+//主体
+const Order = Form.create()(
+	React.createClass({
+		loadData(pageNo) {
+			this.state.data = [];
+			this.setState({
+				loading: true,
+				page: pageNo
+			});
+			$.ajax({
+				method: 'get',
+				dataType: 'json',
+				crossDomain: false,
+				url: globalConfig.context + '/api/user/jtOrder/list',
+				data: {
+					pageNo: pageNo || 1,
+					pageSize: this.state.pagination.pageSize,
+					orderNo: this.state.numberSearch,
+					userType:1,
+					orderType:10,
+					commodityName: this.state.entryNameSearch,
+					buyerName: this.state.companyNameSearch,
+					startCreateDate: this.state.releaseDate[0],
+					endCreateDate: this.state.releaseDate[1]
+				},
+				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,
+								sellerId: thisdata.sellerId,
+								buyerId:thisdata.buyerId,
+								orderNo:thisdata.orderNo,
+								commodityType:thisdata.commodityType,
+								orderAmount:thisdata.orderAmount,
+								commodityName:thisdata.commodityName,
+								buyerName:thisdata.buyerName,
+								buyerMobile:thisdata.buyerMobile,
+								createTime: thisdata.createTime ? new Date(thisdata.createTime).toLocaleString() : ''
+							});
+						}
+						this.state.pagination.current = data.data.pageNo;
+						this.state.pagination.total = data.data.totalCount;
+					}
+					this.setState({
+						dataSource: theArr,
+						pagination: this.state.pagination
+					});
+				}.bind(this)
+			}).always(
+				function() {
+					this.setState({
+						loading: false
+					});
+				}.bind(this)
+			);
+		},
+		getInitialState() {
+			return {
+				searchMore: true,
+				selectedRowKeys: [],
+				selectedRows: [],
+				loading: false,
+				releaseDate: [],
+				pagination: {
+					defaultCurrent: 1,
+					defaultPageSize: 10,
+					showQuickJumper: true,
+					pageSize: 10,
+					onChange: function(page) {
+						this.loadData(page);
+						this.setState({
+							selectedRowKeys: []
+						});
+					}.bind(this),
+					showTotal: function(total) {
+						return '共' + total + '条数据';
+					}
+				},
+				columns: [
+					{
+						title: '订单编号',
+						dataIndex: 'orderNo',
+						key: 'orderNo'
+					},
+					{
+						title: '订单类型',
+						dataIndex: 'commodityType',
+						key: 'commodityType',
+						render: (text) => {
+							return getOrderType(text);
+						}
+					},
+					{
+						title: '订单日期',
+						dataIndex: 'createTime',
+						key: 'createTime'
+					},
+					{
+						title: '订单金额(万元)',
+						dataIndex: 'orderAmount',
+						key: 'orderAmount',
+						render:(text)=>{
+                            return text?text:'面议'
+                        }
+					},
+					{
+						title: '购买者',
+						dataIndex: 'buyerName',
+						key: 'buyerName',
+						
+					},
+					{
+						title: '联系方式',
+						dataIndex: 'buyerMobile',
+						key: 'buyerMobile'
+					},
+					
+				],
+				dataSource: []
+			};
+		},
+		componentWillMount() {
+			this.loadData();
+		},
+		//项目列表整行点击
+		tableRowClick(record, index) {
+			this.state.RowData = record;
+			this.setState({
+				editvisible: true
+			});
+		},
+		edithandleCancel(e) {
+			this.setState({
+				editvisible: false
+			});
+		},
+		search() {
+			this.loadData();
+		},
+		//搜索部分的清零
+		reset() {
+			this.state.numberSearch = '';
+			this.state.typeSearch = undefined;
+			this.state.companyNameSearch = '';
+			this.state.entryNameSearch = '';
+			this.state.releaseDate = [];
+			this.state.searchMore=true;
+			this.loadData();
+		},
+		searchSwitch() {
+			this.setState({
+				searchMore: !this.state.searchMore
+			});
+		},
+		render() {
+			const FormItem = Form.Item;
+			const rowSelection = {
+				selectedRowKeys: this.state.selectedRowKeys,
+				onChange: (selectedRowKeys, selectedRows) => {
+					this.setState({
+						selectedRows: selectedRows.slice(-1),
+						selectedRowKeys: selectedRowKeys.slice(-1)
+					});
+				}
+			};
+			const { RangePicker } = DatePicker;
+			const theData = this.state.RowData || {};
+			return (
+				<div className="user-content">
+					<div className="content-title">
+						<span>顾问订单列表</span>
+					</div>
+					<div className="user-search">
+						<Input
+							placeholder="订单编号"
+							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+							value={this.state.numberSearch}
+							onChange={(e) => {
+								this.setState({ numberSearch: e.target.value });
+							}}
+						/>
+						<Input
+							placeholder="消费者名称"
+							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+							value={this.state.companyNameSearch}
+							onChange={(e) => {
+								this.setState({ companyNameSearch: e.target.value });
+							}}
+						/>
+						<Input
+							placeholder="项目名称"
+							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+							value={this.state.entryNameSearch}
+							onChange={(e) => {
+								this.setState({ entryNameSearch: e.target.value });
+							}}
+						/>
+						<Button type="primary" onClick={this.search} style={{ marginRight: '10px' }}>
+							搜索
+						</Button>
+						<Button onClick={this.reset} style={{ marginRight: '10px' }}>
+							重置
+						</Button>
+						<span>
+							更多搜索<Switch  checked={!this.state.searchMore} onChange={this.searchSwitch} />
+						</span>
+						<div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}>
+							<span style={{ marginRight: 10 }}>订单时间 :</span>
+							<RangePicker
+								value={[
+									this.state.releaseDate[0] ? moment(this.state.releaseDate[0]) : null,
+									this.state.releaseDate[1] ? moment(this.state.releaseDate[1]) : null
+								]}
+								onChange={(data, dataString) => {
+									this.setState({ releaseDate: dataString });
+								}}
+							/>
+						</div>
+					</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}
+							/>
+						</Spin>
+					</div>
+					<div className="patent-desc">
+						<Modal
+							className="customeDetails"
+							title="订单详情"
+							width="1000px"
+							visible={this.state.editvisible}
+							onOk={this.edithandleCancel}
+							onCancel={this.edithandleCancel}
+							footer=""
+						>
+							<Form layout="horizontal" onSubmit={this.edithandleSubmit} id="demand-form">
+								<Spin spinning={this.state.loading}>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单编号"
+										>
+											<span>{theData.orderNo}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单类型"
+										>
+											<span>{getOrderType(theData.commodityType)}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单日期"
+										>
+											<span>{theData.createTime}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单金额(万元)"
+										>
+											<span>{theData.orderAmount ? theData.orderAmount + '万元' : ''}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="项目名称"
+										>
+											<span>{theData.commodityName}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="消费者"
+										>
+											<span>{theData.buyerName}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="联系方式"
+										>
+											<span>{theData.buyerMobile}</span>
+										</FormItem>
+									</div>
+								</Spin>
+							</Form>
+						</Modal>
+					</div>
+				</div>
+			);
+		}
+	})
+);
+
+export default Order;

+ 440 - 0
js/component/account/order/adviserX.jsx

@@ -0,0 +1,440 @@
+/* 
+	update:2018/07/16
+	author:liting
+*/
+
+import React from 'react';
+import $ from 'jquery/src/ajax';
+import { Form, Button, Input, Select,Rate, Spin, Table, message, Modal, Tooltip, Switch, DatePicker } from 'antd';
+import { getOrderType } from '@/tools.js';
+import moment  from 'moment';
+//主体
+const Order = Form.create()(
+	React.createClass({
+		loadData(pageNo) {
+			this.state.data = [];
+			this.setState({
+				loading: true,
+				page: pageNo
+			});
+			$.ajax({
+				method: 'get',
+				dataType: 'json',
+				crossDomain: false,
+				url: globalConfig.context + '/api/user/jtOrder/list',
+				data: {
+					pageNo: pageNo || 1,
+					pageSize: this.state.pagination.pageSize,
+					orderNo: this.state.numberSearch,
+					userType:0,
+					orderType:10,
+					commodityName: this.state.entryNameSearch,
+					sellerName: this.state.companyNameSearch,
+					startCreateDate: this.state.releaseDate[0],
+					endCreateDate: this.state.releaseDate[1]
+				},
+				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,
+								sellerId: thisdata.sellerId,
+								buyerId:thisdata.buyerId,
+								orderNo:thisdata.orderNo,
+								commodityId:thisdata.commodityId,
+								commodityType:thisdata.commodityType,
+								orderAmount:thisdata.orderAmount,
+								commodityName:thisdata.commodityName,
+								sellerName:thisdata.sellerName!=null?thisdata.sellerName:'佚名',
+								sellerMobile:thisdata.sellerMobile,
+								createTime: thisdata.createTime ? new Date(thisdata.createTime).toLocaleString() : ''
+							});
+						}
+						this.state.pagination.current = data.data.pageNo;
+						this.state.pagination.total = data.data.totalCount;
+					}
+					this.setState({
+						dataSource: theArr,
+						pagination: this.state.pagination
+					});
+				}.bind(this)
+			}).always(
+				function() {
+					this.setState({
+						loading: false
+					});
+				}.bind(this)
+			);
+		},
+		getInitialState() {
+			return {
+				searchMore: true,
+				selectedRowKeys: [],
+				selectedRows: [],
+				loading: false,
+				releaseDate: [],
+				pagination: {
+					defaultCurrent: 1,
+					defaultPageSize: 10,
+					showQuickJumper: true,
+					pageSize: 10,
+					onChange: function(page) {
+						this.loadData(page);
+						this.setState({
+							selectedRowKeys: []
+						});
+					}.bind(this),
+					showTotal: function(total) {
+						return '共' + total + '条数据';
+					}
+				},
+				columns: [
+					{
+						title: '订单编号',
+						dataIndex: 'orderNo',
+						key: 'orderNo'
+					},
+					{
+						title: '订单类型',
+						dataIndex: 'commodityType',
+						key: 'commodityType',
+						render: (text) => {
+							return getOrderType(text);
+						}
+					},
+					{
+						title: '订单日期',
+						dataIndex: 'createTime',
+						key: 'createTime'
+					},
+					{
+						title: '订单金额(万元)',
+						dataIndex: 'orderAmount',
+                        key: 'orderAmount',
+                        render:(text)=>{
+                            return text?text:'面议'
+                        }
+					},
+					
+					{
+						title: '顾问名称',
+						dataIndex: 'sellerName',
+						key: 'sellerName',
+						
+					},
+					{
+						title: '联系方式',
+						dataIndex: 'sellerMobile',
+						key: 'sellerMobile'
+					},
+					{
+						title: '评价',
+						dataIndex: 'pingjia',
+						key: 'pingjia',
+						render:(text,recard)=>{
+							return <Button type="primary" onClick={(e)=>{e.stopPropagation(),this.evaluate(recard)}}>评价</Button>
+						}
+					}
+				],
+				dataSource: []
+			};
+		},
+		componentWillMount() {
+			this.loadData();
+		},
+		//项目列表整行点击
+		tableRowClick(record, index) {
+			this.state.RowData = record;
+			this.setState({
+				editvisible: true
+			});
+		},
+		edithandleCancel(e) {
+			this.setState({
+				editvisible: false
+			});
+		},
+		search() {
+			this.loadData();
+		},
+		//评价
+		evaluate(recard){
+			this.setState({
+				remark:'',
+				star:undefined,
+				orderNo:recard.orderNo,
+				ids:recard.commodityId,
+				evaluateVisible:true
+			})
+		},
+		evaluateOk(){
+			this.setState({
+				evaluateVisible:false
+			})
+		},
+		evaluateCancel(){
+			this.setState({
+				evaluateVisible:false
+			})
+		},
+		//评价
+		evaluateSubmit(e){
+			e.preventDefault();
+			if(!this.state.remark){
+				message.warning('请填写评价内容');
+				return;
+			}
+			if(!this.state.star){
+				message.warning('请选择评星等级');
+				return;
+			}
+			this.setState({
+				loading:true
+			})
+			$.ajax({
+				method:"post",
+				dataType:'json',
+				url:globalConfig.context+'/api/user/comment/apply',
+				data:{
+					commodityId:this.state.ids,
+					content:this.state.remark,
+					star:this.state.star,
+					orderNo:this.state.orderNo
+				},
+				success:function(data){
+					if(data&&data.error.length){
+						message.error(data.error[0].message);
+						return;
+					}
+					message.success('提交成功,感谢您的评价!')
+					this.loadData(this.state.page);
+				}.bind(this)
+			}).always(
+				function() {
+					this.setState({
+						evaluateVisible:false,
+						loading: false
+					});
+				}.bind(this)
+			);
+		},
+		//搜索部分的清零
+		reset() {
+			this.state.numberSearch = '';
+			this.state.typeSearch = undefined;
+			this.state.companyNameSearch = '';
+			this.state.entryNameSearch = '';
+			this.state.releaseDate = [];
+			this.state.searchMore=true;
+			this.loadData();
+		},
+		searchSwitch() {
+			this.setState({
+				searchMore: !this.state.searchMore
+			});
+		},
+		render() {
+			const FormItem = Form.Item;
+			const rowSelection = {
+				selectedRowKeys: this.state.selectedRowKeys,
+				onChange: (selectedRowKeys, selectedRows) => {
+					this.setState({
+						selectedRows: selectedRows.slice(-1),
+						selectedRowKeys: selectedRowKeys.slice(-1)
+					});
+				}
+			};
+			const { RangePicker } = DatePicker;
+			const theData = this.state.RowData || {};
+			return (
+				<div className="user-content">
+					<div className="content-title">
+						<span>顾问订单列表</span>
+					</div>
+					<div className="user-search">
+						<Input
+							placeholder="订单编号"
+							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+							value={this.state.numberSearch}
+							onChange={(e) => {
+								this.setState({ numberSearch: e.target.value });
+							}}
+						/>
+						<Input
+							placeholder="顾问名称"
+							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+							value={this.state.companyNameSearch}
+							onChange={(e) => {
+								this.setState({ companyNameSearch: e.target.value });
+							}}
+						/>
+						<Button type="primary" onClick={this.search} style={{ marginRight: '10px' }}>
+							搜索
+						</Button>
+						<Button onClick={this.reset} style={{ marginRight: '10px' }}>
+							重置
+						</Button>
+						<span>
+							更多搜索<Switch  checked={!this.state.searchMore} onChange={this.searchSwitch} />
+						</span>
+						<div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}>
+							<span style={{ marginRight: 10 }}>订单时间 :</span>
+							<RangePicker
+								value={[
+									this.state.releaseDate[0] ? moment(this.state.releaseDate[0]) : null,
+									this.state.releaseDate[1] ? moment(this.state.releaseDate[1]) : null
+								]}
+								onChange={(data, dataString) => {
+									this.setState({ releaseDate: dataString });
+								}}
+							/>
+						</div>
+					</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}
+							/>
+						</Spin>
+					</div>
+					<div className="patent-desc">
+						<Modal
+							className="customeDetails"
+							title="订单详情"
+							width="1000px"
+							visible={this.state.editvisible}
+							onOk={this.edithandleCancel}
+							onCancel={this.edithandleCancel}
+							footer=""
+						>
+							<Form layout="horizontal" onSubmit={this.edithandleSubmit} id="demand-form">
+								<Spin spinning={this.state.loading}>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单编号"
+										>
+											<span>{theData.orderNo}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单类型"
+										>
+											<span>{getOrderType(theData.commodityType)}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单日期"
+										>
+											<span>{theData.createTime}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单金额(万元)"
+										>
+											<span>{theData.orderAmount ? theData.orderAmount + '万元' : '面议'}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="项目名称"
+										>
+											<span>{theData.commodityName}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="服务商"
+										>
+											<span>{theData.sellerName}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="联系方式"
+										>
+											<span>{theData.sellerMobile}</span>
+										</FormItem>
+									</div>
+								</Spin>
+							</Form>
+						</Modal>
+					</div>
+					<Modal
+							title="评价"
+							width="600px"
+							visible={this.state.evaluateVisible}
+							onOk={this.evaluateOk}
+							okText="提交"
+							onCancel={this.evaluateCancel}
+							footer=''
+						>	
+						<Form layout="horizontal" onSubmit={this.evaluateSubmit} >
+							<Spin spinning={this.state.loading}>
+								<p style={{marginLeft:40,fontSize:20,marginBottom:15}}>其他买家需要您的建议哦!</p>
+								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} 
+									label={<span><i style={{color:'#f00'}}> * </i>评价内容</span>}>
+									<Input
+										type="textarea"
+										rows={4}
+										placeholder="输入你的建议"
+										value={this.state.remark}
+										onChange={(e) => {
+											this.setState({ remark: e.target.value });
+										}}
+									/>
+								</FormItem>
+								<FormItem
+									labelCol={{ span: 4 }} 
+									wrapperCol={{ span: 8 }}
+									label={<span><i style={{color:'#f00'}}> * </i>评星</span>}
+								>
+									<Rate onChange={(e)=>{this.setState({star:e})}} value={this.state.star} />
+								</FormItem>
+								<div className="clearfix">
+									<FormItem wrapperCol={{ span: 12, offset: 4 }}>
+										<Button className="set-submit" type="primary" htmlType="submit" style={{marginRight:15}}>
+											提交
+										</Button>
+										<Button className="set-submit" type="ghost" onClick={this.evaluateCancel}>
+											取消
+										</Button>
+									</FormItem>
+								</div>
+							</Spin>
+						</Form>
+					</Modal>
+				</div>
+			);
+		}
+	})
+);
+
+export default Order;

+ 1 - 1
js/component/account/order/demandOrderS.jsx

@@ -198,7 +198,7 @@ const Order = Form.create()(
 			return (
 				<div className="user-content">
 					<div className="content-title">
-						<span>订单列表</span>
+						<span>需求订单列表</span>
 					</div>
 					<div className="user-search">
 						<Input

+ 1 - 1
js/component/account/order/demandOrderX.jsx

@@ -261,7 +261,7 @@ const Order = Form.create()(
 			return (
 				<div className="user-content">
 					<div className="content-title">
-						<span>我的需求订单</span>
+						<span>需求订单列表</span>
 					</div>
 					<div className="user-search">
 						<Input

+ 335 - 0
js/component/account/order/expertS.jsx

@@ -0,0 +1,335 @@
+/* 
+	update:2018/08/01
+	author:liting
+*/
+
+import React from 'react';
+import $ from 'jquery/src/ajax';
+import { Form, Button, Input, Select, Spin, Table, message, Modal, Tooltip, Switch, DatePicker } from 'antd';
+import { orderType } from '@/dataDic';
+import { getOrderType } from '@/tools.js';
+import moment  from 'moment';
+//主体
+const Order = Form.create()(
+	React.createClass({
+		loadData(pageNo) {
+			this.state.data = [];
+			this.setState({
+				loading: true,
+				page: pageNo
+			});
+			$.ajax({
+				method: 'get',
+				dataType: 'json',
+				crossDomain: false,
+				url: globalConfig.context + '/api/user/jtOrder/list',
+				data: {
+					pageNo: pageNo || 1,
+					pageSize: this.state.pagination.pageSize,
+					orderNo: this.state.numberSearch,
+					userType:1,
+					orderType:10,
+					commodityName: this.state.entryNameSearch,
+					buyerName: this.state.companyNameSearch,
+					startCreateDate: this.state.releaseDate[0],
+					endCreateDate: this.state.releaseDate[1]
+				},
+				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,
+								sellerId: thisdata.sellerId,
+								buyerId:thisdata.buyerId,
+								orderNo:thisdata.orderNo,
+								commodityType:thisdata.commodityType,
+								orderAmount:thisdata.orderAmount,
+								commodityName:thisdata.commodityName,
+								buyerName:thisdata.buyerName,
+								buyerMobile:thisdata.buyerMobile,
+								createTime: thisdata.createTime ? new Date(thisdata.createTime).toLocaleString() : ''
+							});
+						}
+						this.state.pagination.current = data.data.pageNo;
+						this.state.pagination.total = data.data.totalCount;
+					}
+					this.setState({
+						dataSource: theArr,
+						pagination: this.state.pagination
+					});
+				}.bind(this)
+			}).always(
+				function() {
+					this.setState({
+						loading: false
+					});
+				}.bind(this)
+			);
+		},
+		getInitialState() {
+			return {
+				searchMore: true,
+				selectedRowKeys: [],
+				selectedRows: [],
+				loading: false,
+				releaseDate: [],
+				pagination: {
+					defaultCurrent: 1,
+					defaultPageSize: 10,
+					showQuickJumper: true,
+					pageSize: 10,
+					onChange: function(page) {
+						this.loadData(page);
+						this.setState({
+							selectedRowKeys: []
+						});
+					}.bind(this),
+					showTotal: function(total) {
+						return '共' + total + '条数据';
+					}
+				},
+				columns: [
+					{
+						title: '订单编号',
+						dataIndex: 'orderNo',
+						key: 'orderNo'
+					},
+					{
+						title: '订单类型',
+						dataIndex: 'commodityType',
+						key: 'commodityType',
+						render: (text) => {
+							return getOrderType(text);
+						}
+					},
+					{
+						title: '订单日期',
+						dataIndex: 'createTime',
+						key: 'createTime'
+					},
+					{
+						title: '订单金额(万元)',
+						dataIndex: 'orderAmount',
+						key: 'orderAmount',
+						render:(text)=>{
+                            return text?text:'面议'
+                        }
+					},
+					{
+						title: '购买者',
+						dataIndex: 'buyerName',
+						key: 'buyerName',
+						
+					},
+					{
+						title: '联系方式',
+						dataIndex: 'buyerMobile',
+						key: 'buyerMobile'
+					},
+					
+				],
+				dataSource: []
+			};
+		},
+		componentWillMount() {
+			this.loadData();
+		},
+		//项目列表整行点击
+		tableRowClick(record, index) {
+			this.state.RowData = record;
+			this.setState({
+				editvisible: true
+			});
+		},
+		edithandleCancel(e) {
+			this.setState({
+				editvisible: false
+			});
+		},
+		search() {
+			this.loadData();
+		},
+		//搜索部分的清零
+		reset() {
+			this.state.numberSearch = '';
+			this.state.typeSearch = undefined;
+			this.state.companyNameSearch = '';
+			this.state.entryNameSearch = '';
+			this.state.releaseDate = [];
+			this.state.searchMore=true;
+			this.loadData();
+		},
+		searchSwitch() {
+			this.setState({
+				searchMore: !this.state.searchMore
+			});
+		},
+		render() {
+			const FormItem = Form.Item;
+			const rowSelection = {
+				selectedRowKeys: this.state.selectedRowKeys,
+				onChange: (selectedRowKeys, selectedRows) => {
+					this.setState({
+						selectedRows: selectedRows.slice(-1),
+						selectedRowKeys: selectedRowKeys.slice(-1)
+					});
+				}
+			};
+			const { RangePicker } = DatePicker;
+			const theData = this.state.RowData || {};
+			return (
+				<div className="user-content">
+					<div className="content-title">
+						<span>专家订单列表</span>
+					</div>
+					<div className="user-search">
+						<Input
+							placeholder="订单编号"
+							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+							value={this.state.numberSearch}
+							onChange={(e) => {
+								this.setState({ numberSearch: e.target.value });
+							}}
+						/>
+						<Input
+							placeholder="消费者名称"
+							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+							value={this.state.companyNameSearch}
+							onChange={(e) => {
+								this.setState({ companyNameSearch: e.target.value });
+							}}
+						/>
+						<Input
+							placeholder="项目名称"
+							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+							value={this.state.entryNameSearch}
+							onChange={(e) => {
+								this.setState({ entryNameSearch: e.target.value });
+							}}
+						/>
+						<Button type="primary" onClick={this.search} style={{ marginRight: '10px' }}>
+							搜索
+						</Button>
+						<Button onClick={this.reset} style={{ marginRight: '10px' }}>
+							重置
+						</Button>
+						<span>
+							更多搜索<Switch  checked={!this.state.searchMore} onChange={this.searchSwitch} />
+						</span>
+						<div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}>
+							<span style={{ marginRight: 10 }}>订单时间 :</span>
+							<RangePicker
+								value={[
+									this.state.releaseDate[0] ? moment(this.state.releaseDate[0]) : null,
+									this.state.releaseDate[1] ? moment(this.state.releaseDate[1]) : null
+								]}
+								onChange={(data, dataString) => {
+									this.setState({ releaseDate: dataString });
+								}}
+							/>
+						</div>
+					</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}
+							/>
+						</Spin>
+					</div>
+					<div className="patent-desc">
+						<Modal
+							className="customeDetails"
+							title="订单详情"
+							width="1000px"
+							visible={this.state.editvisible}
+							onOk={this.edithandleCancel}
+							onCancel={this.edithandleCancel}
+							footer=""
+						>
+							<Form layout="horizontal" onSubmit={this.edithandleSubmit} id="demand-form">
+								<Spin spinning={this.state.loading}>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单编号"
+										>
+											<span>{theData.orderNo}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单类型"
+										>
+											<span>{getOrderType(theData.commodityType)}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单日期"
+										>
+											<span>{theData.createTime}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单金额(万元)"
+										>
+											<span>{theData.orderAmount ? theData.orderAmount + '万元' : ''}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="项目名称"
+										>
+											<span>{theData.commodityName}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="消费者"
+										>
+											<span>{theData.buyerName}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="联系方式"
+										>
+											<span>{theData.buyerMobile}</span>
+										</FormItem>
+									</div>
+								</Spin>
+							</Form>
+						</Modal>
+					</div>
+				</div>
+			);
+		}
+	})
+);
+
+export default Order;

+ 459 - 0
js/component/account/order/expertX.jsx

@@ -0,0 +1,459 @@
+/* 
+	update:2018/07/16
+	author:liting
+*/
+
+import React from 'react';
+import $ from 'jquery/src/ajax';
+import { Form, Button, Input, Select,Rate, Spin, Table, message, Modal, Tooltip, Switch, DatePicker } from 'antd';
+import { getOrderType } from '@/tools.js';
+import moment  from 'moment';
+//主体
+const Order = Form.create()(
+	React.createClass({
+		loadData(pageNo) {
+			this.state.data = [];
+			this.setState({
+				loading: true,
+				page: pageNo
+			});
+			$.ajax({
+				method: 'get',
+				dataType: 'json',
+				crossDomain: false,
+				url: globalConfig.context + '/api/user/jtOrder/list',
+				data: {
+					pageNo: pageNo || 1,
+					pageSize: this.state.pagination.pageSize,
+					orderNo: this.state.numberSearch,
+					userType:0,
+					orderType:10,
+					commodityName: this.state.entryNameSearch,
+					sellerName: this.state.companyNameSearch,
+					startCreateDate: this.state.releaseDate[0],
+					endCreateDate: this.state.releaseDate[1]
+				},
+				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,
+								sellerId: thisdata.sellerId,
+								buyerId:thisdata.buyerId,
+								orderNo:thisdata.orderNo,
+								commodityId:thisdata.commodityId,
+								commodityType:thisdata.commodityType,
+								orderAmount:thisdata.orderAmount,
+								commodityName:thisdata.commodityName,
+								sellerName:thisdata.sellerName!=null?thisdata.sellerName:'佚名',
+								sellerMobile:thisdata.sellerMobile,
+								createTime: thisdata.createTime ? new Date(thisdata.createTime).toLocaleString() : ''
+							});
+						}
+						this.state.pagination.current = data.data.pageNo;
+						this.state.pagination.total = data.data.totalCount;
+					}
+					this.setState({
+						dataSource: theArr,
+						pagination: this.state.pagination
+					});
+				}.bind(this)
+			}).always(
+				function() {
+					this.setState({
+						loading: false
+					});
+				}.bind(this)
+			);
+		},
+		getInitialState() {
+			return {
+				searchMore: true,
+				selectedRowKeys: [],
+				selectedRows: [],
+				loading: false,
+				releaseDate: [],
+				pagination: {
+					defaultCurrent: 1,
+					defaultPageSize: 10,
+					showQuickJumper: true,
+					pageSize: 10,
+					onChange: function(page) {
+						this.loadData(page);
+						this.setState({
+							selectedRowKeys: []
+						});
+					}.bind(this),
+					showTotal: function(total) {
+						return '共' + total + '条数据';
+					}
+				},
+				columns: [
+					{
+						title: '订单编号',
+						dataIndex: 'orderNo',
+						key: 'orderNo'
+					},
+					{
+						title: '订单类型',
+						dataIndex: 'commodityType',
+						key: 'commodityType',
+						render: (text) => {
+							return getOrderType(text);
+						}
+					},
+					{
+						title: '订单日期',
+						dataIndex: 'createTime',
+						key: 'createTime'
+					},
+					{
+						title: '订单金额(万元)',
+						dataIndex: 'orderAmount',
+                        key: 'orderAmount',
+                        render:(text)=>{
+                            return text?text:'面议'
+                        }
+					},
+					{
+						title: '项目名称',
+						dataIndex: 'commodityName',
+						key: 'commodityName',
+						render: (text) => {
+							return (
+								<Tooltip title={text}>
+									{text && text.length > 6 ? text.substr(0, 6) + '...' : text}
+								</Tooltip>
+							);
+						}
+					},
+					{
+						title: '服务商',
+						dataIndex: 'sellerName',
+						key: 'sellerName',
+						
+					},
+					{
+						title: '联系方式',
+						dataIndex: 'sellerMobile',
+						key: 'sellerMobile'
+					},
+					{
+						title: '评价',
+						dataIndex: 'pingjia',
+						key: 'pingjia',
+						render:(text,recard)=>{
+							return <Button type="primary" onClick={(e)=>{e.stopPropagation(),this.evaluate(recard)}}>评价</Button>
+						}
+					}
+				],
+				dataSource: []
+			};
+		},
+		componentWillMount() {
+			this.loadData();
+		},
+		//项目列表整行点击
+		tableRowClick(record, index) {
+			this.state.RowData = record;
+			this.setState({
+				editvisible: true
+			});
+		},
+		edithandleCancel(e) {
+			this.setState({
+				editvisible: false
+			});
+		},
+		search() {
+			this.loadData();
+		},
+		//评价
+		evaluate(recard){
+			this.setState({
+				remark:'',
+				star:undefined,
+				orderNo:recard.orderNo,
+				ids:recard.commodityId,
+				evaluateVisible:true
+			})
+		},
+		evaluateOk(){
+			this.setState({
+				evaluateVisible:false
+			})
+		},
+		evaluateCancel(){
+			this.setState({
+				evaluateVisible:false
+			})
+		},
+		//评价
+		evaluateSubmit(e){
+			e.preventDefault();
+			if(!this.state.remark){
+				message.warning('请填写评价内容');
+				return;
+			}
+			if(!this.state.star){
+				message.warning('请选择评星等级');
+				return;
+			}
+			this.setState({
+				loading:true
+			})
+			$.ajax({
+				method:"post",
+				dataType:'json',
+				url:globalConfig.context+'/api/user/comment/apply',
+				data:{
+					commodityId:this.state.ids,
+					content:this.state.remark,
+					star:this.state.star,
+					orderNo:this.state.orderNo
+				},
+				success:function(data){
+					if(data&&data.error.length){
+						message.error(data.error[0].message);
+						return;
+					}
+					message.success('提交成功,感谢您的评价!')
+					this.loadData(this.state.page);
+				}.bind(this)
+			}).always(
+				function() {
+					this.setState({
+						evaluateVisible:false,
+						loading: false
+					});
+				}.bind(this)
+			);
+		},
+		//搜索部分的清零
+		reset() {
+			this.state.numberSearch = '';
+			this.state.typeSearch = undefined;
+			this.state.companyNameSearch = '';
+			this.state.entryNameSearch = '';
+			this.state.releaseDate = [];
+			this.state.searchMore=true;
+			this.loadData();
+		},
+		searchSwitch() {
+			this.setState({
+				searchMore: !this.state.searchMore
+			});
+		},
+		render() {
+			const FormItem = Form.Item;
+			const rowSelection = {
+				selectedRowKeys: this.state.selectedRowKeys,
+				onChange: (selectedRowKeys, selectedRows) => {
+					this.setState({
+						selectedRows: selectedRows.slice(-1),
+						selectedRowKeys: selectedRowKeys.slice(-1)
+					});
+				}
+			};
+			const { RangePicker } = DatePicker;
+			const theData = this.state.RowData || {};
+			return (
+				<div className="user-content">
+					<div className="content-title">
+						<span>专家订单列表</span>
+					</div>
+					<div className="user-search">
+						<Input
+							placeholder="订单编号"
+							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+							value={this.state.numberSearch}
+							onChange={(e) => {
+								this.setState({ numberSearch: e.target.value });
+							}}
+						/>
+						<Input
+							placeholder="服务商名称"
+							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+							value={this.state.companyNameSearch}
+							onChange={(e) => {
+								this.setState({ companyNameSearch: e.target.value });
+							}}
+						/>
+						<Input
+							placeholder="项目名称"
+							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+							value={this.state.entryNameSearch}
+							onChange={(e) => {
+								this.setState({ entryNameSearch: e.target.value });
+							}}
+						/>
+						<Button type="primary" onClick={this.search} style={{ marginRight: '10px' }}>
+							搜索
+						</Button>
+						<Button onClick={this.reset} style={{ marginRight: '10px' }}>
+							重置
+						</Button>
+						<span>
+							更多搜索<Switch  checked={!this.state.searchMore} onChange={this.searchSwitch} />
+						</span>
+						<div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}>
+							<span style={{ marginRight: 10 }}>订单时间 :</span>
+							<RangePicker
+								value={[
+									this.state.releaseDate[0] ? moment(this.state.releaseDate[0]) : null,
+									this.state.releaseDate[1] ? moment(this.state.releaseDate[1]) : null
+								]}
+								onChange={(data, dataString) => {
+									this.setState({ releaseDate: dataString });
+								}}
+							/>
+						</div>
+					</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}
+							/>
+						</Spin>
+					</div>
+					<div className="patent-desc">
+						<Modal
+							className="customeDetails"
+							title="订单详情"
+							width="1000px"
+							visible={this.state.editvisible}
+							onOk={this.edithandleCancel}
+							onCancel={this.edithandleCancel}
+							footer=""
+						>
+							<Form layout="horizontal" onSubmit={this.edithandleSubmit} id="demand-form">
+								<Spin spinning={this.state.loading}>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单编号"
+										>
+											<span>{theData.orderNo}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单类型"
+										>
+											<span>{getOrderType(theData.commodityType)}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单日期"
+										>
+											<span>{theData.createTime}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="订单金额(万元)"
+										>
+											<span>{theData.orderAmount ? theData.orderAmount + '万元' : '面议'}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="项目名称"
+										>
+											<span>{theData.commodityName}</span>
+										</FormItem>
+									</div>
+									<div className="clearfix">
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="服务商"
+										>
+											<span>{theData.sellerName}</span>
+										</FormItem>
+										<FormItem
+											className="half-item"
+											labelCol={{ span: 8 }}
+											wrapperCol={{ span: 12 }}
+											label="联系方式"
+										>
+											<span>{theData.sellerMobile}</span>
+										</FormItem>
+									</div>
+								</Spin>
+							</Form>
+						</Modal>
+					</div>
+					<Modal
+							title="评价"
+							width="600px"
+							visible={this.state.evaluateVisible}
+							onOk={this.evaluateOk}
+							okText="提交"
+							onCancel={this.evaluateCancel}
+							footer=''
+						>	
+						<Form layout="horizontal" onSubmit={this.evaluateSubmit} >
+							<Spin spinning={this.state.loading}>
+								<p style={{marginLeft:40,fontSize:20,marginBottom:15}}>其他买家需要您的建议哦!</p>
+								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} 
+									label={<span><i style={{color:'#f00'}}> * </i>评价内容</span>}>
+									<Input
+										type="textarea"
+										rows={4}
+										placeholder="输入你的建议"
+										value={this.state.remark}
+										onChange={(e) => {
+											this.setState({ remark: e.target.value });
+										}}
+									/>
+								</FormItem>
+								<FormItem
+									labelCol={{ span: 4 }} 
+									wrapperCol={{ span: 8 }}
+									label={<span><i style={{color:'#f00'}}> * </i>评星</span>}
+								>
+									<Rate onChange={(e)=>{this.setState({star:e})}} value={this.state.star} />
+								</FormItem>
+								<div className="clearfix">
+									<FormItem wrapperCol={{ span: 12, offset: 4 }}>
+										<Button className="set-submit" type="primary" htmlType="submit" style={{marginRight:15}}>
+											提交
+										</Button>
+										<Button className="set-submit" type="ghost" onClick={this.evaluateCancel}>
+											取消
+										</Button>
+									</FormItem>
+								</div>
+							</Spin>
+						</Form>
+					</Modal>
+				</div>
+			);
+		}
+	})
+);
+
+export default Order;

+ 1 - 1
js/component/account/order/memberOrderS.jsx

@@ -197,7 +197,7 @@ const Order = Form.create()(
 			return (
 				<div className="user-content">
 					<div className="content-title">
-						<span>订单列表</span>
+						<span>会员订单列表</span>
 					</div>
 					<div className="user-search">
 						<Input

+ 1 - 1
js/component/account/order/memberOrderX.jsx

@@ -284,7 +284,7 @@ const Order = Form.create()(
 			return (
 				<div className="user-content">
 					<div className="content-title">
-						<span>我的会员订单</span>
+						<span>会员订单列表</span>
 					</div>
 					<div className="user-search">
 						<Input

+ 1 - 1
js/component/account/order/projectOrderX.jsx

@@ -266,7 +266,7 @@ const Order = Form.create()(
 			return (
 				<div className="user-content">
 					<div className="content-title">
-						<span>我的项目订单</span>
+						<span>订单列表</span>
 					</div>
 					<div className="user-search">
 						<Input

+ 1 - 2
js/component/account/setAccount/contacts.jsx

@@ -33,7 +33,7 @@ class Contancts extends React.Component {
 			success: function(data) {
 				let theData=data.data,
 					newData=[];
-				if (data.error.length || data.data == '') {
+				if (data.error.length) {
 					if (data.error && data.error.length) {
 						message.warning(data.error[0].message);
 					}
@@ -48,7 +48,6 @@ class Contancts extends React.Component {
 							mobile:item.mobile,
 							qq: item.qq,
 							email: item.email,
-						//	remarks: item.remarks	
 						})
 					})
 					this.setState({

+ 555 - 0
js/component/account/setAccount/patent.jsx

@@ -0,0 +1,555 @@
+/* 
+	@author:李霆
+	@update:2018/05/29
+	@descript:复制粘贴,拿起来就是干!!
+*/
+
+import React from 'react';
+import {
+	Radio,
+	Icon,
+	Button,
+	Cascader,
+	Input,
+	Select,
+	Spin,
+	message,
+	DatePicker,
+	Modal,
+	Upload,
+	Form,
+	Row,
+	Col,
+} from 'antd';
+
+import $ from 'jquery/src/ajax';
+import moment from 'moment';
+import './unit.less';
+import { areaSelect } from '@/NewDicProvinceList';
+import {
+	socialAttribute,
+	industry,
+	
+} from '@/dataDic.js';
+import {
+	splitUrl,
+} from '@/tools.js';
+const FormItem = Form.Item;
+const monthFormat = 'YYYY/MM';
+//图片组件
+const PicturesWall = React.createClass({
+	getInitialState() {
+		return {
+			previewVisible: false,
+			previewImage: '',
+			fileList: []
+		};
+	},
+	handleCancel() {
+		this.setState({
+			previewVisible: false
+		});
+	},
+	handlePreview(file) {
+		this.setState({
+			previewImage: file.url || file.thumbUrl,
+			previewVisible: true
+		});
+	},
+	handleChange(info) {
+		let fileList = info.fileList;
+		this.setState({
+			fileList
+		});
+		this.props.fileList(fileList);
+	},
+	componentWillReceiveProps(nextProps) {
+		this.state.fileList = nextProps.pictureUrl;
+	},
+	render() {
+		const { previewVisible, previewImage, fileList } = this.state;
+		const uploadButton = (
+			<div>
+				<Icon type="plus" />
+				<div className="ant-upload-text">点击上传</div>
+			</div>
+		);
+		return (
+			<div style={{ display: 'inline-block' }}>
+				<Upload
+					action={globalConfig.context + '/api/user/uploadPicture'}
+					data={{ sign: 'user_picture' }}
+					listType="picture-card"
+					fileList={fileList}
+					onPreview={this.handlePreview}
+					onChange={this.handleChange}
+				>
+					{fileList.length >= 1 ? null : uploadButton}
+				</Upload>
+				<Modal maskClosable={false} visible={previewVisible} footer={null} onCancel={this.handleCancel}>
+					<img alt="example" style={{ width: '100%' }} src={previewImage} />
+				</Modal>
+			</div>
+		);
+	}
+});
+
+const Personal = React.createClass({
+	getInitialState() {
+		return {
+			loading: false,
+			orgCodeUrl: [],
+			companyLogoUrl: [],
+			headPortraitUrl: [],
+			positiveIdUrl: [],
+			oppositeIdUrl: []
+		};
+	},
+	loadInformation(record) {
+		this.setState({
+			loading: true
+		});
+		$.ajax({
+			method: 'get',
+			dataType: 'json',
+			crossDomain: false,
+			url: globalConfig.context + '/api/user/getUserDetail',
+			success: function(data) {
+				let thisData = data.data;
+				if (!thisData) {
+					if (data.error && data.error.length) {
+						message.warning(data.error[0].message);
+					}
+					thisData = {};
+				}
+				let ProvinceCityArr = [];
+				let ProvinceS = thisData.province; //getprovince
+				let citys = thisData.city;
+				let Areas = thisData.area;
+				ProvinceCityArr.push(ProvinceS, citys, Areas);
+				let month = thisData.dateOfBirthYear
+					? thisData.dateOfBirthYear + '/' + thisData.dateOfBirthMonth
+					: undefined;
+				this.setState({
+					InformationId: thisData.id,
+					InformationUid: thisData.uid,
+					identifyName: thisData.identifyName,
+					headPortraitUrl: thisData.headPortraitUrl
+						? splitUrl(thisData.headPortraitUrl, ',', globalConfig.avatarHost + '/upload')
+						: [],
+					positiveIdUrl: thisData.positiveIdUrl
+						? splitUrl(thisData.positiveIdUrl, ',', globalConfig.avatarHost + '/upload')
+						: [],
+					oppositeIdUrl: thisData.oppositeIdUrl
+						? splitUrl(thisData.oppositeIdUrl, ',', globalConfig.avatarHost + '/upload')
+						: [],
+					dataInformation: thisData,
+					idNumber: thisData.idNumber,
+					mobile:thisData.mobile,
+					ProvinceCity: ProvinceCityArr[0] != null ? ProvinceCityArr : undefined,
+					industry: thisData.industry ? String(thisData.industry) : undefined,
+					societyTag: thisData.societyTag || undefined,
+					sex: thisData.sex,
+					yearMonth: month,
+					postalAddress: thisData.postalAddress,
+					fixedTel: thisData.fixedTel,
+					email: thisData.email,
+					qq: thisData.qq,
+					mobile:thisData.mobile,
+					introduction: thisData.introduction,
+					type:thisData.type,
+					authentication:thisData.authentication
+				});
+			}.bind(this)
+		}).always(
+			function() {
+				this.setState({
+					loading: false
+				});
+			}.bind(this)
+		);
+	},
+	//图片
+	getOrgCodeUrl(e) {
+		this.setState({
+			orgCodeUrl: e
+		});
+	},
+	getCompanyLogoUrl(e) {
+		this.setState({
+			companyLogoUrl: e
+		});
+	},
+	//基本信息提交
+	newSubmit(e) {
+        if(!this.state.identifyName){
+            message.warning("请填写姓名!")
+            return;
+        }
+		if (!this.state.industry) {
+			message.warning('请选择行业!');
+			return false;
+		}
+		if (!this.state.societyTag) {
+			message.warning('请选择社会性质!');
+			return false;
+		}
+		if (!this.state.ProvinceCity||!this.state.ProvinceCity.length) {
+			message.warning('请选择地区!');
+			return false;
+        }
+        
+        if(!this.state.mobile){
+            message.warning("请填写手机号码!")
+            return;
+        }
+		this.state.data = [];
+		this.setState({
+			selectedRowKeys: []
+		});
+
+		let theorgCodeUrl = [];
+		if (this.state.headPortraitUrl.length) {
+			let picArr = [];
+			this.state.headPortraitUrl.map(function(item) {
+				if (item.response && item.response.data && item.response.data.length) {
+					picArr.push(item.response.data);
+				}
+			});
+			theorgCodeUrl = picArr.join(',');
+		}
+		let thecompanyLogoUrl = [];
+		if (this.state.positiveIdUrl.length) {
+			let picArr = [];
+			this.state.positiveIdUrl.map(function(item) {
+				if (item.response && item.response.data && item.response.data.length) {
+					picArr.push(item.response.data);
+				}
+			});
+			thecompanyLogoUrl = picArr.join(',');
+		}
+		let thecompanyLogoUrls = [];
+		if (this.state.oppositeIdUrl.length) {
+			let picArr = [];
+			this.state.oppositeIdUrl.map(function(item) {
+				if (item.response && item.response.data && item.response.data.length) {
+					picArr.push(item.response.data);
+				}
+			});
+			thecompanyLogoUrls = picArr.join(',');
+		}
+
+		let years = [];
+		let yearMonth = this.state.yearMonth != undefined ? new Date(this.state.yearMonth).toLocaleDateString() : '';
+		years = yearMonth.split('/');
+		this.setState({
+			loading: true
+		});
+		$.ajax({
+			method: 'post',
+			dataType: 'json',
+			url: globalConfig.context + '/api/user/updateUserDetail',
+			data: {
+				id: this.state.InformationId,
+				uid: this.state.InformationUid,
+				societyTag: this.state.societyTag,
+				identifyName: this.state.identifyName,
+				industry: this.state.industry,
+				dateOfBirthYear: years[0], //出生年
+				dateOfBirthMonth: years[1], //出生月
+				province: this.state.ProvinceCity[0], //省-
+				city: this.state.ProvinceCity[1], //市
+				area: this.state.ProvinceCity[2], //区
+				sex: this.state.sex,
+				mobile:this.state.mobile,
+				fixedTel: this.state.fixedTel,
+				qq: this.state.qq,
+				idNumber: this.state.idNumber,
+				email: this.state.email,
+				postalAddress: this.state.postalAddress,
+				introduction: this.state.introduction,
+				positiveIdUrl: thecompanyLogoUrl.length != 0 ? thecompanyLogoUrl : '',
+				oppositeIdUrl: thecompanyLogoUrls.length != 0 ? thecompanyLogoUrls : '',
+				headPortraitUrl: theorgCodeUrl.length != 0 ? theorgCodeUrl : '',
+				authentication:this.state.authentication,
+				type:this.state.type
+			}
+		}).done(
+			function(data) {
+				this.setState({
+					loading: false
+				});
+				if (!data.error.length) {
+					if(this.state.type!='0'){
+						message.success('个人认证成功,1s后回到首页.')
+						setTimeout(()=>{
+							window.location.href = globalConfig.context + "/user/account/index.html";
+						},1000)  
+					}else{
+						message.success('保存成功!');
+						this.loadInformation();
+					}
+				} else {
+					message.warning(data.error[0].message);
+				}
+			}.bind(this)
+		);
+	},
+	subFun(){
+		if(this.state.type=='0'||this.state.type=='1'){
+			this.newSubmit()
+		}else{
+			this.setState({
+				visible:true
+			})
+		}
+	},
+	handleOk(){
+		this.newSubmit();
+		this.setState({
+			visible:false
+		})
+	},
+	handleCancel(){
+		this.setState({
+			visible:false
+		})
+	},
+	getHeadPortraitUrl(e) {
+		this.setState({ headPortraitUrl: e });
+	},
+	getPositiveIdUrl(e) {
+		this.setState({ positiveIdUrl: e });
+	},
+	getOppositeIdUrl(e) {
+		this.setState({ oppositeIdUrl: e });
+	},
+	componentWillMount() {
+		this.loadInformation();
+	},
+	componentWillReceiveProps(nextProps) {},
+	render() {
+		const { RangePicker, MonthPicker } = DatePicker;
+		const formItemLayout = {
+			labelCol: {
+				span: 6
+			},
+			wrapperCol: {
+				span: 14
+			}
+		};
+		return (
+			<div className="unit-wrap">
+				<Form layout="horizontal" onSubmit={this.newSubmit} id="demand-form" style={{width:'80%'}}>
+					<Spin spinning={this.state.loading}>
+						<Row style={{ marginBottom: 20 }}>
+							<Col offset={2} span={4}>
+								<h4 style={{fontSize:20}}>专利代理人资料</h4>
+							</Col>
+						</Row>
+						<div className="clearfix">
+							<FormItem className="half-item" {...formItemLayout} label={<span><span className="color-red"> * </span>姓名</span>}>
+								<Input
+									placeholder="输入姓名"
+									value={this.state.identifyName}
+									onChange={(e) => {
+										this.setState({ identifyName: e.target.value });
+									}}
+								/>
+							</FormItem>
+							<FormItem className="half-item" {...formItemLayout} label="性别">
+								<Radio.Group
+									value={this.state.sex}
+									onChange={(e) => {
+										this.setState({ sex: e.target.value });
+									}}
+								>
+									<Radio value={'男'}>男</Radio>
+									<Radio value={'女'}>女</Radio>
+								</Radio.Group>
+							</FormItem>
+						</div>
+						<div className="clearfix">
+							<FormItem className="half-item" {...formItemLayout} label={<span><span className="color-red"> * </span>行业</span>}>
+								<Select
+									placeholder="选择行业"
+									value={this.state.industry}
+									onChange={(e) => {
+										this.setState({ industry: e });
+									}}
+								>
+									{industry.map(function(item) {
+										return <Select.Option key={item.value}>{item.key}</Select.Option>;
+									})}
+								</Select>
+							</FormItem>
+							<FormItem className="half-item" {...formItemLayout} label={<span><span className="color-red"> * </span>社会属性</span>}>
+								<Select
+									placeholder="客户社会属性"
+									value={this.state.societyTag}
+									onChange={(e) => {
+										this.setState({ societyTag: e });
+									}}
+								>
+									{socialAttribute.map(function(item) {
+										return <Select.Option key={item.value}>{item.key}</Select.Option>;
+									})}
+								</Select>
+							</FormItem>
+							<FormItem className="half-item" {...formItemLayout} label="出生日期">
+								{!this.state.yearMonth ? (
+									<MonthPicker
+										placeholder="选择出生年月"
+										value={this.state.yearMonth}
+										onChange={(time) => {
+											this.setState({ yearMonth: time });
+										}}
+									/>
+								) : (
+									<MonthPicker
+										value={moment(this.state.yearMonth, monthFormat)}
+										format={monthFormat}
+										onChange={(time) => {
+											this.setState({ yearMonth: time });
+										}}
+									/>
+								)}
+							</FormItem>
+							<FormItem className="half-item" {...formItemLayout} label="身份证号码">
+								<Input
+									placeholder="身份证号码"
+									value={this.state.idNumber}
+									onChange={(e) => {
+										this.setState({ idNumber: e.target.value });
+									}}
+								/>
+							</FormItem>
+                        </div>
+                        <div className="clearfix">
+                            <FormItem className="half-item" {...formItemLayout} label={<span><span className="color-red"> * </span>省-市-区</span>}>
+                                <Cascader
+                                    options={areaSelect()}
+                                    value={this.state.ProvinceCity}
+                                    placeholder="选择城市"
+                                    onChange={(e, pre) => {
+                                        this.setState({ ProvinceCity: e });
+                                    }}
+                                />
+                            </FormItem>
+                            <FormItem className="half-item" {...formItemLayout} label="通信地址">
+                                <Input
+                                    placeholder="客户通信地址"
+                                    value={this.state.postalAddress}
+                                    onChange={(e, pre) => {
+                                        this.setState({ postalAddress: e.target.value });
+                                    }}
+                                />
+                            </FormItem>
+                            <FormItem className="half-item" {...formItemLayout} label={<span><span className="color-red"> * </span>手机号码</span>}>
+                                <Input
+                                    placeholder="手机号码"
+                                    value={this.state.mobile}
+                                    onChange={(e) => {
+                                        this.setState({ mobile: e.target.value });
+                                    }}
+                                />
+                            </FormItem>
+                            <FormItem className="half-item" {...formItemLayout} label="固定电话">
+                                <Input
+                                    placeholder="客户固定电话"
+                                    value={this.state.fixedTel}
+                                    onChange={(e) => {
+                                        this.setState({ fixedTel: e.target.value });
+                                    }}
+                                />
+                            </FormItem>
+                            <FormItem className="half-item" {...formItemLayout} label="QQ">
+                                <Input
+                                    placeholder="QQ"
+                                    value={this.state.qq}
+                                    onChange={(e) => {
+                                        this.setState({ qq: 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>
+                        </div>
+                        <div className="clearfix">
+                            <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="专家简介">
+                                <Input
+                                    type="textarea"
+                                    rows={4}
+                                    value={this.state.introduction}
+                                    onChange={(e, pre) => {
+                                        this.setState({ introduction: e.target.value });
+                                    }}
+                                />
+                            </FormItem>
+                        </div>
+                        <div className="clearfix pictures">
+                            <FormItem
+                                className="picWidth"
+                                labelCol={{ span: 10 }}
+                                wrapperCol={{ span: 10 }}
+                                label="身份证正面"
+                            >
+                                <PicturesWall
+                                    fileList={this.getPositiveIdUrl}
+                                    pictureUrl={this.state.positiveIdUrl}
+                                />
+                                <p>建议:图片要清晰。</p>
+                            </FormItem>
+                            <FormItem
+                                className="picWidth"
+                                labelCol={{ span: 10 }}
+                                wrapperCol={{ span: 10 }}
+                                label="身份证反面"
+                            >
+                                <PicturesWall
+                                    fileList={this.getOppositeIdUrl}
+                                    pictureUrl={this.state.oppositeIdUrl}
+                                />
+                                <p>建议:图片要清晰。</p>
+                            </FormItem>
+                            <FormItem
+                                className="picWidth"
+                                labelCol={{ span: 10 }}
+                                wrapperCol={{ span: 10 }}
+                                label="客户照片"
+                            >
+                                <PicturesWall
+                                    fileList={this.getHeadPortraitUrl}
+                                    pictureUrl={this.state.headPortraitUrl}
+                                />
+                                <p>建议:图片要清晰。</p>
+                            </FormItem>
+                        </div>
+                        <Row style={{ marginBottom: 20 }}>
+                            <Col offset={3} span={4}>
+                                <Button size="large" className="set-submit" type="primary"  onClick={this.subFun}>
+                                    保存
+                                </Button>
+                            </Col>
+                        </Row>
+					</Spin>
+				</Form>
+				<Modal
+					visible={this.state.visible}
+					onOk={this.handleOk}
+					onCancel={this.handleCancel}
+					>
+						<p>是否申请个人用户认证?</p>
+				</Modal>
+			</div>
+		);
+	}
+});
+export default Personal;

+ 1 - 1
js/component/administration/achievement/achievementDetaiel.jsx

@@ -263,7 +263,7 @@ const DemandDetail = Form.create()(React.createClass({
                 onCancel={this.refuseCancel}
                 >   
                     <div>
-                        <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="拒绝原因">
+                        <FormItem labelCol={{ span:4 }} wrapperCol={{ span: 18 }} label="拒绝原因">
                             <Input type="textarea" rows={4} value={this.state.refuseValue} placeholder="输入拒绝原因" onChange={(e)=>{this.setState({refuseValue:e.target.value})}}/>
                         </FormItem>
                     </div>

+ 1 - 1
js/component/administration/business/businessCategory.jsx

@@ -422,7 +422,7 @@ const BusinessCategory=Form.create()(React.createClass({
 	                 <div className="patent-desc">
 	                    <Modal maskClosable={false} visible={this.state.visible}
 	                        onOk={this.checkPatentProcess} onCancel={this.handleCancel}
-	                        width='400px'
+	                        width='420px'
 	                        title='新增品类'                       
 	                        footer=''
 	                        className="admin-desc-content">

+ 2 - 2
js/component/administration/demand/demandDetaiel.jsx

@@ -187,7 +187,7 @@ const DemandDetail = Form.create()(React.createClass({
 						</FormItem>
 						{theData.demandType=='5'&&
 							<FormItem className="half-item" {...formItemLayout} label="人才需求酬劳">
-							     <span>{theData.crowdCost} 元/月</span>
+							     <span>{theData.budgetCost} 万元</span>
 						    </FormItem>}
 						{theData.demandType=='3'&&<div className="clearfix"><FormItem className="half-item" {...formItemLayout} label="资金需求额度">
                             <span>{theData.budgetCost}万元</span>
@@ -290,7 +290,7 @@ const DemandDetail = Form.create()(React.createClass({
                 onCancel={this.refuseCancel}
                 >   
                     <div>
-                        <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="拒绝原因">
+                        <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="拒绝原因">
                             <Input type="textarea" rows={4} value={this.state.refuseValue} placeholder="输入拒绝原因" onChange={(e)=>{this.setState({refuseValue:e.target.value})}}/>
                         </FormItem>
                     </div>

+ 0 - 3
js/component/administration/news/newsList.jsx

@@ -300,10 +300,7 @@ const DemandList = React.createClass({
                         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.typeSearch}

+ 11 - 0
js/component/administration/order/order.jsx

@@ -30,6 +30,7 @@ const Order = Form.create()(
 					commodityName: this.state.entryNameSearch,
 					sellerName: this.state.companyNameSearch,
 					buyerName: this.state.employerNameSearch,
+					orderType:this.state.orderTypeSearch,
 					startCreateDate: this.state.releaseDate[0],
 					endCreateDate: this.state.releaseDate[1]
 				},
@@ -190,6 +191,7 @@ const Order = Form.create()(
 		reset() {
 			this.state.numberSearch = '';
 			this.state.typeSearch = undefined;
+			this.state.orderTypeSearch=undefined;
 			this.state.companyNameSearch = '';
 			this.state.entryNameSearch = '';
 			this.state.releaseDate = [];
@@ -228,6 +230,15 @@ const Order = Form.create()(
 								this.setState({ numberSearch: e.target.value });
 							}}
 						/>
+						<Select placeholder="订单类型" style={{ width: 120 }}
+							value={this.state.orderTypeSearch}
+							onChange={(e) => { this.setState({ orderTypeSearch: e }) }}>
+							{ 
+								orderType.map(function (item) {
+									return	<Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>
+								})
+							}
+                   		</Select>
 						<Input
 							placeholder="卖方名称"
 							style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}

+ 0 - 3
js/component/administration/policy/policyList.jsx

@@ -301,10 +301,7 @@ const PolicyList = React.createClass({
                         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>
                     <Button type="primary" onClick={this.search}>搜索</Button>
                     <Button onClick={this.reset}>重置</Button>

+ 48 - 34
js/component/administration/tags/tags.jsx

@@ -22,17 +22,16 @@ class Tags extends Component {
             },
             columns: [
                 {
-                    title: '标签编号',
-                    dataIndex: 'serialNumber',
-                    key: 'serialNumber',
-                }, {
                     title: '标签名称',
                     dataIndex: 'name',
                     key: 'name',
                 },  {
                     title: '创建人',
                     dataIndex: 'createName',
-                    key: 'createName'
+                    key: 'createName',
+                    render:(text)=>{
+                        return '管理员'
+                    }
                 },
                 {
                     title: '创建时间',
@@ -42,10 +41,12 @@ class Tags extends Component {
             ],
             dataSource: []
           }
+          this.handleCancel=this.handleCancel.bind(this)
     }
     loadData(pageNo) {
         this.state.data = [];
         this.setState({
+            selectedRowKeys:[],
             page:pageNo,
             loading: true
         });
@@ -53,7 +54,7 @@ class Tags extends Component {
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/user/demand/list",
+            url: globalConfig.context + "/api/admin/jtBusiness/tag/list",
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
@@ -71,7 +72,6 @@ class Tags extends Component {
                         theArr.push({
                             key: i,
                             id: thisdata.id,
-                            serialNumber: thisdata.serialNumber, //编号
                             name: thisdata.name,
                             createTime:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
                         });
@@ -122,26 +122,29 @@ class Tags extends Component {
         this.setState({
             loading:true
         })
-        let ids = this.state.selectedRowKeys;
+        let ids = this.state.selectedRows;
         $.ajax({
-            method: "get",
+            method: "post",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/user/demand/list",
+            url: globalConfig.context + "/api/admin/jtBusiness/tag/delete",
             data: {
-              id:ids[0]
+              id:ids[0].id
             },
             success: function (data) {
                 let theArr = [];
-                if (!data.data.length) {
-                    if (data.error && data.error.length) {
-                        message.warning(data.error[0].message);
-                    };
-                } else {
-                     message.success('删除成功!');  
-                }
-            }
-        })
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                    return
+                };
+                message.success('删除成功!');  
+                this.loadData(this.state.page);
+            }.bind(this)
+        }).always(function(){
+            this.setState({
+                loading:false
+            })
+        }.bind(this))
     }
     //新建
     handleSubmit(e){
@@ -154,24 +157,35 @@ class Tags extends Component {
             loading:true
         });
         $.ajax({
-            method: "get",
+            method: "post",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/user/demand/lis",
+            url: globalConfig.context + "/api/admin/jtBusiness/tag/apply",
             data: {
               name:this.state.tagName
             },
             success: function (data) {
                 let theArr = [];
-                if (!data.data.length) {
-                    if (data.error && data.error.length) {
-                        message.warning(data.error[0].message);
-                    };
-                } else {
-                     message.success('新建成功!');
-                }
-            }
-        })
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                    return;
+                };
+                message.success('新建成功!');
+                this.loadData(this.state.page);
+                this.setState({
+                    visible:false
+                })
+            }.bind(this)
+        }).always(
+            function() {
+                this.setState({
+                    loading: false
+                });
+            }.bind(this)
+        );
+    }
+    componentWillMount(){
+        this.loadData();
     }
     render() { 
         const rowSelection = {
@@ -200,8 +214,8 @@ class Tags extends Component {
                 <Input placeholder="标签名称"
                     value={this.state.name}
                     onChange={(e) => { this.setState({ name: e.target.value }); }} />
-                <Button type="primary" onClick={this.search}>搜索</Button>
-                <Button onClick={this.reset}>重置</Button>
+                <Button type="primary" onClick={this.search.bind(this)}>搜索</Button>
+                <Button onClick={this.reset.bind(this)}>重置</Button>
                 <Button type="danger" onClick={this.del.bind(this)} disabled={!hasSelected}>删除</Button>
             </div>
             <div className="patent-table">
@@ -210,7 +224,7 @@ class Tags extends Component {
                         dataSource={this.state.dataSource}
                         rowSelection={rowSelection}
                         pagination={this.state.pagination}
-                        onRowClick={this.tableRowClick} />
+                         />
                 </Spin>
             </div>
             <Modal

+ 1 - 1
js/component/dataDic.js

@@ -1883,7 +1883,7 @@ module.exports = {
     orderType:[
     	 {
 	        value: "0",
-	        key: "科技服务订单"
+	        key: "赚钱订单"
 	    }, {
 	        value: "1",
 	        key: "知识产权订单"