import React, { Component } from 'react'
import {
  Form,
  Spin,
  Table,
  Modal,
  Col,
  Tag,
  Button,
  message,
  Tooltip,
  Popconfirm,
} from 'antd'
import { getMaterialStatus, getUrgentStatus, getProjectName } from '@/tools'
import ApplyPaymentModal from './applyPaymentModal';
import PayRecord from './payRecord';
import ImgList from '../../../common/imgList/index';
import './index.less'
import $ from "jquery";
import OldInforProject from "../oldInforProject";
import PatentCheck from "../../../common/patentCheck";

import PaymentRecord from '../../../common/initiateOrder/paymentRecord';
import NewSupplier from "../../project/task/newSupplier";
import OperationPayNode from "../../project/task/operationPayNode";

const confirm = Modal.confirm

class CheckProject extends Component {
  constructor(props) {
    super(props)
    this.state = {
      value: '',
      loading: false,
      previewImage: '',
      previewVisible: false,
      previewPayVisible: false,
      type: 1,//1 申请付款 2 申请付官费
      previewPayInfor: {},        //点击申请付款的第三方信息或者支付节点信息
      nodeId: 0,
      // 专利
      ContactsListsNew: [],
      //付款节点表头
      PayNodeTableColunms: [],
      outsourceLogs: [],//审核日志


      outsourcingLogLoading: false,
      payRecordsLoading: false,

      PayNodeCompany: []
    }
    this.getPayNodeCompany = this.getPayNodeCompany.bind(this);
  }

  componentDidMount() {
    if (this.props.tid) {
      setTimeout(() => {
        this.getSelectOutsourceLog();
        this.projectTypeTabContent(this.props.projectType);
      }, 500)
    }
    this.getPayNodeCompany();
  }

  getPayNodeCompany() {
    let arr = this.props.thirdInfoList ? JSON.parse(JSON.stringify(this.props.thirdInfoList)) : [];
    let companyNameArr = [];
    for (let d = 0; d < arr.length; d++) {
      arr[d].companyName = arr[d].companyName + '-' + arr[d].id;
      companyNameArr.push({
        companyName: arr[d].companyName,
        id: arr[d].id,
      });
    }
    this.setState({
      PayNodeCompany: companyNameArr
    })
  }

