liting2017 6 years ago
parent
commit
71f289e9d7

+ 8 - 0
js/component/account/business/business.less

@@ -0,0 +1,8 @@
+#demand-form{
+    .ql-editor{
+        min-height: 150px;
+    }
+    .txt{
+        overflow: hidden;
+    }
+}

+ 12 - 5
js/component/account/business/businessDetails.jsx

@@ -2,6 +2,7 @@ import React from 'react';
 import $ from 'jquery/src/ajax';
 import { Modal, message, Spin, Upload, Button, Form } from 'antd';
 import { getprovince, splitUrl } from '@/tools.js';
+import './business.less';
 
 const DemandDetail = Form.create()(
 	React.createClass({
@@ -50,6 +51,11 @@ const DemandDetail = Form.create()(
 						tagFirst.map(item=>{
 							tagTxt.push(item.name);
 						})
+					//富文本处理
+					document.querySelector('.txt').innerHTML='';
+					let eleDiv = document.createElement('div');
+					eleDiv.innerHTML=thisData.introduce;
+					document.querySelector('.txt').append(eleDiv);
 					this.setState({
 						id: thisData.id,
                         data: thisData,
@@ -262,11 +268,7 @@ const DemandDetail = Form.create()(
 									<span>{theData.advertisement}</span>
 								</FormItem>
 							</div>
-							<div className="clearfix">
-								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="业务项目服务内容">
-									<span>{theData.introduce}</span>
-								</FormItem>
-							</div>
+							
 							<div className="clearfix">
 								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="业务项目价值及作用">
 									<span>{theData.value}</span>
@@ -277,6 +279,11 @@ const DemandDetail = Form.create()(
 									<span>{theData.applyConditions}</span>
 								</FormItem>
 							</div>
+							<div className="clearfix">
+								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="业务项目服务内容">
+									<div className="txt"></div>
+								</FormItem>
+							</div>
 							<div className="clearfix pictures">
 								<FormItem
 									className="half-item"

+ 14 - 97
js/component/account/business/businessForm.jsx

@@ -20,80 +20,8 @@ import {
 } from 'antd';
 import { citySelect } from '@/NewDicProvinceListAll';
 import { splitUrl ,getReleaseStateList} from '@/tools.js';
-
-//tag组件
-
-const KeyWordTagGroup = React.createClass({
-    getInitialState() {
-        return {
-            tags: [],
-            inputVisible: false,
-            inputValue: ''
-        };
-    },
-    handleClose(removedTag) {
-        const tags = this.state.tags.filter(tag => tag !== removedTag);
-        this.props.tagsArr(tags);
-        this.setState({ tags });
-    },
-    showInput() {
-        this.setState({ inputVisible: true }, () => this.input.focus());
-    },
-    handleInputChange(e) {
-        this.setState({ inputValue: e.target.value });
-    },
-    handleInputConfirm() {
-        const state = this.state;
-        const inputValue = state.inputValue;
-        let tags = state.tags;
-        if (inputValue && tags.indexOf(inputValue) === -1 && inputValue.replace(/(^\s*)|(\s*$)/g, "").length != 0) {
-            tags = [...tags, inputValue.replace(/(^\s*)|(\s*$)/g, "")];
-        }
-        this.props.tagsArr(tags);
-        this.setState({
-            tags,
-            inputVisible: false,
-            inputValue: '',
-        });
-    },
-    componentWillMount() {
-        this.state.tags = this.props.keyWordArr;
-    },
-    componentWillReceiveProps(nextProps) {
-        if (this.props.keyWordArr != nextProps.keyWordArr) {
-            this.state.tags = nextProps.keyWordArr;
-        };
-    },
-    render() {
-        const { tags, inputVisible, inputValue } = this.state;
-        return (
-            <div className="keyWord-tips">
-                {tags.map((tag, index) => {
-                    const isLongTag = tag.length > 10;
-                    const tagElem = (
-                        <Tag key={tag} closable={index !== -1} afterClose={() => this.handleClose(tag)}>
-                            {isLongTag ? `${tag.slice(0, 10)}...` : tag}
-                        </Tag>
-                    );
-                    return isLongTag ? <Tooltip title={tag}>{tagElem}</Tooltip> : tagElem;
-                })}
-                {inputVisible && (
-                    <Input
-                        ref={input => this.input = input}
-                        type="text"
-                        style={{ width: 78 }}
-                        value={inputValue}
-                        onChange={this.handleInputChange}
-                        onBlur={this.handleInputConfirm}
-                        onPressEnter={this.handleInputConfirm}
-                    />
-                )}
-                {!inputVisible && <Button className="addtips" type="dashed" disabled={tags.length > 9 ? true : false} onClick={this.showInput}>+ 新标签</Button>}
-            </div>
-        );
-    }
-});
-
+import Editors from '@/richTextEditors';
+import './business.less';
 
 //图片组件
 const PicturesWall = React.createClass({
@@ -163,6 +91,7 @@ const DemandDetailForm = Form.create()(
 				orgCodeUrl: [],
 				companyLogoUrl: [],
 				tags: [],
+				introduce:{},
 			};
 		},
 		//左侧图片地址
@@ -364,6 +293,7 @@ const DemandDetailForm = Form.create()(
 		},
 		componentWillMount() {
 			if (this.props.data.id) {
+				this.state.introduce='<p><br></p>';
 				this.loadData(this.props.data.id);
 			}
 		},
@@ -410,6 +340,7 @@ const DemandDetailForm = Form.create()(
 				this.state.textFileList = [];
 				this.state.videoFileList = [];
 				if (nextProps.data.id) {
+					    this.state.introduce='<p><br></p>';
 						this.loadData(nextProps.data.id);
 					}
 				}
@@ -612,15 +543,6 @@ const DemandDetailForm = Form.create()(
 								</FormItem>
 							</div>	
 							<div className="clearfix">
-								{/* <FormItem
-									labelCol={{ span: 4 }}
-									wrapperCol={{ span: 18 }}
-									label={<span><span></span>标签</span>} >
-									<KeyWordTagGroup
-										keyWordArr={this.state.tags}
-										tagsArr={(e)=>{this.setState({tags:e})}}
-										/>
-								</FormItem> */}
 								<FormItem
 									labelCol={{ span: 4 }}
 									wrapperCol={{ span: 12 }}
@@ -647,20 +569,6 @@ const DemandDetailForm = Form.create()(
 										<span>{this.state.auditInfo}</span>
 								</FormItem>:''}
 							</div>
-							
-							<div className="clearfix">
-								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="业务项目服务内容">
-									<Input
-										type="textarea"
-										rows={4}
-										placeholder="业务项目服务内容"
-										value={this.state.introduce}
-										onChange={(e) => {
-											this.setState({ introduce: e.target.value });
-										}}
-									/>
-								</FormItem>
-							</div>
 							<div className="clearfix">
 								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="项目营销说明">
 									<Input
@@ -700,6 +608,15 @@ const DemandDetailForm = Form.create()(
 									/>
 								</FormItem>
 							</div>
+							<div className="clearfix">
+								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label='业务项目服务内容'>
+									<Editors textContent={this.state.introduce}
+										uploadUrl={'/api/user/demand/uploadPicture'}
+										uploadSign={'demand_picture'}
+										handleRichText={(value) => { this.state.introduce = value;  }}
+										visible={this.state.visible} />
+								</FormItem>
+							</div>
 							<div className="clearfix pictures">
 								<FormItem
 									className="half-item"

+ 0 - 61
js/component/account/business/businessProject.jsx

@@ -6,72 +6,16 @@ import {
 	Icon,
 	Button,
 	Input,
-	Select,
 	Spin,
 	Table,
 	message,
 	DatePicker,
 	Modal,
 	Radio,
-	Upload,
-	Popconfirm,
 	Cascader,
 } from 'antd';
 import { getGameState, getprovince, getReleaseStateList } from '@/tools.js';
 import TechDemandDesc from '@/account/business/businessDesc';
-//图片组件
-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/jtBusiness/project/uploadPicture'}
-					data={{ sign: 'jt_project_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 BusinessProject = Form.create()(
 	React.createClass({
@@ -600,12 +544,7 @@ const BusinessProject = Form.create()(
 					});
 				}
 			};
-			const formItemLayout = {
-				labelCol: { span: 8 },
-				wrapperCol: { span: 14 }
-			};
 			const hasSelected = this.state.selectedRowKeys.length > 0;
-			const { RangePicker } = DatePicker;
  			return (
 				<div className="user-content">
 					<div className="content-title">

+ 94 - 95
js/component/account/setAccount/expert.jsx

@@ -125,14 +125,20 @@ const Expert = React.createClass({
 				let month = thisData.dateOfBirthYear
 					? thisData.dateOfBirthYear + '/' + thisData.dateOfBirthMonth
 					: undefined;
+					let authenticationState='';
+				if(thisData.expertAudit=='3'){
+					authenticationState=thisData.expert+''
+				}
 				this.setState({
 					InformationId: thisData.id,
                     InformationUid: thisData.uid,
-                    expertAudit:thisData.expertAudit,
-					type:thisData.type,           //0-个人认证  1-企业认证 
-					authType:thisData.authType||'1',   //认证类型   0-专家认证  1-顾问认证
-					authMessage:thisData.authMessage||'消息不真实',
-					authState:thisData.authState||'0', //认证状态  0-未认证  1-认证审核中  2-认证失败 3-已认证
+					expertAudit:thisData.expertAudit,
+					authentication:thisData.authentication,
+					authenticationState:authenticationState,
+					type:thisData.type,          //0-个人认证  1-企业认证 
+					expert:thisData.expert,   //认证类型   0-未认证专家顾问  1-专家认证 2-顾问认证
+ 					authMessage:thisData.authMessage||'消息不真实',
+					expertAudit:thisData.expertAudit, //认证状态  0-未认证  1-认证审核中   2-已认证 3-认证失败
 					headPortraitUrl: thisData.headPortraitUrl //专家照片
 						? splitUrl(thisData.headPortraitUrl, ',', globalConfig.avatarHost + '/upload')
 						: [],
@@ -153,7 +159,7 @@ const Expert = React.createClass({
 					professionalTitle: thisData.professionalTitle||'',
 					qualification: thisData.qualification||'',
 					majorCategory: thisData.majorCategory||'',
-					adviserType: thisData.adviserType||'',
+					adviserType: thisData.consultantType||'',
 					headPortraitUrlCopy: thisData.headPortraitUrl,
 					adviserUrlCopy: thisData.adviserUrl,
 					positiveIdUrlCopy: thisData.positiveIdUrl,
@@ -226,7 +232,7 @@ const Expert = React.createClass({
 			let years = [];
 			let yearMonth =
 				this.state.yearMonth != undefined ? new Date(this.state.yearMonth).toLocaleDateString() : '';
-            years = yearMonth.split('/');
+			years = yearMonth.split('/');
         this.setState({
             loading: true
 		});
@@ -235,7 +241,6 @@ const Expert = React.createClass({
 				id: this.state.InformationId,
 				uid: this.state.InformationUid,
 				type:this.state.type,
-				authType:'',
 				societyTag: values.societyTag,
 				identifyName: values.identifyName,
 				industry: values.industry,
@@ -245,6 +250,8 @@ const Expert = React.createClass({
 				city:(values.ProvinceCity)[1], //市
 				area:(values.ProvinceCity)[2], //区
 				sex: values.sex,
+				expert:'0',
+				authentication:this.state.authentication,
 				mobile: values.mobile,
 				fixedTel: values.fixedTel,
 				qq: values.qq,
@@ -252,19 +259,10 @@ const Expert = React.createClass({
 				email: values.email,
 				postalAddress: values.postalAddress,
 				introduction: values.introduction,
-				headPortraitUrl:this.state.headPortraitUrlCopy||'',
-				positiveIdUrl:this.state.positiveIdUrlCopy||'',
-				adviserUrl:this.state.adviserUrlCopy||'',
-				oppositeIdUrl:this.state.oppositeIdUrlCopy||'',
-				workUnit:this.state.workUnit||'',
-				graduateSchool:this.state.graduateSchool||'',
-				professionalTitle:this.state.professionalTitle||'',
-				qualification:this.state.qualification||'',
-				majorCategory:this.state.majorCategory||'',
-				adviserType:this.state.adviserType||''
+				expertAudit:this.state.expertAudit,
 		}
 		if(this.state.authenticationState=='0'){
-				dataList.authType='0',
+				dataList.expert='1',
 				dataList.workUnit=values.workUnit;
 				dataList.professionalTitle=values.professionalTitle;
 				dataList.qualification=values.qualification;
@@ -274,9 +272,9 @@ const Expert = React.createClass({
 				dataList.positiveIdUrl=thecompanyLogoUrl.length != 0 ? thecompanyLogoUrl : '';
 				dataList.oppositeIdUrl=thecompanyLogoUrls.length != 0 ? thecompanyLogoUrls : '';
 		}else if(this.state.authenticationState=='1'){
-				dataList.authType='1';
-				dataList.adviserType=values.adviserType;//顾问类型
-				dataList.adviserUrl=adviserPic;		//顾问照片
+				dataList.expert='2';
+				dataList.consultantType=values.adviserType;//顾问类型
+				dataList.headPortraitUrl=theorgCodeUrl.length != 0 ? theorgCodeUrl : '';	//顾问照片
 				dataList.positiveIdUrl=thecompanyLogoUrl.length != 0 ? thecompanyLogoUrl : '';
 				dataList.oppositeIdUrl=thecompanyLogoUrls.length != 0 ? thecompanyLogoUrls : '';
 		}
@@ -291,7 +289,13 @@ const Expert = React.createClass({
                     loading: false
                 });
                 if (!data.error.length) {
-                    message.success(this.state.expertAudit<1?'认证审核提交成功,请等待审核结果!':'保存成功');
+					//认证状态判定说明
+					if(this.state.authentication){
+						message.success(this.state.expertAudit=='0'||this.state.expertAudit=='3'?'认证审核提交成功,请耐心等待。':'保存')
+					}else{
+						message.success('个人认证成功。')
+					}
+					
                     this.loadInformation();
                 } else {
                     message.warning(data.error[0].message);
@@ -303,11 +307,18 @@ const Expert = React.createClass({
         e.preventDefault();
         this.props.form.validateFields((err, values) => {
             if(!err){
-                if(this.state.expertAudit!='0'&&this.state.authenticationState==undefined){
-                    this.newSubmit(values)
+                if(this.state.authenticationState==undefined){
+					if(!this.state.authentication){
+						this.setState({
+							visible: true,
+							values :values
+						});
+					}else{
+						this.newSubmit(values)
+					}
                 }else{
 					if(this.state.authenticationState=='1'){
-						if(!(this.state.adviserUrl.length)){
+						if(!(this.state.headPortraitUrl.length)){
 							message.warning('请上传顾问照片!')
 							return;
 						}
@@ -481,7 +492,7 @@ const Expert = React.createClass({
 								})(<Input type="textarea" rows={4} maxLength={512} placeholder="输入个人简介"/>)}
 							</FormItem>
 						</div>
-						{this.state.authState=='0'||this.state.authState=="2"&&this.state.type=='0'?
+						{(this.state.expert=='0'||this.state.expert=='3'||this.state.expert==null)&&this.state.type!=null?
 						<div>
 							<div className="clearfix btnGrounp">
 								<Radio.Group 
@@ -526,20 +537,6 @@ const Expert = React.createClass({
 										rules: [ { required: true, message: '此项为必填项!' } ],
 									})(<Input placeholder="输入职称" maxLength={32}/>)}
 								</FormItem>
-								<div className="clearfix">
-									<FormItem
-										className="picWidth"
-										labelCol={{ span: 9 }}
-										wrapperCol={{ span: 10 }}
-										label={<div style={{marginRight:10}}><strong style={{color:"#f00"}}>*</strong><span>专家照片 : </span></div> }
-									>
-										<PicturesWall
-											fileList={this.getHeadPortraitUrl}
-											pictureUrl={this.state.headPortraitUrl}
-										/>
-										<p>建议:图片要清晰。</p>
-									</FormItem>
-								</div>
 							</div>:this.state.authenticationState=='1'?
 							<div>
 								<FormItem className="half-item" {...formItemLayout} label="顾问类型">
@@ -554,22 +551,22 @@ const Expert = React.createClass({
 									</Select>
 								)}
 								</FormItem>
+							</div>:''}
+							{this.state.authenticationState=='1'||this.state.authenticationState=='0'?<div className="clearfix pictures">
 								<div className="clearfix">
 									<FormItem
 										className="picWidth"
 										labelCol={{ span: 9 }}
-										wrapperCol={{ span: 8 }}
-										label={<div style={{marginRight:10}}><strong style={{color:"#f00"}}>*</strong><span>顾问照片 : </span></div> }
+										wrapperCol={{ span: 10 }}
+										label={<div style={{marginRight:10}}><strong style={{color:"#f00"}}>*</strong><span>{this.state.authenticationState=='0'?'专家照片 : ':'顾问照片 : ' } </span></div> }
 									>
 										<PicturesWall
-											fileList={(e)=>{this.setState({adviserUrl:e})}}
-											pictureUrl={this.state.adviserUrl}
+											fileList={this.getHeadPortraitUrl}
+											pictureUrl={this.state.headPortraitUrl}
 										/>
-										<p>建议:图片要清晰。</p>
+										<p>建议:图片要清晰1。</p>
 									</FormItem>
 								</div>
-							</div>:''}
-							{this.state.authenticationState=='1'||this.state.authenticationState=='0'?<div className="clearfix pictures">
 								<FormItem
 									className="picWidth"
 									labelCol={{ span: 9 }}
@@ -589,9 +586,9 @@ const Expert = React.createClass({
 									<p>建议:图片要清晰。</p>
 								</FormItem>
 							</div>:''}
-						</div>:this.state.authState=='3'||this.state.authState=='1'&&this.state.authType=='0'?
+						</div>:(this.state.expertAudit=='2'||this.state.expertAudit=='1')&&this.state.expert!='0'?
 					    <div>
-							<div className="authState">{this.state.authType=='0'?'专家认证':'顾问认证'}<span>({getAuthState(this.state.authState)})</span></div>
+							<div className="authState">{this.state.expert=='1'?'专家认证':'顾问认证'}<span>({getAuthState(this.state.expertAudit)})</span></div>
 							<FormItem className="half-item" {...formItemLayout} label="毕业院校">
 								<span>{theData.graduateSchool}</span>
 							</FormItem>
@@ -626,7 +623,7 @@ const Expert = React.createClass({
 										</Modal>
 								</FormItem>
 							</div>
-							<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 10 }} label="身份证正面">
+							<FormItem className="picWidth" labelCol={{ span: 9 }} wrapperCol={{ span: 10 }} label="身份证正面">
 								<div className="clearfix">
 									<Upload className="demandDetailShow-upload"
 										listType="picture-card"
@@ -645,7 +642,7 @@ const Expert = React.createClass({
 									</Modal>
 								</div>
 							</FormItem>
-							<FormItem labelCol={{ span:3 }} wrapperCol={{ span: 10 }} label="身份证反面">
+							<FormItem className="picWidth" labelCol={{ span:9 }} wrapperCol={{ span: 10 }} label="身份证反面">
 								<div className="clearfix">
 									<Upload className="demandDetailShow-upload"
 										listType="picture-card"
@@ -664,17 +661,17 @@ const Expert = React.createClass({
 									</Modal>
 								</div>
 							</FormItem>				
-						</div>:this.state.authState=='3'||this.state.authState=='1'&&this.state.authType=='1'?
+						</div>:(this.state.expertAudit=='2'||this.state.expertAudit=='1')&&this.state.expert=='2'?
 						<div className="clearfix">
-							<div className="authState">{this.state.authType=='0'?'专家认证':'顾问认证'}<span>({getAuthState(this.state.authState)})</span></div>
+							<div className="authState">{this.state.expert=='1'?'专家认证':'顾问认证'}<span>({getAuthState(this.state.expertAudit)})</span></div>
 							<FormItem className="half-item" {...formItemLayout} label="顾问类型">
-								<span>{getAdviserType(theData.adviserType)}</span>
+								<span>{getAdviserType(theData.consultantType)}</span>
 							</FormItem>
 							<div className="clearfix">
 								<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 13 }} label="顾问照片">
 										<Upload className="demandDetailShow-upload"
 											listType="picture-card"
-											fileList={this.state.adviserUrl}                               
+											fileList={this.state.headPortraitUrl}                               
 											onPreview={(file) => {
 												this.setState({
 													previewImage: file.url || file.thumbUrl,
@@ -689,44 +686,46 @@ const Expert = React.createClass({
 										</Modal>
 								</FormItem>
 							</div>
-							<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 10 }} label="身份证正面">
-								<div className="clearfix">
-									<Upload className="demandDetailShow-upload"
-										listType="picture-card"
-										fileList={this.state.positiveIdUrl}                               
-										onPreview={(file) => {
-											this.setState({
-												previewImage: file.url || file.thumbUrl,
-												previewVisible: true,
-											});
-										}} >
-									</Upload>
-									<Modal maskClosable={false} footer={null}
-										visible={this.state.previewVisible}
-										onCancel={() => { this.setState({ previewVisible: false }) }}>
-										<img alt="" style={{ width: '100%' }} src={this.state.previewImage || ''} />
-									</Modal>
-								</div>
-							</FormItem>
-							<FormItem labelCol={{ span:3 }} wrapperCol={{ span: 10 }} label="身份证反面">
-								<div className="clearfix">
-									<Upload className="demandDetailShow-upload"
-										listType="picture-card"
-										fileList={this.state.oppositeIdUrl}                               
-										onPreview={(file) => {
-											this.setState({
-												previewImage: file.url || file.thumbUrl,
-												previewVisible: true,
-											});
-										}} >
-									</Upload>
-									<Modal maskClosable={false} footer={null}
-										visible={this.state.previewVisible}
-										onCancel={() => { this.setState({ previewVisible: false }) }}>
-										<img alt="" style={{ width: '100%' }} src={this.state.previewImage || ''} />
-									</Modal>
-								</div>
-							</FormItem>	
+							<div>
+								<FormItem className="picWidth" labelCol={{ span: 9 }} wrapperCol={{ span: 10 }} label="身份证正面">
+									<div className="clearfix">
+										<Upload className="demandDetailShow-upload"
+											listType="picture-card"
+											fileList={this.state.positiveIdUrl}                               
+											onPreview={(file) => {
+												this.setState({
+													previewImage: file.url || file.thumbUrl,
+													previewVisible: true,
+												});
+											}} >
+										</Upload>
+										<Modal maskClosable={false} footer={null}
+											visible={this.state.previewVisible}
+											onCancel={() => { this.setState({ previewVisible: false }) }}>
+											<img alt="" style={{ width: '100%' }} src={this.state.previewImage || ''} />
+										</Modal>
+									</div>
+								</FormItem>
+								<FormItem className="picWidth" labelCol={{ span:9 }} wrapperCol={{ span: 10 }} label="身份证反面">
+									<div className="clearfix">
+										<Upload className="demandDetailShow-upload"
+											listType="picture-card"
+											fileList={this.state.oppositeIdUrl}                               
+											onPreview={(file) => {
+												this.setState({
+													previewImage: file.url || file.thumbUrl,
+													previewVisible: true,
+												});
+											}} >
+										</Upload>
+										<Modal maskClosable={false} footer={null}
+											visible={this.state.previewVisible}
+											onCancel={() => { this.setState({ previewVisible: false }) }}>
+											<img alt="" style={{ width: '100%' }} src={this.state.previewImage || ''} />
+										</Modal>
+									</div>
+								</FormItem>	
+							</div>
 						</div>:''}
 						<div className="clearfix">
 							<Row style={{ marginBottom: 20 }} >
@@ -742,7 +741,7 @@ const Expert = React.createClass({
 				<Modal visible={this.state.visible} onOk={this.handleOk} onCancel={this.handleCancel}>
 					{this.state.authenticationState=='0'&&<p>是否申请专家认证?注意:认证成功后,您的信息将在本平台展示。</p>}
 					{this.state.authenticationState=='1'&&<p>是否申请顾问认证?注意:认证成功后,您的信息将在本平台展示。</p>}
-					{this.state.type!='1'&&this.state.type!='0'?<p>是否申请个人认证?</p>:''}
+					{!this.state.authentication?<p>是否申请个人认证?</p>:''}
 				</Modal>
 			</div>
 		);

+ 11 - 11
js/component/administration/business/businessProject.jsx

@@ -372,7 +372,11 @@ const BusinessProject = Form.create()(
 								}
 							})
 						}
-					})
+					});
+					document.querySelector('.txt').innerHTML='';
+					let eleDiv = document.createElement('div');
+					eleDiv.innerHTML=thisData.introduce;
+					document.querySelector('.txt').append(eleDiv);
 					this.setState({
 						id: thisData.id,
 						data: thisData,
@@ -628,16 +632,7 @@ const BusinessProject = Form.create()(
 												<span>{this.state.createTime}</span>
 											</FormItem>
 										</div>
-										<div className="clearfix">
-											<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="业务项目服务内容">
-												<span>{theData.introduce}</span>
-											</FormItem>
-										</div>
-										{/* <div className="clearfix">
-											<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="标签">
-												<span>{this.state.tags}</span>
-											</FormItem>
-										</div> */}
+										
 										<div className="clearfix">
 											<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="项目营销说明">
 												<span>{theData.advertisement}</span>
@@ -661,6 +656,11 @@ const BusinessProject = Form.create()(
 												<span>{theData.applyConditions}</span>
 											</FormItem>
 										</div>
+										<div className="clearfix">
+											<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="业务项目服务内容">
+												<div className="txt"></div>
+											</FormItem>
+										</div>
 										<div className="clearfix pictures">
 											<FormItem
 												className="half-item"

+ 5 - 5
js/component/dataDic.js

@@ -2327,13 +2327,13 @@ module.exports = {
 	    },{
 	        value: "1",
 	        key: "认证审核中"
-	    }, {
+	    },  {
 	        value: "2",
-	        key: "认证失败"
-        }, {
+	        key: "认证通过"
+        },{
 	        value: "3",
-	        key: "认证"
-        }
+	        key: "认证失败"
+        },
     ],
     //品类所属模块
     typeModule:[

+ 1 - 1
js/component/richTextEditors.jsx

@@ -102,7 +102,7 @@ const Editors = React.createClass({
                     modules={modules}
                     formats={formats}
                     onChange={this.handleRichText} />
-                <input type="file"
+                <input type="file" 
                     name="fileToUpload"
                     id="fileToUpload"
                     placeholder='正文'

+ 1 - 1
package.json

@@ -12,7 +12,7 @@
     "buildtest": "node bin/clean.js && webpack --progress --colors --env.deploy test",
     "buildstage": "node bin/clean.js && webpack --progress --colors --env.deploy stage",
     "pro": "node bin/clean.js && webpack --progress --colors --env.deploy prod",
-    "dev": "webpack-dev-server --port 80  --devtool eval --progress --colors --hot --content-base build --env.deploy dev --env.watch watch"
+    "dev": "webpack-dev-server --port 8088  --devtool eval --progress --colors --hot --content-base build --env.deploy dev --env.watch watch"
   },
   "repository": {
     "type": "git",

+ 1 - 1
webpack-dll.config.js

@@ -10,7 +10,7 @@ let theme = {
   '@link-color': '#58a3ff'
 };
 module.exports = (function () {
-	let staticHost = 'http://127.0.0.1';    
+	let staticHost = 'http://192.168.1.166:8088';    
     switch (argv.env.deploy) {
         case 'test':
             staticHost = 'http://statics.jishutao.com';

+ 4 - 2
webpack.config.js

@@ -115,7 +115,7 @@ module.exports = (function () {
         }));
     }
 
-    let staticHost = 'http://127.0.0.1';    
+    let staticHost = 'http://192.168.1.166:8088';    
     switch (argv.env.deploy) {
         case 'test':
             staticHost = 'http://statics.jishutao.com';
@@ -152,7 +152,9 @@ module.exports = (function () {
         plugins: plugins,
         devServer: {
             disableHostCheck: true,
-            allowedHosts: ['127.0.0.1','192.168.1.123'],
+            host: '192.168.1.166',
+            port: 8088,
+            allowedHosts: ['127.0.0.1','192.168.1.123','192.168.1.102'],
             headers: {
                 "Access-Control-Allow-Origin": "*"
             }

+ 6 - 6
webpack/entry.config.js

@@ -10,28 +10,28 @@ module.exports = {
     'admin/index': './js/admin/index.js',
   },
   watch: {
-    'user/index': ['webpack-dev-server/client?http://127.0.0.1', // WebpackDevServer host and port
+    'user/index': ['webpack-dev-server/client?http://192.168.1.166:8088', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/user/index.js'
     ],
-    'user/login': ['webpack-dev-server/client?http://127.0.0.1', // WebpackDevServer host and port
+    'user/login': ['webpack-dev-server/client?http://192.168.1.166:8088', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/user/login.js'
     ],
-    'user/signIn': ['webpack-dev-server/client?http://127.0.0.1', // WebpackDevServer host and port
+    'user/signIn': ['webpack-dev-server/client?http://192.168.1.166:8088', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/user/signIn.js'
     ],
-    'user/account/index': ['webpack-dev-server/client?http://127.0.0.1', // WebpackDevServer host and port
+    'user/account/index': ['webpack-dev-server/client?http://192.168.1.166:8088', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/user/account/index.js'
     ],
     //admin
-    'admin/login': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+    'admin/login': ['webpack-dev-server/client?http://192.168.1.166:8088', // WebpackDevServer host and port
     'webpack/hot/only-dev-server',
     './js/user/adminLogin.js'
     ],
-    'admin/index': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+    'admin/index': ['webpack-dev-server/client?http://192.168.1.166:8088', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/admin/index.js'
     ]