|
@@ -9,7 +9,7 @@ import moment from 'moment';
|
|
|
import './cognizance.less';
|
|
|
|
|
|
const CognizanceDescFrom = Form.create()(React.createClass({
|
|
|
- loadData() {
|
|
|
+ loadData(theCid, theYear) {
|
|
|
this.setState({
|
|
|
loading: true
|
|
|
});
|
|
@@ -19,8 +19,8 @@ const CognizanceDescFrom = Form.create()(React.createClass({
|
|
|
crossDomain: false,
|
|
|
url: globalConfig.context + "/api/user/cognizance/cognizanceDetail",
|
|
|
data: {
|
|
|
- cid: this.props.data.cid,
|
|
|
- year: this.props.data.year
|
|
|
+ cid: theCid || this.props.data.cid,
|
|
|
+ year: theYear || this.props.data.year
|
|
|
},
|
|
|
success: function (data) {
|
|
|
if (data.error.length || !data.data) {
|
|
@@ -49,8 +49,26 @@ const CognizanceDescFrom = Form.create()(React.createClass({
|
|
|
salesRevenue: data.data.salesRevenue3,
|
|
|
grossProfit: data.data.grossProfit3
|
|
|
}];
|
|
|
- this.state.netAssetRate = 1 / 2 * (data.data.netAsset2 / data.data.netAsset3 + data.data.netAsset1 / data.data.netAsset2) - 1;
|
|
|
- this.state.salesRevenueRate = 1 / 2 * (data.data.salesRevenue2 / data.data.salesRevenue3 + data.data.salesRevenue1 / data.data.salesRevenue2) - 1;
|
|
|
+ if (data.data.netAsset2 == 0) {
|
|
|
+ this.state.netAssetRate = 0;
|
|
|
+ } else if (data.data.netAsset3 == 0) {
|
|
|
+ this.state.netAssetRate = (data.data.netAsset1 / data.data.netAsset2) - 1;
|
|
|
+ } else {
|
|
|
+ this.state.netAssetRate = 1 / 2 * (data.data.netAsset2 / data.data.netAsset3 + data.data.netAsset1 / data.data.netAsset2) - 1;
|
|
|
+ };
|
|
|
+ if (this.state.netAssetRate < 0 || isNaN(this.state.netAssetRate)) {
|
|
|
+ this.state.netAssetRate = 0
|
|
|
+ };
|
|
|
+ if (data.data.salesRevenue2 == 0) {
|
|
|
+ this.state.salesRevenueRate = 0;
|
|
|
+ } else if (data.data.salesRevenue3 == 0) {
|
|
|
+ this.state.salesRevenueRate = (data.data.salesRevenue1 / data.data.salesRevenue2) - 1;
|
|
|
+ } else {
|
|
|
+ this.state.salesRevenueRate = 1 / 2 * (data.data.salesRevenue2 / data.data.salesRevenue3 + data.data.salesRevenue1 / data.data.salesRevenue2) - 1;
|
|
|
+ };
|
|
|
+ if (this.state.salesRevenueRate < 0 || isNaN(this.state.salesRevenueRate)) {
|
|
|
+ this.state.salesRevenueRate = 0
|
|
|
+ };
|
|
|
}.bind(this),
|
|
|
}).always(function () {
|
|
|
this.setState({
|
|
@@ -58,7 +76,7 @@ const CognizanceDescFrom = Form.create()(React.createClass({
|
|
|
});
|
|
|
}.bind(this));
|
|
|
},
|
|
|
- getStateData() {
|
|
|
+ getStateData(theCid) {
|
|
|
this.setState({
|
|
|
loading: true
|
|
|
});
|
|
@@ -68,7 +86,7 @@ const CognizanceDescFrom = Form.create()(React.createClass({
|
|
|
crossDomain: false,
|
|
|
url: globalConfig.context + "/api/user/cognizance/cognizanceLog",
|
|
|
data: {
|
|
|
- cid: this.props.data.cid
|
|
|
+ cid: theCid || this.props.data.cid
|
|
|
},
|
|
|
success: function (data) {
|
|
|
if (data.error.length || !data.data) {
|
|
@@ -184,164 +202,160 @@ const CognizanceDescFrom = Form.create()(React.createClass({
|
|
|
},
|
|
|
componentWillReceiveProps(nextProps) {
|
|
|
if (!this.props.visible && nextProps.visible) {
|
|
|
- this.getStateData();
|
|
|
- this.loadData();
|
|
|
+ this.getStateData(nextProps.data.cid);
|
|
|
+ this.loadData(nextProps.data.cid, nextProps.data.year);
|
|
|
};
|
|
|
},
|
|
|
render() {
|
|
|
const FormItem = Form.Item;
|
|
|
const { getFieldDecorator } = this.props.form;
|
|
|
- const theData = this.state.data;
|
|
|
+ const theData = this.state.data || {};
|
|
|
const formItemLayout = {
|
|
|
labelCol: { span: 6 },
|
|
|
wrapperCol: { span: 12 },
|
|
|
};
|
|
|
const _me = this;
|
|
|
- if (this.state.data) {
|
|
|
- return (
|
|
|
- <Form onSubmit={this.handleSubmit} id="highTechApply-form">
|
|
|
- <div className="clearfix">
|
|
|
- <div className="half-item">
|
|
|
- <span className="item-title">公司名称: </span>
|
|
|
- <span>{theData.unitName}</span>
|
|
|
- </div>
|
|
|
- <div className="half-item">
|
|
|
- <span className="item-title">公司组织机构代码: </span>
|
|
|
- <span>{theData.orgCode}</span>
|
|
|
- </div>
|
|
|
- <div className="half-item">
|
|
|
- <span className="item-title">公司地址: </span>
|
|
|
- <span>{theData.postalAddress}</span>
|
|
|
- </div>
|
|
|
- <div className="half-item">
|
|
|
- <span className="item-title">申请年份: </span>
|
|
|
- <span>{this.state.year}</span>
|
|
|
- </div>
|
|
|
- <FormItem className="half-item"
|
|
|
- labelCol={{ span: 6 }}
|
|
|
- wrapperCol={{ span: 14 }}
|
|
|
- >
|
|
|
- {getFieldDecorator('contacts', {
|
|
|
- rules: [{ required: true, message: '此项为必填项!' }],
|
|
|
- initialValue: theData.contacts
|
|
|
- })(
|
|
|
- <Select placeholder='选择一个联系人'>{this.props.contactsOption}</Select>
|
|
|
- )}
|
|
|
- </FormItem>
|
|
|
+ return (
|
|
|
+ <Form onSubmit={this.handleSubmit} id="highTechApply-form">
|
|
|
+ <div className="clearfix">
|
|
|
+ <div className="half-item">
|
|
|
+ <span className="item-title">公司名称: </span>
|
|
|
+ <span>{theData.unitName}</span>
|
|
|
+ </div>
|
|
|
+ <div className="half-item">
|
|
|
+ <span className="item-title">公司组织机构代码: </span>
|
|
|
+ <span>{theData.orgCode}</span>
|
|
|
</div>
|
|
|
- <FormItem style={{ width: '50%' }}
|
|
|
- labelCol={{ span: 0 }}
|
|
|
- wrapperCol={{ span: 24 }}
|
|
|
- label="技术领域"
|
|
|
+ <div className="half-item">
|
|
|
+ <span className="item-title">公司地址: </span>
|
|
|
+ <span>{theData.postalAddress}</span>
|
|
|
+ </div>
|
|
|
+ <div className="half-item">
|
|
|
+ <span className="item-title">申请年份: </span>
|
|
|
+ <span>{this.state.year}</span>
|
|
|
+ </div>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ labelCol={{ span: 6 }}
|
|
|
+ wrapperCol={{ span: 14 }}
|
|
|
>
|
|
|
- <span className="item-title">技术领域: </span>
|
|
|
- {getFieldDecorator('technicalField', {
|
|
|
- rules: [{ type: 'array', required: true, message: '此项为必填项!' }],
|
|
|
- initialValue: [theData.technicalField1, theData.technicalField2, theData.technicalField3]
|
|
|
+ {getFieldDecorator('contacts', {
|
|
|
+ rules: [{ required: true, message: '此项为必填项!' }],
|
|
|
+ initialValue: theData.contacts
|
|
|
})(
|
|
|
- <Cascader options={techFieldList} placeholder="请选择技术领域" />
|
|
|
+ <Select placeholder='选择一个联系人'>{this.props.contactsOption}</Select>
|
|
|
)}
|
|
|
</FormItem>
|
|
|
- <div className="clearfix">
|
|
|
- <div>
|
|
|
- <span className="form-title">获得知识产权数量(件): </span>
|
|
|
- </div>
|
|
|
- <div className="half-item">
|
|
|
- <span className="item-title">一类: </span>
|
|
|
- <span>{theData.firstCatagory}</span>
|
|
|
- </div>
|
|
|
- <div className="half-item">
|
|
|
- <span className="item-title">二类: </span>
|
|
|
- <span>{theData.secondCatagory}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div className="clearfix">
|
|
|
- <div>
|
|
|
- <span className="form-title">人力资源状况(人): </span>
|
|
|
- </div>
|
|
|
- <div className="half-item">
|
|
|
- <span className="item-title">职工总数: </span>
|
|
|
- <span>{theData.firmTotal}</span>
|
|
|
- </div>
|
|
|
- <div className="half-item">
|
|
|
- <span className="item-title">科技人员数: </span>
|
|
|
- <span>{theData.techTotal}</span>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <FormItem style={{ width: '50%' }}
|
|
|
+ labelCol={{ span: 0 }}
|
|
|
+ wrapperCol={{ span: 24 }}
|
|
|
+ label="技术领域"
|
|
|
+ >
|
|
|
+ <span className="item-title">技术领域: </span>
|
|
|
+ {getFieldDecorator('technicalField', {
|
|
|
+ rules: [{ type: 'array', required: true, message: '此项为必填项!' }],
|
|
|
+ initialValue: [theData.technicalField1, theData.technicalField2, theData.technicalField3]
|
|
|
+ })(
|
|
|
+ <Cascader options={techFieldList} placeholder="请选择技术领域" />
|
|
|
+ )}
|
|
|
+ </FormItem>
|
|
|
+ <div className="clearfix">
|
|
|
+ <div>
|
|
|
+ <span className="form-title">获得知识产权数量(件): </span>
|
|
|
</div>
|
|
|
- <div className="form-title">近三年经营状况(万元): </div>
|
|
|
- <Table pagination={false} dataSource={this.state.moneyTable} columns={this.state.moneyColumns} />
|
|
|
- <div className="clearfix">
|
|
|
- <div className="half-item">
|
|
|
- <span className="item-title">净资产增长率: </span>
|
|
|
- <span>{isNaN(this.state.netAssetRate) ? '数据错误无法计算' : (this.state.netAssetRate * 100).toFixed(2) + '%'}</span>
|
|
|
- </div>
|
|
|
- <div className="half-item">
|
|
|
- <span className="item-title">销售收入增长率: </span>
|
|
|
- <span>{isNaN(this.state.salesRevenueRate) ? '数据错误无法计算' : (this.state.salesRevenueRate * 100).toFixed(2) + '%'}</span>
|
|
|
- </div>
|
|
|
+ <div className="half-item">
|
|
|
+ <span className="item-title">一类: </span>
|
|
|
+ <span>{theData.firstCatagory}</span>
|
|
|
</div>
|
|
|
- <div className="clearfix">
|
|
|
- <div><span className="form-title">近三年研究开发费用总额(万元): </span></div>
|
|
|
- <div className="third-item">
|
|
|
- <div className="item-title">近三年研究开发费用总额</div>
|
|
|
- <p>{theData.researchCost}</p>
|
|
|
- </div>
|
|
|
- <div className="third-item">
|
|
|
- <div className="item-title">其中: 在中国境内研发费用总和</div>
|
|
|
- <p>{theData.territory}</p>
|
|
|
- </div>
|
|
|
- <div className="third-item">
|
|
|
- <div className="item-title">其中: 基础研究投入费用总额</div>
|
|
|
- <div>
|
|
|
- <FormItem
|
|
|
- labelCol={{ span: 0 }}
|
|
|
- wrapperCol={{ span: 24 }}
|
|
|
- >
|
|
|
- {getFieldDecorator('basicResearchCost', {
|
|
|
- rules: [{ type: 'number', required: true, message: '此项为必填项!' }],
|
|
|
- initialValue: theData.basicResearchCost
|
|
|
- })(
|
|
|
- <InputNumber min={0} max={999999} step={0.01} />
|
|
|
- )}
|
|
|
- <span>万元</span>
|
|
|
- </FormItem>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div className="half-item">
|
|
|
+ <span className="item-title">二类: </span>
|
|
|
+ <span>{theData.secondCatagory}</span>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
+ <div className="clearfix">
|
|
|
<div>
|
|
|
- <span className="item-title">近一年企业总收入(万元): </span>
|
|
|
- <span>{theData.totalRevenue}</span>
|
|
|
+ <span className="form-title">人力资源状况(人): </span>
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <span className="item-title">近一年高新技术产品收入(万元): </span>
|
|
|
- <span>{theData.lastYearRevenue}</span>
|
|
|
+ <div className="half-item">
|
|
|
+ <span className="item-title">职工总数: </span>
|
|
|
+ <span>{theData.firmTotal}</span>
|
|
|
</div>
|
|
|
- <div className="item-title">申请认定前一年内是否发生过重大安全、重大质量或严重环境违法行为</div>
|
|
|
- <FormItem
|
|
|
- labelCol={{ span: 0 }}
|
|
|
- wrapperCol={{ span: 24 }}
|
|
|
- >
|
|
|
- {getFieldDecorator('accident', {
|
|
|
- rules: [{ type: 'number', required: true, message: '此项为必填项!' }],
|
|
|
- initialValue: theData.accident
|
|
|
- })(
|
|
|
- <Radio.Group>
|
|
|
- <Radio value={0}>否</Radio>
|
|
|
- <Radio value={1}>是</Radio>
|
|
|
- </Radio.Group>
|
|
|
- )}
|
|
|
- </FormItem>
|
|
|
- <div className="form-title">状态流转记录: </div>
|
|
|
- <Table pagination={false} dataSource={this.state.stateTable} columns={this.state.stateColumns} />
|
|
|
- <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>
|
|
|
- </Form >
|
|
|
- );
|
|
|
- } else {
|
|
|
- return (<div></div>)
|
|
|
- };
|
|
|
+ <div className="half-item">
|
|
|
+ <span className="item-title">科技人员数: </span>
|
|
|
+ <span>{theData.techTotal}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className="form-title">近三年经营状况(万元): </div>
|
|
|
+ <Table pagination={false} dataSource={this.state.moneyTable} columns={this.state.moneyColumns} />
|
|
|
+ <div className="clearfix">
|
|
|
+ <div className="half-item">
|
|
|
+ <span className="item-title">净资产增长率: </span>
|
|
|
+ <span>{isNaN(this.state.netAssetRate) || this.state.netAssetRate == Infinity ? '数据错误无法计算' : (this.state.netAssetRate * 100).toFixed(2) + '%'}</span>
|
|
|
+ </div>
|
|
|
+ <div className="half-item">
|
|
|
+ <span className="item-title">销售收入增长率: </span>
|
|
|
+ <span>{isNaN(this.state.salesRevenueRate) || this.state.salesRevenueRate == Infinity ? '数据错误无法计算' : (this.state.salesRevenueRate * 100).toFixed(2) + '%'}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className="clearfix">
|
|
|
+ <div><span className="form-title">近三年研究开发费用总额(万元): </span></div>
|
|
|
+ <div className="third-item">
|
|
|
+ <div className="item-title">近三年研究开发费用总额</div>
|
|
|
+ <p>{theData.researchCost}</p>
|
|
|
+ </div>
|
|
|
+ <div className="third-item">
|
|
|
+ <div className="item-title">其中: 在中国境内研发费用总和</div>
|
|
|
+ <p>{theData.territory}</p>
|
|
|
+ </div>
|
|
|
+ <div className="third-item">
|
|
|
+ <div className="item-title">其中: 基础研究投入费用总额</div>
|
|
|
+ <div>
|
|
|
+ <FormItem
|
|
|
+ labelCol={{ span: 0 }}
|
|
|
+ wrapperCol={{ span: 24 }}
|
|
|
+ >
|
|
|
+ {getFieldDecorator('basicResearchCost', {
|
|
|
+ rules: [{ type: 'number', required: true, message: '此项为必填项!' }],
|
|
|
+ initialValue: theData.basicResearchCost
|
|
|
+ })(
|
|
|
+ <InputNumber min={0} max={999999} step={0.01} />
|
|
|
+ )}
|
|
|
+ <span>万元</span>
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span className="item-title">近一年企业总收入(万元): </span>
|
|
|
+ <span>{theData.totalRevenue}</span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span className="item-title">近一年高新技术产品收入(万元): </span>
|
|
|
+ <span>{theData.lastYearRevenue}</span>
|
|
|
+ </div>
|
|
|
+ <div className="item-title">申请认定前一年内是否发生过重大安全、重大质量或严重环境违法行为</div>
|
|
|
+ <FormItem
|
|
|
+ labelCol={{ span: 0 }}
|
|
|
+ wrapperCol={{ span: 24 }}
|
|
|
+ >
|
|
|
+ {getFieldDecorator('accident', {
|
|
|
+ rules: [{ type: 'number', required: true, message: '此项为必填项!' }],
|
|
|
+ initialValue: theData.accident
|
|
|
+ })(
|
|
|
+ <Radio.Group>
|
|
|
+ <Radio value={0}>否</Radio>
|
|
|
+ <Radio value={1}>是</Radio>
|
|
|
+ </Radio.Group>
|
|
|
+ )}
|
|
|
+ </FormItem>
|
|
|
+ <div className="form-title">状态流转记录: </div>
|
|
|
+ <Table pagination={false} dataSource={this.state.stateTable} columns={this.state.stateColumns} />
|
|
|
+ <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>
|
|
|
+ </Form >
|
|
|
+ );
|
|
|
},
|
|
|
}));
|
|
|
|