  projectTypeTabContent(projectType) {
    this.setState({
      //付款节点表头
      PayNodeTableColunms: [
        {
          title: '节点编号',
          dataIndex: 'id',
          key: 'id',
        },
        {
          title: '供应商名称',
          dataIndex: 'companyName',
          key: 'companyName',
          render: (text, record, index) => {
            if (text) {
              return <span>{text}</span>
            }
          },
        },
        {
          title: '付款科目',
          dataIndex: 'dunType',
          key: 'dunType',
          render: (text, record) => {
            if (text) {
              return <span>{text}</span>
            }
          },
        },
        {
          title: '付款时间',
          dataIndex: 'partyTimes',
          key: 'partyTimes',
          render: (text, record) => {
            return <span>{text ? text : '/'}</span>
          },
        },
        {
          title: '数量',
          dataIndex: 'quantity',
          key: 'quantity',
          render: (text, record) => {
            if (text) {
              return <span>{text}</span>
            }
          },
        },
        {
          title: '总价(万元)',
          dataIndex: 'totalAmount',
          key: 'totalAmount',
          render: (text, record) => {
            return <span>
              {
                isNaN(text) ? text : parseFloat(text)
              }
            </span>
          },
        },
        {
          title: '已付',
          dataIndex: 'partyAmount',
          key: 'partyAmount',
          render: (text, record) => {
            if (text) {
              return <span>{text}</span>
            }
          },
        },
        {
          title: '操作',
          dataIndex: 'dels',
          key: 'dels',
          render: (text, record, index) => {
            return (
              <div>
                {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
                {/*存在支付节点时不显示第三方的申请付款*/}
                {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
                {/*this.props.startType   0外包  1供应商(不需要审核)*/}
                {/*record.status  0-未支付 1-待全款 ,2已全款  status=2的时候已经全款,按钮可以去掉了*/}
                <Button disabled={
                  !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && record.status !== 2)
                } type="primary" onClick={() => {
                  this.setState({
                    previewPayVisible: true,
                    previewPayInfor: record,
                  })
                }}>
                  申请付款
                </Button>
                {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
                  title="是否删除?"
                  onConfirm={() => {
                    this.payNodeConfirmDeletNew(record)
                  }}
                  okText="删除"
                  cancelText="不删除"
                >
                  <Button
                    disabled={this.props.status !== 2}
                    onClick={(e) => {
                      e.stopPropagation()
                    }}
                    style={{
                      marginLeft: '10px',
                      color: '#ffffff',
                      background: '#f00',
                      border: 'none',
                    }}
                  >
                    删除
                  </Button>
                </Popconfirm> : <div />}
              </div>
            )
          },
        },
      ],
    })
    //0正常 1专利 2软著 3审计      this.props.startType 0外包 1供应商     外包时当普通单处理   projectType大于3的都用通用表格
    if (projectType === 0 || !projectType || this.props.startType === 0 || projectType > 3) {
      this.setState({
        ContactsListsNew: [
          {
            title: '供应商名称',
            dataIndex: 'companyName',
            key: 'companyName',
            render: (text, record, index) => {
              if (text) {
                return <span>{text}</span>
              }
            },
          },
          {
            title: '单价(万元)',
            dataIndex: 'unitPrice',
            key: 'unitPrice',
            render: (text, record) => {
              if (text) {
                return <span>
                  {
                    isNaN(text) ? text : parseFloat(text)
                  }
                </span>
              }
            },
          },
          {
            title: '数量',
            dataIndex: 'quantity',
            key: 'quantity',
            render: (text, record) => {
              if (text) {
                return <span>{text}</span>
              }
            },
          },
          {
            title: '总价(万元)',
            dataIndex: 'totalAmount',
            key: 'totalAmount',
            render: (text, record) => {
              if (text) {
                return <span>
                  {
                    isNaN(text) ? text : parseFloat(text)
                  }
                </span>
              }
            },
          },
          {
            title: '备注',
            dataIndex: 'remarks',
            key: 'remarks',
            render: (text) => {
              return (
                <Tooltip placement="topLeft" title={text}>
                  <div style={{
                    maxWidth: '150px',
                    overflow: 'hidden',
                    textOverflow: "ellipsis",
                    whiteSpace: 'nowrap',
                  }}>{text}</div>
                </Tooltip>
              )
            }
          },
          {
            title: '操作',
            dataIndex: 'action',
            key: 'action',
            render: (text, record) => {
              return (
                <div>
                  {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
                  {/*存在支付节点时不显示第三方的申请付款*/}
                  {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
                  {/*this.props.startType   0外包  1供应商(不需要审核)*/}
                  <Button disabled={
                    !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && this.props.dataSource.length === 0)
                  } type="primary" onClick={() => {
                    this.setState({
                      previewPayVisible: true,
                      previewPayInfor: record,
                    })
                  }}>
                    申请付款
                  </Button>
                  {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
                    title="是否删除?"
                    onConfirm={() => {
                      this.confirmDeletNew(record)
                    }}
                    okText="删除"
                    cancelText="不删除"
                  >
                    <Button
                      disabled={this.props.status !== 2}
                      onClick={(e) => {
                        e.stopPropagation()
                      }}
                      style={{
                        marginLeft: '10px',
                        color: '#ffffff',
                        background: '#f00',
                        border: 'none',
                      }}
                    >
                      删除
                    </Button>
                  </Popconfirm> : <div />}
                </div>
              )
            },
          },
        ],
      })
    } else if (projectType === 2) {    //2软著
      this.setState({
        ContactsListsNew: [
          {
            title: '供应商名称',
            dataIndex: 'companyName',
            key: 'companyName',
            render: (text, record, index) => {
              if (text) {
                return <span>{text}</span>
              }
            },
          },
          {
            title: '单价(万元)',
            dataIndex: 'unitPrice',
            key: 'unitPrice',
            render: (text, record) => {
              if (text) {
                return <span>
                  {
                    isNaN(text) ? text : parseFloat(text)
                  }
                </span>
              }
            },
          },
          {
            title: '数量',
            dataIndex: 'quantity',
            key: 'quantity',
            render: (text, record) => {
              if (text) {
                return <span>{text}</span>
              }
            },
          },
          {
            title: '总价(万元)',
            dataIndex: 'totalAmount',
            key: 'totalAmount',
            render: (text, record) => {
              if (text) {
                return <span>
                  {
                    isNaN(text) ? text : parseFloat(text)
                  }
                </span>
              }
            },
          },
          {
            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 (
                <div>
                  {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
                  {/*存在支付节点时不显示第三方的申请付款*/}
                  {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
                  {
                    <Button disabled={
                      !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && this.props.dataSource.length === 0)
                    } type="primary" onClick={() => {
                      this.setState({
                        previewPayVisible: true,
                        previewPayInfor: record,
                      })
                    }}>
                      申请付款
                    </Button>
                  }
                  {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
                    title="是否删除?"
                    onConfirm={() => {
                      this.confirmDeletNew(record)
                    }}
                    okText="删除"
                    cancelText="不删除"
                  >
                    <Button
                      disabled={this.props.status !== 2}
                      onClick={(e) => {
                        e.stopPropagation()
                      }}
                      style={{
                        marginLeft: '10px',
                        color: '#ffffff',
                        background: '#f00',
                        border: 'none',
                      }}
                    >
                      删除
                    </Button>
                  </Popconfirm> : <div />}
                </div>
              )
            },
          },
        ],
      })
    } 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 <span>{text}</span>
                }
              },
            },
            {
              title: '单价(万元)',
              dataIndex: 'unitPrice',
              key: 'unitPrice',
              render: (text, record) => {
                if (text) {
                  return <span>
                    {
                      isNaN(text) ? text : parseFloat(text)
                    }
                  </span>
                }
              },
            },
            {
              title: '数量',
              dataIndex: 'quantity',
              key: 'quantity',
              render: (text, record) => {
                if (text) {
                  return <span>{text}</span>
                }
              },
            },
            // {
            //   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 <span>
                    {
                      isNaN(text) ? text : parseFloat(text)
                    }
                  </span>
                }
              },
            },
            {
              title: '备注',
              dataIndex: 'remarks',
              key: 'remarks',
              render: (text) => {
                return (
                  <Tooltip placement="topLeft" title={text}>
                    <div style={{
                      maxWidth: '150px',
                      overflow: 'hidden',
                      textOverflow: "ellipsis",
                      whiteSpace: 'nowrap',
                    }}>{text}</div>
                  </Tooltip>
                )
              }
            },
            {
              title: '操作',
              dataIndex: 'action',
              key: 'action',
              render: (text, record) => {
                return (
                  <div>
                    {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
                    {/*存在支付节点时不显示第三方的申请付款*/}
                    {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
                    <Button disabled={
                      !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && this.props.dataSource.length === 0)
                    } type="primary" onClick={() => {
                      this.setState({
                        previewPayVisible: true,
                        previewPayInfor: record,
                      })
                    }}>
                      申请付款
                    </Button>
                    {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
                      title="是否删除?"
                      onConfirm={() => {
                        this.confirmDeletNew(record)
                      }}
                      okText="删除"
                      cancelText="不删除"
                    >
                      <Button
                        disabled={this.props.status !== 2}
                        onClick={(e) => {
                          e.stopPropagation()
                        }}
                        style={{
                          marginLeft: '10px',
                          color: '#ffffff',
                          background: '#f00',
                          border: 'none',
                        }}
                      >
                        删除
                      </Button>
                    </Popconfirm> : <div />}
                  </div>
                )
              },
            },
          ],
        })
      } else {
        this.setState({
          ContactsListsNew: [
            {
              title: '供应商名称',
              dataIndex: 'companyName',
              key: 'companyName',
              render: (text, record, index) => {
                if (text) {
                  return <span>{text}</span>
                }
              },
            },
            {
              title: '单价(万元)',
              dataIndex: 'unitPrice',
              key: 'unitPrice',
              render: (text, record) => {
                if (text) {
                  return <span>
                    {
                      isNaN(text) ? text : parseFloat(text)
                    }
                  </span>
                }
              },
            },
            {
              title: '数量',
              dataIndex: 'quantity',
              key: 'quantity',
              render: (text, record) => {
                if (text) {
                  return <span>{text}</span>
                }
              },
            },
            {
              title: '总价(万元)',
              dataIndex: 'totalAmount',
              key: 'totalAmount',
              render: (text, record) => {
                if (text) {
                  return <span>
                    {
                      isNaN(text) ? text : parseFloat(text)
                    }
                  </span>
                }
              },
            },
            {
              title: '备注',
              dataIndex: 'remarks',
              key: 'remarks',
              render: (text) => {
                return (
                  <Tooltip placement="topLeft" title={text}>
                    <div style={{
                      maxWidth: '150px',
                      overflow: 'hidden',
                      textOverflow: "ellipsis",
                      whiteSpace: 'nowrap',
                    }}>{text}</div>
                  </Tooltip>
                )
              }
            },
            {
              title: '操作',
              dataIndex: 'action',
              key: 'action',
              render: (text, record) => {
                return (
                  <div>
                    {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
                    {/*存在支付节点时不显示第三方的申请付款*/}
                    {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
                    {
                      <Button disabled={
                        !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && this.props.dataSource.length === 0)
                      } type="primary" onClick={() => {
                        this.setState({
                          previewPayVisible: true,
                          previewPayInfor: record,
                        })
                      }}>
                        申请付款
                      </Button>
                    }
                    {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
                      title="是否删除?"
                      onConfirm={() => {
                        this.confirmDeletNew(record)
                      }}
                      okText="删除"
                      cancelText="不删除"
                    >
                      <Button
                        disabled={this.props.status !== 2}
                        onClick={(e) => {
                          e.stopPropagation()
                        }}
                        style={{
                          marginLeft: '10px',
                          color: '#ffffff',
                          background: '#f00',
                          border: 'none',
                        }}
                      >
                        删除
                      </Button>
                    </Popconfirm> : <div />}
                  </div>
                )
              },
            },
          ]
        })
      }
    } else if (projectType === 3) {  //3审计
      this.setState({
        ContactsListsNew: [
          {
            title: '供应商名称',
            dataIndex: 'companyName',
            key: 'companyName',
            render: (text, record, index) => {
              if (text) {
                return <span>{text}</span>
              }
            },
          },
          {
            title: '单价(万元)',
            dataIndex: 'unitPrice',
            key: 'unitPrice',
            render: (text, record) => {
              if (text) {
                return <span>
                  {
                    isNaN(text) ? text : parseFloat(text)
                  }
                </span>
              }
            },
          },
          {
            title: '数量',
            dataIndex: 'quantity',
            key: 'quantity',
            render: (text, record) => {
              if (text) {
                return <span>{text}</span>
              }
            },
          },
          {
            title: '总价(万元)',
            dataIndex: 'totalAmount',
            key: 'totalAmount',
            render: (text, record) => {
              if (text) {
                return <span>
                  {
                    isNaN(text) ? text : parseFloat(text)
                  }
                </span>
              }
            },
          },
          {
            title: '审计',
            dataIndex: 'audit',
            key: 'audit',
            render: (text, record) => {
              if (text) {
                return <span>{text === 0 ? '无审计' : text === 1 ? '年审' : '专审'}</span>
              }
            },
          },
          {
            title: '公司资产(万元)',
            dataIndex: 'assets',
            key: 'assets',
            render: (text, record) => {
              if (text) {
                return <span>{text}</span>
              }
            },
          },
          {
            title: '收入(万元)',
            dataIndex: 'income',
            key: 'income',
            render: (text, record) => {
              if (text) {
                return <span>{text}</span>
              }
            },
          },
          {
            title: '操作',
            dataIndex: 'action',
            key: 'action',
            render: (text, record) => {
              return (
                <div>
                  {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
                  {/*存在支付节点时不显示第三方的申请付款*/}
                  {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
                  {
                    <Button disabled={
                      !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && this.props.dataSource.length === 0)
                    } type="primary" onClick={() => {
                      this.setState({
                        previewPayVisible: true,
                        previewPayInfor: record,
                      })
                    }}>
                      申请付款
                    </Button>
                  }
                  {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
                    title="是否删除?"
                    onConfirm={() => {
                      this.confirmDeletNew(record)
                    }}
                    okText="删除"
                    cancelText="不删除"
                  >
                    <Button
                      disabled={this.props.status !== 2}
                      onClick={(e) => {
                        e.stopPropagation()
                      }}
                      style={{
                        marginLeft: '10px',
                        color: '#ffffff',
                        background: '#f00',
                        border: 'none',
                      }}
                    >
                      删除
                    </Button>
                  </Popconfirm> : <div />}
                </div>
              )
            },
          },
        ]
      })
    }
  }

  tableRowClickOne(record) { }

  //点击付款节点详情
  payNodeTableRowClickOne(record) { }

  //外包日志列表
  getSelectOutsourceLog() {
    this.setState({
      outsourcingLogLoading: true
    })
    $.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 () {
        this.setState({
          outsourcingLogLoading: false
        })
      }.bind(this)
    )
  }



  // 删除供应商信息
  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)
    )
  }

  //超级管理员
  superAdminReject() {
    let _this = this;
    confirm({
      title: '提醒',
      content: '确定要驳回吗?',
      onOk() {
        _this.setState({
          loading: true,
        })
        $.ajax({
          url: globalConfig.context + '/api/admin/outsourceOrg/superAdminReject',
          method: 'post',
          data: {
            id: _this.props.mid,
          },
        }).done(
          function (data) {
            _this.setState({
              loading: false,
            })
            if (!data.error.length) {
              message.success('驳回成功!')
              _this.props.onRefresh();
              _this.getSelectOutsourceLog();
            } else {
              message.warning(data.error[0].message)
            }
          }.bind(_this)
        )
      }
    })
  }

  render() {
    return (
      <div>
        {this.props.oldInfor && Object.keys(this.props.oldInfor).length > 0 ?
          <OldInforProject oldInfor={this.props.oldInfor} /> :
          <div className="App">
            <div className="projectType">
              <div className="typeTitle">
                <div>类型:</div>
              </div>
              {
                parseInt(this.props.startType) === 0
                  ?
                  <div>
                    <div>外包(外包派单,不走总部)</div>
                    <div className="tipsText">提示高于总部价格,费用个人承担</div>
                  </div> : parseInt(this.props.startType) === 1
                    ?
                    <div>供应商信息(普通单)</div> : <div>高质量申请</div>
              }
              <div style={{ marginLeft: 'auto' }}>
                <span style={{ color: '#58a3ff' }}>项目状态:</span>{getProjectName(parseInt(this.props.projectStatus))}
              </div>
            </div>
            {
              this.props.projectType === 1 ?
                <div style={{
                  display: 'flex',
                  flexFlow: 'row nowrap',
                  alignItems: 'center',
                  padding: '0px 0px 10px 20px'
                }}>
                  <div>
                    专利类型:<span style={{ marginLeft: '15px' }}>{this.props.patentType === 0 ? '专利申请/变更' : '专利转让'}</span>
                  </div>
                  <div style={{ paddingLeft: '100px' }}>
                    专利名称:<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 />
            }
            {
              this.props.projectType === 1 && this.props.startType !== 0 ?
                <div style={{ padding: '0px 0px 10px 20px', display: 'flex', alignItems: 'center', }}>
                  官费:
                  {
                    this.props.patentType === 1 ?
                      <span style={{ marginLeft: '15px' }}>{this.props.containOfficialFees === 0 ? '实际已缴费' : '实际未缴费'}</span> :
                      <PatentCheck
                        style={{
                          display: 'flex',
                          alignItems: 'center',
                        }}
                        id={this.props.tid}
                        isAuditPayment={this.props.isAuditPayment}
                        isAuditPaymentGLY={this.props.isAuditPaymentGLY}
                        patentTypeName={this.props.patentTypeName}
                        patentTypeId={this.props.patentTypeId}
                        checkStatus={this.props.checkStatus}  //核对状态
                        projectType={this.props.projectType}  //项目类型
                        patentType={this.props.patentType}   //专利类型
                        startType={this.props.startType}   //1供应商 0外包
                        orderTaskOfficialCost={this.props.orderTaskOfficialCost}  //1含官费 0不含官费
                        orderTaskCostReduction={this.props.orderTaskCostReduction} //1有费减 0无费减
                        isPreviewPay={this.props.isPreviewPay}
                        status={this.props.status}
                        onRefresh={this.props.onRefresh}
                        onPayOfficialExpenses={() => {
                          this.setState({
                            previewPayVisible: true,
                            type: 2,
                          })
                        }}
                      />
                  }
                </div> : null
            }
            <div className="thirdParty">
              <div>
                <span className="title">
                  第三方信息
                </span>
                {this.props.startType === 1 && !this.props.isAuditPayment && !this.props.isAuditPaymentGLY ? <Button
                  type="primary"
                  onClick={(e) => {
                    this.setState({
                      ThirdListVisible: true,
                    })
                  }}
                  style={{
                    float: 'right',
                    marginRight: '50px',
                    marginBottom: '15px',
                  }}
                >
                  +新增第三方信息
                </Button> : null}
              </div>
              <div
                className="clearfix"
              >
                <Spin spinning={this.state.loading}>
                  <Form layout="horizontal">
                    <Table
                      pagination={false}
                      columns={this.state.ContactsListsNew}
                      dataSource={this.props.thirdInfoList}
                      onRowClick={this.tableRowClickOne}
                      scroll={{ x: 'max-content', y: 0 }}
                      style={{
                        cursor: 'pointer',
                      }}
                      bordered
                      size="middle"
                    />
                    <Col span={24} offset={9} style={{ marginTop: '15px' }} />
                  </Form>
                </Spin>
              </div>
            </div>
            {/*如果是软著类或者专利类的专利申请,隐藏付款节点但当为外包类型时,无需隐藏*/}
            {(!((this.props.projectType === 1 && this.props.patentType === 0) || this.props.projectType === 2)) || this.props.startType === 0 || this.props.startType === 2 ? <div className="thirdParty">
              <div>
                <span className="title">
                  付款节点
                </span>
                {this.props.startType === 1 && !this.props.isAuditPayment && !this.props.isAuditPaymentGLY ? <Button
                  type="primary"
                  onClick={(e) => {
                    this.getPayNodeCompany();
                    this.setState({
                      PayNodeVisible: true,
                    })
                  }}
                  style={{
                    float: 'right',
                    marginRight: '50px',
                    marginBottom: '15px',
                  }}
                >
                  +新增付款节点
                </Button> : null}
              </div>
              <div
                className="clearfix"
              >
                <Spin spinning={this.state.loading}>
                  <Form layout="horizontal">
                    <Table
                      pagination={false}
                      columns={this.state.PayNodeTableColunms}
                      dataSource={this.props.dataSource}
                      onRowClick={this.payNodeTableRowClickOne}
                      style={{
                        cursor: 'pointer',
                      }}
                      scroll={{ x: 'max-content', y: 0 }}
                      bordered
                      size="middle"
                    />
                    <Col span={24} offset={9} style={{ marginTop: '15px' }} />
                  </Form>
                </Spin>
              </div>
            </div> : <div />}
            <div
              style={{
                borderTop: '1px #000000 dashed',
                padding: '10px 20px 0px 20px',
              }}
            >
              <div>
                <div className="title">备注</div>
                <div style={{ fontSize: '15px' }}>
                  {this.props.outsourceRemarks}
                </div>
              </div>
              {this.props.fileList && this.props.fileList.length > 0 ? <div style={{ paddingTop: '10px' }}>
                <div className="title">合同/协议扫描件</div>
                <div>
                  <ImgList fileList={this.props.fileList} ItemWidth={'96px'} />
                </div>
                {/*<Upload*/}
                {/*    className="demandDetailShow-upload"*/}
                {/*    listType="picture-card"*/}
                {/*    fileList={this.props.fileList}*/}
                {/*    onPreview={(file) => {*/}
                {/*      this.setState({*/}
                {/*        previewImage: file.url || file.thumbUrl,*/}
                {/*        previewVisible: true,*/}
                {/*      })*/}
                {/*    }}*/}
                {/*/>*/}
                <Modal
                  maskClosable={false}
                  footer={null}
                  visible={this.state.previewVisible}
                  onCancel={() => {
                    this.setState({ previewVisible: false })
                  }}
                >
                  <img
                    alt=""
                    style={{ width: '100%' }}
                    src={this.state.previewImage || ''}
                  />
                </Modal>
              </div> : <div />}
            </div>
            <Spin spinning={this.state.outsourcingLogLoading}>
              {parseInt(this.props.startType) !== 1 && this.state.outsourceLogs.length !== 0 ? <div className="outsourceLogConent">
                <div className="title" style={{
                  paddingBottom: 0,
                }}>外包状态</div>
                <div className="outsourceLogList">
                  {
                    this.state.outsourceLogs && this.state.outsourceLogs.map((value, index) => (
                      <div key={index} className="outsourceLogItem outsource">
                        <div style={{
                          display: 'flex',
                          flexFlow: 'row nowrap',
                          paddingBottom: '3px',
                          paddingTop: '3px',
                        }}>
                          <div>
                            {value.aname}
                          </div>
                          <div style={{ paddingLeft: '5px' }}>
                            {
                              value.status === 0 ?
                                <Tag color="#2db7f5">发起外包审核</Tag> :
                                value.status === 1 ? <Tag color="#87d068">通过</Tag> :
                                  <Tag color="#f50">驳回</Tag>
                            }
                          </div>
                          <div style={{
                            wordBreak: 'break-all',
                            maxWidth: '67%',
                          }}>
                            {value.remarks}
                          </div>
                          <div style={{ paddingLeft: '10px' }}>
                            {value.createTimes}
                          </div>
                        </div>
                      </div>
                    ))
                  }
                </div>
              </div> : <div />}
            </Spin>
            <Spin spinning={this.state.payRecordsLoading}>
              <PaymentRecord
                {...this.props}
                ref={res => this.paymentRecordRef = res}
                tid={this.props.tid}
                isAuditPayment={this.props.isAuditPayment}
                projectType={this.props.projectType}
                patentType={this.props.patentType}
                isAuditPaymentGLY={this.props.isAuditPaymentGLY}
              />
            </Spin>
            {/*
                  申请付款
                  tid:项目id
                  nodeId: 付款节点id
                  previewPayInfor: 项目或者节点信息
               */}
            {this.state.previewPayVisible ? <ApplyPaymentModal
              {...this.props}
              tid={this.props.tid}
              type={this.state.type}
              nodeId={this.state.nodeId}
              projectType={this.props.projectType}
              patentType={this.props.patentType}
              previewPayInfor={this.state.previewPayInfor}
              visible={this.state.previewPayVisible}
              commodityQuantity={this.props.commodityQuantity}
              startType={this.props.startType}   //1供应商 0外包
              onRefresh={() => {
                this.props.onRefresh();
                this.paymentRecordRef.refresh();
              }}
              changeVisible={() => {
                this.setState({
                  previewPayVisible: false,
                  nodeId: 0,                  //付款节点id
                  previewPayInfor: {},
                  type: 1
                })
              }} /> : <div />}
          </div>
        }
        {/*管理员在审核通过的情况下才有此操作*/}
        {
          window.adminData.isSuperAdmin && this.props.status === 1 ? <div style={{
            flex: 1,
            marginTop: '30px',
          }}>
            <Button
              onClick={() => {
                this.superAdminReject();
              }}
              style={{
                color: '#ffffff',
                background: '#f00',
                border: 'none',
                width: '30%',
                height: '40px',
                display: 'flex',
                fontSize: '15px',
                justifyContent: 'center',
                alignItems: 'center',
                margin: '0 auto',
              }}>
              驳回
            </Button>
          </div> : null
        }
        {this.state.ThirdListVisible ? <NewSupplier
          isLaunch//是否项目已经发起
          patentNameType={this.props.patentNameType}
          tid={this.props.tid}
          patentType={this.props.patentType}
          projectType={this.props.startType === 0 ? 0 : this.props.projectType}
          realProjectType={this.props.projectType}       //真实的项目类型
          startType={this.props.startType}               //项目类型 0外包  1供应商
          visible={this.state.ThirdListVisible}
          onCancel={() => {
            this.props.onRefresh();
            this.setState({
              ThirdListVisible: false,
            })
          }} /> : null}
        {this.state.PayNodeVisible ? <OperationPayNode
          tid={this.props.tid}
          cSort={this.props.sort}
          visible={this.state.PayNodeVisible}
          thirdInfoList={this.props.thirdInfoList}
          supplierList={this.state.PayNodeCompany}
          onCancel={() => {
            this.setState({
              PayNodeVisible: false,
              PayNodeCompany: [],
            })
            this.props.onRefresh();
          }}
        /> : <div />}
      </div>
    )
  }
}

export default CheckProject