Browse Source

专利成本审核

HW 3 years ago
parent
commit
cc6be3472c

+ 1 - 1
js/component/common/patentCheck/index.jsx

@@ -203,7 +203,7 @@ class PatentCheck extends Component{
                     style={{
                         marginLeft: '10px',
                     }}
-                    disabled={!(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1))}
+                    disabled={!(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1) && this.props.orderTaskOfficialCost === 1)}
                     onClick={()=>{
                         if(this.state.checkStatus === 1){
                             message.warning('您已发起官费核对,暂不可发起付官费!')

+ 1 - 1
js/component/common/projectDetailsReadOnly/index.jsx

@@ -44,7 +44,7 @@ class ProjectDetailsReadOnly extends Component{
                     onOk={this.props.onCancel}
                     onCancel={this.props.onCancel}
                     width="800px"
-                    title="项目任务详情"
+                    title="项目任务详情(已修改)"
                     footer=""
                     className="admin-desc-content"
                 >

+ 2 - 2
js/component/common/projectOperation/index.jsx

@@ -46,7 +46,7 @@ class ProjectOperation extends Component{
 
     setValue(){
         const {dataInfor} = this.props;
-        if(dataInfor && Object.keys(dataInfor).length === 0){return;}
+        if(!(dataInfor && Object.keys(dataInfor).length > 0)){return;}
         if (dataInfor.type === 1){
             this.setState({
                 displayFees: "block",
@@ -330,7 +330,7 @@ class ProjectOperation extends Component{
                 onOk={this.props.onCancel}
                 onCancel={this.props.onCancel}
                 width="800px"
-                title={this.state.jid ? "添加项目任务" : "项目任务详情"}
+                title={readOnly ? "项目任务详情(已修改)" : "添加项目任务(已修改)" }
                 footer=""
                 className="admin-desc-content"
             >

+ 2 - 8
js/component/manageCenter/components/checkProject/index.jsx

@@ -60,10 +60,10 @@ class CheckProject extends Component {
           render: (text, record) => {
             return <span>
               {
-                text === 2 ? text : (text+'-'+record.tpcId)
+                record.chooseType === 2 ? text : (text+'-'+record.tpcId)
               }
               {
-                text !== record.tpcName ?
+                text !== record.tpcName && record.tpcName ?
                     '('+record.tpcName+')' : ''
               }
             </span>
@@ -1137,12 +1137,6 @@ class CheckProject extends Component {
                         }
                       </div> : null
                 }
-                {/*{*/}
-                {/*  this.props.orderTaskOfficialCost === 1 && this.props.startType !== 0?*/}
-                {/*      <div style={{padding:'0px 0px 10px 20px'}}>*/}
-                {/*        官费:<span style={{marginLeft:'15px'}}>{this.props.containOfficialFees === 0 ? '实际已缴费' : '实际未缴费'}</span>*/}
-                {/*      </div> : null*/}
-                {/*}*/}
                 <div className="thirdParty">
                   <div>
                     <span className="title">

+ 4 - 3
js/component/manageCenter/components/checkProject/payRecord.js

@@ -440,13 +440,13 @@ class PayRecord extends Component{
                                     <Input disabled={true} style={{ width: '200px' }} placeholder="请输入數量" type={'number'}/>
                                 )}
                             </Form.Item>
-                            {paymentDetails.chooseType !== 2 ? <Form.Item
+                            <Form.Item
                                 {...formItemLayout}
                                 className='formItemStyle'
                                 label="总价(万元):"
                             >
                                 <div>{isNaN(parseFloat(paymentDetails.initialTotalAmount)) ? paymentDetails.initialTotalAmount : parseFloat(paymentDetails.initialTotalAmount)}</div>
-                            </Form.Item> : null}
+                            </Form.Item>
                             {/*官费不显示已付*/}
                             {paymentDetails.chooseType !== 2 ? <Form.Item
                                 {...formItemLayout}
@@ -460,7 +460,8 @@ class PayRecord extends Component{
                             {
                                 paymentDetails.chooseType === 2 || this.props.projectType === 1 || this.props.projectType === 2 ?
                                     <div style={{
-                                        marginBottom:'8px'
+                                        marginBottom:'8px',
+                                        marginTop:'8px'
                                     }}>
                                         <Form.Item
                                             {...formItemLayout}

+ 26 - 3
js/component/manageCenter/customer/publicStatistics/detailedList.jsx

@@ -97,6 +97,15 @@ class DetailedList extends Component{
                     )
                 },
                 {
+                    title: "打卡状态",
+                    dataIndex: "clockIn",
+                    key: "clockIn",
+                    render: (text) => (
+                        text === 1 ? '已打卡' :
+                            text === 0 ? '未打卡' : ''
+                    )
+                },
+                {
                     title: "操作",
                     dataIndex: "annexUrl",
                     key: "annexUrl",
@@ -141,6 +150,7 @@ class DetailedList extends Component{
 
             releaseDate:[],
             status:props.status,
+            clockIn:props.clockIn,
             theTypes:props.aid,
             theCustomerTypes:undefined,
         }
@@ -220,7 +230,8 @@ class DetailedList extends Component{
                 releaseEnd:this.state.releaseDate[1] || undefined,
                 aid:this.state.theTypes,
                 uid:this.state.theCustomerTypes,
-                status:this.state.status
+                status:this.state.status,
+                clockIn:this.state.clockIn,
             },
             success: function(data) {
                 ShowModal(this);
@@ -263,6 +274,7 @@ class DetailedList extends Component{
             releaseDate:[],
             theCustomerTypes:undefined,
             status:this.props.status,
+            clockIn:this.props.clockIn,
             auto:'',
             customer:''
         },()=>{
@@ -391,7 +403,8 @@ class DetailedList extends Component{
             releaseEnd:this.state.releaseDate[1],
             aid:this.state.theTypes,
             uid:this.state.theCustomerTypes,
-            status:this.state.status
+            status:this.state.status,
+            clockIn:this.state.clockIn+'',
         };
         for(let i of Object.keys(data)){
             if(i === 'status'){
@@ -473,7 +486,17 @@ class DetailedList extends Component{
                                                     ))
                                                 }
                                             </Select>
-                                        </span>
+                                    </span>
+                                    <span style={{ marginRight: "10px" }}>
+                                            <Select
+                                                placeholder="请选择打卡状态"
+                                                style={{ width:200,marginLeft:10}}
+                                                value={this.state.clockIn}
+                                                onChange={(e) => { this.setState({ clockIn: e }) }}>
+                                                <Select.Option value={1} >已打卡</Select.Option>
+                                                <Select.Option value={0} >未打卡</Select.Option>
+                                            </Select>
+                                    </span>
                                     <span style={{ marginRight: "10px" }}>
                                             <AutoComplete
                                                 className="certain-category-search"

+ 19 - 1
js/component/manageCenter/customer/publicStatistics/index.jsx

@@ -88,6 +88,21 @@ class ProjecCount extends Component{
                         })
                     }
                 },
+                {
+                    title: "已打卡次数",
+                    dataIndex: "dk",
+                    key: "dk",
+                    className: 'projectTable',
+                    onCellClick :(record, event)=>{
+                        event.stopPropagation();
+                        this.setState({
+                            status: undefined,
+                            clockIn:1,
+                            visible:true,
+                            aid:record.aid
+                        })
+                    }
+                },
             ],
             pagination: {
                 defaultCurrent: 1,
@@ -106,6 +121,7 @@ class ProjecCount extends Component{
             releaseDate:[],
             createReleaseDate:[],
             superId:undefined,
+            clockIn:0,
         }
         this.loadData = this.loadData.bind(this);
         this.resetAll = this.resetAll.bind(this);
@@ -437,11 +453,13 @@ class ProjecCount extends Component{
                 </div>
                 {this.state.visible ? <DetailedList
                     status={this.state.status}
+                    clockIn={this.state.clockIn || undefined}
                     visible={this.state.visible}
                     aid={this.state.aid}
                     onCancel={()=>{
                     this.setState({
-                        visible:false
+                        visible:false,
+                        clockIn:0,
                     })
                 }}/> : null}
             </div>

+ 10 - 1
js/component/manageCenter/order/orderNew/costAuditList/detailsModal/index.js

@@ -272,8 +272,13 @@ class DetailsModal extends Component{
                     localStorage.setItem('cSort', thisdata.sort);
                     this.setState({
                         orderTaskOfficialCost: thisdata.officialCost,    //官费 0无 1有
+                        orderTaskCostReduction: thisdata.costReduction,//费减
+                        checkStatus:thisdata.checkStatus,//核对状态
+                        commodityQuantity:thisdata.commodityQuantity,//项目数量
+                        patentTypeName:thisdata.patentTypeName,//官费类型名称
                         sort: thisdata.sort,
                     })
+
                 }
             }.bind(this),
         }).always(
@@ -358,12 +363,16 @@ class DetailsModal extends Component{
                 >
                     <TabPane tab="外包/供应商信息" key="1">
                         {this.state.activeKey === '1' ? <CheckProject
+                            isAuditPayment={true}
                             {...this.props}
                             tid={this.props.tid}
+                            patentTypeName={this.state.patentTypeName}                  //官费类型
+                            commodityQuantity={this.state.commodityQuantity}            //项目数量
+                            checkStatus={this.state.checkStatus}                        //核对状态
+                            orderTaskCostReduction={this.state.orderTaskCostReduction}    //是否含费减  0无1有
                             orderTaskOfficialCost={this.state.orderTaskOfficialCost}    //是否含官费  0无1有
                             containOfficialFees={this.state.containOfficialFees}        //0:实际已缴费 1:实际未缴费
                             oldInfor={this.state.oldInfor}
-                            isAuditPayment={true}
                             mid={this.state.mid}
                             status={this.state.refundStatus}
                             patentNameType={this.state.orderDtails.patentNameType}

+ 13 - 53
js/component/manageCenter/order/orderNew/costAuditList/detailsModal/projectOverview.js

@@ -34,6 +34,7 @@ import moment from "moment";
 import $ from "jquery";
 import {getProjectName} from "../../../../../tools";
 import EnterpriseNameChange from "../../../../../common/enterpriseNameChange";
+import ProjectOperation from "../../../../../common/projectOperation";
 
 const FormItem = Form.Item
 const { Option } = Select
@@ -992,59 +993,18 @@ class projectOverview extends Component{
                         </Spin>
                     </div>
                 </Modal>
-                <Modal maskClosable={false} visible={this.state.addnextVisible} onCancel={()=>{
-                    this.setState({
-                        addnextVisible: false
-                    })
-                }}
-                       width='550px'
-                       title='查看项目详细'
-                       footer=''
-                       className="admin-desc-content">
-                    <Form layout="horizontal" id="demand-form">
-                        <Spin spinning={this.state.loading}>
-                            <div className="clearfix">
-                                <FormItem
-                                    className="half-item"
-                                    {...formItemLayout}
-                                    label="项目名称"
-                                >
-                                    <span>{editFw.commodityName}</span>
-                                </FormItem>
-                                <FormItem
-                                    className="half-item"
-                                    {...formItemLayout}
-                                    label="项目数量"
-                                >
-                                    <span>{editFw.commodityQuantity}</span>
-                                </FormItem>
-                                <FormItem
-                                    className="half-item"
-                                    {...formItemLayout}
-                                    label="金额(万元)"
-                                >
-                                    <span>{editFw.commodityPrice}</span>
-                                </FormItem>
-                                <FormItem
-                                    className="half-item"
-                                    {...formItemLayout}
-                                    label="主要项目"
-                                >
-                                    <span>{editFw.main ? '是' : '否'}</span>
-                                </FormItem>
-                                <div className="clearfix">
-                                    <FormItem
-                                        labelCol={{ span: 4 }}
-                                        wrapperCol={{ span: 16 }}
-                                        label="服务说明"
-                                    >
-                                        <span>{editFw.taskComment}</span>
-                                    </FormItem>
-                                </div>
-                            </div>
-                        </Spin>
-                    </Form >
-                </Modal>
+                {this.state.addnextVisible ? <ProjectOperation
+                    readOnly={true}
+                    orderNo={this.state.orderNo}
+                    visible={this.state.addnextVisible}
+                    dataInfor={editFw}
+                    onCancel={()=>{
+                        this.setState({
+                            addnextVisible: false,
+                            editFw:{},
+                        })
+                    }}
+                /> : null}
             </Form>
         )
     }

+ 179 - 22
js/component/manageCenter/order/orderNew/costAuditList/index.js

@@ -4,7 +4,7 @@ import {
     Spin,
     Table,
     message,
-    Tooltip, Tabs, Button,Modal
+    Tooltip, Tabs, Button, Modal, Form, Input
 } from "antd";
 import {ShowModal,getProjectStatus} from "@/tools";
 import FilterColumn from './filterColumn';
@@ -18,6 +18,19 @@ import {ChooseList} from "../chooseList";
 import {getProjectName} from "../../../../tools";
 
 const { TabPane } = Tabs;
+const layout = {
+    labelCol: {
+        span: 8,
+    },
+    wrapperCol: {
+        span: 16,
+    },
+};
+
+const formItemLayout = {
+    labelCol: { span: 8 },
+    wrapperCol: { span: 14 },
+};
 
 class CostAuditList extends Component{
     constructor(props) {
@@ -44,9 +57,9 @@ class CostAuditList extends Component{
                     title: "项目状态",
                     dataIndex: "projectStatus",
                     key: "projectStatus",
-                    render: (text) => {
-                        return getProjectName(text);
-                    },
+                    render: (text) => (
+                        getProjectName(text)
+                    ),
                 },
                 {
                     title: "分类名称",
@@ -103,8 +116,8 @@ class CostAuditList extends Component{
                     dataIndex: "chooseType",
                     key: "chooseType",
                     render: (text) => {
-                        return text == 0 ? '第三方成本' :
-                                text == 1 ? '催款节点' :'官费';
+                        return text === 0 ? '第三方成本' :
+                                text === 1 ? '催款节点' : text === 2 ? '官费' : '';
                     },
                 },
                 {
@@ -175,6 +188,7 @@ class CostAuditList extends Component{
                                     })
                                 }}>
                                     {
+                                        this.props.isPatentManager ? '查看详情' :
                                         record.status === 0 ? '待审核' :
                                             record.status === 1 ? '待支付' :
                                                 record.status === 2 ? '查看详情' : '查看详情'
@@ -227,6 +241,7 @@ class CostAuditList extends Component{
             orderPaymentsId: 0,
         }
         this.printAll = this.printAll.bind(this);
+        this.examineAll = this.examineAll.bind(this);
         this.exportExec = this.exportExec.bind(this);
         this.changeList = this.changeList.bind(this);
     }
@@ -234,21 +249,34 @@ class CostAuditList extends Component{
     componentDidMount() {
         this.loadData()
         if(this.props.isPatentManager){
-            let arr = JSON.parse(JSON.stringify(this.state.columns));
+            let arr = this.state.columns;
+            arr.splice(7, 0, {
+                title: "官费",
+                dataIndex: "officialCost",
+                key: "officialCost",
+                render: (text,record) => {
+                    return (
+                        (text === 1 ? '含官费' : '不含官费' ) + (record.costReduction === 1 ? '有费减' : '')
+                    )
+                }
+            })
+            arr.splice(8, 0, {
+                title: "流程状态",
+                dataIndex: "processStatus",
+                key: "processStatus",
+                render: (text,record) => {
+                    return (
+                        text === 0 ? '发起' :
+                            text === 1 ? '专利管理员审核' :
+                                text === 2 ? '财务审核' : ''
+                    )
+                }
+            })
             this.setState({
-                columns:arr.splice(7, 0, {
-                    title: "官费",
-                    dataIndex: "officialCost",
-                    key: "officialCost",
-                    render: (text,record) => {
-                        return (
-                            (text === 1 ? '含官费' : '不含官费' ) + (record.costReduction === 1 ? '有费减' : '')
-                        )
-                    }
-                },)
+                columns:arr
             })
         }else{
-            let arr = JSON.parse(JSON.stringify(this.state.columns));
+            let arr = this.state.columns;
             arr.splice(9, 0, {
                 title: "签单金额(万元)",
                 dataIndex: "totalAmount",
@@ -323,6 +351,80 @@ class CostAuditList extends Component{
         })
     }
 
+    //专利审核
+    examineAll(status){
+        if(!this.state.remarks){
+            message.warning('请输入备注')
+            return;
+        }
+        let _this = this;
+        Modal.confirm({
+            title: '确定要批量审核已标记的条目吗?',
+            content: '已标记的序号为'+_this.state.selectedRowKeys.join(','),
+            okText: '确定',
+            okType: 'primary',
+            cancelText: '取消',
+            onOk() {
+                _this.setState({
+                    loading: true,
+                });
+                let data = {
+                    remarks:_this.state.remarks,
+                    status:status
+                }
+                if(_this.state.selectedRowKeys.length === 1){
+                    data.pid = _this.state.selectedRowKeys[0]
+                }else{
+                    data.pids = _this.state.selectedRowKeys.join(',')
+                }
+                $.ajax({
+                    method: "POST",
+                    dataType: "json",
+                    crossDomain: false,
+                    url: globalConfig.context + "/api/admin/company/paymentExamine",
+                    data: data,
+                }).done(
+                    function (data) {
+                        _this.setState({
+                            loading: false,
+                        });
+                        if (data.error.length === 0) {
+                            // let failLength = data.data.fail.length;
+                            // let okLength = data.data.OK.length;
+                            // Modal.info({
+                            //     title: '操作提醒',
+                            //     content: (
+                            //         <div>
+                            //             <div style={{paddingBottom:'15px'}}>
+                            //                 {'操作成功'+okLength+'条,'+'操作失败'+failLength+'条'}
+                            //             </div>
+                            //             {
+                            //                 failLength !== 0 ?
+                            //                     <div>操作失败序号为:{data.data.fail.join(',')}</div>:
+                            //                     <div/>
+                            //             }
+                            //         </div>
+                            //     ),
+                            //     onOk() {},
+                            // });
+                            message.success('审核成功')
+                            _this.setState({
+                                selectedRowKeys: [],
+                                patentVisible:false
+                            });
+                            _this.loadData(_this.state.page);
+                        } else {
+                            message.warning(data.error[0].message);
+                        }
+                    }.bind(_this)
+                );
+            },
+            onCancel() {
+                // console.log('Cancel');
+            },
+        });
+    }
+
     //批量审核
     printAll() {
         if(this.state.selectedRowKeys.length === 0){
@@ -450,7 +552,15 @@ class CostAuditList extends Component{
                       <Button
                           type="primary"
                           style={{ margin: "11px 0px 10px 10px" }}
-                          onClick={this.printAll}
+                          onClick={this.props.isPatentManager ? ()=>{
+                              if(this.state.selectedRowKeys.length === 0){
+                                  message.warning('请先选择需要批量审核的专利');
+                                  return;
+                              }
+                              this.setState({
+                                  patentVisible:true
+                              })
+                          } : this.printAll}
                           disabled={!this.state.dataSource.length}
                       >
                           {this.props.isPatentManager ? '批量审核' :'批量支付'}
@@ -498,7 +608,7 @@ class CostAuditList extends Component{
                               },
                               getCheckboxProps: (record) => ({
                                   // 0审核 1待支付 2驳回 3已支付   只有待支付可以勾选
-                                  disabled: record.status !== 1,
+                                  disabled: this.props.isPatentManager ? record.processStatus !== 1 : record.status !== 1,
                               })
                           }}
                           scroll={{ x: "max-content", y: 0 }}
@@ -510,6 +620,8 @@ class CostAuditList extends Component{
               {
                   this.state.visible ?
                       <DetailsModal
+                          isAuditPayment={!this.props.isPatentManager}
+                          isAuditPaymentGLY={this.props.isPatentManager}
                           tid={this.state.selectInfor.tid}
                           orderNo={this.state.selectInfor.orderNo}
                           projectType={this.state.selectInfor.projectType}
@@ -532,7 +644,8 @@ class CostAuditList extends Component{
                       tid={this.state.tid}
                       visible={this.state.paymentVisible}
                       projectType={this.state.projectType}
-                      isAuditPayment={true}
+                      isAuditPayment={!this.props.isPatentManager}
+                      isAuditPaymentGLY={this.props.isPatentManager}
                       onCancer={()=>{
                           this.setState({
                               paymentVisible: false,
@@ -556,7 +669,8 @@ class CostAuditList extends Component{
                   payId={this.state.orderPaymentsId}
                   visible={this.state.payRecordVisible}
                   tid={this.state.tid}
-                  isAuditPayment={true}
+                  isAuditPayment={!this.props.isPatentManager}
+                  isAuditPaymentGLY={this.props.isPatentManager}
                   projectType={this.state.projectType}
                   changeVisible={()=>{
                       this.loadData(this.state.page,this.state.searchInfor);
@@ -568,6 +682,49 @@ class CostAuditList extends Component{
                       })
                   }}
               /> : <div/>}
+              <Modal
+                  title='专利成本审核'
+                  className='payRecordComponent'
+                  width={500}
+                  maskClosable={false}
+                  footer={null}
+                  visible={this.state.patentVisible}
+                  onCancel={() => {
+                      this.setState({
+                          patentVisible:false
+                      })
+                  }}
+              >
+                  <Form
+                      {...layout}
+                      name="basic"
+                      initialValues={{
+                          remember: true,
+                      }}
+                  >
+                      <div style={{
+                          paddingBottom:'20px'
+                      }}>
+                          <div style={{
+                              paddingBottom:'10px'
+                          }}>成本审核备注:</div>
+                          <Input
+                              row={5}
+                              type="textarea"
+                              onChange={(e) => { this.setState({
+                                  remarks:e.target.value
+                              })}} />
+                      </div>
+                      <div style={{display:'flex',justifyContent:'center'}}>
+                          <Button type='primary' style={{marginRight:'15px'}} onClick={()=>{
+                              this.examineAll(1);
+                          }}>通过</Button>
+                          <Button type='primary' style={{background:'#f00'}} onClick={()=>{
+                              this.examineAll(2);
+                          }}>驳回</Button>
+                      </div>
+                  </Form>
+              </Modal>
           </div>
         );
     }

+ 8 - 0
js/component/manageCenter/order/orderNew/glCostAuditList/detailsModal/index.js

@@ -272,6 +272,10 @@ class DetailsModal extends Component{
                     this.setState({
                         orderTaskOfficialCost: thisdata.officialCost,    //官费 0无 1有
                         sort: thisdata.sort,
+                        orderTaskCostReduction: thisdata.costReduction,//费减
+                        checkStatus:thisdata.checkStatus,//核对状态
+                        commodityQuantity:thisdata.commodityQuantity,//项目数量
+                        patentTypeName:thisdata.patentTypeName,//官费类型名称
                     })
                 }
             }.bind(this),
@@ -359,6 +363,10 @@ class DetailsModal extends Component{
                         {this.state.activeKey === '1' ? <CheckProject
                             {...this.props}
                             tid={this.props.tid}
+                            patentTypeName={this.state.patentTypeName}                  //官费类型
+                            commodityQuantity={this.state.commodityQuantity}            //项目数量
+                            checkStatus={this.state.checkStatus}                        //核对状态
+                            orderTaskCostReduction={this.state.orderTaskCostReduction}    //是否含费减  0无1有
                             orderTaskOfficialCost={this.state.orderTaskOfficialCost}    //是否含官费  0无1有
                             containOfficialFees={this.state.containOfficialFees}        //0:实际已缴费 1:实际未缴费
                             oldInfor={this.state.oldInfor}

+ 8 - 0
js/component/manageCenter/order/orderNew/outsourcingPro.jsx

@@ -631,6 +631,10 @@ const outsourcingPro = Form.create()(
               orderTaskOfficialCost: thisdata.officialCost,    //官费 0无 1有
               sort: thisdata.sort,
               cSort: thisdata.sort,
+              orderTaskCostReduction: thisdata.costReduction,//费减
+              checkStatus:thisdata.checkStatus,//核对状态
+              commodityQuantity:thisdata.commodityQuantity,//项目数量
+              patentTypeName:thisdata.patentTypeName,//官费类型名称
             })
           }
         }.bind(this),
@@ -1543,6 +1547,10 @@ const outsourcingPro = Form.create()(
                     <CheckProject
                         {...this.props}
                         tid={this.state.tid}
+                        patentTypeName={this.state.patentTypeName}                  //官费类型
+                        commodityQuantity={this.state.commodityQuantity}            //项目数量
+                        checkStatus={this.state.checkStatus}                        //核对状态
+                        orderTaskCostReduction={this.state.orderTaskCostReduction}    //是否含费减  0无1有
                         orderTaskOfficialCost={this.state.orderTaskOfficialCost}    //是否含官费  0无1有
                         containOfficialFees={this.state.containOfficialFees}        //0:实际已缴费 1:实际未缴费
                         oldInfor={this.state.oldInfor}

+ 6 - 1
js/component/manageCenter/project/task/myTask.jsx

@@ -4679,6 +4679,7 @@ const Task = React.createClass({
                                       alignItems:'center',
                                     }}
                                     id={this.state.id}
+                                    patentTypeName={this.state.patentTypeName}
                                     checkStatus={this.state.checkStatus}  //核对状态
                                     projectType={this.state.projectType}  //项目类型
                                     patentType={this.state.patentType}   //专利类型
@@ -6042,6 +6043,7 @@ const Task = React.createClass({
                                     alignItems:'center',
                                   }}
                                   id={this.state.id}
+                                  patentTypeName={this.state.patentTypeName}
                                   checkStatus={this.state.checkStatus}  //核对状态
                                   projectType={this.state.projectType}  //项目类型
                                   patentType={this.state.patentType}   //专利类型
@@ -6049,7 +6051,7 @@ const Task = React.createClass({
                                   orderTaskOfficialCost={this.state.orderTaskOfficialCost}  //1含官费 0不含官费
                                   orderTaskCostReduction={this.state.orderTaskCostReduction} //1有费减 0无费减
                                   isPreviewPay={false}
-                                  status={this.state.refundStatus}
+                                  status={this.state.refundStatus}//0-待审核 ,1-审核通过,2-审核拒绝
                               />
                         }
                       </FormItem>
@@ -6291,7 +6293,10 @@ const Task = React.createClass({
                           <CheckProject
                               {...this.props}
                               tid={this.state.tid}
+                              patentTypeName={this.state.patentTypeName}                  //官费类型
+                              commodityQuantity={this.state.commodityQuantity}            //项目数量
                               checkStatus={this.state.checkStatus}                        //核对状态
+                              orderTaskCostReduction={this.state.orderTaskCostReduction}    //是否含费减  0无1有
                               orderTaskOfficialCost={this.state.orderTaskOfficialCost}    //是否含官费  0无1有
                               containOfficialFees={this.state.containOfficialFees}        //0:实际已缴费 1:实际未缴费
                               oldInfor={this.state.oldInfor}

+ 73 - 127
js/component/manageCenter/project/task/myTaskOutsource.jsx

@@ -57,6 +57,8 @@ import DeclarationProgress from "../../../common/declarationProgress";
 import OrderItemStatus from "../../../common/orderItemStatus";
 import ProjectLog from "./projectLog";
 import EnterpriseNameChange from "../../../common/enterpriseNameChange";
+import PatentCheck from "../../../common/patentCheck";
+import ProjectOperation from "../../../common/projectOperation";
 const FormItem = Form.Item;
 const { Option } = Select;
 const { TextArea } = Input;
@@ -1095,6 +1097,7 @@ const MyTaskOutsource = React.createClass({
             outsourcePrice: thisdata.outsourcePrice, //外包价格
             declarationBatch: thisdata.declarationBatch,
             orderTaskOfficialCost: thisdata.officialCost,    //官费 0无 1有
+            orderTaskCostReduction: thisdata.costReduction,//费减
             bpType:thisdata.bpType,//0 正常 1专利 2软著 3审计 4双软 5高新 6商标
             specialComment: thisdata.specialComment,
             urgentDay: thisdata.urgentDay, //有无材料
@@ -1109,6 +1112,8 @@ const MyTaskOutsource = React.createClass({
             commodityQuantity:thisdata.commodityQuantity, //派单项目数PatentSchedule
             timeRecord: thisdata.timeRecord || '{}',//项目状态JSON
             timeRecordparse: thisdata.timeRecord ? JSON.parse(thisdata.timeRecord) : {},//项目状态JSON
+            checkStatus:thisdata.checkStatus,//核对状态
+            patentTypeName:thisdata.patentTypeName
           });
         }
       }.bind(this),
@@ -1633,36 +1638,17 @@ const MyTaskOutsource = React.createClass({
   },
   nextCancel() {
     this.setState({
-      addnextVisible: false,
-      displayFees: "none",
-      costReduction: '',
-      officialCost: '',
+      projectOperationVisible: false,
+      dataInfor:{},
+    },()=>{
+      this.xiangmu(this.state.orderNo);
     });
   },
   //点击打卡项目详情
   tableRowClickX(record) {
-    if (record.type == "1") {
-      this.setState({
-        displayFees: "block",
-        costReduction: record.costReduction,
-        officialCost: record.officialCost,
-      });
-    }else{
-      this.setState({
-        displayFees: "none",
-      });
-    }
     this.setState({
-      jid: record.id, //项目ID
-      kid: record.commodityId, //商品ID
-      commodityName: record.commodityName, //金额
-      commodityPrice: record.commodityPrice, //金额
-      commodityQuantity: record.commodityQuantity, //数量
-      taskComment: record.taskComment, //备注
-      taskCommentData: record.taskComment, //原项目说明
-      main: record.main.toString(), //是否为主要
-      addnextVisible: true,
-      addState: 0,
+      projectOperationVisible:true,
+      dataInfor:record,
     });
   },
   //关闭添加工时
@@ -2490,22 +2476,22 @@ const MyTaskOutsource = React.createClass({
                           申请付款
                         </Button>
                       }
-                      {
-                        <Button
-                            type="primary"
-                            style={{
-                              marginLeft: '10px',
-                            }}
-                            disabled={!(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1) && this.props.dataSource.length === 0)}
-                            onClick={() => {
-                              this.setState({
-                                previewPayVisible: true,
-                                previewPayInfor: record,
-                              })
-                            }}>
-                          付官费
-                        </Button>
-                      }
+                      {/*{*/}
+                      {/*  <Button*/}
+                      {/*      type="primary"*/}
+                      {/*      style={{*/}
+                      {/*        marginLeft: '10px',*/}
+                      {/*      }}*/}
+                      {/*      disabled={!(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1) && this.props.dataSource.length === 0)}*/}
+                      {/*      onClick={() => {*/}
+                      {/*        this.setState({*/}
+                      {/*          previewPayVisible: true,*/}
+                      {/*          previewPayInfor: record,*/}
+                      {/*        })*/}
+                      {/*      }}>*/}
+                      {/*    付官费*/}
+                      {/*  </Button>*/}
+                      {/*}*/}
                       <Popconfirm
                           title="是否删除?"
                           onConfirm={() => {
@@ -4385,21 +4371,40 @@ const MyTaskOutsource = React.createClass({
                                 </FormItem>
                               </div>
                               {/*外包类型无此选项*/}
-                              {this.state.orderTaskOfficialCost === 1 && this.state.startType !== 0 ? <div className="clearfix">
+                              {this.state.startType !== 0 && this.state.projectType === 1 ? <div className="clearfix">
                                 <FormItem
                                     className="half-item"
-                                    labelCol={{ span: 4 }}
-                                    wrapperCol={{ span: 14 }}
+                                    labelCol={{ span: 3 }}
+                                    wrapperCol={{ span: 15 }}
                                     label={<span>官费</span>}>
-                                  <Radio.Group
-                                      value={this.state.containOfficialFees}
-                                      onChange={(e) => {
-                                        this.setState({ containOfficialFees: e.target.value })
-                                      }}
-                                  >
-                                    <Radio value={0}>实际已缴费</Radio>
-                                    <Radio value={1}>实际未缴费</Radio>
-                                  </Radio.Group>
+                                  {
+                                    this.state.patentType === 1 ?
+                                        <Radio.Group
+                                            value={this.state.containOfficialFees}
+                                            onChange={(e) => {
+                                              this.setState({ containOfficialFees: e.target.value })
+                                            }}
+                                        >
+                                          <Radio value={0}>实际已缴费</Radio>
+                                          <Radio value={1}>实际未缴费</Radio>
+                                        </Radio.Group>:
+                                        <PatentCheck
+                                            style={{
+                                              display:'flex',
+                                              alignItems:'center',
+                                            }}
+                                            id={this.state.id}
+                                            patentTypeName={this.props.patentTypeName}
+                                            checkStatus={this.state.checkStatus}  //核对状态
+                                            projectType={this.state.projectType}  //项目类型
+                                            patentType={this.state.patentType}   //专利类型
+                                            startType={this.state.startType}   //1供应商 0外包
+                                            orderTaskOfficialCost={this.state.orderTaskOfficialCost}  //1含官费 0不含官费
+                                            orderTaskCostReduction={this.state.orderTaskCostReduction} //1有费减 0无费减
+                                            isPreviewPay={true}
+                                            status={this.state.refundStatus}
+                                        />
+                                  }
                                 </FormItem>
                               </div> : <div/>}
                               {/* 第三方信息专利 */}
@@ -4628,6 +4633,10 @@ const MyTaskOutsource = React.createClass({
                         <CheckProject
                             {...this.props}
                             tid={this.state.tid}
+                            orderTaskCostReduction={this.state.orderTaskCostReduction}    //是否含费减  0无1有
+                            patentTypeName={this.state.patentTypeName}                  //官费类型
+                            commodityQuantity={this.state.commodityQuantity}            //项目数量
+                            checkStatus={this.state.checkStatus}
                             orderTaskOfficialCost={this.state.orderTaskOfficialCost}    //是否含官费  0无1有
                             containOfficialFees={this.state.containOfficialFees}        //0:实际已缴费 1:实际未缴费
                             status={this.state.refundStatus}
@@ -4757,80 +4766,13 @@ const MyTaskOutsource = React.createClass({
             </Spin>
           </Form>
         </Modal>
-        {this.state.addnextVisible ? <Modal
-          maskClosable={false}
-          visible={this.state.addnextVisible}
-          onOk={this.nextCancel}
-          onCancel={this.nextCancel}
-          width="800px"
-          title="项目项目详情"
-          footer=""
-          className="admin-desc-content"
-        >
-          <Form layout="horizontal" onSubmit={this.nextSubmit} id="demand-form">
-            <Spin spinning={this.state.loading}>
-              <div className="clearfix">
-                <FormItem
-                  className="half-item"
-                  {...formItemLayout}
-                  label="项目名称"
-                >
-                  <span>{this.state.commodityName}</span>
-                </FormItem>
-                <FormItem
-                  className="half-item"
-                  {...formItemLayout}
-                  label="项目数量"
-                >
-                  <span>{this.state.commodityQuantity}</span>
-                </FormItem>
-                <FormItem
-                    className="half-item"
-                    {...formItemLayout}
-                    label="官费"
-                    style={{ display: this.state.displayFees }}
-                >
-                        <span>
-                          {this.state.officialCost == 0 ? "无官费" : "有官费"}
-                        </span>
-                </FormItem>
-                <FormItem
-                    className="half-item"
-                    {...formItemLayout}
-                    label="费减"
-                    style={{ display: this.state.displayFees }}
-                >
-                        <span>
-                          {this.state.costReduction == 0 ? "无费减" : "有费减"}
-                        </span>
-                </FormItem>
-                <FormItem
-                  className="half-item"
-                  {...formItemLayout}
-                  label="金额(万元)"
-                >
-                  <span>{this.state.commodityPrice}</span>
-                </FormItem>
-                <FormItem
-                  className="half-item"
-                  {...formItemLayout}
-                  label="主要项目"
-                >
-                  <span>{getboutique(this.state.main)}</span>
-                </FormItem>
-                <div className="clearfix">
-                  <FormItem
-                    labelCol={{ span: 3 }}
-                    wrapperCol={{ span: 18 }}
-                    label="服务说明"
-                  >
-                    <span>{this.state.taskComment}</span>
-                  </FormItem>
-                </div>
-              </div>
-            </Spin>
-          </Form>
-        </Modal> : <div/>}
+        {this.state.projectOperationVisible ? <ProjectOperation
+            readOnly={this.state.dataInfor && Object.keys(this.state.dataInfor).length > 0 && this.state.processStatus !== 0}
+            orderNo={this.state.orderNo}
+            visible={this.state.projectOperationVisible}
+            dataInfor={this.state.dataInfor}
+            onCancel={this.nextCancel}
+        /> : null}
         <Modal
           maskClosable={false}
           visible={this.state.speVisible}
@@ -5484,6 +5426,10 @@ const MyTaskOutsource = React.createClass({
                 {this.state.speVisible && this.state.modKey === '2'?<CheckProject
                     {...this.props}
                     tid={this.state.tid}
+                    orderTaskCostReduction={this.state.orderTaskCostReduction}    //是否含费减  0无1有
+                    patentTypeName={this.state.patentTypeName}                  //官费类型
+                    commodityQuantity={this.state.commodityQuantity}            //项目数量
+                    checkStatus={this.state.checkStatus}
                     orderTaskOfficialCost={this.state.orderTaskOfficialCost}    //是否含官费  0无1有
                     containOfficialFees={this.state.containOfficialFees}        //0:实际已缴费 1:实际未缴费
                     status={this.state.refundStatus}

+ 8 - 0
js/component/manageCenter/project/task/payApplyReject/detailsModal/index.js

@@ -272,6 +272,10 @@ class DetailsModal extends Component{
                     localStorage.setItem('cSort', thisdata.sort);
                     this.setState({
                         orderTaskOfficialCost: thisdata.officialCost,    //官费 0无 1有
+                        orderTaskCostReduction: thisdata.costReduction,//费减
+                        checkStatus:thisdata.checkStatus,//核对状态
+                        commodityQuantity:thisdata.commodityQuantity,//项目数量
+                        patentTypeName:thisdata.patentTypeName,//官费类型名称
                         sort: thisdata.sort,
                     })
                 }
@@ -355,6 +359,10 @@ class DetailsModal extends Component{
                         {this.state.activeKey === '1' ? <CheckProject
                             {...this.props}
                             tid={this.props.tid}
+                            patentTypeName={this.state.patentTypeName}                  //官费类型
+                            commodityQuantity={this.state.commodityQuantity}            //项目数量
+                            checkStatus={this.state.checkStatus}                        //核对状态
+                            orderTaskCostReduction={this.state.orderTaskCostReduction}    //是否含费减  0无1有
                             oldInfor={this.state.oldInfor}
                             orderTaskOfficialCost={this.state.orderTaskOfficialCost}    //是否含官费  0无1有
                             containOfficialFees={this.state.containOfficialFees}        //0:实际已缴费 1:实际未缴费

+ 8 - 0
js/component/project.jsx

@@ -227,6 +227,10 @@ const project = React.createClass({
         } else {
           let thisdata = data.data
           this.setState({
+            orderTaskCostReduction: thisdata.costReduction,//费减
+            checkStatus:thisdata.checkStatus,//核对状态
+            commodityQuantity:thisdata.commodityQuantity,//项目数量
+            patentTypeName:thisdata.patentTypeName,//官费类型名称
             id: thisdata.id, //ID
             orderNo: thisdata.orderNo, //订单编号
             userName: thisdata.userName, //客户名称
@@ -1319,6 +1323,10 @@ const project = React.createClass({
                         <CheckProject
                             {...this.props}
                             tid={this.props.record.id}
+                            patentTypeName={this.state.patentTypeName}                  //官费类型
+                            commodityQuantity={this.state.commodityQuantity}            //项目数量
+                            checkStatus={this.state.checkStatus}                        //核对状态
+                            orderTaskCostReduction={this.state.orderTaskCostReduction}    //是否含费减  0无1有
                             orderTaskOfficialCost={this.state.orderTaskOfficialCost}    //是否含官费  0无1有
                             containOfficialFees={this.state.containOfficialFees}        //0:实际已缴费 1:实际未缴费
                             oldInfor={this.state.oldInfor}

+ 1 - 1
package.json

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