|
@@ -1,5 +1,5 @@
|
|
|
-import React,{Component} from 'react';
|
|
|
-import {Button, Form, Input, message, Modal, Radio, Spin, InputNumber} from "antd";
|
|
|
+import React, { Component } from 'react';
|
|
|
+import { Button, Form, Input, message, Modal, Radio, Spin, InputNumber } from "antd";
|
|
|
import $ from "jquery";
|
|
|
|
|
|
const layout = {
|
|
@@ -16,25 +16,25 @@ const formItemLayout = {
|
|
|
wrapperCol: { span: 14 },
|
|
|
};
|
|
|
|
|
|
-class ApplyPaymentModal extends Component{
|
|
|
+class ApplyPaymentModal extends Component {
|
|
|
|
|
|
|
|
|
constructor(props) {
|
|
|
super(props);
|
|
|
- this.state={
|
|
|
+ this.state = {
|
|
|
loading: false,
|
|
|
paymentStatus: 0,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//申请付款
|
|
|
- handleSubmit(e){
|
|
|
+ handleSubmit(e) {
|
|
|
e.preventDefault();
|
|
|
this.props.form.validateFieldsAndScroll((err, values) => {
|
|
|
if (err) {
|
|
|
return;
|
|
|
}
|
|
|
- if(values.quantity<1){
|
|
|
+ if (values.quantity < 1) {
|
|
|
message.warning('申请支付数量不能小于零');
|
|
|
return false;
|
|
|
}
|
|
@@ -42,14 +42,14 @@ class ApplyPaymentModal extends Component{
|
|
|
loading: true
|
|
|
})
|
|
|
values.tid = this.props.tid;
|
|
|
- if(this.props.type === 2){
|
|
|
+ if (this.props.type === 2) {
|
|
|
values.chooseType = 2; //支付类型 0第三方 1催款 2官费
|
|
|
- }else{
|
|
|
- if(this.props.previewPayInfor.nodeId){ //催款
|
|
|
+ } else {
|
|
|
+ if (this.props.previewPayInfor.nodeId) { //催款
|
|
|
values.nodeId = this.props.previewPayInfor.nodeId;
|
|
|
values.chooseType = 1; //支付选择 0第三方 1催款 2官费
|
|
|
values.tpcId = this.props.previewPayInfor.cid; //第三方机构id
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
values.chooseType = 0 //支付选择 0第三方 1催款 2官费
|
|
|
values.tpcId = this.props.previewPayInfor.id; //第三方机构id
|
|
|
}
|
|
@@ -79,10 +79,10 @@ class ApplyPaymentModal extends Component{
|
|
|
}
|
|
|
|
|
|
render() {
|
|
|
- const { getFieldDecorator,setFieldsValue } = this.props.form;
|
|
|
+ const { getFieldDecorator, setFieldsValue } = this.props.form;
|
|
|
const { previewPayInfor } = this.props;
|
|
|
- if(this.props.type !== 2 && !previewPayInfor){return;}
|
|
|
- return(
|
|
|
+ if (this.props.type !== 2 && !previewPayInfor) { return; }
|
|
|
+ return (
|
|
|
<Modal
|
|
|
maskClosable={false}
|
|
|
footer={null}
|
|
@@ -104,14 +104,14 @@ class ApplyPaymentModal extends Component{
|
|
|
initialValues={{
|
|
|
remember: true,
|
|
|
}}
|
|
|
- onSubmit={(e)=>{
|
|
|
+ onSubmit={(e) => {
|
|
|
this.handleSubmit(e)
|
|
|
}}
|
|
|
>
|
|
|
<Form.Item
|
|
|
{...formItemLayout}
|
|
|
style={{
|
|
|
- display:'flex'
|
|
|
+ display: 'flex'
|
|
|
}}
|
|
|
label="付款单位/个人:"
|
|
|
>
|
|
@@ -129,47 +129,47 @@ class ApplyPaymentModal extends Component{
|
|
|
)}
|
|
|
</Form.Item>
|
|
|
{/* 0正常 1专利 2软著 3审计 */}
|
|
|
- {this.props.projectType === 1 && this.props.patentType === 1 ?<Form.Item
|
|
|
- {...formItemLayout}
|
|
|
- style={{
|
|
|
- display:'flex'
|
|
|
- }}
|
|
|
- label="支付状态:"
|
|
|
- >
|
|
|
- {getFieldDecorator('paymentStatus', {
|
|
|
- initialValue: this.state.paymentStatus,
|
|
|
- rules: [{ required: false, message: '请选择支付状态!' }],
|
|
|
- })(
|
|
|
- <Radio.Group onChange={(e)=>{
|
|
|
- this.setState({
|
|
|
- paymentStatus: e.target.value
|
|
|
- })
|
|
|
- if(e.target.value === 1){
|
|
|
- setFieldsValue({
|
|
|
- quantity:parseInt(previewPayInfor.quantity),
|
|
|
- applicationAmount:(previewPayInfor.partyAmount ?
|
|
|
- ((parseFloat(previewPayInfor.totalAmount) * 1000000) - (parseFloat(previewPayInfor.partyAmount) * 1000000)) / 1000000 :
|
|
|
- parseFloat(previewPayInfor.totalAmount))/2
|
|
|
- });
|
|
|
- } else if(e.target.value === 2){
|
|
|
- setFieldsValue({
|
|
|
- quantity:parseInt(previewPayInfor.quantity),
|
|
|
- applicationAmount:(previewPayInfor.partyAmount ?
|
|
|
- ((parseFloat(previewPayInfor.totalAmount) * 1000000) - (parseFloat(previewPayInfor.partyAmount) * 1000000)) / 1000000 :
|
|
|
- parseFloat(previewPayInfor.totalAmount))
|
|
|
- });
|
|
|
- }
|
|
|
- }}>
|
|
|
- <Radio value={0}>自定义</Radio>
|
|
|
- <Radio value={1}>半款</Radio>
|
|
|
- <Radio value={2}>全款</Radio>
|
|
|
- </Radio.Group>
|
|
|
- )}
|
|
|
- </Form.Item> : <div/>}
|
|
|
+ {this.props.projectType === 1 && this.props.patentType === 1 ? <Form.Item
|
|
|
+ {...formItemLayout}
|
|
|
+ style={{
|
|
|
+ display: 'flex'
|
|
|
+ }}
|
|
|
+ label="支付状态:"
|
|
|
+ >
|
|
|
+ {getFieldDecorator('paymentStatus', {
|
|
|
+ initialValue: this.state.paymentStatus,
|
|
|
+ rules: [{ required: false, message: '请选择支付状态!' }],
|
|
|
+ })(
|
|
|
+ <Radio.Group onChange={(e) => {
|
|
|
+ this.setState({
|
|
|
+ paymentStatus: e.target.value
|
|
|
+ })
|
|
|
+ if (e.target.value === 1) {
|
|
|
+ setFieldsValue({
|
|
|
+ quantity: parseInt(previewPayInfor.quantity),
|
|
|
+ applicationAmount: (previewPayInfor.partyAmount ?
|
|
|
+ ((parseFloat(previewPayInfor.totalAmount) * 1000000) - (parseFloat(previewPayInfor.partyAmount) * 1000000)) / 1000000 :
|
|
|
+ parseFloat(previewPayInfor.totalAmount)) / 2
|
|
|
+ });
|
|
|
+ } else if (e.target.value === 2) {
|
|
|
+ setFieldsValue({
|
|
|
+ quantity: parseInt(previewPayInfor.quantity),
|
|
|
+ applicationAmount: (previewPayInfor.partyAmount ?
|
|
|
+ ((parseFloat(previewPayInfor.totalAmount) * 1000000) - (parseFloat(previewPayInfor.partyAmount) * 1000000)) / 1000000 :
|
|
|
+ parseFloat(previewPayInfor.totalAmount))
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }}>
|
|
|
+ <Radio value={0}>自定义</Radio>
|
|
|
+ <Radio value={1}>半款</Radio>
|
|
|
+ <Radio value={2}>全款</Radio>
|
|
|
+ </Radio.Group>
|
|
|
+ )}
|
|
|
+ </Form.Item> : <div />}
|
|
|
{this.props.type !== 2 ? <Form.Item
|
|
|
{...formItemLayout}
|
|
|
style={{
|
|
|
- display:'flex'
|
|
|
+ display: 'flex'
|
|
|
}}
|
|
|
label="单价(万元):"
|
|
|
>
|
|
@@ -178,13 +178,13 @@ class ApplyPaymentModal extends Component{
|
|
|
{
|
|
|
isNaN(parseFloat(previewPayInfor.unitPrice)) ? previewPayInfor.unitPrice :
|
|
|
getFieldDecorator('unitPrice', {
|
|
|
- initialValue:previewPayInfor.unitPrice,
|
|
|
- rules: [{ required: true, message: '请输入单价!' }],
|
|
|
- })(
|
|
|
- <Input disabled={true} style={{ width: '200px' }} placeholder="请输入单价" type={'number'}/>
|
|
|
- )
|
|
|
+ initialValue: previewPayInfor.unitPrice,
|
|
|
+ rules: [{ required: true, message: '请输入单价!' }],
|
|
|
+ })(
|
|
|
+ <Input disabled={true} style={{ width: '200px' }} placeholder="请输入单价" type={'number'} />
|
|
|
+ )
|
|
|
}
|
|
|
- </Form.Item> : <div/>}
|
|
|
+ </Form.Item> : <div />}
|
|
|
{/*{*/}
|
|
|
{/* this.props.type === 2 ?*/}
|
|
|
{/* <Form.Item*/}
|
|
@@ -209,7 +209,7 @@ class ApplyPaymentModal extends Component{
|
|
|
<Form.Item
|
|
|
{...formItemLayout}
|
|
|
style={{
|
|
|
- display:'flex'
|
|
|
+ display: 'flex'
|
|
|
}}
|
|
|
label="数量(个):"
|
|
|
>
|
|
@@ -218,7 +218,7 @@ class ApplyPaymentModal extends Component{
|
|
|
{this.props.type !== 2 ? <Form.Item
|
|
|
{...formItemLayout}
|
|
|
style={{
|
|
|
- display:'flex'
|
|
|
+ display: 'flex'
|
|
|
}}
|
|
|
label="总价(万元):"
|
|
|
>
|
|
@@ -232,7 +232,7 @@ class ApplyPaymentModal extends Component{
|
|
|
<Form.Item
|
|
|
{...formItemLayout}
|
|
|
style={{
|
|
|
- display:'flex'
|
|
|
+ display: 'flex'
|
|
|
}}
|
|
|
label="本次申请支付数量:"
|
|
|
>
|
|
@@ -245,10 +245,10 @@ class ApplyPaymentModal extends Component{
|
|
|
style={{ width: '200px' }}
|
|
|
precision={0}
|
|
|
placeholder="请输入本次申请支付数量"
|
|
|
- onChange={(e)=>{
|
|
|
- if(this.props.projectType === 1 && this.props.patentType === 0){
|
|
|
+ onChange={(e) => {
|
|
|
+ if (this.props.projectType === 1 && this.props.patentType === 0) {
|
|
|
setFieldsValue({
|
|
|
- applicationAmount:e*previewPayInfor.unitPrice
|
|
|
+ applicationAmount: e * previewPayInfor.unitPrice
|
|
|
});
|
|
|
}
|
|
|
}}
|
|
@@ -268,62 +268,66 @@ class ApplyPaymentModal extends Component{
|
|
|
供应商
|
|
|
第三方信息
|
|
|
本次申请支付数量 都可以修改
|
|
|
- 本次申请支付金额 专利申请类型不显示,专利买卖类型可以修改申请支付金额,其他类型也能修改
|
|
|
+ 本次申请支付金额 专利申请类型不显示,专利买卖类型可以修改申请支付金额,其他类型也能修改 (后加软著不可申请支付金额)
|
|
|
付款节点(专利申请无付款节点)
|
|
|
本次申请支付数量 都可以修改
|
|
|
本次申请支付金额 都可以修改
|
|
|
|
|
|
|
|
|
- 外包
|
|
|
- 第三方信息
|
|
|
- 本次申请支付数量 都可以修改
|
|
|
- 本次申请支付金额 专利申请不可以修改但显示(专利申请的申请金额会随支付数量乘以单价变化),其他类型可以修改
|
|
|
- 付款节点
|
|
|
- 本次申请支付数量 都可以修改
|
|
|
- 本次申请支付金额 专利申请不可以修改但显示(专利申请的申请金额会随支付数量乘以单价变化),其他类型可以修改
|
|
|
+ 外包
|
|
|
+ 第三方信息
|
|
|
+ 本次申请支付数量 都可以修改
|
|
|
+ 本次申请支付金额 专利申请不可以修改但显示(专利申请的申请金额会随支付数量乘以单价变化),其他类型可以修改
|
|
|
+ 付款节点
|
|
|
+ 本次申请支付数量 都可以修改
|
|
|
+ 本次申请支付金额 专利申请不可以修改但显示(专利申请的申请金额会随支付数量乘以单价变化),其他类型可以修改
|
|
|
*/}
|
|
|
- {this.props.type !== 2 && !(this.props.startType === 1 ? (this.props.projectType === 1 && this.props.patentType === 0) : false) ? <Form.Item
|
|
|
- {...formItemLayout}
|
|
|
- style={{
|
|
|
- display:'flex'
|
|
|
- }}
|
|
|
- label="本次申请支付金额(万元):"
|
|
|
- >
|
|
|
- {getFieldDecorator('applicationAmount', {
|
|
|
- initialValue:this.props.type === 2 ?(
|
|
|
- ((previewPayInfor.costReduction === 1 ? previewPayInfor.reductionAmount : previewPayInfor.officialUnitPrice) * 1000000 * parseInt(previewPayInfor.quantity)) / 1000000
|
|
|
- ): (
|
|
|
- !isNaN(parseFloat(previewPayInfor.totalAmount)) && !isNaN(parseFloat(previewPayInfor.partyAmount))?
|
|
|
- (
|
|
|
- this.state.paymentStatus === 1 ?
|
|
|
- (previewPayInfor.partyAmount ?
|
|
|
- ((parseFloat(previewPayInfor.totalAmount) * 1000000) - (parseFloat(previewPayInfor.partyAmount) * 1000000)) / 1000000 :
|
|
|
- parseFloat(previewPayInfor.totalAmount)) / 2 :
|
|
|
- previewPayInfor.partyAmount ?
|
|
|
- ((parseFloat(previewPayInfor.totalAmount) * 1000000) - (parseFloat(previewPayInfor.partyAmount) * 1000000)) / 1000000 :
|
|
|
- parseFloat(previewPayInfor.totalAmount)
|
|
|
- ) : null
|
|
|
- ),
|
|
|
- rules: [{ required: true, message: '请输入本次申请支付金额!' }],
|
|
|
- })(
|
|
|
- <InputNumber
|
|
|
- min={0}
|
|
|
- disabled={this.state.paymentStatus !== 0 || (this.props.projectType === 1 && this.props.patentType === 0)}
|
|
|
- style={{ width: '200px' }}
|
|
|
- placeholder="请输入本次申请支付金额"/>
|
|
|
- )}
|
|
|
- </Form.Item> : null}
|
|
|
+ {this.props.type !== 2 &&
|
|
|
+ !(this.props.startType === 1
|
|
|
+ ? ((this.props.projectType === 1 && this.props.patentType === 0) || this.props.projectType === 2)
|
|
|
+ : false)
|
|
|
+ ? <Form.Item
|
|
|
+ {...formItemLayout}
|
|
|
+ style={{
|
|
|
+ display: 'flex'
|
|
|
+ }}
|
|
|
+ label="本次申请支付金额(万元):"
|
|
|
+ >
|
|
|
+ {getFieldDecorator('applicationAmount', {
|
|
|
+ initialValue: this.props.type === 2 ? (
|
|
|
+ ((previewPayInfor.costReduction === 1 ? previewPayInfor.reductionAmount : previewPayInfor.officialUnitPrice) * 1000000 * parseInt(previewPayInfor.quantity)) / 1000000
|
|
|
+ ) : (
|
|
|
+ !isNaN(parseFloat(previewPayInfor.totalAmount)) && !isNaN(parseFloat(previewPayInfor.partyAmount)) ?
|
|
|
+ (
|
|
|
+ this.state.paymentStatus === 1 ?
|
|
|
+ (previewPayInfor.partyAmount ?
|
|
|
+ ((parseFloat(previewPayInfor.totalAmount) * 1000000) - (parseFloat(previewPayInfor.partyAmount) * 1000000)) / 1000000 :
|
|
|
+ parseFloat(previewPayInfor.totalAmount)) / 2 :
|
|
|
+ previewPayInfor.partyAmount ?
|
|
|
+ ((parseFloat(previewPayInfor.totalAmount) * 1000000) - (parseFloat(previewPayInfor.partyAmount) * 1000000)) / 1000000 :
|
|
|
+ parseFloat(previewPayInfor.totalAmount)
|
|
|
+ ) : null
|
|
|
+ ),
|
|
|
+ rules: [{ required: true, message: '请输入本次申请支付金额!' }],
|
|
|
+ })(
|
|
|
+ <InputNumber
|
|
|
+ min={0}
|
|
|
+ disabled={this.state.paymentStatus !== 0 || (this.props.projectType === 1 && this.props.patentType === 0)}
|
|
|
+ style={{ width: '200px' }}
|
|
|
+ placeholder="请输入本次申请支付金额" />
|
|
|
+ )}
|
|
|
+ </Form.Item> : null}
|
|
|
<Form.Item
|
|
|
{...formItemLayout}
|
|
|
style={{
|
|
|
- display:'flex'
|
|
|
+ display: 'flex'
|
|
|
}}
|
|
|
label="备注:"
|
|
|
>
|
|
|
{getFieldDecorator('remarks', {
|
|
|
rules: [{ required: true, message: '请输入备注!' }],
|
|
|
})(
|
|
|
- <Input style={{ width: '200px' }} placeholder="请输入备注" type={'textarea'}/>
|
|
|
+ <Input style={{ width: '200px' }} placeholder="请输入备注" type={'textarea'} />
|
|
|
)}
|
|
|
</Form.Item>
|
|
|
<Form.Item>
|
|
@@ -331,7 +335,7 @@ class ApplyPaymentModal extends Component{
|
|
|
display: 'flex',
|
|
|
justifyContent: 'center',
|
|
|
}}>
|
|
|
- <Button type="primary" htmlType="submit" style={{width:'60%',height:'40px'}}>
|
|
|
+ <Button type="primary" htmlType="submit" style={{ width: '60%', height: '40px' }}>
|
|
|
{this.props.type === 2 ? "确定申请付官费" : "确定申请支付"}
|
|
|
</Button>
|
|
|
</div>
|