Browse Source

付官费

mentoswzq 4 years ago
parent
commit
4df19177ed

+ 66 - 28
js/component/manageCenter/components/checkProject/applyPaymentModal.js

@@ -32,7 +32,8 @@ class ApplyPaymentModal extends Component{
     constructor(props) {
         super(props);
         this.state={
-            loading: false
+            loading: false,
+            paymentStatus: 0,
         }
     }
 
@@ -86,7 +87,7 @@ class ApplyPaymentModal extends Component{
     }
 
     render() {
-        const { getFieldDecorator } = this.props.form;
+        const { getFieldDecorator,setFieldsValue } = this.props.form;
         const { previewPayInfor } = this.props;
         if(!previewPayInfor){
             return;
@@ -137,6 +138,44 @@ class ApplyPaymentModal extends Component{
                                     />
                                 )}
                             </Form.Item>
+                            {/* 0正常 1专利 2软著 3审计 */}
+                            {this.props.projectType === 3 && this.props.patentType === 3 ?<Form.Item
+                                        {...formItemLayout}
+                                        style={{
+                                            display:'flex'
+                                        }}
+                                        label="支付状态:"
+                                    >
+                                        {getFieldDecorator('paymentStatus', {
+                                            constructor: 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) - parseFloat(previewPayInfor.partyAmount) :
+                                                            parseFloat(previewPayInfor.totalAmount))/2
+                                                    });
+                                                } else if(e.target.value === 2){
+                                                    setFieldsValue({
+                                                        quantity:parseInt(previewPayInfor.quantity),
+                                                        applicationAmount:(previewPayInfor.partyAmount ?
+                                                            parseFloat(previewPayInfor.totalAmount) - parseFloat(previewPayInfor.partyAmount) :
+                                                            parseFloat(previewPayInfor.totalAmount))
+                                                    });
+                                                }
+                                            }}>
+                                                <Radio value={0}>自定义</Radio>
+                                                <Radio value={1}>半款</Radio>
+                                                <Radio value={2}>全款</Radio>
+                                            </Radio.Group>
+                                        )}
+                                    </Form.Item> : <div/>}
                             {/*<Form.Item*/}
                             {/*    {...formItemLayout}*/}
                             {/*    style={{*/}
@@ -174,9 +213,26 @@ class ApplyPaymentModal extends Component{
                                     initialValue: parseInt(previewPayInfor.quantity),
                                     rules: [{ required: false, message: '请输入數量!' }],
                                 })(
-                                    <Input disabled={previewPayInfor.quantity <= 1} style={{ width: '200px' }} placeholder="请输入數量" type={'number'}/>
+                                    <Input disabled={previewPayInfor.quantity <= 1 || (this.props.projectType === 3 && this.props.patentType === 3)} style={{ width: '200px' }} placeholder="请输入數量" type={'number'}/>
                                 )}
                             </Form.Item>
