liting2017 6 роки тому
батько
коміт
38678b9b66

+ 4 - 1
js/admin/topTab.less

@@ -106,4 +106,7 @@
         .account-top{
             height: 50px
         }
-    }
+    }
+#qiao-wrap,#BD_QIAO_WEBIM_LITE_WRAP{
+    display: none!important;
+}

+ 1 - 0
js/component/account/achievement/achievementForm.jsx

@@ -528,6 +528,7 @@ const DemandDetailForm = Form.create()(React.createClass({
 										<Col span={6}><Checkbox value="app_achievement_main">APP成果首页</Checkbox></Col>
 										<Col span={6}><Checkbox value="app_achievement_list" disabled>APP成果搜索页</Checkbox></Col>
 										<Col span={6}><Checkbox value="web_achievement_trading_index">知识产权交易首页</Checkbox></Col>
+										<Col span={6}><Checkbox value="app_achievement_trading_index">app成果知识产权交易页面</Checkbox></Col>
 									</Row>
 								</Checkbox.Group>
 							)}

+ 4 - 0
js/component/account/demand/demandForm.jsx

@@ -323,6 +323,8 @@ const DemandDetailForm = Form.create()(React.createClass({
         } else {
 			this.state.data = {};
 			this.state.tags = [];
+			this.state.pictureUrl=[];
+			this.state.pictureUrlMin=[];
 			this.setState({
 				publishPagesArr:['app_demand_list','web_demand_list']
 			})
@@ -340,6 +342,7 @@ const DemandDetailForm = Form.create()(React.createClass({
 				this.state.isHot=undefined;//是否悬赏
 				this.state.status=undefined;
 				this.state.pictureUrl = [];
+				this.state.pictureUrlMin=[];
 				this.state.tags = [];
 				this.setState({
 					publishPagesArr:['app_demand_list','web_demand_list']
@@ -502,6 +505,7 @@ const DemandDetailForm = Form.create()(React.createClass({
 										<Col span={6}><Checkbox value="app_demand_main">APP需求首页</Checkbox></Col>
 										<Col span={6}><Checkbox value="app_demand_list" disabled>APP需求搜索页</Checkbox></Col>
 										<Col span={6}><Checkbox value="web_demand_trading_index">知识产权交易首页</Checkbox></Col>
+										<Col span={6}><Checkbox value="app_demand_trading_index">app需求交易页面</Checkbox></Col>
 									</Row>
 								</Checkbox.Group>
 							)}

+ 2 - 2
js/component/account/index/normal.jsx

@@ -128,10 +128,10 @@ const Content = React.createClass({
                     width='400px'
                     footer={[]} >
                     <p style={{ textAlign: 'center' }}>
-                        <span>您还未进行 ( 专家 / 顾问 ) 认证,请完成认证,为您提供更多服务</span>
+                        <span>您还未进行 ( 顾问 ) 认证,请完成认证,为您提供更多服务</span>
                     </p>
                     <div style={{ marginTop: '20px', textAlign: 'center' }}>
-                        <Button type="primary" style={{marginRight:15}}><Link to="/personal">专家认证</Link></Button>
+                        {/* <Button type="primary" style={{marginRight:15}}><Link to="/personal">专家认证</Link></Button> */}
                         <Button type="primary"><Link to="/personal">顾问认证</Link></Button>
                     </div>
                 </Modal>

+ 4 - 4
js/component/account/menu.jsx

@@ -53,7 +53,7 @@ module.exports = {
           children: [
             { name: '技术成果订单', url: 'achievementOrderS' },
             { name: '技术需求订单', url: 'demandOrderS' },
-            { name: '赚钱订单', url: 'projectOrderS' },
+            { name: '运用订单', url: 'projectOrderS' },
             // { name: '专家订单', url: 'expertS' },
             // { name: '顾问订单', url: 'adviserS' }
           ]
@@ -65,7 +65,7 @@ module.exports = {
           children: [
             { name: '技术成果订单', url: 'achievementOrderX' },
             { name: '技术需求订单', url: 'demandOrderX' },
-            { name: '赚钱订单', url: 'projectOrderX' },
+            { name: '运用订单', url: 'projectOrderX' },
             // { name: '专家订单', url: 'expertX' },
             // { name: '顾问订单', url: 'adviserX' },
             // { name: '会员订单', url: 'memberOrderX' },
@@ -127,7 +127,7 @@ module.exports = {
           children: [
             { name: '技术成果订单', url: 'achievementOrderS' },
             { name: '技术需求订单', url: 'demandOrderS' },
-            { name: '赚钱订单', url: 'projectOrderS' },
+            { name: '运用订单', url: 'projectOrderS' },
             // { name: '专家订单', url: 'expertS' },
             // { name: '顾问订单', url: 'adviserS' },
           ]
@@ -139,7 +139,7 @@ module.exports = {
           children: [
             { name: '技术成果订单', url: 'achievementOrderX' },
             { name: '技术需求订单', url: 'demandOrderX' },
-            { name: '赚钱订单', url: 'projectOrderX' },
+            { name: '运用订单', url: 'projectOrderX' },
             // { name: '专家订单', url: 'expertX' },
             // { name: '顾问订单', url: 'adviserX' },
             // { name: '会员订单', url: 'memberOrderX' },

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

@@ -144,14 +144,14 @@ const Order = Form.create()(
 						dataIndex: 'sellerMobile',
 						key: 'sellerMobile'
 					},
-					// {
-					// 	title: '评价',
-					// 	dataIndex: 'pingjia',
-					// 	key: 'pingjia',
-					// 	render:(text,recard)=>{
-					// 		return <Button type="primary" onClick={(e)=>{e.stopPropagation(),this.evaluate(recard)}}>评价</Button>
-					// 	}
-					// }
+					{
+						title: '评价',
+						dataIndex: 'pingjia',
+						key: 'pingjia',
+						render:(text,recard)=>{
+							return <Button type="primary" onClick={(e)=>{e.stopPropagation(),this.evaluate(recard)}}>评价</Button>
+						}
+					}
 				],
 				dataSource: []
 			};

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

@@ -147,14 +147,14 @@ const Order = Form.create()(
 							return text?text:"暂无"
 						}
 					},
-					// {
-					// 	title: '评价',
-					// 	dataIndex: 'pingjia',
-					// 	key: 'pingjia',
-					// 	render:(text,recard)=>{
-					// 		return <Button type="primary" onClick={(e)=>{e.stopPropagation(),this.evaluate(recard)}}>评价</Button>
-					// 	}
-					// }
+					{
+						title: '评价',
+						dataIndex: 'pingjia',
+						key: 'pingjia',
+						render:(text,recard)=>{
+							return <Button type="primary" onClick={(e)=>{e.stopPropagation(),this.evaluate(recard)}}>评价</Button>
+						}
+					}
 					
 				],
 				dataSource: []

Різницю між файлами не показано, бо вона завелика
+ 638 - 480
js/component/account/setAccount/expert.jsx


+ 23 - 6
js/component/account/setAccount/unit.jsx

@@ -357,6 +357,14 @@ const Unit = React.createClass({
 			message.warning('请上传企业LOGO.');
 			return false;
 		}
+		if(!this.state.businessScope){
+			message.warning('请填写业务范围!');
+			return false;
+		}
+		if(!this.state.introduction){
+			message.warning('请填写企业简介!');
+			return false;
+		}
 		if (this.state.qualiUrl&&(this.state.qualiUrl.length)<1) {
 			message.warning('请上传资质荣誉照片.');
 			return false;
@@ -422,7 +430,7 @@ const Unit = React.createClass({
 								<InputNumber
 									placeholder="企业规模"
 									value={this.state.enterpriseScale}
-									InputNumber min={0} max={999999}
+									InputNumber min={0} maxLength={16}
 									style={{width:120,marginRight:10}}
 									onChange={(e) => {
 										this.setState({ enterpriseScale: e });
@@ -487,7 +495,7 @@ const Unit = React.createClass({
 								label="固定电话"
 							>
 								<Input
-									maxLength={13}
+									maxLength={16}
 									placeholder="客户固定电话"
 									value={this.state.fixedTel}
 									onChange={(e) => {
@@ -502,9 +510,9 @@ const Unit = React.createClass({
 								label="注册资本"
 							>
 								<Input
-									placeholder="注册资本"
+									placeholder="注册资本单位为万元"
 									value={this.state.registeredCapital}
-									maxLength="6"
+									maxLength={6}
 									onChange={(e) => {
 										this.setState({ registeredCapital: e.target.value });
 									}}
@@ -517,6 +525,7 @@ const Unit = React.createClass({
 								label="法人名称"
 							>
 								<Input
+									maxLength={16}
 									placeholder="法人名称"
 									value={this.state.legalPerson}
 									onChange={(e) => {
@@ -531,6 +540,7 @@ const Unit = React.createClass({
 								label="法人身份证号码"
 							>
 								<Input
+									maxLength={32}
 									placeholder="法人身份证号码"
 									value={this.state.legalPersonIdCard}
 									onChange={(e) => {
@@ -545,6 +555,7 @@ const Unit = React.createClass({
 								label="法人电话"
 							>
 								<Input
+									maxLength={16}
 									placeholder="法人电话"
 									value={this.state.legalPersonTel}
 									onChange={(e) => {
@@ -559,6 +570,7 @@ const Unit = React.createClass({
 								label="法人电子邮箱"
 							>
 								<Input
+									maxLength={128}
 									placeholder="法人电子邮箱"
 									value={this.state.legalPersonEmail}
 									onChange={(e) => {
@@ -573,6 +585,7 @@ const Unit = React.createClass({
 								label="机构代码"
 							>
 								<Input
+									maxLength={32}
 									placeholder="社会同意机构代码"
 									value={this.state.orgCode}
 									onChange={(e) => {
@@ -587,6 +600,7 @@ const Unit = React.createClass({
 								label={<span><span className="color-red"> * </span>企业邮箱</span>}
 							>
 								<Input
+									maxLength={128}
 									placeholder="请填写企业邮箱"
 									value={this.state.email}
 									onChange={(e) => {
@@ -601,6 +615,7 @@ const Unit = React.createClass({
 								label={<span><span className="color-red"> * </span>企业QQ</span>}
 							>
 								<Input
+									maxLength={16}
 									placeholder="填写企业QQ"
 									value={this.state.qq}
 									onChange={(e) => {
@@ -675,11 +690,12 @@ const Unit = React.createClass({
 									className="half-item"
 									labelCol={{ span: 4 }}
 									wrapperCol={{ span: 18 }}
-									label="业务范围"
+									label={<span><span className="color-red"> * </span>业务范围</span>}
 								>
 									<Input
 										type="textarea"
 										rows={4}
+										maxLength={400}
 										value={this.state.businessScope}
 										placeholder="请输入业务范围"
 										onChange={(e) => {
@@ -691,11 +707,12 @@ const Unit = React.createClass({
 									className="half-item"
 									labelCol={{ span: 4 }}
 									wrapperCol={{ span: 18 }}
-									label="企业简介"
+									label={<span><span className="color-red"> * </span>企业简介</span>}
 								>
 									<Input
 										type="textarea"
 										rows={4}
+										maxLength={512}
 										value={this.state.introduction}
 										placeholder="请输入企业简介"
 										onChange={(e) => {

+ 40 - 2
js/component/administration/authentication/authDetaiel.jsx

@@ -21,7 +21,8 @@ const AuthDetail = Form.create()(React.createClass({
             headPortraitUrl: [],
 			adviserUrl:[],
 			positiveIdUrl: [],
-			oppositeIdUrl: [],
+            oppositeIdUrl: [],
+            lawUrl:[],
         };
     },
     loadData(id) {
@@ -61,7 +62,10 @@ const AuthDetail = Form.create()(React.createClass({
 						: [],
 					oppositeIdUrl: thisData.oppositeIdUrl
 						? splitUrl(thisData.oppositeIdUrl, ',', globalConfig.avatarHost + '/upload')
-						: [],
+                        : [],
+                    lawUrl:thisData.consultantCertificateUrl
+                        ? splitUrl(thisData.consultantCertificateUrl, ',', globalConfig.avatarHost + '/upload')
+                        : [],
                 });
             }.bind(this),
         }).always(function () {
@@ -237,6 +241,23 @@ const AuthDetail = Form.create()(React.createClass({
                         <FormItem className="half-item" {...formItemLayout} label="顾问类型">
                             <span>{getAdviserType(theData.consultantType)}</span>
                         </FormItem>
+                        {
+								theData.consultantType=='4'?<div className="clearfix">
+								<div className="clearfix">
+									<FormItem className="half-item" {...formItemLayout} label="律师事务所">
+										<span>{theData.workUnit1}</span>
+								    </FormItem>
+								</div>
+								<div className="clearfix">
+									<FormItem
+										labelCol={{ span: 3 }}
+										wrapperCol={{ span: 10 }}
+										label="典型案例"
+									>
+										<span>{theData.typicalCase}</span>
+									</FormItem>
+								</div></div>:''
+							}
                         <div className="clearfix">
                             <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 13 }} label="顾问照片">
                                     <Upload className="demandDetailShow-upload"
@@ -255,6 +276,23 @@ const AuthDetail = Form.create()(React.createClass({
                                         <img alt="" style={{ width: '100%' }} src={this.state.previewImage || ''} />
                                     </Modal>
                             </FormItem>
+                            {theData.consultantType=='4'&&<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 10 }} label="律师职业资格证">
+                                    <Upload className="demandDetailShow-upload"
+                                        listType="picture-card"
+                                        fileList={this.state.lawUrl}                               
+                                        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>
+                            </FormItem>}
                         </div>
                     </div>}
                     <div>

+ 16 - 3
js/component/administration/authentication/authExamine.jsx

@@ -24,8 +24,9 @@ const DemandList = React.createClass({
                 pageSize: this.state.pagination.pageSize,
                 identifyName: this.state.nameSearch,
                 industry:this.state.demandTypeSearch,
-                expert: this.state.statusSearch,
-                auditStatus:'1'
+                auditStatus:'1',
+                expert: this.state.statusSearch?this.state.statusSearch=='1'?this.state.statusSearch:'2':'',
+                consultantType:this.state.statusSearch=='3'?'4':''
             },
             success: function (data) {
                 let theArr = [];
@@ -45,6 +46,7 @@ const DemandList = React.createClass({
                             mobile: thisdata.contactMobile,
                             industry: thisdata.industry,
                             expert:thisdata.expert,
+                            consultantType:thisdata.consultantType
                         });
                     };
                 }
@@ -109,7 +111,17 @@ const DemandList = React.createClass({
                     title: '认证类型',
                     dataIndex: 'expert',
                     key: 'expert',
-                    render: text => { return text=='1'?'专家认证':text=='2'?'顾问认证':'未认证' }
+                    render: (text,recard) => { 
+                        if(text=='1'){
+                            return '专家认证';
+                        }else if(text=='2'&&recard.consultantType=='4'){
+                            return '法律顾问认证';
+                        }else if(text=='2'&&recard.consultantType!='4'){
+                            return '顾问认证';
+                        }else{
+                            return '未认证';
+                        }
+                    }
                 },
                 {
                     title: '认证审核',
@@ -199,6 +211,7 @@ const DemandList = React.createClass({
                         onChange={(e) => { this.setState({ statusSearch: e }) }}>
                         <Select.Option value="1" >专家认证</Select.Option>
                         <Select.Option value="2" >顾问认证</Select.Option>
+                        <Select.Option value="3" >法律顾问认证</Select.Option>
                     </Select>
                     <Button type="primary" onClick={this.search}>搜索</Button>
                     <Button onClick={this.reset}>重置</Button>

+ 16 - 2
js/component/administration/authentication/techAuth.jsx

@@ -14,6 +14,7 @@ const DemandList = React.createClass({
             page:pageNo,
             loading: true
         });
+       
         $.ajax({
             method: "get",
             dataType: "json",
@@ -24,8 +25,9 @@ const DemandList = React.createClass({
                 pageSize: this.state.pagination.pageSize,
                 identifyName: this.state.nameSearch,
                 industry:this.state.demandTypeSearch,
-                expert: this.state.statusSearch,
+                expert: this.state.statusSearch?this.state.statusSearch=='1'?this.state.statusSearch:'2':'',
                 auditStatus:this.state.authState,
+                consultantType:this.state.statusSearch=='3'?'4':''
             },
             success: function (data) {
                 let theArr = [];
@@ -46,6 +48,7 @@ const DemandList = React.createClass({
                             identifyName: thisdata.identifyName,
                             mobile:thisdata.contactMobile,
                             auditStatus:thisdata.auditStatus,
+                            consultantType:thisdata.consultantType,
                             releaseDate:thisdata.releaseDate?(new Date(thisdata.releaseDate)).toLocaleString():'未通过审核认证'
                         });
                     };
@@ -111,7 +114,17 @@ const DemandList = React.createClass({
                     title: '认证类型',
                     dataIndex: 'expert',
                     key: 'expert',
-                    render: text => { return text=='1'?'专家认证':text=='2'?'顾问认证':'未认证' }
+                    render: (text,recard) => { 
+                        if(text=='1'){
+                            return '专家认证';
+                        }else if(text=='2'&&recard.consultantType=='4'){
+                            return '法律顾问认证';
+                        }else if(text=='2'&&recard.consultantType!='4'){
+                            return '顾问认证';
+                        }else{
+                            return '未认证';
+                        }
+                    }
                 },
                 {
                     title:'认证状态',
@@ -236,6 +249,7 @@ const DemandList = React.createClass({
                         onChange={(e) => { this.setState({ statusSearch: e }) }}>
                         <Select.Option value="1" >专家认证</Select.Option>
                         <Select.Option value="2" >顾问认证</Select.Option>
+                        <Select.Option value="3" >法律顾问认证</Select.Option>
                     </Select>
                     <Select placeholder="认证状态" style={{ width: 160 }}
                         value={this.state.authState}

+ 3 - 3
js/component/administration/business/userLibrary.jsx

@@ -24,9 +24,9 @@ class UserLibrary extends Component {
 			},
 			columns: [
 				{
-					title: '客户名称',
-					dataIndex: 'username',
-					key: 'username'
+					title: '用户名',
+					dataIndex: 'nickname',
+					key: 'nickname'
 				},
 				{
 					title: '手机号码',

+ 3 - 0
js/component/administration/index/index.less

@@ -15,3 +15,6 @@
         margin-top: 20px;
     }
 }
+#qiao-wrap{
+    display: none;
+}

+ 4 - 2
js/component/crop/cropBox.jsx

@@ -70,6 +70,8 @@ class CropBox extends Component {
 			fd.append(key, this.state.uploadData[key]);
 		} 
 		fd.append('file',imgBlob); */
+
+		//datas数据传输
 		dataList.filename=this.state.imgName;
 		dataList.sign=this.state.uploadData['sign'];
 		dataList.picturebase=img64Data.split(',')[1];
@@ -77,8 +79,8 @@ class CropBox extends Component {
 		    url: this.state.url,
 		    type: 'POST',
 			dataType: 'json',
-			// processData: false,  // 注意:让jQuery不要处理数据
-            // contentType: false,  // 注意:让jQuery不要设置contentType
+			// processData: false,  // 注意:让jQuery不要处理数据  		   //文件流传输时释放
+            // contentType: false,  // 注意:让jQuery不要设置contentType   //文件流传输时释放
 			data:dataList,
 		    success: function (data) {
 	    		if(data.error&&data.error.length>0){

+ 11 - 5
js/component/dataDic.js

@@ -1883,7 +1883,7 @@ module.exports = {
     orderType:[
     	 {
 	        value: "0",
-	        key: "赚钱订单"
+	        key: "运用订单"
 	    }, {
 	        value: "1",
 	        key: "知识产权订单"
@@ -2194,6 +2194,9 @@ module.exports = {
 	    }, {
 	        value: "web_demand_trading_index",
 	        key: "知识产权交易首页"
+	    }, {
+	        value: "app_demand_trading_index",
+	        key: "app需求交易页面"
 	    }
     ],
     //成果发布位置
@@ -2219,6 +2222,9 @@ module.exports = {
 	    }, {
 	        value: "web_achievement_trading_index",
 	        key: "知识产权交易首页"
+	    }, {
+	        value: "app_achievement_trading_index",
+	        key: "app成果知识产权交易页面"
 	    }
     ],
      //新闻发布位置
@@ -2315,10 +2321,10 @@ module.exports = {
 	        value: "3",
 	        key: "商标顾问"
         }, 
-        // {
-	    //     value: "4",
-	    //     key: "法律顾问"
-        // }
+        {
+	        value: "4",
+	        key: "法律顾问"
+        }
     ],
     lawType:[
         {

+ 3 - 2
js/component/login/adminLogin.less

@@ -62,9 +62,10 @@ input:-ms-input-placeholder,
 textarea:-ms-input-placeholder {
     color: #333;
 }
-#LRfloater2,#LRMINIWIN,#LRdiv2{
+
+#LRfloater2,#LRMINIWIN,#LRdiv2,#qiao-wrap,#BD_QIAO_WEBIM_LITE_WRAP{
     display: none!important;
 }
 .lxb-container-btn-show-bg,.lxb-container{
     display: none!important;
-}
+}

+ 2 - 2
webpack.config.js

@@ -121,7 +121,7 @@ module.exports = (function () {
         }));
     }
 
-    let staticHost = 'http://192.168.0.190:8088';    
+    let staticHost = 'http://192.168.0.188:8088';    
     switch (argv.env.deploy) {
         case 'test':
             staticHost = 'http://statics.jishutao.com';
@@ -156,7 +156,7 @@ module.exports = (function () {
         plugins: plugins,
         devServer: {
             disableHostCheck: true,
-            host: '192.168.0.190',
+            host: '192.168.0.188',
             port: 8088,
             allowedHosts: ['127.0.0.1','192.168.0.20','192.168.0.99'],
             headers: {

+ 7 - 7
webpack/entry.config.js

@@ -11,32 +11,32 @@ module.exports = {
     'admin/index': './js/admin/index.js',
   },
   watch: {
-    'user/index': ['webpack-dev-server/client?http://192.168.0.190:8088', // WebpackDevServer host and port
+    'user/index': ['webpack-dev-server/client?http://192.168.0.188:8088', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/user/index.js'
     ],
-    'user/login': ['webpack-dev-server/client?http://192.168.0.190:8088', // WebpackDevServer host and port
+    'user/login': ['webpack-dev-server/client?http://192.168.0.188:8088', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/user/login.js'
     ],
-    'user/signIn': ['webpack-dev-server/client?http://192.168.0.190:8088', // WebpackDevServer host and port
+    'user/signIn': ['webpack-dev-server/client?http://192.168.0.188:8088', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/user/signIn.js'
     ],
-    'user/account/index': ['webpack-dev-server/client?http://192.168.0.190:8088', // WebpackDevServer host and port
+    'user/account/index': ['webpack-dev-server/client?http://192.168.0.188:8088', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/user/account/index.js'
     ],
-    'user/account/evaluateInfo': ['webpack-dev-server/client?http://192.168.0.190:8088', // WebpackDevServer host and port
+    'user/account/evaluateInfo': ['webpack-dev-server/client?http://192.168.0.188:8088', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/user/account/assessment.js'
     ],
     //admin
-    'admin/login': ['webpack-dev-server/client?http://192.168.0.190:8088', // WebpackDevServer host and port
+    'admin/login': ['webpack-dev-server/client?http://192.168.0.188:8088', // WebpackDevServer host and port
     'webpack/hot/only-dev-server',
     './js/user/adminLogin.js'
     ],
-    'admin/index': ['webpack-dev-server/client?http://192.168.0.190:8088', // WebpackDevServer host and port
+    'admin/index': ['webpack-dev-server/client?http://192.168.0.188:8088', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/admin/index.js'
     ]