yee 7 年之前
父節點
當前提交
7a1ee842c8

+ 2 - 5
css/sign.less

@@ -2,8 +2,7 @@
     min-height: 1000px;
     .signIn-form {
         width: 1000px;
-        margin: 20px auto;
-        //antd
+        margin: 20px auto; //antd
         .ant-tabs-bar {
             height: 60px;
             margin-bottom: 0;
@@ -32,9 +31,7 @@
             }
         }
         .ant-tabs-content {
-            .ant-tabs-tabpane {
-                background: #fff;
-            }
+            background: #fff;
         }
     }
 }

+ 27 - 0
js/component/account/content.less

@@ -42,4 +42,31 @@
         float: right;
         margin-right: 20px;
     }
+}
+
+.ant-modal-body {
+    .half-item {
+        float: left;
+        width: 50%;
+        margin-bottom: 10px;
+    }
+    .third-item {
+        float: left;
+        width: 33%;
+        margin-bottom: 10px;
+        >p {
+            line-height: 30px;
+        }
+    }
+    .item-title {
+        line-height: 30px;
+        font-size: 14px;
+        color: #666;
+        min-width: 100px;
+        display: inline-block;
+    }
+    .form-title {
+        font-size: 16px;
+        color: #333;
+    }
 }

+ 1 - 1
js/component/account/services/achievement.jsx

