import React, { Component } from 'react'
import {
Form,
Spin,
Table,
Modal,
Col,
Upload,
Input,
Button, message,
Row, Popconfirm,
} from 'antd'
import {getProjectStatus,} from '@/tools'
import { getMaterialStatus, getUrgentStatus } from '@/tools'
import ApplyPaymentModal from './applyPaymentModal';
import PayRecord from './payRecord';
import './index.less'
import $ from "jquery";
class CheckProject extends Component {
constructor(props) {
super(props)
this.state = {
value: '',
loading: false,
previewImage: '',
previewVisible: false,
payRecordVisible: false,
orderPaymentsId: 0,
previewPayVisible: false,
previewPayInfor: {}, //点击申请付款的第三方信息或者支付节点信息
nodeId: 0,
// 专利
ContactsListsNew: [
{
title: '供应商名称',
dataIndex: 'companyName',
key: 'companyName',
render: (text, record, index) => {
if (text) {
return {text}
}
},
},
{
title: '单价(万元)',
dataIndex: 'unitPrice',
key: 'unitPrice',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '数量',
dataIndex: 'quantity',
key: 'quantity',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '总价(万元)',
dataIndex: 'totalAmount',
key: 'totalAmount',
render: (text, record) => {
return {text}
},
},
{
title: '已付(万元)',
dataIndex: 'partyAmount',
key: 'partyAmount',
render: (text, record) => {
return {text}
},
},
{
title: '材料',
dataIndex: 'material',
key: 'material',
render: (text, record) => {
return getMaterialStatus(text)
},
},
{
title: '加急',
dataIndex: 'urgent',
key: 'urgent',
render: (text, record) => {
return getUrgentStatus(text)
},
},
{
title: '操作',
dataIndex: 'action',
key: 'action',
render: (ext, record, index) => {
return (
{/*外包审核通过后,咨询师/咨询经理可申请付款*/}
{/*存在支付节点时不显示第三方的申请付款*/}
{/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
{
}
{
this.confirmDeletNew(record)
}}
okText="删除"
cancelText="不删除"
>
)
},
},
],
//付款节点表头
PayNodeTableColunms: [
{
title: '供应商名称',
dataIndex: 'companyName',
key: 'companyName',
render: (text, record, index) => {
if (text) {
return {text}
}
},
},
{
title: '付款科目',
dataIndex: 'dunType',
key: 'dunType',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '付款时间',
dataIndex: 'partyTimes',
key: 'partyTimes',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '数量',
dataIndex: 'quantity',
key: 'quantity',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '总价(万元)',
dataIndex: 'totalAmount',
key: 'totalAmount',
render: (text, record) => {
return {text}
},
},
{
title: '已付(万元)',
dataIndex: 'partyAmount',
key: 'partyAmount',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '操作',
dataIndex: 'action',
key: 'action',
render: (text, record) => {
return (
{/*外包审核通过后,咨询师/咨询经理可申请付款*/}
{/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
)
},
},
],
outsourceLogs: [],//审核日志
selectOrderPayments: [],//支付列表
}
}
componentDidMount() {
if(this.props.tid){
setTimeout(()=>{
this.getSelectOutsourceLog();
this.getSelectOrderPayment();
this.projectTypeTabContent(this.props.projectType);
},500)
}
}
projectTypeTabContent(projectType) {
if(projectType === 0){ //0正常 1专利 2软著 3审计
this.setState({
ContactsListsNew: [
{
title: '供应商名称',
dataIndex: 'companyName',
key: 'companyName',
render: (text, record, index) => {
if (text) {
return {text}
}
},
},
{
title: '单价(万元)',
dataIndex: 'unitPrice',
key: 'unitPrice',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '数量',
dataIndex: 'quantity',
key: 'quantity',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '总价(万元)',
dataIndex: 'totalAmount',
key: 'totalAmount',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '备注',
dataIndex: 'remarks',
key: 'remarks',
},
{
title: '操作',
dataIndex: 'action',
key: 'action',
render: (text, record) => {
return (
{/*外包审核通过后,咨询师/咨询经理可申请付款*/}
{/*存在支付节点时不显示第三方的申请付款*/}
{/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
{
}
{
this.confirmDeletNew(record)
}}
okText="删除"
cancelText="不删除"
>
)
},
},
],
//付款节点表头
PayNodeTableColunms: [
{
title: '供应商名称',
dataIndex: 'companyName',
key: 'companyName',
render: (text, record, index) => {
if (text) {
return {text}
}
},
},
{
title: '付款科目',
dataIndex: 'dunType',
key: 'dunType',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '付款时间',
dataIndex: 'partyTimes',
key: 'partyTimes',
render: (text, record) => {
return {text ? text : '/'}
},
},
{
title: '数量',
dataIndex: 'quantity',
key: 'quantity',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '总价',
dataIndex: 'totalAmount',
key: 'totalAmount',
render: (text, record) => {
return {text}
},
},
{
title: '已付',
dataIndex: 'partyAmount',
key: 'partyAmount',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '操作',
dataIndex: 'dels',
key: 'dels',
render: (text, record, index) => {
return (
{
this.payNodeConfirmDeletNew(record)
}}
okText="删除"
cancelText="不删除"
>
)
},
},
],
})
}else if(projectType === 2){ //2软著
this.setState({
ContactsListsNew: [
{
title: '供应商名称',
dataIndex: 'companyName',
key: 'companyName',
render: (text, record, index) => {
if (text) {
return {text}
}
},
},
{
title: '单价(万元)',
dataIndex: 'unitPrice',
key: 'unitPrice',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '数量',
dataIndex: 'quantity',
key: 'quantity',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '总价(万元)',
dataIndex: 'totalAmount',
key: 'totalAmount',
render: (text, record) => {
if (text) {
return ***
}
},
},
{
title: '材料',
dataIndex: 'material',
key: 'material',
render: (text, record) => {
return getMaterialStatus(text)
},
},
{
title: '加急',
dataIndex: 'urgent',
key: 'urgent',
render: (text, record) => {
return getUrgentStatus(text)
},
},
{
title: '操作',
dataIndex: 'action',
key: 'action',
render: (text, record) => {
return (
{/*外包审核通过后,咨询师/咨询经理可申请付款*/}
{/*存在支付节点时不显示第三方的申请付款*/}
{/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
{
}
{
this.confirmDeletNew(record)
}}
okText="删除"
cancelText="不删除"
>
)
},
},
],
//付款节点表头
PayNodeTableColunms: [
{
title: '供应商名称',
dataIndex: 'companyName',
key: 'companyName',
render: (text, record, index) => {
if (text) {
return {text}
}
},
},
{
title: '付款科目',
dataIndex: 'dunType',
key: 'dunType',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '付款时间',
dataIndex: 'partyTimes',
key: 'partyTimes',
render: (text, record) => {
return {text ? text : '/'}
},
},
{
title: '数量',
dataIndex: 'quantity',
key: 'quantity',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '总价',
dataIndex: 'totalAmount',
key: 'totalAmount',
render: (text, record) => {
return ***
},
},
{
title: '已付',
dataIndex: 'partyAmount',
key: 'partyAmount',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '操作',
dataIndex: 'dels',
key: 'dels',
render: (text, record, index) => {
return (
{
this.payNodeConfirmDeletNew(record)
}}
okText="删除"
cancelText="不删除"
>
)
},
},
],
})
}else if(projectType === 1){ //1专利
if(this.props.patentType === 0){ //专利申请
this.setState({
ContactsListsNew: [
{
title: '供应商名称',
dataIndex: 'companyName',
key: 'companyName',
render: (text, record, index) => {
if (text) {
return {text}
}
},
},
{
title: '单价(万元)',
dataIndex: 'unitPrice',
key: 'unitPrice',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '数量',
dataIndex: 'quantity',
key: 'quantity',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: "官费",
dataIndex: "officialCost",
key: "officialCost",
render: (text) => {
return text === 1 ? '含官费' : '不含官费'
},
},
{
title: "费减",
dataIndex: "costReduction",
key: "costReduction",
render: (text) => {
return text === 1 ? '有费减' : '无费减'
},
},
{
title: '总价(万元)',
dataIndex: 'totalAmount',
key: 'totalAmount',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '备注',
dataIndex: 'remarks',
key: 'remarks',
},
{
title: '操作',
dataIndex: 'action',
key: 'action',
render: (text, record) => {
return (
{/*外包审核通过后,咨询师/咨询经理可申请付款*/}
{/*存在支付节点时不显示第三方的申请付款*/}
{/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
{
}
{
}
{
this.confirmDeletNew(record)
}}
okText="删除"
cancelText="不删除"
>
)
},
},
]
})
}else{
this.setState({
ContactsListsNew: [
{
title: '供应商名称',
dataIndex: 'companyName',
key: 'companyName',
render: (text, record, index) => {
if (text) {
return {text}
}
},
},
{
title: '单价(万元)',
dataIndex: 'unitPrice',
key: 'unitPrice',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '数量',
dataIndex: 'quantity',
key: 'quantity',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '总价(万元)',
dataIndex: 'totalAmount',
key: 'totalAmount',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '备注',
dataIndex: 'remarks',
key: 'remarks',
},
{
title: '操作',
dataIndex: 'action',
key: 'action',
render: (text, record) => {
return (
{/*外包审核通过后,咨询师/咨询经理可申请付款*/}
{/*存在支付节点时不显示第三方的申请付款*/}
{/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
{
}
{
this.confirmDeletNew(record)
}}
okText="删除"
cancelText="不删除"
>
)
},
},
]
})
}
}else if(projectType === 3){ //3审计
this.setState({
ContactsListsNew: [
{
title: '供应商名称',
dataIndex: 'companyName',
key: 'companyName',
render: (text, record, index) => {
if (text) {
return {text}
}
},
},
{
title: '单价(万元)',
dataIndex: 'unitPrice',
key: 'unitPrice',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '数量',
dataIndex: 'quantity',
key: 'quantity',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '总价(万元)',
dataIndex: 'totalAmount',
key: 'totalAmount',
render: (text, record) => {
if (text) {
return ***
}
},
},
{
title: '审计',
dataIndex: 'audit',
key: 'audit',
render: (text, record) => {
if (text) {
return {text===0?'无审计':text===1?'年审':'专审'}
}
},
},
{
title: '公司资产(万元)',
dataIndex: 'assets',
key: 'assets',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '收入(万元)',
dataIndex: 'income',
key: 'income',
render: (text, record) => {
if (text) {
return {text}
}
},
},
{
title: '操作',
dataIndex: 'action',
key: 'action',
render: (text, record) => {
return (
{/*外包审核通过后,咨询师/咨询经理可申请付款*/}
{/*存在支付节点时不显示第三方的申请付款*/}
{/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
{
}
{
this.confirmDeletNew(record)
}}
okText="删除"
cancelText="不删除"
>
)
},
},
]
})
}
}
onChange() {
this.setState({
value: e.target.value,
})
}
tableRowClickOne(record) {}
//点击付款节点详情
payNodeTableRowClickOne(record) {}
//外包日志列表
getSelectOutsourceLog(){
$.ajax({
method: 'get',
dataType: 'json',
crossDomain: false,
url: globalConfig.context + '/api/admin/outsourceOrg/selectOutsourceLog',
data: {
tid: this.props.tid,
},
success: function (data) {
if (data.error.length) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
} else {
this.setState({
outsourceLogs: data.data
})
}
}.bind(this),
}).always(
function () {
}.bind(this)
)
}
//支付列表
getSelectOrderPayment() {
$.ajax({
method: 'get',
dataType: 'json',
crossDomain: false,
url: globalConfig.context + '/api/admin/company/selectOrderPayment',
data: {
id: this.props.tid,
},
success: function (data) {
if (data.error.length) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
} else {
this.setState({
selectOrderPayments: data.data
})
}
}.bind(this),
}).always(
function () {
}.bind(this)
)
}
//0审核 1待支付 2驳回 3已支付 4取消
operationJudgmentName(id) {
if(this.props.isAuditPayment){ //财务
return id === 0 ? '待审核' :
id === 1 ? '待支付' :
id === 2 ? '查看详情' : '查看详情'
}else{
return id === 0 ? '待审核' :
id === 1 ? '待支付' :
id === 2 ? '查看详情' : '查看详情'
}
}
// 删除供应商信息
confirmDeletNew(index) {
this.setState({
loading: true,
ThirdListVisible: false,
})
$.ajax({
url: globalConfig.context + '/api/admin/company/deleteCompany',
method: 'post',
data: {
id: index.id,
},
}).done(
function (data) {
this.setState({
loading: false,
})
if (!data.error.length) {
message.success('删除成功!')
this.props.onRefresh()
} else {
message.warning(data.error[0].message)
}
}.bind(this)
)
}
render() {
return (
{
parseInt(this.props.startType) === 0 ?
外包(外包派单,不走总部)
提示高于总部价格,费用个人承担
:
供应商信息(普通单)
}
项目状态:{getProjectStatus(this.props.projectStatus)}
合同/协议扫描件
{
this.setState({
previewImage: file.url || file.thumbUrl,
previewVisible: true,
})
}}
/>
{
this.setState({ previewVisible: false })
}}
>
{parseInt(this.props.startType) !== 1 ?
外包状态
{
this.state.outsourceLogs.map((value,index)=>(
{value.aname}
{
value.status === 0 ? '发起外包审核' :
value.status === 1 ? '通过' : '驳回'
}
{value.remarks}
{value.createTimes}
))
}
:
}
支付记录
编号
{/**/}
{/* */}
{/* 订单编号*/}
{/*
*/}
{/**/}
支付类型
申请支付金额(万元)
申请时间
状态
{
this.state.selectOrderPayments.map((value,index)=>(
{index+1 < 10 ? '0'+(index+1) : index+1}
{/**/}
{/* */}
{/* 订单编号*/}
{/*
*/}
{/**/}
{value.paymentType === 0 ? '第三方' : '官费'}
{value.applicationAmount}
{value.createTimes}
{
value.status === 0 ? '审核中' :
value.status === 1 ? '审核通过' :
value.status === 2 ? '已驳回' :
value.status === 3 ? '支付完成' : '已取消'
}
))
}
{/*
申请付款
tid:项目id
nodeId: 付款节点id
previewPayInfor: 项目或者节点信息
*/}
{
this.props.onRefresh();
this.getSelectOrderPayment();
}}
changeVisible={()=>{
this.setState({
previewPayVisible: false,
nodeId: 0, //付款节点id
previewPayInfor: {},
})
}}/>
{/* 支付记录操作弹出 */}
{this.state.payRecordVisible ? {
this.props.onRefresh();
this.getSelectOrderPayment();
}}
changeVisible={()=>{
this.getSelectOrderPayment();
this.setState({
payRecordVisible: false,
})
}}
/> : }
)
}
}
export default CheckProject