Browse Source

v1.0.8 用户端bug修复

yee 8 years ago
parent
commit
1901f7dd57
41 changed files with 399 additions and 308 deletions
  1. 2 2
      js/component/account/index/content.jsx
  2. 12 5
      js/component/account/services/achievement.jsx
  3. 14 6
      js/component/account/services/activity.jsx
  4. 26 16
      js/component/account/services/activityCostList.jsx
  5. 2 0
      js/component/account/services/annualReport.jsx
  6. 3 1
      js/component/account/services/cognizance.jsx
  7. 8 4
      js/component/account/services/finance.jsx
  8. 7 3
      js/component/account/services/honorList.jsx
  9. 8 5
      js/component/account/services/intellectual.jsx
  10. 1 1
      js/component/account/services/intellectualDesc.jsx
  11. 11 9
      js/component/account/services/orgTechCenter.jsx
  12. 12 8
      js/component/account/services/patent.jsx
  13. 35 30
      js/component/account/services/patent.less
  14. 10 4
      js/component/account/services/patentAdd.jsx
  15. 31 49
      js/component/account/services/patentDesc.jsx
  16. 8 4
      js/component/account/services/ratepay.jsx
  17. 10 6
      js/component/account/services/standard.jsx
  18. 12 5
      js/component/account/services/techProduct.jsx
  19. 2 2
      js/component/account/set/base.jsx
  20. 11 3
      js/component/account/set/company.jsx
  21. 33 33
      js/component/account/set/hrSituation.jsx
  22. 3 0
      js/component/dataDic.js
  23. 31 31
      js/component/groupCertify/personal.jsx
  24. 1 1
      js/component/manageCenter/servicesManage/highTech/fosterDesc/achievement.jsx
  25. 1 1
      js/component/manageCenter/servicesManage/highTech/fosterDesc/activity.jsx
  26. 1 1
      js/component/manageCenter/servicesManage/highTech/fosterDesc/activityCostList.jsx
  27. 2 2
      js/component/manageCenter/servicesManage/highTech/fosterDesc/finance.jsx
  28. 1 1
      js/component/manageCenter/servicesManage/highTech/fosterDesc/honorList.jsx
  29. 5 5
      js/component/manageCenter/servicesManage/highTech/fosterDesc/hrSituation.jsx
  30. 1 1
      js/component/manageCenter/servicesManage/highTech/fosterDesc/intellectualDesc.jsx
  31. 25 18
      js/component/manageCenter/servicesManage/highTech/fosterDesc/orgTechCenter.jsx
  32. 3 3
      js/component/manageCenter/servicesManage/highTech/fosterDesc/ratepay.jsx
  33. 1 1
      js/component/manageCenter/servicesManage/highTech/fosterDesc/techProduct.jsx
  34. 15 3
      js/component/manageCenter/servicesManage/highTech/highTechFoster.jsx
  35. 20 21
      js/component/manageCenter/servicesManage/patent/comPatentDesc.jsx
  36. 8 1
      js/component/manageCenter/servicesManage/patent/comprehensive.jsx
  37. 5 16
      js/component/manageCenter/servicesManage/patent/comprehensive.less
  38. 3 3
      js/component/manageCenter/userManage/orgCertify.jsx
  39. 2 2
      js/component/manageCenter/userManage/userDesc.jsx
  40. 12 0
      js/component/tools.js
  41. 1 1
      package.json

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