@@ -21,7 +21,7 @@ const AchievementDescFrom = Form.create()(React.createClass({
         d = d.getFullYear();
         for (let i = d; i > d - 20; i--) {
             _me.state.yearOption.push(
-                <Select.Option value={i.toString()} key={i}>{i}</Select.Option>
+                <Select.Option key={i.toString()} >{i}</Select.Option>
             )
         };
         conversionFormList.map(function (item) {

+ 2 - 2
js/component/account/services/annualReport.jsx

@@ -21,7 +21,7 @@ const AnnualReportDescFrom = Form.create()(React.createClass({
         d = d.getFullYear();
         for (let i = d; i > d - 20; i--) {
             _me.state.yearOption.push(
-                <Select.Option value={i.toString()} key={i}>{i}</Select.Option>
+                <Select.Option key={i.toString()} >{i}</Select.Option>
             )
         };
     },
@@ -457,7 +457,7 @@ const AnnualReportAdd = React.createClass({
         d = d.getFullYear();
         for (let i = d; i > d - 20; i--) {
             _me.state.yearOption.push(
-                <Select.Option value={i.toString()} key={i}>{i}</Select.Option>
+                <Select.Option key={i.toString()} >{i}</Select.Option>
             )
         };
     },

+ 1 - 1
js/component/account/services/cognizance.jsx

@@ -417,7 +417,7 @@ const CognizanceAdd = React.createClass({
         this.state.thisYear = d;
         for (let i = d; i < d + 20; i++) {
             _me.state.yearOption.push(
-                <Select.Option value={i.toString()} key={i}>{i}</Select.Option>
+                <Select.Option key={i.toString()} >{i}</Select.Option>
             )
         };
     },

+ 0 - 32
js/component/account/services/cognizance.less

@@ -1,36 +1,4 @@
-.ant-modal-body {
-    .half-item {
-        float: left;
-        width: 50%;
-    }
-}
 
-.ant-modal-body {
-    .half-item {
-        float: left;
-        width: 50%;
-        height: 36px;
-        margin-bottom: 10px;
-    }
-    .third-item {
-        float: left;
-        width: 33%;
-        height: 36px;
-        margin-bottom: 10px;
-        >p {
-            line-height: 30px;
-        }
-    }
-    .item-title {
-        line-height: 30px;
-        font-size: 14px;
-        color: #666;
-    }
-    .form-title {
-        font-size: 16px;
-        color: #333;
-    }
-}
 
 #highTechApply-form {
     >div {

+ 3 - 3
js/component/account/services/contract/contractAdd.jsx

@@ -53,7 +53,7 @@ const ContractAddFrom = Form.create()(React.createClass({
         d = d.getFullYear() - 1;
         for (let i = d; i < d + 20; i++) {
             theArr.push(
-                <Select.Option value={i.toString()} key={i}>{i}</Select.Option>
+                <Select.Option key={i.toString()}>{i}</Select.Option>
             )
         };
         this.state.yearOption = theArr;
@@ -131,7 +131,7 @@ const ContractAddFrom = Form.create()(React.createClass({
         };
         const _me = this;
         return (
-            <Form horizontal onSubmit={this.handleSave} id="CopyrightDesc-form">
+            <Form horizontal onSubmit={this.handleSave}>
                 <div className="clearfix">
                     <FormItem className="half-item"
                         {...formItemLayout}
@@ -183,7 +183,7 @@ const ContractAddFrom = Form.create()(React.createClass({
                         {...formItemLayout}
                         label={"高企申请"} >
                         {getFieldDecorator('cognizanceYear', {
-                            initialValue: theData.cognizanceYear || undefined
+                            initialValue: theData.cognizanceYear ? theData.cognizanceYear.toString() : null
                         })(
                             <Select placeholder="请选择年份"
                                 style={{ width: 120 }}

+ 4 - 0
js/component/account/services/orgTechCenter.jsx

@@ -386,6 +386,10 @@ const CenterList = React.createClass({
         };
     },
     saveCenterDetail() {
+        if (!this.state.centerName) {
+            message.warning('研发部门名称不能为空!');
+            return;
+        };
         this.setState({
             loading: true
         });

+ 0 - 28
js/component/account/services/technology.less

@@ -31,34 +31,6 @@
     }
 }
 
-.ant-modal-body {
-    .half-item {
-        float: left;
-        width: 50%;
-        height: 36px;
-        margin-bottom: 10px;
-    }
-    .third-item {
-        float: left;
-        width: 33%;
-        height: 36px;
-        margin-bottom: 10px;
-        >p {
-            line-height: 30px;
-        }
-    }
-    .item-title {
-        line-height: 30px;
-        font-size: 14px;
-        color: #666;
-        min-width: 100px;
-        display: inline-block;
-    }
-    .form-title {
-        font-size: 16px;
-        color: #333;
-    }
-}
 
 #highTechApply-form {
     >div {

+ 4 - 0
js/component/account/set/pfs.jsx

@@ -101,6 +101,10 @@ const PfsFrom = Form.create()(React.createClass({
         e.preventDefault();
         this.props.form.validateFields((err, values) => {
             if (!err) {
+                if (values.gongling < 0) {
+                    message.warning('工龄不能小于零!');
+                    return;
+                };
                 this.props.spinState(true);
                 $.ajax({
                     method: "POST",

+ 41 - 13
js/component/login/forgetPw.jsx

@@ -10,7 +10,9 @@ const ChangePw = React.createClass({
             forgetPw: false,
             setPw: false,
             getCodeButton: false,
-            checkMobile: false
+            checkMobile: false,
+            mCodeText: '获取验证码',
+            vsCodeSrc: globalConfig.context + '/open/getVCode'
         };
     },
     showModal() {
@@ -26,7 +28,7 @@ const ChangePw = React.createClass({
                 method: "POST",
                 dataType: "json",
                 crossDomain: false,
-                url: globalConfig.context + "/api/user/checkMCode",
+                url: globalConfig.context + "/open/checkMCode",
                 data: {
                     "mobile": this.state.mobile,
                     "mobileCode": this.state.mcode
@@ -53,7 +55,7 @@ const ChangePw = React.createClass({
                 method: "POST",
                 dataType: "json",
                 crossDomain: false,
-                url: globalConfig.context + "/api/user/resetPwd",
+                url: globalConfig.context + "/open/resetPwd",
                 data: {
                     "mobile": this.state.mobile,
                     "type": this.props.theType,
@@ -63,7 +65,7 @@ const ChangePw = React.createClass({
             }).done(function (data) {
                 if (!data.error.length) {
                     message.success('修改成功!');
-                    this.handleCancel;
+                    this.handleCancel();
                 } else {
                     message.warning(data.error[0].message);
                 }
@@ -102,11 +104,14 @@ const ChangePw = React.createClass({
                 url: globalConfig.context + "/open/getMCode",
                 data: {
                     "mobile": this.state.mobile,
+                    "verificationCode": this.state.Vcode,
                     "type": this.props.theType,
                     "sign": true
                 },
                 success: function (data) {
-                    if (data.error.length == 0) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    } else {
                         message.success('验证码发送成功!');
                         this.state.uuid = data.data;
                         this.setState({
@@ -118,13 +123,29 @@ const ChangePw = React.createClass({
                             });
                             clearInterval(interval);
                         }, 60000);
-                    } else {
-                        message.warning(data.error[0].message);
+                        let i = 59;
+                        let countDown = setInterval(function () {
+                            _me.setState({
+                                mCodeText: '剩余' + i + '秒'
+                            });
+                            i--;
+                            if (i == 0) {
+                                clearInterval(countDown);
+                                _me.setState({
+                                    mCodeText: '获取验证码'
+                                });
+                            };
+                        }, 1000);
                     }
                 }.bind(this),
             });
         }
     },
+    reloadVCode() {
+        this.setState({
+            vsCodeSrc: globalConfig.context + '/open/getVCode?t=' + Math.random()
+        });
+    },
     render() {
         return (
             <div style={{ 'float': 'right', 'marginTop': '0' }}>
@@ -136,13 +157,20 @@ const ChangePw = React.createClass({
                         <Button key="submit" type="primary" size="large" loading={this.state.loading} onClick={this.forgetPwOk}>确认</Button>,
                         <Button key="back" type="ghost" size="large" onClick={this.handleCancel}>取消</Button>
                     ]}
-                    >
-                    <p><span>手机号码:</span><Input onChange={this.newMobileChange} /></p>
-                    <p>
+                >
+                    <div><span>手机号码:</span><Input onChange={this.newMobileChange} /></div>
+                    <div>
+                        <span>图形验证码:</span>
+                        <Input className="mixwidth" onChange={(e) => { this.state.Vcode = e.target.value; }} />
+                        <span className="getVcode">
+                            <img id="VCode" src={this.state.vsCodeSrc} alt="点击刷新验证码" onClick={this.reloadVCode} />
+                        </span>
+                    </div>
+                    <div>
                         <span>验证码:</span>
                         <Input className="mixwidth" onChange={this.mcodeChange} />
-                        <Button key="getCodeBtn" onClick={this.getMCode} disabled={this.state.getCodeButton}>获取验证码</Button>
-                    </p>
+                        <Button style={{ width: 92 }} key="getCodeBtn" onClick={this.getMCode} disabled={this.state.getCodeButton}>{this.state.mCodeText}</Button>
+                    </div>
                 </Modal>
                 <Modal maskClosable={false} key='2' className="change-modal" title="设置新密码" visible={this.state.setPw}
                     onOk={this.setPwOk} onCancel={this.handleCancel}
@@ -151,7 +179,7 @@ const ChangePw = React.createClass({
                         <Button key="submit" type="primary" size="large" loading={this.state.loading} onClick={this.setPwOk}>确认</Button>,
                         <Button key="back" type="ghost" size="large" onClick={this.handleCancel}>取消</Button>
                     ]}
-                    >
+                >
                     <p className="modal-intro"><Icon type="info-circle" />密码长度为6-20个字符,区分大小写</p>
                     <p><span>新密码:</span><Input type="password" onChange={this.newPwChange} /></p>
                     <p><span>确认密码:</span><Input type="password" onChange={this.confirmPwChange} /></p>

+ 2 - 2
js/component/manageCenter/achievement/achievementOrder.jsx

@@ -178,7 +178,7 @@ const AchievementDetail = React.createClass({
                                         return "正常"
                                     }
                                 })()}</Col>
-                                <Col span={3}>所有人名称:</Col>
+                                <Col span={3}>订单所有人:</Col>
                                 <Col span={9}>{theData.theName}</Col>
                             </Row>
                             <Row>
@@ -413,7 +413,7 @@ const AchievementOrderList = React.createClass({
                     dataIndex: 'achievementSerialNumber',
                     key: 'achievementSerialNumber',
                 }, {
-                    title: '成果所有人',
+                    title: '订单所有人',
                     dataIndex: 'theName',
                     key: 'theName',
                 }, {

+ 1 - 1
js/component/manageCenter/achievement/techAchievementDesc.jsx

@@ -121,7 +121,7 @@ const PicturesWall = React.createClass({
                     fileList={fileList}
                     onPreview={this.handlePreview}
                     onChange={this.handleChange} >
-                    {fileList.length > 5 ? null : uploadButton}
+                    {fileList.length >= 5 ? null : uploadButton}
                 </Upload>
                 <Modal maskClosable={false} visible={previewVisible} footer={null} onCancel={this.handleCancel}>
                     <img alt="example" style={{ width: '100%' }} src={previewImage} />

+ 2 - 2
js/component/manageCenter/demand/demandOrder.jsx

@@ -179,7 +179,7 @@ const DemandDetail = React.createClass({
                                         return "正常"
                                     }
                                 })()}</Col>
-                                <Col span={2}>雇主名称:</Col>
+                                <Col span={2}>订单所有人:</Col>
                                 <Col span={10}>{theData.theName}</Col>
                             </Row>
                             <Row>
@@ -368,7 +368,7 @@ const DemandOrderList = React.createClass({
                     dataIndex: 'demandSerialNumber',
                     key: 'demandSerialNumber',
                 }, {
-                    title: '雇主名称',
+                    title: '订单所有人',
                     dataIndex: 'theName',
                     key: 'theName',
                 }, {

+ 25 - 0
js/component/manageCenter/demand/techDemandDesc.jsx

@@ -176,6 +176,29 @@ const DemandDetailShow = Form.create()(React.createClass({
             });
         }.bind(this));
     },
+    getContactsList(theUid) {
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/getContacts",
+            data: {
+                uid: theUid
+            },
+            success: function (data) {
+                let theOption = [];
+                if (!data.data) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    };
+                } else {
+                    this.setState({
+                        contactsObj: data.data
+                    });
+                };
+            }.bind(this),
+        });
+    },
     offShelf() {
         this.setState({
             loading: true
@@ -272,10 +295,12 @@ const DemandDetailShow = Form.create()(React.createClass({
     },
     componentWillMount() {
         this.loadData(this.props.data.id, this.props.detailApiUrl);
+        this.getContactsList(this.props.data.employerId);
     },
     componentWillReceiveProps(nextProps) {
         if (!this.props.visible && nextProps.visible) {
             this.loadData(nextProps.data.id, nextProps.detailApiUrl);
+            this.getContactsList(nextProps.data.employerId);
             this.props.form.resetFields();
         };
     },

+ 1 - 1
js/component/manageCenter/servicesManage/highTech/highTechApply.jsx

@@ -684,7 +684,7 @@ const CognizanceAdd = React.createClass({
         this.state.thisYear = d;
         for (let i = d; i < d + 20; i++) {
             _me.state.yearOption.push(
-                <Select.Option value={i.toString()} key={i}>{i}</Select.Option>
+                <Select.Option key={i.toString()}>{i}</Select.Option>
             )
         };
     },

+ 1 - 1
js/component/manageCenter/userManage/leftTab.jsx

@@ -8,7 +8,7 @@ const MenuItemGroup = Menu.ItemGroup;
 const LeftTab = React.createClass({
     getInitialState() {
         return {
-            current: window.showCustomer ? 'userList' : 'customerList',
+            current: window.showCustomer ? 'customerList' : 'userList',
         };
     },
     handleClick(e) {

+ 3 - 3
js/component/manageCenter/userManage/orgList.jsx

@@ -169,7 +169,7 @@ const OrgList = React.createClass({
                     dataIndex: 'mobile',
                     key: 'mobile',
                 }, {
-                    title: '公司名称',
+                    title: '认证名称',
                     dataIndex: 'unitName',
                     key: 'unitName',
                 }, {
@@ -182,7 +182,7 @@ const OrgList = React.createClass({
                     dataIndex: 'createTimeFormattedDate',
                     key: 'createTimeFormattedDate',
                 }, {
-                    title: '认证名称',
+                    title: '公司名称',
                     dataIndex: 'aftUsername',
                     key: 'aftUsername',
                 }, {
@@ -261,7 +261,7 @@ const OrgList = React.createClass({
                             })
                         }
                     </Select>
-                    <Input placeholder="公司名称" value={this.state.searchUnitName}
+                    <Input placeholder="认证名称" value={this.state.searchUnitName}
                         onChange={(e) => { this.setState({ searchUnitName: e.target.value }); }} />
                     <Input placeholder="联系方式" value={this.state.searchEmail}
                         onChange={(e) => { this.setState({ searchEmail: e.target.value }); }} />

+ 7 - 0
js/component/sign/account.jsx

@@ -91,6 +91,13 @@ const LoginContent = Form.create()(React.createClass({
     getMCode() {
         const _me = this;
         const form = this.props.form;
+        if (!form.getFieldValue('captcha')) {
+            message.warning('图形验证码不能为空!');
+            return;
+        };
+        this.setState({
+            loading: true
+        });
         $.ajax({
             method: "get",
             dataType: "json",

+ 1 - 1
js/component/sign/account.less

@@ -1,5 +1,5 @@
 .account-content {
-    margin-top: 50px;
+    padding-top: 50px;
     height: 580px;
     .account-left {
         width: 540px;