+                            {
+                                this.props.projectType === 3 && this.props.patentType === 3 ?
+                                    <Form.Item
+                                        {...formItemLayout}
+                                        style={{
+                                            display:'flex'
+                                        }}
+                                        label="本次申请支付数量:"
+                                    >
+                                        {getFieldDecorator('quantity', {
+                                            initialValue: parseInt(previewPayInfor.quantity),
+                                            rules: [{ required: false, message: '请输入支付数量!' }],
+                                        })(
+                                            <Input disabled={previewPayInfor.quantity <= 1 || this.state.paymentStatus !== 0} style={{ width: '200px' }} placeholder="请输入數量" type={'number'}/>
+                                        )}
+                                    </Form.Item> : <div/>}
+                            }
                             <Form.Item
                                 {...formItemLayout}
                                 style={{
@@ -213,13 +269,15 @@ class ApplyPaymentModal extends Component{
                                 label="本次申请支付金额(万元):"
                             >
                                 {getFieldDecorator('applicationAmount', {
-                                    initialValue:
-                                        previewPayInfor.partyAmount ?
-                                            parseFloat(previewPayInfor.totalAmount) - parseFloat(previewPayInfor.partyAmount) :
-                                            parseFloat(previewPayInfor.totalAmount),
+                                    initialValue:this.state.paymentStatus === 1 ? (previewPayInfor.partyAmount ?
+                                        parseFloat(previewPayInfor.totalAmount) - parseFloat(previewPayInfor.partyAmount) :
+                                        parseFloat(previewPayInfor.totalAmount)) / 2 :  previewPayInfor.partyAmount ?
+                                        parseFloat(previewPayInfor.totalAmount) - parseFloat(previewPayInfor.partyAmount) :
+                                        parseFloat(previewPayInfor.totalAmount)
+                                        ,
                                     rules: [{ required: true, message: '请输入本次申请支付金额!' }],
                                 })(
-                                    <Input style={{ width: '200px' }} placeholder="请输入本次申请支付金额" type={'number'}/>
+                                    <Input disabled={this.state.paymentStatus !== 0} style={{ width: '200px' }} placeholder="请输入本次申请支付金额" type={'number'}/>
                                 )}
                             </Form.Item>
                             <Form.Item
@@ -235,26 +293,6 @@ class ApplyPaymentModal extends Component{
                                     <Input style={{ width: '200px' }} placeholder="请输入备注" type={'textarea'}/>
                                 )}
                             </Form.Item>
-                            {/* 0正常 1专利 2软著 3审计 */}
-                            {
-                                this.props.projectType === 3 && this.props.patentType === 3 ?
-                                    <Form.Item
-                                        {...formItemLayout}
-                                        style={{
-                                            display:'flex'
-                                        }}
-                                        label="支付状态:"
-                                    >
-                                        {getFieldDecorator('paymentStatus', {
-                                            rules: [{ required: true, message: '请选择支付状态!' }],
-                                        })(
-                                            <Radio.Group>
-                                                <Radio value={0}>半款</Radio>
-                                                <Radio value={1}>全款</Radio>
-                                            </Radio.Group>
-                                        )}
-                                    </Form.Item> : <div/>
-                            }
                             <Form.Item>
                                 <Button type="primary" htmlType="submit">
                                     确定申请支付

+ 24 - 5
js/component/manageCenter/components/checkProject/index.jsx

@@ -8,7 +8,7 @@ import {
   Upload,
   Input,
   Button, message,
-  Row, Popconfirm,
+  Row, Popconfirm, Radio,
 } from 'antd'
 import {getProjectStatus,} from '@/tools'
 import { getMaterialStatus, getUrgentStatus } from '@/tools'
@@ -853,6 +853,24 @@ class CheckProject extends Component {
             <span style={{color:'#58a3ff'}}>项目状态:</span>{getProjectStatus(this.props.projectStatus)}
           </div>
         </div>
+        {
+          this.props.projectType === 1?
+              <div>
+                <div style={{paddingBottom:'20px',paddingTop:'20px'}}>
+                  专利类型:<span style={{marginLeft:'15px'}}>{this.props.patentType === 0 ? '专利申请/变更/转让' : '专利买卖'}</span>
+                </div>
+                <div style={{paddingBottom:'20px'}}>
+                  专利名称:<span style={{marginLeft:'15px'}}>
+                  {
+                    this.props.patentNameType === 0 ? '实用新型专利' :
+                        this.props.patentNameType === 1 ? '发明专利' :
+                            this.props.patentNameType === 2 ? '外观专利' :
+                                this.props.patentNameType === 3 ? this.props.patentName : ''
+                  }
+                </span>
+                </div>
+              </div> : <div/>
+        }
         <div className="thirdParty">
           <div>
             <span className="title">
@@ -1030,7 +1048,7 @@ class CheckProject extends Component {
                     <Row gutter={16}>
                       <Col className="gutter-row" span={4}>
                         <div className="gutter-box">
-                          {index+1 < 10 ? '0'+(index+1) : index+1}
+                          {value.id}
                         </div>
                       </Col>
                       {/*<Col className="gutter-row" span={5}>*/}
@@ -1040,7 +1058,8 @@ class CheckProject extends Component {
                       {/*</Col>*/}
                       <Col className="gutter-row" span={5}>
                         <div className="gutter-box">
-                          {value.paymentType === 0 ? '第三方' : '官费'}
+                          {/*0第三方 1催款 2官费*/}
+                          {value.chooseType === 0 ? '第三方' : value.chooseType === 1 ? '催款' : '官费'}
                         </div>
                       </Col>
                       <Col className="gutter-row" span={5}>
@@ -1083,7 +1102,7 @@ class CheckProject extends Component {
             nodeId: 付款节点id
             previewPayInfor: 项目或者节点信息
          */}
-        <ApplyPaymentModal
+        {this.state.previewPayVisible ? <ApplyPaymentModal
             {...this.props}
             tid={this.props.tid}
             type={this.state.type}
@@ -1103,7 +1122,7 @@ class CheckProject extends Component {
                 previewPayInfor: {},
                 type: 1
               })
-            }}/>
+            }}/> : <div/>}
           {/*  支付记录操作弹出  */}
           {this.state.payRecordVisible ? <PayRecord
                 {...this.props}

+ 0 - 1
js/component/manageCenter/order/orderNew/billing.jsx

@@ -169,7 +169,6 @@ const MyService = Form.create()(
           invoiceType: undefined,
           unitName: "",
           taxNumber: "",
-          unitName: "",
           amount: "",
           banks: "",
           content: "",

+ 2 - 0
js/component/manageCenter/order/orderNew/costAuditList/detailsModal/index.js

@@ -232,6 +232,8 @@ class DetailsModal extends Component{
                             isAuditPayment={true}
                             status={this.state.refundStatus}
                             projectStatus={this.props.projectStatus}
+                            patentName={this.props.patentName}
+                            patentType={this.props.patentType}
                             thirdInfoList={this.state.thirdInfoList}
                             dataSource={this.state.payNodeList}
                             outsourceRemarks={this.state.outsourceRemarks}

+ 3 - 0
js/component/manageCenter/order/orderNew/costAuditList/index.js

@@ -11,6 +11,7 @@ import FilterColumn from './filterColumn';
 import DetailsModal from './detailsModal/index';
 import './index.less';
 import "../customer.less";
+import CheckProject from "../../../components/checkProject";
 
 class CostAuditList extends Component{
     constructor(props) {
@@ -229,6 +230,8 @@ class CostAuditList extends Component{
                   this.state.visible ?
                       <DetailsModal
                           projectStatus={this.state.selectInfor.projectStatus}
+                          patentName={this.state.selectInfor.patentName}
+                          patentType={this.state.selectInfor.patentType}
                           tid={this.state.selectInfor.tid}
                           orderNo={this.state.selectInfor.orderNo}
                           visible={this.state.visible}

+ 56 - 22
js/component/manageCenter/project/task/myTask.jsx

@@ -241,7 +241,7 @@ const Task = React.createClass({
       assignVisible: false,
       releaseDate: [],
       patentType: -1,
-      patentNameType: 0,
+      patentNameType: -1,
       startType: 0, //外包供应商类型
       // 判断是否是退回给咨询师经理
       flag: false,
@@ -919,7 +919,7 @@ const Task = React.createClass({
               dataIndex: "officialCost",
               key: "officialCost",
               render: (text) => {
-                return text === 1 ? '含官费' : '不含官费'
+                return text === 1 ? '有官费' : '无官费'
               },
             },
             {
@@ -2153,7 +2153,7 @@ const Task = React.createClass({
         message.warning('请选择专利类型')
         return
       }
-      if (!this.state.patentNameType) {
+      if (this.state.patentNameType === -1) {
         message.warning('请选择专利类型名称')
         return
       }
@@ -2563,6 +2563,7 @@ const Task = React.createClass({
           let arr = data.data || []
           let allTotalAmount = 0
           let type = 0;
+          let type1 = 0;
           for (let i = 0; i < arr.length; i++) {
             thisData = arr[i]
             allTotalAmount =
@@ -2584,7 +2585,7 @@ const Task = React.createClass({
               remarks: thisData.remarks, //备注
               cid: thisData.cid, //机构id
               costReduction: thisData.costReduction,//费减
-              officiaCost: thisData.officiaCost,//费
+              officialCost: thisData.officialCost,//
               type: thisData.type,   //0其他 1专利申请 2专利买卖
             })
             type=thisData.type
@@ -2601,12 +2602,17 @@ const Task = React.createClass({
             }
           }
 
+          if(type === 1 || type === 2){
+            this.setState({
+              patentType: type === 1 ? 0 : type === 2 ? 1 : -1,    //0其他 1专利申请 2专利买卖
+            })
+          }
+
           this.setState({
             tid: id,
             PayNodeCompany: companyNameArr,
             thirdInfoList: theArr,
             allTotalAmount: allTotalAmount,
-            patentType: type === 1 ? 0 : type === 2 ? 1 : -1,    //0其他 1专利申请 2专利买卖
           },()=>{
             this.projectTypeTabContent(this.state.projectType);
           })
@@ -4186,26 +4192,48 @@ const Task = React.createClass({
                       <Radio.Group
                         value={this.state.patentNameType}
                         onChange={(e) => {
-                          this.setState({ patentNameType: e.target.value })
+                          let _this = this;
+                          if(this.state.thirdInfoList.length >0){
+                            confirm({
+                              title: '确定要切换吗?',
+                              content: '切换将删除所有第三信息和付款节点',
+                              onOk() {
+                                return new Promise((resolve, reject) => {
+                                  _this.setState({ patentNameType: e.target.value },()=>{
+                                    _this.projectTypeTabContent(_this.state.projectType);
+                                  })
+                                  _this.confirmDeletNew(-1,resolve,reject)
+                                  if(_this.state.payNodeList.length > 0){
+                                    _this.payNodeConfirmDeletNew(-1,resolve,reject);
+                                  }
+                                }).catch(() => console.log('Oops errors!'));
+                              },
+                              onCancel() {},
+                            });
+                          }else{
+                            this.setState({ patentNameType: e.target.value },()=>{
+                              this.projectTypeTabContent(this.state.projectType);
+                            })
+                          }
                         }}
                       >
                         <Radio value={0}>实用新型专利</Radio>
                         <Radio value={1}>发明专利</Radio>
                         <Radio value={2}>外观专利</Radio>
-                        <Radio value={3}>
-                          其他
-                          <Input
-                            disabled={this.state.patentNameType !== 3}
-                            value={this.state.patentName}
-                            style={{ marginLeft: '15px' }}
-                            onChange={(e) => {
-                              this.setState({
-                                patentName: e.target.value,
-                              })
-                            }}
-                            placeholder="请填写专利名称"
-                          />
-                        </Radio>
+                        {/*<Radio value={3}>*/}
+                        {/*  其他*/}
+                        {/*  <Input*/}
+                        {/*    disabled={this.state.patentNameType !== 3}*/}
+                        {/*    value={this.state.patentName}*/}
+                        {/*    style={{ marginLeft: '15px' }}*/}
+                        {/*    onChange={(e) => {*/}
+                        {/*      this.setState({*/}
+                        {/*        patentName: e.target.value,*/}
+                        {/*      })*/}
+                        {/*    }}*/}
+                        {/*    placeholder="请填写专利名称"*/}
+                        {/*  />*/}
+                        {/*</Radio>*/}
                       </Radio.Group>
                     </FormItem>
                   </div>
@@ -4237,8 +4265,11 @@ const Task = React.createClass({
                       type="primary"
                       onClick={(e) => {
                         if(this.state.projectType === 1 && this.state.patentType === -1){
-                          message.info('请先选择专利类型')
-                        }else{
+                          message.info('请先选择专利类型');
+                        }else if(this.state.projectType === 1 && this.state.patentNameType === -1){
+                          message.info('请先选择专利名称');
+                        }
+                        else{
                           this.addThirdList()
                         }
                       }}
@@ -4441,6 +4472,8 @@ const Task = React.createClass({
                               {...this.props}
                               tid={this.state.tid}
                               projectType={this.state.projectType}    //0正常 1专利 2软著 3审计
+                              patentNameType={this.state.patentNameType}
+                              patentName={this.state.patentName}
                               patentType={this.state.patentType}
                               status={this.state.refundStatus}
                               isPreviewPay={true}
@@ -5576,6 +5609,7 @@ const Task = React.createClass({
           </Spin>
         </Modal>
         {this.state.ThirdListVisible ? <NewSupplier
+            patentNameType={this.state.patentNameType}
             ThirdId={this.state.ThirdId}
             tid={this.state.tid}
             patentType={this.state.patentType}

+ 7 - 1
js/component/manageCenter/project/task/myTaskOutsource.jsx

@@ -113,7 +113,9 @@ const MyTaskOutsource = React.createClass({
               splitStatus: thisdata.splitStatus, //是否为子项目 2是 1主项目
               splitSuper: thisdata.splitSuper,
               splitId: thisdata.splitId,
-              projectType: thisdata.projectType//项目类型
+              projectType: thisdata.projectType,//项目类型
+              patentNameType: thisdata.patentNameType,
+              patentName: thisdata.patentName,
             });
           }
         }
@@ -738,6 +740,8 @@ const MyTaskOutsource = React.createClass({
         splitSuper: record.splitSuper,
         splitId: record.splitId,
         projectType: record.projectType,
+        patentNameType: record.patentNameType,
+        patentName: record.patentName,
       });
     }
 
@@ -2939,6 +2943,8 @@ const MyTaskOutsource = React.createClass({
                   tid={this.state.tid}
                   status={this.state.refundStatus}
                   projectType={this.state.projectType}
+                  patentNameType={this.state.patentNameType}
+                  patentName={this.state.patentName}
                   patentType={this.state.patentType}
                   isPreviewPay={true}
                   thirdInfoList={this.state.thirdInfoList}

+ 5 - 0
js/component/manageCenter/project/task/newSupplier.js

@@ -158,6 +158,7 @@ class NewSupplier extends Component{
             data.calculation = 1;                       //0 其他 1软著
         }else{                                          //非软著类需要传总金额
             data.totalAmount = this.state.thirdQuantity * this.state.thirdUnitPrice;
+            data.calculation = 0;                       //0 其他 1软著
         }
 
         data.type = this.props.projectType === 1 ? (this.props.patentType === 0 ? 1 : 2) : 0   //0其他 1专利申请 2专利买卖
@@ -181,6 +182,10 @@ class NewSupplier extends Component{
             data.income = this.state.income;   //收入
         }
 
+        if(this.props.projectType === 1){                   //专利
+            data.patentType = this.props.patentNameType     //专利名称
+        }
+
         this.setState({
             loading: true,
         })

+ 8 - 0
js/component/manageCenter/set/projectConfigure/addSoftWritingPrice.js

@@ -62,6 +62,14 @@ class AddSoftWritingPrice extends Component{
                     <Form onSubmit={(e)=>{
                         this.addSoftWritingPriceFn(e)
                     }}>
+                        <Form.Item label="公司名称">
+                            {getFieldDecorator('companyName', {
+                                initialValue: this.props.infor.companyName,
+                                rules: [{ required: true, message: '请输入公司名称!' }],
+                            })(
+                                <Input disabled={Object.keys(this.props.infor).length !== 0} placeholder="请输入公司名称" style={{width:'250px'}}/>
+                            )}
+                        </Form.Item>
                         <Form.Item  label="单价">
                             {getFieldDecorator('unitPrice', {
                                 initialValue: this.props.infor.unitPrice,