@@ -81,8 +81,8 @@ const Content = React.createClass({
                                     <p className="acc-title">{this.state.number}</p>
                                     <div className="userdata-img">
                                         {this.state.type == 0 ?
-                                        <img src={globalConfig.staticHost + "/upload" + this.state.personPortraitUrl} alt="" /> : 
-                                        <img src={globalConfig.staticHost + "/upload" + this.state.logoUrl} alt="" />}
+                                        <img src={globalConfig.avatarHost + "/upload" + this.state.personPortraitUrl} alt="" /> : 
+                                        <img src={globalConfig.avatarHost + "/upload" + this.state.logoUrl} alt="" />}
                                     </div>
                                     <div className="userdata-content">
                                         {(() => {

+ 12 - 5
js/component/account/services/achievement.jsx

@@ -183,7 +183,7 @@ const AchievementDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传科技成果附件 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.enclosureUrl ? <a onClick={downloadFile.bind(null, theData.enclosureUrl, theData.enclosureDownloadFileName)}>{theData.enclosureDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.enclosureUrl ? <a onClick={downloadFile.bind(null, theData.enclosureUrl, theData.enclosureDownloadFileName)}>{theData.enclosureDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
@@ -270,12 +270,18 @@ const Achievement = React.createClass({
         })).done((data1, data2) => {
             let data = data1[0];
             let activityNumber = data2[0];
-            if (data.error.length || !data.data || !data.data.list) {
-                message.warning(data.error[0].message);
+            if (!data.data || !data.data.list) {
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                    this.state.ButtonDisabled = true;
+                };
                 return;
             };
-            if (activityNumber.error.length || !activityNumber.data) {
-                message.warning(activityNumber.error[0].message);
+            if (!activityNumber.data) {
+                if (activityNumber.error && activityNumber.error.length) {
+                    message.warning(activityNumber.error[0].message);
+                    this.state.ButtonDisabled = true;
+                };
                 return;
             };
             for (let i = 0; i < data.data.list.length; i++) {
@@ -430,6 +436,7 @@ const Achievement = React.createClass({
                 <div className="user-search">
                     <p>
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                            disabled={this.state.ButtonDisabled}
                             onClick={this.tableRowClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
                             disabled={!hasSelected}

+ 14 - 6
js/component/account/services/activity.jsx

@@ -54,7 +54,7 @@ const ActivityDesc = React.createClass({
                     loading: false,
                     visible: false
                 });
-                this.props.closeDesc(false,true);
+                this.props.closeDesc(false, true);
             } else {
                 message.warning(data.error[0].message);
                 this.setState({
@@ -188,6 +188,7 @@ const ActivityDesc = React.createClass({
                                 <InputNumber value={
                                     this.state.firstYearExpenditure + this.state.secondYearExpenditure + this.state.thirdYearExpenditure || 0
                                 } />
+                                <span>(自动计算)</span>
                             </div>
                             <div className="half-div">
                                 <span>其中(第一年):</span>
@@ -273,7 +274,7 @@ const ActivityDesc = React.createClass({
                             >
                                 <Button><Icon type="upload" /> 上传立项证明材料 </Button>
                             </Upload>
-                            <p>{this.state.proofUrl ? <a onClick={downloadFile.bind(null, this.state.proofUrl, this.state.proofDownloadFileName)}>{this.state.proofDownloadFileName}</a> : <span>未上传!</span>}</p>
+                            <p>{this.state.proofUrl ? <a onClick={downloadFile.bind(null, this.state.proofUrl, this.state.proofDownloadFileName)}>{this.state.proofDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                         </div>
                     </Modal>
                 </div>
@@ -315,12 +316,18 @@ const Activity = React.createClass({
         })).done((data1, data2) => {
             let data = data1[0];
             let intellectualList = data2[0];
-            if (data.error.length || !data.data || !data.data.list) {
-                message.warning(data.error[0].message);
+            if (!data.data || !data.data.list) {
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                    this.state.ButtonDisabled = true;
+                };
                 return;
             };
-            if (intellectualList.error.length || !intellectualList.data || !intellectualList.data.list) {
-                message.warning(intellectualList.error[0].message);
+            if (!intellectualList.data || !intellectualList.data.list) {
+                if (intellectualList.error && intellectualList.error.length) {
+                    message.warning(intellectualList.error[0].message);
+                    this.state.ButtonDisabled = true;
+                };
                 return;
             };
             let theArr = [];
@@ -522,6 +529,7 @@ const Activity = React.createClass({
                     <Button onClick={this.reset}>重置</Button>
                     <p>
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                            disabled={this.state.ButtonDisabled}
                             onClick={this.tableRowClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
                             disabled={!hasSelected}

+ 26 - 16
js/component/account/services/activityCostList.jsx

@@ -13,14 +13,6 @@ const ActivityDescFrom = Form.create()(React.createClass({
             activityNumberOption: [],
         };
     },
-    componentWillMount() {
-        let _me = this;
-        this.props.activityNumberList.map(function (item) {
-            _me.state.activityNumberOption.push(
-                <Select.Option value={item.aid} key={item.uid}>{item.activityNumber}</Select.Option>
-            )
-        });
-    },
     allCostCount() {
         this.state.internalAllCost = this.props.form.getFieldValue('internalLaborCost') + this.props.form.getFieldValue('internalDirectCost') +
             this.props.form.getFieldValue('internalDepreciationCost') + this.props.form.getFieldValue('internalAmortizationCost') +
@@ -37,8 +29,15 @@ const ActivityDescFrom = Form.create()(React.createClass({
             loading: false
         });
     },
-    componentWillReceiveProps() {
+    componentWillReceiveProps(nextProps) {
         this.allCostCount();
+        let _me = this;
+        if (!this.props.visible && nextProps.visible && nextProps.activityNumberList)
+            nextProps.activityNumberList.map(function (item) {
+                _me.state.activityNumberOption.push(
+                    <Select.Option value={item.aid} key={item.uid}>{item.activityNumber}</Select.Option>
+                )
+            });
     },
     handleSubmit(e) {
         e.preventDefault();
@@ -290,7 +289,7 @@ const ActivityDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传研发费用台账 </Button>
                     </Upload>
-                    <p style={{ marginTop: '20px' }}>{theData.accountUrl ? <a onClick={downloadFile.bind(null, theData.accountUrl, theData.accountDownloadFileName)}>{theData.accountDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '20px' }}>{theData.accountUrl ? <a onClick={downloadFile.bind(null, theData.accountUrl, theData.accountDownloadFileName)}>{theData.accountDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
@@ -342,8 +341,12 @@ const ActivityDesc = React.createClass({
                         width='800px'
                         footer=''
                     >
-                        <ActivityDescFrom data={this.props.data} activityNumberList={this.props.activityNumberList}
-                            spinState={this.spinChange} closeModal={this.handleCancel} clickOk={this.handleOk} />
+                        <ActivityDescFrom data={this.props.data}
+                            visible={this.state.visible}
+                            activityNumberList={this.props.activityNumberList}
+                            spinState={this.spinChange}
+                            closeModal={this.handleCancel}
+                            clickOk={this.handleOk} />
                     </Modal>
                 </Spin>
             </div>
@@ -377,12 +380,18 @@ const Activity = React.createClass({
         })).done((data1, data2) => {
             let data = data1[0];
             let activityNumber = data2[0];
-            if (data.error.length || !data.data || !data.data.list) {
-                message.warning(data.error[0].message);
+            if (!data.data || !data.data.list) {
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                    this.state.ButtonDisabled = true;
+                };
                 return;
             };
-            if (activityNumber.error.length || !activityNumber.data) {
-                message.warning(activityNumber.error[0].message);
+            if (!activityNumber.data) {
+                if (activityNumber.error && activityNumber.error.length) {
+                    message.warning(activityNumber.error[0].message);
+                    this.state.ButtonDisabled = true;
+                };
                 return;
             };
             for (let i = 0; i < data.data.list.length; i++) {
@@ -612,6 +621,7 @@ const Activity = React.createClass({
                     <Button onClick={this.reset}>重置</Button>
                     <p>
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                            disabled={this.state.ButtonDisabled}
                             onClick={this.tableRowClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
                             disabled={!hasSelected}

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

@@ -583,6 +583,7 @@ const AnnualReport = React.createClass({
             if (!data.data || !data.data.list) {
                 if (data.error.length) {
                     message.warning(data.error[0].message);
+                    this.state.ButtonDisabled = true;
                 };
                 return;
             };
@@ -741,6 +742,7 @@ const AnnualReport = React.createClass({
                 <div className="user-search">
                     <p>
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                            disabled={this.state.ButtonDisabled}
                             onClick={this.addClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff", display: 'none' }}
                             disabled={!hasSelected}

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

@@ -530,13 +530,14 @@ const Cognizance = React.createClass({
             this.state.data = [];
             if (data1[0].error || !data1[0].data) {
                 if (data1[0].error.length) {
-                    message.warning(data.error[0].message);
+                    message.warning(data1[0].error[0].message);
                     return;
                 };
             };
             if (data2[0].error || !data2[0].data || !data2[0].data.list) {
                 if (data2[0].error.length) {
                     message.warning(data2[0].error[0].message);
+                    this.state.ButtonDisabled = true;
                     return;
                 };
             };
@@ -734,6 +735,7 @@ const Cognizance = React.createClass({
                 <div className="user-search">
                     <p>
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                            disabled={this.state.ButtonDisabled}
                             onClick={this.addClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff", display: 'none' }}
                             disabled={!hasSelected}

+ 8 - 4
js/component/account/services/finance.jsx

@@ -216,7 +216,7 @@ const FinanceDescFrom = Form.create()(React.createClass({
                     <Upload
                         name="ratepay"
                         action={globalConfig.context + "/techservice/cognizance/upload"}
-                        data={{ 'sign': 'finance_' + ( this.state.year || theData.year ) }}
+                        data={{ 'sign': 'finance_' + (this.state.year || theData.year) }}
                         beforeUpload={beforeUploadFile}
                         showUploadList={false}
                         onChange={(info) => {
@@ -238,7 +238,7 @@ const FinanceDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传企业财务报表 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.financeUrl ? <a onClick={downloadFile.bind(null, theData.financeUrl, theData.financeDownloadFileName)}>{theData.financeDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.financeUrl ? <a onClick={downloadFile.bind(null, theData.financeUrl, theData.financeDownloadFileName)}>{theData.financeDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
@@ -317,8 +317,11 @@ const Finance = React.createClass({
                 pageSize: this.state.pagination.pageSize,
             }
         }).done((data) => {
-            if (data.error.length || !data.data || !data.data.list) {
-                message.warning(data.error[0].message);
+            if (!data.data) {
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                    this.state.ButtonDisabled = true;
+                }
                 return;
             };
             for (let i = 0; i < data.data.list.length; i++) {
@@ -486,6 +489,7 @@ const Finance = React.createClass({
                 <div className="user-search">
                     <p>
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                            disabled={this.state.ButtonDisabled}
                             onClick={this.tableRowClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
                             disabled={!hasSelected}

+ 7 - 3
js/component/account/services/honorList.jsx

@@ -120,7 +120,7 @@ const HonorListDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传科技成果附件 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.enclosureUrl ? <a onClick={downloadFile.bind(null, theData.enclosureUrl, theData.enclosureDownloadFileName)}>{theData.enclosureDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.enclosureUrl ? <a onClick={downloadFile.bind(null, theData.enclosureUrl, theData.enclosureDownloadFileName)}>{theData.enclosureDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
@@ -201,8 +201,11 @@ const HonorList = React.createClass({
                 pageSize: this.state.pagination.pageSize
             }
         }).done((data) => {
-            if (data.error.length || !data.data || !data.data.list) {
-                message.warning(data.error[0].message);
+            if (!data.data) {
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                    this.state.ButtonDisabled = true;
+                }
                 return;
             };
             for (let i = 0; i < data.data.list.length; i++) {
@@ -346,6 +349,7 @@ const HonorList = React.createClass({
                 <div className="user-search">
                     <p>
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                            disabled={this.state.ButtonDisabled}
                             onClick={this.tableRowClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
                             disabled={!hasSelected}

+ 8 - 5
js/component/account/services/intellectual.jsx

@@ -26,8 +26,11 @@ const Intellectual = React.createClass({
                 endDate: this.state.endDateFormattedDate
             }
         }).done((data) => {
-            if (data.error.length || !data.data || !data.data.list) {
-                message.warning(data.error[0].message);
+            if (!data.data) {
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                    this.state.ButtonDisabled = true;
+                }
                 return;
             };
             for (let i = 0; i < data.data.list.length; i++) {
@@ -45,8 +48,8 @@ const Intellectual = React.createClass({
                     authorizationDate: thisdata.authorizationDate,
                     evaluationCategory: thisdata.evaluationCategory,
                     authorizationDateFormattedDate: thisdata.authorizationDateFormattedDate,
-                    propertyRightUrl:thisdata.propertyRightUrl,
-                    propertyRightDownloadFileName:thisdata.propertyRightDownloadFileName
+                    propertyRightUrl: thisdata.propertyRightUrl,
+                    propertyRightDownloadFileName: thisdata.propertyRightDownloadFileName
                 });
             };
             this.state.pagination.current = data.data.pageNo;
@@ -197,7 +200,7 @@ const Intellectual = React.createClass({
                     <Button type="primary" onClick={this.search}>搜索</Button>
                     <Button onClick={this.reset}>重置</Button>
                     <p>
-                        <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                        <Button disabled={this.state.ButtonDisabled} style={{ background: "#ea0862", border: "none", color: "#fff" }}
                             onClick={this.tableRowClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
                             disabled={!hasSelected}

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

@@ -196,7 +196,7 @@ const IntellectualDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传知识产权证书 </Button>
                     </Upload>
-                    <p style={{ margin: '10px 0' }}>{theData.propertyRightUrl ? <a onClick={downloadFile.bind(null, theData.propertyRightUrl, theData.propertyRightDownloadFileName)}>{theData.propertyRightDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ margin: '10px 0' }}>{theData.propertyRightUrl ? <a onClick={downloadFile.bind(null, theData.propertyRightUrl, theData.propertyRightDownloadFileName)}>{theData.propertyRightDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>

+ 11 - 9
js/component/account/services/orgTechCenter.jsx

@@ -127,7 +127,7 @@ const CenterListDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传研发费用台账 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.protocolUrl ? <a onClick={downloadFile.bind(null, theData.protocolUrl, theData.protocolDownloadFileName)}>{theData.protocolDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.protocolUrl ? <a onClick={downloadFile.bind(null, theData.protocolUrl, theData.protocolDownloadFileName)}>{theData.protocolDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
@@ -157,7 +157,7 @@ const CenterListDesc = React.createClass({
         this.setState({
             visible: false,
         });
-        this.props.closeDesc(false,true);
+        this.props.closeDesc(false, true);
     },
     handleCancel(e) {
         this.setState({
@@ -180,7 +180,7 @@ const CenterListDesc = React.createClass({
                         footer=''
                     >
                         <CenterListDescFrom data={this.props.data}
-                            spinState={this.spinChange} closeModal={this.handleCancel}  clickOk={this.handleOk} />
+                            spinState={this.spinChange} closeModal={this.handleCancel} clickOk={this.handleOk} />
                     </Modal>
                 </Spin>
             </div>
@@ -202,8 +202,9 @@ const CenterList = React.createClass({
             }
         }).done((data) => {
             if (!data.data) {
-                if(data.error.length) {
+                if (data.error && data.error.length) {
                     message.warning(data.error[0].message);
+                    this.state.ButtonDisabled = true;
                 }
                 return;
             };
@@ -239,7 +240,7 @@ const CenterList = React.createClass({
             }
         }).done((data) => {
             if (!data.data || !data.data.list) {
-                if(data.error.length) {
+                if (data.error.length) {
                     message.warning(data.error[0].message);
                 }
                 return;
@@ -471,18 +472,19 @@ const CenterList = React.createClass({
                                 }
                             }}
                         >
-                            <Button><Icon type="upload" /> 上传研发费用台账 </Button>
+                            <Button disabled={this.state.ButtonDisabled}><Icon type="upload" /> 上传研发费用台账 </Button>
                         </Upload>
-                        <p style={{ marginTop: '10px' }}>{this.state.systemUrl ? <a onClick={downloadFile.bind(null, this.state.systemUrl, this.state.systemDownloadFileName)}>{this.state.systemDownloadFileName}</a> : <span>未上传!</span>}</p>
+                        <p style={{ marginTop: '10px' }}>{this.state.systemUrl ? <a onClick={downloadFile.bind(null, this.state.systemUrl, this.state.systemDownloadFileName)}>{this.state.systemDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                     </div>
                 </div>
-                <Button type='primary' onClick={this.saveCenterDetail}>保存</Button>
-                <div className="content-title">
+                <Button disabled={this.state.ButtonDisabled} type='primary' onClick={this.saveCenterDetail}>保存</Button>
+                <div className="content-title" style={{marginTop:'10px'}}>
                     <span>产学研情况</span>
                 </div>
                 <div className="user-search">
                     <p>
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                            disabled={this.state.ButtonDisabled}
                             onClick={this.tableRowClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
                             disabled={!hasSelected}

+ 12 - 8
js/component/account/services/patent.jsx

@@ -1,5 +1,5 @@
 import React from 'react';
-import { Icon, Alert, Button, Input, Select, Spin, Table } from 'antd';
+import { Icon, Alert, Button, Input, Select, Spin, Table, message } from 'antd';
 import { patentTypeList, patentStateList } from '../../dataDic.js';
 import { getPatentType, getPatentState, getTime } from '../../tools.js';
 import ajax from 'jquery/src/ajax/xhr.js'
@@ -28,14 +28,18 @@ const Patent = React.createClass({
                 patentState: this.state.searchState
             },
             success: function (data) {
-                if (data.error.length || !data.data || !data.data.list) {
+                if (!data.data) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                        this.state.ButtonDisabled = true;
+                    }
                     return;
-                }
+                };
                 for (let i = 0; i < data.data.list.length; i++) {
                     let thisdata = data.data.list[i];
                     this.state.data.push({
                         key: i,
-                        pid:thisdata.id,
+                        pid: thisdata.id,
                         number: thisdata.serialNumber,
                         patentNum: thisdata.patentNumber,
                         patentName: thisdata.patentName,
@@ -47,10 +51,10 @@ const Patent = React.createClass({
                         patentWritingUrl: thisdata.patentWritingUrl, //专利稿件
                         authorizationNoticeUrl: thisdata.authorizationNoticeUrl, //授权通知书
                         patentCertificateUrl: thisdata.patentCertificateUrl, //专利证书
-                        confirmState:thisdata.confirmState, //稿件确认状态
-                        authorizedTime:getTime(thisdata.authorizedDate),
+                        confirmState: thisdata.confirmState, //稿件确认状态
+                        authorizedTime: getTime(thisdata.authorizedDate),
                         startTime: getTime(thisdata.patentApplicationDate),
-                        endTime: getTime(thisdata.patentApplicationDate,2),
+                        endTime: getTime(thisdata.patentApplicationDate, 2),
                         firstInventorName: thisdata.firstInventorName,
                         firstInventorNationality: thisdata.firstInventorNationality, //国籍
                         firstInventorIdNumber: thisdata.firstInventorIdNumber,   //id
@@ -184,7 +188,7 @@ const Patent = React.createClass({
             <div className="patent-content" >
                 <div className="content-title">
                     <span>专利申请管理</span>
-                    {userData.type == '0' ? <span></span> : <PatentAdd closeDesc={this.closeDesc}/>}
+                    {userData.type == '0' ? <span></span> : <PatentAdd ButtonDisabled={this.state.ButtonDisabled} closeDesc={this.closeDesc} />}
                 </div>
                 <Alert style={{ display: this.state.AlertDis }} className="patent-alert" message={this.state.warningText}
                     type="info"

+ 35 - 30
js/component/account/services/patent.less

@@ -44,19 +44,19 @@
     }
 }
 
-.patent-from {
-    .ant-modal-content {
-        .ant-modal-header {
-            padding: 10px 16px;
-            background: #2d2d2d;
-            .ant-modal-title {
-                color: #fff;
-                font-size: 16px;
-                font-weight: 400;
-            }
+.ant-modal-content {
+    .ant-modal-header {
+        padding: 10px 16px;
+        background: #2d2d2d;
+        .ant-modal-title {
+            color: #fff;
+            font-size: 16px;
+            font-weight: 400;
         }
-        .ant-modal-body {
-            padding: 16px 26px;
+    }
+    .ant-modal-body {
+        padding: 16px 26px;
+        .patent-form {
             .ant-form-item-label {
                 text-align: left;
             }
@@ -75,24 +75,29 @@
                 margin-bottom: 12px;
             }
         }
-        .avatar-uploader,
-        .avatar-uploader-trigger,
-        .avatar {
-            width: 150px;
-            height: 150px;
-        }
-        .avatar-uploader {
-            display: block;
-            border: 1px dashed #d9d9d9;
-            border-radius: 6px;
-            cursor: pointer;
-        }
-        .avatar-uploader-trigger {
-            display: table-cell;
-            vertical-align: middle;
-            font-size: 28px;
-            color: #999;
-        }
+        .patent-download {
+                >p {
+                    line-height: 32px;
+                }
+            }
+    }
+    .avatar-uploader,
+    .avatar-uploader-trigger,
+    .avatar {
+        width: 150px;
+        height: 150px;
+    }
+    .avatar-uploader {
+        display: block;
+        border: 1px dashed #d9d9d9;
+        border-radius: 6px;
+        cursor: pointer;
+    }
+    .avatar-uploader-trigger {
+        display: table-cell;
+        vertical-align: middle;
+        font-size: 28px;
+        color: #999;
     }
 }
 

+ 10 - 4
js/component/account/services/patentAdd.jsx

@@ -17,6 +17,10 @@ const PatentAddFrom = Form.create()(React.createClass({
     },
     handleSubmit(e) {
         e.preventDefault();
+        if (!this.state.patentProryStatementUrl) {
+            message.warning('未上传代理委托书!');
+            return;
+        };
         this.props.form.validateFields((err, values) => {
             if (!err) {
                 this.props.spinState(true);
@@ -110,7 +114,7 @@ const PatentAddFrom = Form.create()(React.createClass({
                     label="姓名"
                 >
                     {getFieldDecorator('firstInventorName', {
-                        rules: [{ required: true, message: 'Please input name!' }]
+                        rules: [{ required: true, message: '请输入姓名!' }]
                     })(
                         <Input className="mini-input" />
                         )}
@@ -172,9 +176,11 @@ const PatentAddFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传专利代理委托书 </Button>
                     </Upload>
-                    <a onClick={() => { window.open(globalConfig.context + "/open/downloadTemplateFile?sign=patent_prory_statement") }}>专利代理委托书模板下载</a>
+                    <p style={{paddingLeft:'10px',marginTop:'10px'}}>
+                        <a onClick={() => { window.open(globalConfig.context + "/open/downloadTemplateFile?sign=patent_prory_statement") }}>专利代理委托书模板下载</a>
+                    </p>
                 </div>
-                <FormItem>
+                <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
                     <Button type="ghost" style={{ marginLeft: '20px' }} onClick={this.props.closeModal}>取消</Button>
                 </FormItem>
@@ -216,7 +222,7 @@ const PatentAdd = React.createClass({
     render() {
         return (
             <div className="patent-addNew">
-                <Button className="patent-addNew" type="primary" onClick={this.showModal}>申请新专利<Icon type="plus" /></Button>
+                <Button disabled={this.props.ButtonDisabled} className="patent-addNew" type="primary" onClick={this.showModal}>申请新专利<Icon type="plus" /></Button>
                 <Spin spinning={this.state.loading} className='spin-box'>
                     <Modal title="新专利申请" visible={this.state.visible}
                         onOk={this.handleOk} onCancel={this.handleCancel}

+ 31 - 49
js/component/account/services/patentDesc.jsx

@@ -1,6 +1,6 @@
 import React from 'react';
 import { Icon, Modal, message, Spin, Timeline, Button } from 'antd';
-import { getPatentType, getPatentState, getTime, getPatentField } from '../../tools.js';
+import { getPatentType, getPatentState, getTime, getPatentField, downloadFile } from '../../tools.js';
 import './patent.less';
 import ajax from 'jquery/src/ajax/xhr.js'
 import $ from 'jquery/src/ajax';
@@ -57,50 +57,28 @@ const PatentDesc = React.createClass({
             crossDomain: false,
             url: globalConfig.context + "/techservice/patent/clientPatentInfo",
             data: {
-                patentId: thepid
+                pid: thepid
             },
             success: function (data) {
                 let thisData = data.data;
-                if (data.error && data.error.length && !data.data) {
-                    return;
+                if (!thisData) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    }
+                    thisData = {};
                 };
                 this.setState({
-                    serialNumber: thisData.serialNumber,
-                    patentNumber: thisData.patentNumber,
-                    patentName: thisData.patentName,
-                    patentCatagory: thisData.patentCatagory,
-                    patentState: thisData.patentState,
-                    patentField: thisData.patentField,
-                    patentDes: thisData.patentDes,
-                    patentProryStatementUrl: thisData.patentProryStatementUrl,
-                    patentWritingUrl: thisData.patentWritingUrl,
-                    authorizationNoticeUrl: thisData.authorizationNoticeUrl,
-                    patentCertificateUrl: thisData.patentCertificateUrl,
-                    patentApplicationDate: thisData.patentApplicationDate,
-                    firstInventorName: thisData.firstInventorName,
-                    firstInventorNationality: thisData.firstInventorNationality,
-                    firstInventorIdNumber: thisData.firstInventorIdNumber,
-                    firstInventorIsPublish: thisData.firstInventorIsPublish,
-                    secondInventorName: thisData.secondInventorName,
-                    secondInventorNationality: thisData.secondInventorNationality,
-                    secondInventorIsPublish: thisData.secondInventorIsPublish,
-                    thirdInventorName: thisData.thirdInventorName,
-                    thirdInventorNationality: thisData.thirdInventorNationality,
-                    thirdInventorIsPublish: thisData.thirdInventorIsPublish,
-                    createTime: thisData.createTime,
-                    author: thisData.author,
-                    office: thisData.office,
-                    principal: thisData.principal,
+                    patentInfoData: thisData
                 });
             }.bind(this),
         });
     },
     componentWillReceiveProps(nextProps) {
-        this.state.visible = nextProps.showDesc
-        if (nextProps.data && nextProps.data.pid !== null) {
+        if (nextProps.data && nextProps.data.pid !== null && !this.state.visible && nextProps.showDesc) {
             this.getStepList(nextProps.data.pid);
             this.getPatentInfo(nextProps.data.pid);
-        }
+        };
+        this.state.visible = nextProps.showDesc;
     },
     handleCancel(e) {
         this.setState({
@@ -108,9 +86,6 @@ const PatentDesc = React.createClass({
         });
         this.props.closeDesc(false);
     },
-    downloadFile(url, type) {
-        window.open(globalConfig.context + "/techservice/patent/downloadFile?path=" + url + "&sign=" + type)
-    },
     confirmButton() {
         this.setState({
             loading: true
@@ -126,7 +101,10 @@ const PatentDesc = React.createClass({
         }).done(function (data) {
             if (data.error && data.error.length) {
                 message.warning(data.error[0].message);
-            }
+            } else {
+                message.success('已确认完成!');
+                this.state.patentInfoData.confirmState = 1;
+            };
         }.bind(this)).always(function () {
             this.setState({
                 loading: false
@@ -134,8 +112,8 @@ const PatentDesc = React.createClass({
         }.bind(this));
     },
     render() {
-        let theData = this.state;
-        if (this.props.data) {
+        let theData = this.state.patentInfoData;
+        if (theData) {
             return (
                 <div className="patent-desc">
                     <Spin spinning={this.state.loading} className='spin-box'>
@@ -159,28 +137,32 @@ const PatentDesc = React.createClass({
                             <div>
                                 <span>简介:</span>{theData.patentDes}
                             </div>
-                            <div>
+                            <div className="patent-download">
                                 <span>专利相关材料:</span>
                                 {theData.patentWritingUrl !== null && theData.patentWritingUrl !== undefined && theData.patentWritingUrl !== '' ?
                                     <p className="download-file">
-                                        <a href="" onClick={this.downloadFile.bind(this, theData.patentWritingUrl, "patent_writing")}>专利稿件</a>
-                                        {theData.confirmState == '0' ?
-                                            <Button onClick={this.confirmButton}>确认稿件</Button> : <span></span>
-                                        }
+                                        <a onClick={downloadFile.bind(this, theData.patentWritingUrl, theData.patentWritingDownloadFileName)}>{theData.patentWritingDownloadFileName}</a>
+                                        {theData.confirmState == 0 ? <Button onClick={this.confirmButton}>确认稿件</Button> : <span></span>}
                                     </p> :
-                                    <span>专利稿件未上传</span>
+                                    <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />专利稿件未上传</p>
                                 }
                                 {theData.authorizationNoticeUrl !== null && theData.authorizationNoticeUrl !== undefined && theData.authorizationNoticeUrl !== '' ?
                                     <p className="download-file">
-                                        <a href="" onClick={this.downloadFile.bind(this, theData.authorizationNoticeUrl, "authorization_notice")}>授权通知书</a>
+                                        <a onClick={downloadFile.bind(this, theData.authorizationNoticeUrl, theData.authorizationNoticeDownloadFileName)}>{theData.authorizationNoticeDownloadFileName}</a>
                                     </p> :
-                                    <span>授权通知书未上传</span>
+                                    <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />授权通知书未上传</p>
                                 }
                                 {theData.patentCertificateUrl !== null && theData.patentCertificateUrl !== undefined && theData.patentCertificateUrl !== '' ?
                                     <p className="download-file">
-                                        <a href="" onClick={this.downloadFile.bind(this, theData.patentCertificateUrl, "patent_certificate")}>专利证书</a>
+                                        <a onClick={downloadFile.bind(this, theData.patentCertificateUrl, theData.patentCertificateDownloadFileName)}>{theData.patentCertificateDownloadFileName}</a>
+                                    </p> :
+                                    <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />专利证书未上传</p>
+                                }
+                                {theData.patentProryStatementUrl !== null && theData.patentProryStatementUrl !== undefined && theData.patentProryStatementUrl !== '' ?
+                                    <p className="download-file">
+                                        <a onClick={downloadFile.bind(this, theData.patentProryStatementUrl, theData.patentProryStatementDownloadFileName)}>{theData.patentProryStatementDownloadFileName}</a>
                                     </p> :
-                                    <span>专利证书未上传</span>
+                                    <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />专利代理委托书未上传</p>
                                 }
                             </div>
                             <div>

+ 8 - 4
js/component/account/services/ratepay.jsx

@@ -194,7 +194,7 @@ const RatepayDescFrom = Form.create()(React.createClass({
                     <Upload
                         name="ratepay"
                         action={globalConfig.context + "/techservice/cognizance/upload"}
-                        data={{ 'sign': 'ratepay_' + ( this.state.year || theData.year ) }}
+                        data={{ 'sign': 'ratepay_' + (this.state.year || theData.year) }}
                         beforeUpload={beforeUploadFile}
                         showUploadList={false}
                         onChange={(info) => {
@@ -216,7 +216,7 @@ const RatepayDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传企业纳税申报表 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.taxReturnUrl ? <a onClick={downloadFile.bind(null, theData.taxReturnUrl, theData.taxReturnDownloadFileName)}>{theData.taxReturnDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.taxReturnUrl ? <a onClick={downloadFile.bind(null, theData.taxReturnUrl, theData.taxReturnDownloadFileName)}>{theData.taxReturnDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
@@ -295,8 +295,11 @@ const Ratepay = React.createClass({
                 pageSize: this.state.pagination.pageSize
             }
         }).done((data) => {
-            if (data.error.length || !data.data || !data.data.list) {
-                message.warning(data.error[0].message);
+            if (!data.data) {
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                    this.state.ButtonDisabled = true;
+                }
                 return;
             };
             for (let i = 0; i < data.data.list.length; i++) {
@@ -454,6 +457,7 @@ const Ratepay = React.createClass({
                 <div className="user-search">
                     <p>
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                            disabled={this.state.ButtonDisabled}
                             onClick={this.tableRowClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
                             disabled={!hasSelected}

+ 10 - 6
js/component/account/services/standard.jsx

@@ -36,9 +36,9 @@ const StandardDesc = React.createClass({
                         standardLevel: data.data.standardLevel,
                         participateWay: data.data.participateWay
                     });
-                } else if (data.error.length && data.error[0].message) {
+                } else if (data.error && data.error.length) {
                     message.warning(data.error[0].message);
-                }
+                };
             }.bind(this),
         }).done(function (data) {
             if (!data.error.length) {
@@ -50,7 +50,7 @@ const StandardDesc = React.createClass({
             } else {
                 message.warning(data.error[0].message);
             };
-            this.props.closeDesc(false,true);
+            this.props.closeDesc(false, true);
         }.bind(this));
     },
     handleCancel(e) {
@@ -131,10 +131,13 @@ const Standard = React.createClass({
                 participateWay: this.state.participateWay
             },
             success: function (data) {
-                if (data.error.length || !data.data || !data.data.list) {
-                    message.warning(data.error[0].message);
+                if (!data.data) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                        this.state.ButtonDisabled = true;
+                    }
                     return;
-                }
+                };
                 for (let i = 0; i < data.data.list.length; i++) {
                     let thisdata = data.data.list[i];
                     this.state.data.push({
@@ -315,6 +318,7 @@ const Standard = React.createClass({
                     <Button onClick={this.reset}>重置</Button>
                     <p>
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                            disabled={this.state.ButtonDisabled}
                             onClick={this.tableRowClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
                             disabled={!hasSelected}

+ 12 - 5
js/component/account/services/techProduct.jsx

@@ -252,7 +252,7 @@ const TechProductDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传高新技术产品台帐 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.accountUrl ? <a onClick={downloadFile.bind(null, theData.accountUrl, theData.accountDownloadFileName)}>{theData.accountDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.accountUrl ? <a onClick={downloadFile.bind(null, theData.accountUrl, theData.accountDownloadFileName)}>{theData.accountDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
@@ -345,12 +345,18 @@ const TechProduct = React.createClass({
         })).done((data1, data2) => {
             let data = data1[0];
             let intellectualList = data2[0];
-            if (data.error.length || !data.data || !data.data.list) {
-                message.warning(data.error[0].message);
+            if (!data.data || !data.data.list) {
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                    this.state.ButtonDisabled = true;
+                };
                 return;
             };
-            if (intellectualList.error.length || !intellectualList.data || !intellectualList.data.list) {
-                message.warning(intellectualList.error[0].message);
+            if (!intellectualList.data || !intellectualList.data.list) {
+                if (intellectualList.error && intellectualList.error.length) {
+                    message.warning(intellectualList.error[0].message);
+                    this.state.ButtonDisabled = true;
+                };
                 return;
             };
             let theArr = [];
@@ -533,6 +539,7 @@ const TechProduct = React.createClass({
                 <div className="user-search">
                     <p>
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
+                            disabled={this.state.ButtonDisabled}
                             onClick={this.tableRowClick}>添加<Icon type="plus" /></Button>
                         <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
                             disabled={!hasSelected}

+ 2 - 2
js/component/account/set/base.jsx

@@ -282,7 +282,7 @@ export default Base;
 //         <p>{
 //             this.state.oppositeIdUrl !== "" && this.state.oppositeIdUrl !== undefined && this.state.oppositeIdUrl !== null ?
 //                 <span><Icon style={{ 'color': '#79b5ff', 'fontSize': '14px', 'margin': '0 6px' }} type="check-circle" />已上传</span> :
-//                 <span><Icon style={{ 'color': '#fa0', 'fontSize': '14px', 'margin': '0 6px' }} type="exclamation-circle" />未上传</span>
+//                 <span><Icon style={{ 'color': '#fa0', 'fontSize': '14px', 'margin': '0 6px' }} type="exclamation-circle" /><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</span>
 //         }
 //         </p>
 //     </FormItem>
@@ -296,7 +296,7 @@ export default Base;
 //         <p>{
 //             this.state.positiveIdUrl !== "" && this.state.positiveIdUrl !== undefined && this.state.positiveIdUrl !== null ?
 //                 <span><Icon style={{ 'color': '#79b5ff', 'fontSize': '14px', 'margin': '0 6px' }} type="check-circle" />已上传</span> :
-//                 <span><Icon style={{ 'color': '#fa0', 'fontSize': '14px', 'margin': '0 6px' }} type="exclamation-circle" />未上传</span>
+//                 <span><Icon style={{ 'color': '#fa0', 'fontSize': '14px', 'margin': '0 6px' }} type="exclamation-circle" /><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</span>
 //         }
 //         </p>
 //     </FormItem>

+ 11 - 3
js/component/account/set/company.jsx

@@ -30,7 +30,8 @@ class Avatar extends React.Component {
     constructor(props) {
         super(props);
         this.state = {
-            imageUrl: ''
+            imageUrl: '',
+            propsbool: true,
         }
     }
     handleChange(info) {
@@ -40,6 +41,12 @@ class Avatar extends React.Component {
             this.props.urlData(info.file.response.data);
         }
     }
+    componentWillReceiveProps(nextProps) {
+        if (nextProps.logoUrl && this.state.propsbool) {
+            this.state.imageUrl = globalConfig.avatarHost + "/upload" + nextProps.logoUrl;
+            this.state.propsbool = false;
+        }
+    }
     render() {
         const imageUrl = this.state.imageUrl;
         return (
@@ -132,13 +139,14 @@ const PersonFrom = Form.create()(React.createClass({
                 if (data.data && data.data.info && data.data.pro) {
                     addressInit('cmbProvince', 'cmbCity', 'cmbArea',
                         data.data.info.locationProvince, data.data.info.locationCity, data.data.info.locationArea);
-                    let theArr = splitUrl(data.data.info.publicityPictureUrl, ',', globalConfig.staticHost + '/upload');
+                    let theArr = splitUrl(data.data.info.publicityPictureUrl, ',', globalConfig.avatarHost + '/upload');
                     this.setState({
                         idttType: data.data.info.identityType,
                         unitName: data.data.info.companyName,
                         unitNumber: data.data.info.unitSize,
                         unitIntro: data.data.info.companyIntroduction,
                         unitFrom: data.data.info.homeUnit,
+                        logoUrl: data.data.info.logoUrl,
                         publicityPictureUrl: data.data.info.publicityPictureUrl,
                         companyLifePicList: theArr,
                         qiyezizhi: data.data.pro.qualification,
@@ -532,7 +540,7 @@ const PersonFrom = Form.create()(React.createClass({
                     wrapperCol={{ span: 20 }}
                 >
                     {getFieldDecorator('avatar')(
-                        <Avatar name="companyLogo" urlData={this.companyLogoUrl} />
+                        <Avatar name="companyLogo" urlData={this.companyLogoUrl} logoUrl={this.state.logoUrl} />
                     )}
                 </FormItem>
                 <div className="set-explain">

+ 33 - 33
js/component/account/set/hrSituation.jsx

@@ -140,7 +140,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="企业职工"
                     >
                         {getFieldDecorator('firmTotal', {
-                            initialValue: this.props.data.firmTotal || null
+                            initialValue: this.props.data.firmTotal || 0
                         })(
                             <InputNumber />
                             )}
@@ -150,7 +150,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="科技人员"
                     >
                         {getFieldDecorator('techTotal', {
-                            initialValue: this.props.data.techTotal || null
+                            initialValue: this.props.data.techTotal || 0
                         })(
                             <InputNumber />
                             )}
@@ -171,7 +171,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="企业职工"
                     >
                         {getFieldDecorator('firmInService', {
-                            initialValue: this.props.data.firmInService || null
+                            initialValue: this.props.data.firmInService || 0
                         })(
                             <InputNumber />
                             )}
@@ -181,7 +181,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="科技人员"
                     >
                         {getFieldDecorator('techInService', {
-                            initialValue: this.props.data.techInService || null
+                            initialValue: this.props.data.techInService || 0
                         })(
                             <InputNumber />
                             )}
@@ -192,7 +192,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="企业职工"
                     >
                         {getFieldDecorator('firmPartTime', {
-                            initialValue: this.props.data.firmPartTime || null
+                            initialValue: this.props.data.firmPartTime || 0
                         })(
                             <InputNumber />
                             )}
@@ -202,7 +202,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="科技人员"
                     >
                         {getFieldDecorator('techPartTime', {
-                            initialValue: this.props.data.techPartTime || null
+                            initialValue: this.props.data.techPartTime || 0
                         })(
                             <InputNumber />
                             )}
@@ -213,7 +213,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="企业职工"
                     >
                         {getFieldDecorator('firmTemporary', {
-                            initialValue: this.props.data.firmTemporary || null
+                            initialValue: this.props.data.firmTemporary || 0
                         })(
                             <InputNumber />
                             )}
@@ -223,7 +223,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="科技人员"
                     >
                         {getFieldDecorator('techTemporary', {
-                            initialValue: this.props.data.techTemporary || null
+                            initialValue: this.props.data.techTemporary || 0
                         })(
                             <InputNumber />
                             )}
@@ -234,7 +234,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="企业职工"
                     >
                         {getFieldDecorator('firmForeign', {
-                            initialValue: this.props.data.firmForeign || null
+                            initialValue: this.props.data.firmForeign || 0
                         })(
                             <InputNumber />
                             )}
@@ -244,7 +244,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="科技人员"
                     >
                         {getFieldDecorator('techForeign', {
-                            initialValue: this.props.data.techForeign || null
+                            initialValue: this.props.data.techForeign || 0
                         })(
                             <InputNumber />
                             )}
@@ -255,7 +255,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="企业职工"
                     >
                         {getFieldDecorator('firmAbroad', {
-                            initialValue: this.props.data.firmAbroad || null
+                            initialValue: this.props.data.firmAbroad || 0
                         })(
                             <InputNumber />
                             )}
@@ -265,7 +265,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="科技人员"
                     >
                         {getFieldDecorator('techAbroad', {
-                            initialValue: this.props.data.techAbroad || null
+                            initialValue: this.props.data.techAbroad || 0
                         })(
                             <InputNumber />
                             )}
@@ -276,7 +276,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="企业职工"
                     >
                         {getFieldDecorator('firmCore', {
-                            initialValue: this.props.data.firmCore || null
+                            initialValue: this.props.data.firmCore || 0
                         })(
                             <InputNumber />
                             )}
@@ -286,7 +286,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="科技人员"
                     >
                         {getFieldDecorator('techCore', {
-                            initialValue: this.props.data.techCore || null
+                            initialValue: this.props.data.techCore || 0
                         })(
                             <InputNumber />
                             )}
@@ -300,7 +300,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="博士"
                     >
                         {getFieldDecorator('doctor', {
-                            initialValue: this.props.data.doctor || null
+                            initialValue: this.props.data.doctor || 0
                         })(
                             <InputNumber />
                             )}
@@ -310,7 +310,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="硕士"
                     >
                         {getFieldDecorator('master', {
-                            initialValue: this.props.data.master || null
+                            initialValue: this.props.data.master || 0
                         })(
                             <InputNumber />
                             )}
@@ -320,7 +320,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="本科"
                     >
                         {getFieldDecorator('undergraduate', {
-                            initialValue: this.props.data.undergraduate || null
+                            initialValue: this.props.data.undergraduate || 0
                         })(
                             <InputNumber />
                             )}
@@ -330,7 +330,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="大专及以下"
                     >
                         {getFieldDecorator('college', {
-                            initialValue: this.props.data.college || null
+                            initialValue: this.props.data.college || 0
                         })(
                             <InputNumber />
                             )}
@@ -343,7 +343,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="高级职称"
                     >
                         {getFieldDecorator('seniorTitle', {
-                            initialValue: this.props.data.seniorTitle || null
+                            initialValue: this.props.data.seniorTitle || 0
                         })(
                             <InputNumber />
                             )}
@@ -353,7 +353,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="中级职称"
                     >
                         {getFieldDecorator('intermediateTitle', {
-                            initialValue: this.props.data.intermediateTitle || null
+                            initialValue: this.props.data.intermediateTitle || 0
                         })(
                             <InputNumber />
                             )}
@@ -363,7 +363,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="初级职称"
                     >
                         {getFieldDecorator('juniorTitle', {
-                            initialValue: this.props.data.juniorTitle || null
+                            initialValue: this.props.data.juniorTitle || 0
                         })(
                             <InputNumber />
                             )}
@@ -373,7 +373,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="高级技工"
                     >
                         {getFieldDecorator('seniorMechanic', {
-                            initialValue: this.props.data.seniorMechanic || null
+                            initialValue: this.props.data.seniorMechanic || 0
                         })(
                             <InputNumber />
                             )}
@@ -386,7 +386,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="30及以下"
                     >
                         {getFieldDecorator('belowThirty', {
-                            initialValue: this.props.data.belowThirty || null
+                            initialValue: this.props.data.belowThirty || 0
                         })(
                             <InputNumber />
                             )}
@@ -396,7 +396,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="31-34"
                     >
                         {getFieldDecorator('thirtyoneToThirtyfour', {
-                            initialValue: this.props.data.thirtyoneToThirtyfour || null
+                            initialValue: this.props.data.thirtyoneToThirtyfour || 0
                         })(
                             <InputNumber />
                             )}
@@ -406,7 +406,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="41-50"
                     >
                         {getFieldDecorator('fortyoneToFifty', {
-                            initialValue: this.props.data.fortyoneToFifty || null
+                            initialValue: this.props.data.fortyoneToFifty || 0
                         })(
                             <InputNumber />
                             )}
@@ -416,7 +416,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="50以上"
                     >
                         {getFieldDecorator('aboveFifty', {
-                            initialValue: this.props.data.aboveFifty || null
+                            initialValue: this.props.data.aboveFifty || 0
                         })(
                             <InputNumber />
                             )}
@@ -430,7 +430,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="新增就业人数"
                     >
                         {getFieldDecorator('newEmployment', {
-                            initialValue: this.props.data.newEmployment || null
+                            initialValue: this.props.data.newEmployment || 0
                         })(
                             <InputNumber />
                             )}
@@ -441,7 +441,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                         label="高校应届毕业生人数"
                     >
                         {getFieldDecorator('graduateNumber', {
-                            initialValue: this.props.data.graduateNumber || null
+                            initialValue: this.props.data.graduateNumber || 0
                         })(
                             <InputNumber />
                             )}
@@ -451,7 +451,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                     <Upload
                         name="ratepay"
                         action={globalConfig.context + "/techservice/cognizance/upload"}
-                        data={{ 'sign': 'roster_' + ( this.state.year || theData.year ) }}
+                        data={{ 'sign': 'roster_' + (this.state.year || theData.year) }}
                         beforeUpload={beforeUploadFile}
                         showUploadList={false}
                         onChange={(info) => {
@@ -473,13 +473,13 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传花名册 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.rosterUrl ? <a onClick={downloadFile.bind(null, theData.rosterUrl, theData.rosterDownloadFileName)}>{theData.rosterDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.rosterUrl ? <a onClick={downloadFile.bind(null, theData.rosterUrl, theData.rosterDownloadFileName)}>{theData.rosterDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <div className="hrSituation-roster">
                     <Upload
                         name="ratepay"
                         action={globalConfig.context + "/techservice/cognizance/upload"}
-                        data={{ 'sign': 'social_security_' + ( this.state.year || theData.year ) }}
+                        data={{ 'sign': 'social_security_' + (this.state.year || theData.year) }}
                         beforeUpload={beforeUploadFile}
                         showUploadList={false}
                         onChange={(info) => {
@@ -501,7 +501,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传社保情况 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.socialSecurityUrl ? <a onClick={downloadFile.bind(null, theData.socialSecurityUrl, theData.socialSecurityDownloadFileName)}>{theData.socialSecurityDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.socialSecurityUrl ? <a onClick={downloadFile.bind(null, theData.socialSecurityUrl, theData.socialSecurityDownloadFileName)}>{theData.socialSecurityDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <div>
                     <span style={{ color: "red" }}>提示</span>
@@ -694,7 +694,7 @@ const HrSituation = React.createClass({
                     key: 'attachment',
                     render: (text) => {
                         return <div>
-                            <a style={{marginRight:'10px'}} onClick={downloadFile.bind(null, text[0], text[1])}> {text[1]} </a>
+                            <a style={{ marginRight: '10px' }} onClick={downloadFile.bind(null, text[0], text[1])}> {text[1]} </a>
                             <a onClick={downloadFile.bind(null, text[2], text[3])}> {text[3]} </a>
                         </div>
                     }

+ 3 - 0
js/component/dataDic.js

@@ -4202,6 +4202,9 @@ module.exports = {
         },{
             value: "7",
             key: "培育中"
+        },{
+            value: "8",
+            key: "撤销"
         }
     ]
 };

+ 31 - 31
js/component/groupCertify/personal.jsx

@@ -45,30 +45,6 @@ class Avatar extends React.Component {
         );
     }
 };
-class UploadFile extends React.Component {
-    constructor(props) {
-        super(props);
-    }
-
-    handleChange(info) {
-        if (info.file.status === 'done') {
-            this.props.urlData(info.file.response.data);
-        }
-    }
-    render() {
-        return (
-            <Upload
-                name={this.props.name}
-                action={globalConfig.context + "/api/user/identity/upload"}
-                data={{ 'sign': this.props.name }}
-                beforeUpload={beforeUploadFile}
-                onChange={this.handleChange.bind(this)}
-            >
-                <Button><Icon type="upload" />上传</Button>
-            </Upload>
-        );
-    }
-};
 
 const Content = Form.create()(React.createClass({
     getData() {
@@ -100,7 +76,7 @@ const Content = Form.create()(React.createClass({
                         listedDate: data.data.listedDateFormattedDate,
                         listedType: data.data.listedType,
                         stockCode: data.data.stockCode,
-                        auditStatus:data.data.auditStatus
+                        auditStatus: data.data.auditStatus
                     });
                 };
             }.bind(this),
@@ -147,8 +123,8 @@ const Content = Form.create()(React.createClass({
                 this.setState({
                     loading: true
                 });
-                if ( values.listed == 1 ) {
-                    if ( !values.listedDate || !values.listedType || !values.stockCode ) {
+                if (values.listed == 1) {
+                    if (!values.listedDate || !values.listedType || !values.stockCode) {
                         message.warning("请输入上市资料!");
                         return;
                     };
@@ -179,7 +155,7 @@ const Content = Form.create()(React.createClass({
                         listedDateFormattedDate: values.listedDate.format("YYYY-MM-DD"),
                         listedType: values.listedType,
                         stockCode: values.stockCode,
-                        auditStatus:this.state.auditStatus,
+                        auditStatus: this.state.auditStatus,
                         process: 1
                     }
                 }).done(function (data) {
@@ -447,9 +423,33 @@ const Content = Form.create()(React.createClass({
                         wrapperCol={{ span: 18 }}
                         label="上年度纳税报表"
                     >
-                        {getFieldDecorator('lastYearTaxReportUrl')(
-                            <UploadFile name="lastYearTaxReportUrl" urlData={this.getLastYearTaxReportUrl} />
-                        )}
+                        <div className="hrSituation-roster">
+                            <Upload
+                                name="ratepay"
+                                action={globalConfig.context + "/techservice/cognizance/upload"}
+                                data={{ 'sign': 'ratepay_' + (new Date().getFullYear() - 1) }}
+                                beforeUpload={beforeUploadFile}
+                                showUploadList={false}
+                                onChange={(info) => {
+                                    if (info.file.status !== 'uploading') {
+                                        console.log(info.file, info.fileList);
+                                    }
+                                    if (info.file.status === 'done') {
+                                        if (!info.file.response.error.length) {
+                                            message.success(`${info.file.name} 文件上传成功!`);
+                                        } else {
+                                            message.warning(info.file.response.error[0].message);
+                                            return;
+                                        };
+                                        this.state.lastYearTaxReportUrl = info.file.response.data;
+                                    } else if (info.file.status === 'error') {
+                                        message.error(`${info.file.name} 文件上传失败。`);
+                                    }
+                                }}
+                            >
+                                <Button><Icon type="upload" /> 上传上年度纳税申报表 </Button>
+                            </Upload>
+                        </div>
                     </FormItem>
                     <FormItem
                         {...formItemLayout}

+ 1 - 1
js/component/manageCenter/servicesManage/highTech/fosterDesc/achievement.jsx

@@ -184,7 +184,7 @@ const AchievementDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传科技成果附件 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.enclosureUrl ? <a onClick={downloadFile.bind(null, theData.enclosureUrl, theData.enclosureDownloadFileName)}>{theData.enclosureDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.enclosureUrl ? <a onClick={downloadFile.bind(null, theData.enclosureUrl, theData.enclosureDownloadFileName)}>{theData.enclosureDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>

+ 1 - 1
js/component/manageCenter/servicesManage/highTech/fosterDesc/activity.jsx

@@ -296,7 +296,7 @@ const ActivityDesc = React.createClass({
                             >
                                 <Button><Icon type="upload" /> 上传立项证明材料 </Button>
                             </Upload>
-                            <p>{this.state.proofUrl ? <a onClick={downloadFile.bind(null, this.state.proofUrl, this.state.proofDownloadFileName)}>{this.state.proofDownloadFileName}</a> : <span>未上传!</span>}</p>
+                            <p>{this.state.proofUrl ? <a onClick={downloadFile.bind(null, this.state.proofUrl, this.state.proofDownloadFileName)}>{this.state.proofDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                         </div>
                     </Modal>
                 </div>

+ 1 - 1
js/component/manageCenter/servicesManage/highTech/fosterDesc/activityCostList.jsx

@@ -291,7 +291,7 @@ const ActivityDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传研发费用台账 </Button>
                     </Upload>
-                    <p style={{ marginTop: '20px' }}>{theData.accountUrl ? <a onClick={downloadFile.bind(null, theData.accountUrl, theData.accountDownloadFileName)}>{theData.accountDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '20px' }}>{theData.accountUrl ? <a onClick={downloadFile.bind(null, theData.accountUrl, theData.accountDownloadFileName)}>{theData.accountDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>

+ 2 - 2
js/component/manageCenter/servicesManage/highTech/fosterDesc/finance.jsx

@@ -239,9 +239,9 @@ const FinanceDescFrom = Form.create()(React.createClass({
                             }
                         }}
                     >
-                        <Button><Icon type="upload" /> 上传高新技术产品台帐 </Button>
+                        <Button><Icon type="upload" /> 上传财务报表 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.financeUrl ? <a onClick={downloadFile.bind(null, theData.financeUrl, theData.financeDownloadFileName)}>{theData.financeDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.financeUrl ? <a onClick={downloadFile.bind(null, theData.financeUrl, theData.financeDownloadFileName)}>{theData.financeDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>

+ 1 - 1
js/component/manageCenter/servicesManage/highTech/fosterDesc/honorList.jsx

@@ -121,7 +121,7 @@ const HonorListDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传科技成果附件 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.enclosureUrl ? <a onClick={downloadFile.bind(null, theData.enclosureUrl, theData.enclosureDownloadFileName)}>{theData.enclosureDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.enclosureUrl ? <a onClick={downloadFile.bind(null, theData.enclosureUrl, theData.enclosureDownloadFileName)}>{theData.enclosureDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>

+ 5 - 5
js/component/manageCenter/servicesManage/highTech/fosterDesc/hrSituation.jsx

@@ -1,6 +1,6 @@
 import React from 'react';
 import { Input, InputNumber, Button, Form, Icon, Spin, message, Table, Modal, Upload } from 'antd';
-import { beforeUpload } from '../../../../tools.js';
+import { beforeUploadFile, downloadFile } from '../../../../tools.js';
 import './hrSituation.less'
 import ajax from 'jquery/src/ajax/xhr.js'
 import $ from 'jquery/src/ajax';
@@ -442,7 +442,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                     <Upload
                         name="ratepay"
                         action={globalConfig.context + "/techservice/cognizance/upload"}
-                        data={{ 'sign': 'roster_' + ( this.state.year || theData.year ) }}
+                        data={{ 'sign': 'roster_' + (this.state.year || theData.year) }}
                         beforeUpload={beforeUploadFile}
                         showUploadList={false}
                         onChange={(info) => {
@@ -464,13 +464,13 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传花名册 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.rosterUrl ? <a onClick={downloadFile.bind(null, theData.rosterUrl, theData.rosterDownloadFileName)}>{theData.rosterDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.rosterUrl ? <a onClick={downloadFile.bind(null, theData.rosterUrl, theData.rosterDownloadFileName)}>{theData.rosterDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <div className="hrSituation-roster">
                     <Upload
                         name="ratepay"
                         action={globalConfig.context + "/techservice/cognizance/upload"}
-                        data={{ 'sign': 'social_security_' + ( this.state.year || theData.year ) }}
+                        data={{ 'sign': 'social_security_' + (this.state.year || theData.year) }}
                         beforeUpload={beforeUploadFile}
                         showUploadList={false}
                         onChange={(info) => {
@@ -492,7 +492,7 @@ const HrSituationDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传社保情况 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.socialSecurityUrl ? <a onClick={downloadFile.bind(null, theData.socialSecurityUrl, theData.socialSecurityDownloadFileName)}>{theData.socialSecurityDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.socialSecurityUrl ? <a onClick={downloadFile.bind(null, theData.socialSecurityUrl, theData.socialSecurityDownloadFileName)}>{theData.socialSecurityDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <div>
                     <span style={{ color: "red" }}>提示</span>

+ 1 - 1
js/component/manageCenter/servicesManage/highTech/fosterDesc/intellectualDesc.jsx

@@ -195,7 +195,7 @@ const IntellectualDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传知识产权证书 </Button>
                     </Upload>
-                    <p style={{ margin: '10px 0' }}>{theData.propertyRightUrl ? <a onClick={downloadFile.bind(null, theData.propertyRightUrl, theData.propertyRightDownloadFileName)}>{theData.propertyRightDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ margin: '10px 0' }}>{theData.propertyRightUrl ? <a onClick={downloadFile.bind(null, theData.propertyRightUrl, theData.propertyRightDownloadFileName)}>{theData.propertyRightDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>

+ 25 - 18
js/component/manageCenter/servicesManage/highTech/fosterDesc/orgTechCenter.jsx

@@ -128,7 +128,7 @@ const CenterListDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传研发费用台账 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.protocolUrl ? <a onClick={downloadFile.bind(null, theData.protocolUrl, theData.protocolDownloadFileName)}>{theData.protocolDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.protocolUrl ? <a onClick={downloadFile.bind(null, theData.protocolUrl, theData.protocolDownloadFileName)}>{theData.protocolDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
@@ -158,7 +158,7 @@ const CenterListDesc = React.createClass({
         this.setState({
             visible: false,
         });
-        this.props.closeDesc(false,true);
+        this.props.closeDesc(false, true);
     },
     handleCancel(e) {
         this.setState({
@@ -181,7 +181,7 @@ const CenterListDesc = React.createClass({
                         footer=''
                     >
                         <CenterListDescFrom data={this.props.data}
-                            spinState={this.spinChange} closeModal={this.handleCancel}  clickOk={this.handleOk} />
+                            spinState={this.spinChange} closeModal={this.handleCancel} clickOk={this.handleOk} />
                     </Modal>
                 </Spin>
             </div>
@@ -203,20 +203,21 @@ const CenterList = React.createClass({
                 uid: this.props.data.uid
             }
         }).done((data) => {
-            if (!data.data) {
+            let theData = data.data;
+            if (!theData) {
                 if (data.error.length) {
                     message.warning(data.error[0].message);
                 };
-                return;
+                theData = {};
             };
-            this.state.cid = data.data.id;
-            this.state.foundingTime = data.data.foundingTime;
-            this.state.principal = data.data.principal;
-            this.state.systemCatalog = data.data.systemCatalog;
-            this.state.systemUrl = data.data.systemUrl;
-            this.state.systemDownloadFileName = data.data.systemDownloadFileName;
-            this.state.centerName = data.data.centerName;
-            this.state.comment = data.data.comment;
+            this.state.cid = theData.id;
+            this.state.foundingTime = theData.foundingTime;
+            this.state.principal = theData.principal;
+            this.state.systemCatalog = theData.systemCatalog;
+            this.state.systemUrl = theData.systemUrl;
+            this.state.systemDownloadFileName = theData.systemDownloadFileName;
+            this.state.centerName = theData.centerName;
+            this.state.comment = theData.comment;
             this.loadData();
         }).always(function () {
             this.setState({
@@ -241,7 +242,7 @@ const CenterList = React.createClass({
             }
         }).done((data) => {
             if (!data.data || !data.data.list) {
-                if(data.error.length) {
+                if (data.error.length) {
                     message.warning(data.error[0].message);
                 }
                 return;
@@ -322,6 +323,11 @@ const CenterList = React.createClass({
     componentWillMount() {
         this.loadOrgTechCenterDetail();
     },
+    componentWillReceiveProps(nextProps) {
+        debugger
+        this.props.data.uid;
+        nextProps.data.uid;
+    },
     tableRowClick(record, index) {
         this.state.RowData = record;
         this.setState({
@@ -388,12 +394,12 @@ const CenterList = React.createClass({
             if (!data.error.length) {
                 message.success('保存成功!');
                 this.loadOrgTechCenterDetail();
-                this.setState({
-                    loading: false,
-                });
             } else {
                 message.warning(data.error[0].message);
             };
+            this.setState({
+                loading: false,
+            });
         });
     },
     render() {
@@ -421,6 +427,7 @@ const CenterList = React.createClass({
                         />
                         <span>成立时间: </span>
                         <DatePicker
+                            allowClear={false}
                             value={moment(this.state.foundingTime)}
                             onChange={(date, dateString) => { this.setState({ foundingTime: dateString }); }}
                         />
@@ -473,7 +480,7 @@ const CenterList = React.createClass({
                         >
                             <Button><Icon type="upload" /> 上传研发费用台账 </Button>
                         </Upload>
-                        <p style={{ marginTop: '10px' }}>{this.state.systemUrl ? <a onClick={downloadFile.bind(null, this.state.systemUrl, this.state.systemDownloadFileName)}>{this.state.systemDownloadFileName}</a> : <span>未上传!</span>}</p>
+                        <p style={{ marginTop: '10px' }}>{this.state.systemUrl ? <a onClick={downloadFile.bind(null, this.state.systemUrl, this.state.systemDownloadFileName)}>{this.state.systemDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                     </div>
                 </div>
                 <Button type='primary' onClick={this.saveCenterDetail} style={{ marginBottom: '10px' }}>保存</Button>

+ 3 - 3
js/component/manageCenter/servicesManage/highTech/fosterDesc/ratepay.jsx

@@ -1,7 +1,7 @@
 import React from 'react';
 import { Icon, Form, Button, Input, Spin, Table, message, Select, Modal, InputNumber, Upload } from 'antd';
 import './techProduct.less';
-import { beforeUpload } from '../../../../tools.js';
+import { beforeUploadFile, downloadFile } from '../../../../tools.js';
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 
@@ -195,7 +195,7 @@ const RatepayDescFrom = Form.create()(React.createClass({
                     <Upload
                         name="ratepay"
                         action={globalConfig.context + "/techservice/cognizance/upload"}
-                        data={{ 'sign': 'ratepay_' + ( this.state.year || theData.year ) }}
+                        data={{ 'sign': 'ratepay_' + (this.state.year || theData.year) }}
                         beforeUpload={beforeUploadFile}
                         showUploadList={false}
                         onChange={(info) => {
@@ -217,7 +217,7 @@ const RatepayDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传企业纳税申报表 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.taxReturnUrl ? <a onClick={downloadFile.bind(null, theData.taxReturnUrl, theData.taxReturnDownloadFileName)}>{theData.taxReturnDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.taxReturnUrl ? <a onClick={downloadFile.bind(null, theData.taxReturnUrl, theData.taxReturnDownloadFileName)}>{theData.taxReturnDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>

+ 1 - 1
js/component/manageCenter/servicesManage/highTech/fosterDesc/techProduct.jsx

@@ -252,7 +252,7 @@ const TechProductDescFrom = Form.create()(React.createClass({
                     >
                         <Button><Icon type="upload" /> 上传高新技术产品台帐 </Button>
                     </Upload>
-                    <p style={{ marginTop: '10px' }}>{theData.accountUrl ? <a onClick={downloadFile.bind(null, theData.accountUrl, theData.accountDownloadFileName)}>{theData.accountDownloadFileName}</a> : <span>未上传!</span>}</p>
+                    <p style={{ marginTop: '10px' }}>{theData.accountUrl ? <a onClick={downloadFile.bind(null, theData.accountUrl, theData.accountDownloadFileName)}>{theData.accountDownloadFileName}</a> : <span><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传!</span>}</p>
                 </div>
                 <FormItem style={{ marginTop: '20px' }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>

+ 15 - 3
js/component/manageCenter/servicesManage/highTech/highTechFoster.jsx

@@ -38,7 +38,11 @@ const Patent = React.createClass({
                         serialNumber: thisdata.serialNumber,
                         locationProvince: thisdata.locationProvince,
                         unitName: thisdata.unitName,
-                        contacts: thisdata.contacts,
+                        contacts: [thisdata.contacts, {
+                            '1': thisdata.firstContacts,
+                            '2': thisdata.secondContacts,
+                            '3': thisdata.thirdContacts
+                        }],
                         createTime: thisdata.createTime,
                         comment: thisdata.comment,
                         state: thisdata.state,
@@ -146,9 +150,16 @@ const Patent = React.createClass({
                     dataIndex: 'unitName',
                     key: 'unitName',
                 }, {
-                    title: '联系方式',
+                    title: '联系',
                     dataIndex: 'contacts',
                     key: 'contacts',
+                    render: (text) => {
+                        for (let item in text[1]) {
+                            if (text[0] == item) {
+                                return text[1][item];
+                            };
+                        };
+                    }
                 }, {
                     title: '状态',
                     dataIndex: 'state',
@@ -244,7 +255,8 @@ const Patent = React.createClass({
                         </Spin>
                     </div>
                 </div >
-                <FosterDesc style={this.state.fosterDescDisplay}
+                <FosterDesc
+                    style={this.state.fosterDescDisplay}
                     data={this.state.RowData}
                     returnBtn={this.returnBtn} />
             </div>

+ 20 - 21
js/component/manageCenter/servicesManage/patent/comPatentDesc.jsx

@@ -4,7 +4,7 @@ import './comprehensive.less';
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import { patentTypeList, patentFieldList, patentStateList } from '../../../dataDic.js';
-import { getBase64, beforeUpload, getPatentState, getTime } from '../../../tools.js';
+import { getBase64, beforeUpload, getPatentState, getTime, downloadFile } from '../../../tools.js';
 
 class Avatar extends React.Component {
     constructor(props) {
@@ -31,7 +31,7 @@ class Avatar extends React.Component {
     }
     render() {
         return (
-            <Upload
+            <Upload className="upload-file"
                 name="avatar"
                 showUploadList={false}
                 action={globalConfig.context + "/techservice/patent/patentFile"}
@@ -39,7 +39,7 @@ class Avatar extends React.Component {
                 beforeUpload={beforeUpload}
                 onChange={this.handleChange.bind(this)}
             >
-                <Button><Icon type="upload" /> 上传 </Button>
+                <Button><Icon type="upload" /> 点击上传 </Button>
             </Upload>
         );
     }
@@ -126,9 +126,6 @@ const PatentDesc = React.createClass({
             )
         });
     },
-    downloadFile(url, type) {
-        window.open(globalConfig.context + "/techservice/patent/downloadFile?path=" + url + "&sign=" + type)
-    },
     showModal() {
         this.setState({
             visible: true,
@@ -153,6 +150,7 @@ const PatentDesc = React.createClass({
                 "patentWritingUrl": this.state.patentWritingUrl,
                 "authorizationNoticeUrl": this.state.authorizationNoticeUrl,
                 "patentCertificateUrl": this.state.patentCertificateUrl,
+                "pState": this.props.data.patentState,
                 "state": this.state.patentStateAdd,
                 "recordTimeFormattedDate": this.state.recordTime,
                 "principal": this.state.adminName
@@ -181,15 +179,16 @@ const PatentDesc = React.createClass({
             this.handleOk()
         };
     },
+    componentWillMount() {
+        this.getOption();
+    },
     componentWillReceiveProps(nextProps) {
-        let _me = this;
         this.state.patentStateAdd = '';
         this.state.adminName = '';
         this.state.recordTime = '';
         this.state.adminOption = [];
         this.state.patentProcessList = [];
-        this.state.visible = nextProps.showDesc;
-        if (nextProps.data) {
+        if (nextProps.data && !this.state.visible && nextProps.showDesc) {
             this.state.xid = nextProps.data.pid;
             this.state.patentDes = nextProps.data.patentDes;
             this.state.patentName = nextProps.data.patentName;
@@ -198,8 +197,8 @@ const PatentDesc = React.createClass({
             this.state.patentState = String(nextProps.data.patentState);
             this.state.patentField = String(nextProps.data.patentField);
             this.loadData();
-            this.getOption();
-        }
+        };
+        this.state.visible = nextProps.showDesc;
     },
     handleCancel(e) {
         this.setState({
@@ -283,36 +282,36 @@ const PatentDesc = React.createClass({
                                 <div>材料管理:
                                     {theData.patentWritingUrl !== null && theData.patentWritingUrl !== undefined && theData.patentWritingUrl !== '' ?
                                     <p className="download-file">
-                                        <a href="" onClick={this.downloadFile.bind(this, theData.patentWritingUrl, "patent_writing")}>专利稿件</a>
+                                        <a onClick={downloadFile.bind(null, theData.patentWritingUrl, theData.patentWritingDownloadFileName)}>{theData.patentWritingDownloadFileName}</a>
                                         {theData.confirmState == '0' ?
                                             <Button onClick={this.confirmButton}>确认稿件</Button> : <span></span>
                                         }
                                     </p> :
-                                    <span></span>
+                                    <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />专利稿件未上传</p>
                                     }
                                     {theData.authorizationNoticeUrl !== null && theData.authorizationNoticeUrl !== undefined && theData.authorizationNoticeUrl !== '' ?
                                         <p className="download-file">
-                                            <a href="" onClick={this.downloadFile.bind(this, theData.authorizationNoticeUrl, "authorization_notice")}>授权通知书</a>
+                                            <a onClick={downloadFile.bind(null, theData.authorizationNoticeUrl, theData.authorizationNoticeDownloadFileName)}>{theData.authorizationNoticeDownloadFileName}</a>
                                         </p> :
-                                        <span></span>
+                                        <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />授权通知书未上传</p>
                                     }
                                     {theData.patentCertificateUrl !== null && theData.patentCertificateUrl !== undefined && theData.patentCertificateUrl !== '' ?
                                         <p className="download-file">
-                                            <a href="" onClick={this.downloadFile.bind(this, theData.patentCertificateUrl, "patent_certificate")}>专利证书</a>
+                                            <a onClick={downloadFile.bind(null, theData.patentCertificateUrl, theData.patentCertificateDownloadFileName)}>{theData.patentCertificateDownloadFileName}</a>
                                         </p> :
-                                        <span></span>
+                                        <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />专利证书未上传</p>
                                     }
                                     {theData.patentProryStatementUrl !== null && theData.patentProryStatementUrl !== undefined && theData.patentProryStatementUrl !== '' ?
                                         <p className="download-file">
-                                            <a href="" onClick={this.downloadFile.bind(this, theData.patentProryStatementUrl, "patent_prory_statement")}>专利代理委托书</a>
+                                            <a onClick={downloadFile.bind(null, theData.patentProryStatementUrl, theData.patentProryStatementDownloadFileName)}>{theData.patentProryStatementDownloadFileName}</a>
                                         </p> :
-                                        <span></span>
+                                        <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />专利代理委托书未上传</p>
                                     }
                                     {theData.lastYearTaxReportUrl !== null && theData.lastYearTaxReportUrl !== undefined && theData.lastYearTaxReportUrl !== '' ?
                                         <p className="download-file">
-                                            <a href="" onClick={this.downloadFile.bind(this, theData.lastYearTaxReportUrl, "last_year_taxReport")}>专利代理委托书</a>
+                                            <a onClick={downloadFile.bind(null, theData.lastYearTaxReportUrl, theData.lastYearTaxReportDownloadFileName)}>{theData.lastYearTaxReportDownloadFileName}</a>
                                         </p> :
-                                        <span></span>
+                                        <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />上年度纳税报表未上传</p>
                                     }
                                 </div>
                                 <Avatar urlData={this.getPatentWritingUrl} name='patent_writing' oid={theData.oid}/>

+ 8 - 1
js/component/manageCenter/servicesManage/patent/comprehensive.jsx

@@ -54,11 +54,19 @@ const Patent = React.createClass({
                         patentState: thisdata.patentState || '0',
                         patentField: thisdata.patentField || '0',
                         patentDes: thisdata.patentDes || '',
+
                         patentProryStatementUrl: thisdata.patentProryStatementUrl, //专利代理委托书
                         patentWritingUrl: thisdata.patentWritingUrl, //专利稿件
                         authorizationNoticeUrl: thisdata.authorizationNoticeUrl, //授权通知书
                         patentCertificateUrl: thisdata.patentCertificateUrl, //专利证书
                         lastYearTaxReportUrl: thisdata.lastYearTaxReportUrl, //上年度纳税表
+
+                        patentProryStatementDownloadFileName: thisdata.patentProryStatementDownloadFileName, //专利代理委托书
+                        patentWritingDownloadFileName: thisdata.patentWritingDownloadFileName, //专利稿件
+                        authorizationNoticeDownloadFileName: thisdata.authorizationNoticeDownloadFileName, //授权通知书
+                        patentCertificateDownloadFileName: thisdata.patentCertificateDownloadFileName, //专利证书
+                        lastYearTaxReportDownloadFileName: thisdata.lastYearTaxReportDownloadFileName, //上年度纳税表
+
                         startTime: thisdata.patentApplicationDate,
                         endTime: thisdata.authorizedDate,
                         orgCode: thisdata.orgCode,
@@ -168,7 +176,6 @@ const Patent = React.createClass({
             provinceOption: [],
             searchMore: true,
             data: [],
-            download: globalConfig.context + '/api/warningreports/download',
             loading: false,
             pagination: {
                 defaultCurrent: 1,

+ 5 - 16
js/component/manageCenter/servicesManage/patent/comprehensive.less

@@ -94,23 +94,12 @@
             margin-bottom: 12px;
         }
     }
-    .avatar-uploader,
-    .avatar-uploader-trigger,
-    .avatar {
+    .upload-file {
+        display: inline-block;
         width: 150px;
-        height: 150px;
-    }
-    .avatar-uploader {
-        display: block;
-        border: 1px dashed #d9d9d9;
-        border-radius: 6px;
-        cursor: pointer;
-    }
-    .avatar-uploader-trigger {
-        display: table-cell;
-        vertical-align: middle;
-        font-size: 28px;
-        color: #999;
+        margin-right: 40px;
+        margin-top: 20px;
+        text-align: center;
     }
 }
 

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

@@ -302,7 +302,7 @@ const OrgCertify = Form.create()(React.createClass({
                                 <img src={globalConfig.context + '/open/writeImage?path=' + this.state.licenceScanningUrl} alt="点击查看大图"
                                     onClick={(e) => { window.open(e.target.src) }} />
                             </div>
-                        </div> : <div>未上传</div>}
+                        </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
                     </div>
                 </FormItem>
                 <FormItem
@@ -326,7 +326,7 @@ const OrgCertify = Form.create()(React.createClass({
                                 <img src={globalConfig.context + '/open/writeImage?path=' + this.state.orgCodeUrl} alt="点击查看大图"
                                     onClick={(e) => { window.open(e.target.src) }} />
                             </div>
-                        </div> : <div>未上传</div>}
+                        </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
                     </div>
                 </FormItem>
                 <FormItem
@@ -340,7 +340,7 @@ const OrgCertify = Form.create()(React.createClass({
                                 <img src={globalConfig.context + '/open/writeImage?path=' + this.state.lastYearTaxReportUrl} alt="点击查看大图"
                                     onClick={(e) => { window.open(e.target.src) }} />
                             </div>
-                        </div> : <div>未上传</div>}
+                        </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
                     </div>
                 </FormItem>
                 <FormItem

+ 2 - 2
js/component/manageCenter/userManage/userDesc.jsx

@@ -194,13 +194,13 @@ const UserForm = Form.create()(React.createClass({
                                 <img src={globalConfig.context + '/open/writeImage?path=' + this.state.positiveIdUrl} alt="点击查看大图"
                                     onClick={(e) => { window.open(e.target.src) }} />
                             </div>
-                        </div> : <div>未上传</div>}
+                        </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
                         {this.state.oppositeIdUrl ? <div>
                             <div className="idcard-imgbox">
                                 <img src={globalConfig.context + '/open/writeImage?path=' + this.state.oppositeIdUrl} alt="点击查看大图"
                                     onClick={(e) => { window.open(e.target.src) }} />
                             </div>
-                        </div> : <div>未上传</div>}
+                        </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
                     </div>
                 </FormItem>
                 <FormItem

+ 12 - 0
js/component/tools.js

@@ -5,6 +5,7 @@ import {
     provinceList,
     patentTypeList,
     patentStateList,
+    patentFieldList,
     techFieldList,
     technicalSourceList,
     catagoryList,
@@ -156,6 +157,17 @@ module.exports = {
             return theState;
         }
     },
+    getPatentField: function (e) {
+        if (e) {
+            let theState = '';
+            patentFieldList.map(function (item) {
+                if (item.value == e) {
+                    theState = item.key;
+                };
+            });
+            return theState;
+        }
+    },
     getTechnicalSource: function (e) {
         if (e) {
             let theSource = '';

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "afanti",
-  "version": "1.0.7",
+  "version": "1.0.8",
   "description": "",
   "main": "index.js",
   "scripts": {