import React from "react";
import $ from "jquery/src/ajax";
import moment from "moment";
import "./public.less";
import {
  Button,
  Form,
  Input,
  Select,
  Spin,
  Table,
  message,
  DatePicker,
  Modal,
  Upload,
  Tabs,
  Col,
  Tag, Tooltip
} from "antd";
import Receivable from "./receivable";
import Assign from "@/manageCenter/publicComponent/assign";
import ReactToPrint from "react-to-print";
import ResolutionDetail from "@/resolutionDetail";
import KaiPiaoModal from "./kaiPiaoModal";
import OrderRiZi from "@/orderRiZi.jsx";
import {
  getjiedian,
  getProcessStatus,
  getApproval,
  getNewOrderType,
  getLiquidationStatus,
  splitUrl,
  getprovince,
  getRefundStatus,
  getTransactionProject,
  getTaskStatus,
  getNewOrderStatus,
  getInvoiceStatus,
  getCuikuan
} from "@/tools";
import { ChooseList } from "../../../../component/manageCenter/order/orderNew/chooseList";
import ImgList from "../../../common/imgList";
import {getProjectName} from "../../../tools";
import OrderItemStatus from "../../../common/orderItemStatus";
import EnterpriseNameChange from "../../../common/enterpriseNameChange";
import LogPopup from "../../../common/logPopup";
import ContentUrl from "../../order/orderNew/contentUrl";
const FormItem = Form.Item;

const approvedOutsourcing = React.createClass({
  departmentList() {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/organization/selectSuperId",
      data: {},
      success: function (data) {
        let thedata = data.data;
        let theArr = [];
        if (!thedata) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          thedata.map(function (item, index) {
            theArr.push({
              key: index,
              name: item.name,
              id: item.id,
            });
          });
        }
        this.setState({
          departmentArr: theArr,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  loadData(pageNo, pageSize) {
    this.state.data = [];
    this.setState({
      page: pageNo,
      loadingA: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/financial/financeList",
      data: {
        pageNo: pageNo || 1,
        pageSize: pageSize || this.state.pagination.pageSize,
        buyerName: this.state.nameSearch, //客户名称
        orderNo: this.state.orderNoSearch,
        startTime: this.state.releaseDate[0],
        endTime: this.state.releaseDate[1],
        startFinalReceivablesTime: this.state.shouKuanDate[0],
        endFinalReceivablesTime: this.state.shouKuanDate[1],
        departmentId: this.state.departmenttList,
        processStatus: this.state.processStatusSearch,
        contractNo: this.state.contractNoSearch,
        outsource: 1,
        liquidationStatus: this.state.liquidationStatus,
        amountStatus: this.state.amountStatus,
      },
      success: function (data) {
        let theArr = [];
        if (!data.data || !data.data.pagination.list) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          for (let i = 0; i < data.data.pagination.list.length; i++) {
            let thisdata = data.data.pagination.list[i];
            theArr.push({
              key: thisdata.orderNo,
              orderNo: thisdata.orderNo,
              orderType: thisdata.orderType,
              orderStatus: thisdata.orderStatus,
              sellerName: thisdata.sellerName,
              processStatus: thisdata.processStatus,
              liquidationStatus: thisdata.liquidationStatus,
              approval: thisdata.approval,
              buyerName: thisdata.buyerName,
              actuallyTotalAmount: thisdata.actuallyTotalAmount,
              signTime: thisdata.signTime,
              companyId: thisdata.companyId,
              companyName: thisdata.companyName,
              buyerId: thisdata.buyerId,
              contractNo: thisdata.contractNo,
              createTime: thisdata.createTime,
              departmentName: thisdata.departmentName,
              outsourceName: thisdata.outsourceName,
              invoiceAmount: thisdata.invoiceAmount,
              finalReceivables: thisdata.finalReceivables,
              finalReceivablesTime: thisdata.finalReceivablesTime,
              signTotalAmount: thisdata.signTotalAmount,
              outsourceAmount: thisdata.outsourceAmount,
              financeName: thisdata.financeName,
              backStatus: thisdata.backStatus,
              orderReceivables: thisdata.orderReceivables,
              orderArrears: thisdata.orderArrears,
            });
          }
        }
        this.state.pagination.current = data.data.pagination.pageNo;
        this.state.pagination.total = data.data.pagination.totalCount;
        if (
          data.data &&
          data.data.pagination.list &&
          !data.data.pagination.list.length
        ) {
          this.state.pagination.current = 0;
          this.state.pagination.total = 0;
        }
        this.setState({
          totalPage: data.data.pagination.totalPage,
          dataSource: theArr,
          pagination: this.state.pagination,
          totalHui: data.data.count ? data.data.count.signTotalAmount : 0,
          hui: data.data.count ? data.data.count.actuallyTotalAmount : 0,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loadingA: false,
        });
      }.bind(this)
    );
  },
  getInitialState() {
    return {
      cuiTabKey: "1",
      rotateDeg: 0,
      searchMore: true,
      assignVisibleX: false,
      assignVisibleY: false,
      releaseDate: [],
      shouKuanDate: [],
      assignDataX: [],
      assignDataY: [],
      attachmentUrl: [],
      pictureUrl: [],
      totalPage: 0,
      modKey: "1",
      width: "800px",
      boHuivisible: false,
      selectedRowKeys: [],
      selectedRows: [],
      loading: false,
      pagination: {
        defaultCurrent: 1,
        defaultPageSize: 10,
        showQuickJumper: true,
        pageSize: 10,
        onChange: function (page) {
          this.loadData(page);
        }.bind(this),
        showTotal: function (total) {
          return "共" + total + "条数据";
        },
      },
      loadingA: false,
      // 子组件改变的表格title数组
      changeList: undefined,
      columns: [
        {
          title: "合同编号",
          dataIndex: "contractNo",
          key: "contractNo",
          className: "title-table",
          fixed: "left",
        },
        {
          title: "客户名称",
          dataIndex: "buyerName",
          key: "buyerName",
          className: "title-table",
          fixed: "left",
          width:150,
          render: text => {
            return (
                <Tooltip title={text}>
                  <div style={{
                    maxWidth:'150px',
                    overflow:'hidden',
                    textOverflow: "ellipsis",
                    whiteSpace:'nowrap',
                  }}>{text}</div>
                </Tooltip>
            )
          }
        },
        {
          title: "订单编号",
          dataIndex: "orderNo",
          key: "orderNo",
          className: "title-table",
          // fixed: "left"
        },
        {
          title: "特批状态",
          dataIndex: "approval",
          key: "approval",
          className: "title-table",
          render: (text) => {
            if (text == 1 || text == 2) {
              return <Tag color="#f50">{getApproval(text)}</Tag>;
            }
            return getApproval(text);
          },
        },

        {
          title: "订单部门",
          dataIndex: "departmentName",
          key: "departmentName",
          className: "title-table",
        },
        {
          title: "订单负责人",
          dataIndex: "sellerName",
          key: "sellerName",
          className: "title-table",
        },
        {
          title: "财务负责人",
          dataIndex: "financeName",
          key: "financeName",
          className: "title-table",
        },
        {
          title: "外包公司",
          dataIndex: "outsourceName",
          key: "outsourceName",
          className: "title-table",
        },
        {
          title: "签单日期",
          dataIndex: "signTime",
          key: "signTime",
          className: "title-table",
        },
        {
          title: "下单日期",
          dataIndex: "createTime",
          key: "createTime",
          className: "title-table",
        },
        {
          title: "签单金额(万元)",
          dataIndex: "signTotalAmount",
          key: "signTotalAmount",
          className: "title-table",
          render: (text) => {
            return isNaN(parseFloat(text)) ? text : parseFloat(text);
          }
        },
        {
          title: "开票金额(万元)",
          dataIndex: "invoiceAmount",
          key: "invoiceAmount",
          className: "title-table",
          render: (text) => {
            return isNaN(parseFloat(text)) ? text : parseFloat(text);
          }
        },
        {
          title: "已收款(万元)",
          dataIndex: "actuallyTotalAmount",
          key: "actuallyTotalAmount",
          className: "title-table",
          render: (text) => {
            return isNaN(parseFloat(text)) ? text : parseFloat(text);
          }
        },
        {
          title: "应收款(万元)",
          dataIndex: "orderReceivables",
          key: "orderReceivables",
          className: "title-table",
          render: (text) => {
            return isNaN(parseFloat(text)) ? text : parseFloat(text);
          }
        },
        {
          title: "欠款(万元)",
          dataIndex: "orderArrears",
          key: "orderArrears",
          className: "title-table",
          render: (text) => {
            return isNaN(parseFloat(text)) ? text : parseFloat(text);
          }
        },
        {
          title: "最近收款(万元)",
          dataIndex: "finalReceivables",
          key: "finalReceivables",
          className: "title-table",
          render: (text) => {
            return isNaN(parseFloat(text)) ? text : parseFloat(text);
          }
        },
        {
          title: "外包成本",
          dataIndex: "outsourceAmount",
          key: "outsourceAmount",
          className: "title-table",
          render: (text) => {
            return isNaN(parseFloat(text)) ? text : parseFloat(text);
          }
        },
        {
          title: "最近收款时间",
          dataIndex: "finalReceivablesTime",
          key: "finalReceivablesTime",
          className: "title-table",
        },
        {
          title: "结算状态",
          dataIndex: "liquidationStatus",
          key: "liquidationStatus",
          className: "title-table",
          render: (text) => {
            return getLiquidationStatus(text);
          },
        },
        {
          title: "流程状态",
          dataIndex: "processStatus",
          key: "processStatus",
          className: "title-table",
          render: (text) => {
            return getProcessStatus(text);
          },
        },
        {
          title: "驳回状态",
          dataIndex: "backStatus",
          key: "backStatus",
          className: "title-table",
          render: (text) => {
            if (text == 3) {
              return <Tag>已驳回</Tag>;
            } else {
              return "";
            }
          },
        },
        // {
        //   title: "操作",
        //   dataIndex: "caozuo",
        //   key: "caouzo",
        //   className: "title-table",
        //   render: (text, recard) => {
        //     return (
        //       <div>
        //         {recard.liquidationStatus < 2 &&
        //         (recard.approval === 1 || recard.approval === 2) ? (
        //           <Button
        //             style={{ background: "rgb(192,192,192)" }}
        //             onClick={e => {
        //               e.stopPropagation(), this.evaluateX(recard);
        //             }}
        //           >
        //             收款
        //           </Button>
        //         ) : (
        //           <Button
        //             type="primary"
        //             onClick={e => {
        //               e.stopPropagation(), this.evaluateX(recard);
        //             }}
        //           >
        //             收款
        //           </Button>
        //         )}
        //         {recard.processStatus < 4 ? (
        //           <Button
        //             type="primary"
        //             onClick={e => {
        //               e.stopPropagation(), this.evaluateZ(recard);
        //             }}
        //             style={{ marginLeft: "5px" }}
        //           >
        //             通过
        //           </Button>
        //         ) : (
        //           ""
        //         )}
        //         {!(
        //           recard.actuallyTotalAmount &&
        //           Number(recard.actuallyTotalAmount) > 0
        //         ) && (
        //           <Button
        //             type="danger"
        //             style={{ marginLeft: "5px" }}
        //             onClick={e => {
        //               e.stopPropagation(), this.reject(recard);
        //             }}
        //           >
        //             驳回
        //           </Button>
        //         )}
        //         {
        //           // <Button
        //           //   type="primary"
        //           //   style={{ marginLeft: "5px" }}
        //           //   onClick={e => {
        //           //     e.stopPropagation(), this.evaluateY(recard, "财务专员");
        //           //     console.log(recard);
        //           //   }}
        //           // >
        //           //   转交
        //           // </Button>
        //         }
        //       </div>
        //     );
        //   }
        // }
      ],
      ContactsListsNew: [
        {
          title: "项目名称",
          dataIndex: "commodityName",
          key: "commodityName",
          render: (text, record) => {
            return <span>{text + "-" + record.tid}</span>;
          },
        },
        {
          title: "项目分类",
          dataIndex: "projectType",
          key: "projectType",
          render: (text) => {
            let arr = this.state.dataSourceX || [];
            let str = "";
            for (let i = 0; i < arr.length; i++) {
              if (this.state.dataSourceX[i].sort == text) {
                str = this.state.dataSourceX[i].cname;
                return <span>{str}</span>;
              }
            }
          },
        },
        {
          title: "催款科目",
          dataIndex: "dunTypeName",
          key: "dunTypeName",
          render: (text, record) => {
            if (record.customizeName) {
              return text + record.customizeName;
            }
            return <span>{text}</span>;
          },
        },
        {
          title: "时间（天）",
          dataIndex: "waitDay",
          key: "waitDay",
          render: (text, record) => {
            if (record.dunTypeName) {
              if (record.customizeTimes) {
                return record.customizeTimes;
              }
              return <span>{text}</span>;
            }
          },
        },
        {
          title: "金额（万元）",
          dataIndex: "money",
          key: "money",
          render: (text, record) => {
            if (record.dunTypeName) {
              if (record.appropriationRatio) {
                return <span>{record.appropriationRatio}(拨款比例)</span>;
              } else {
                return <span>{text}</span>;
              }
            }
          },
        },
        {
          title: "服务年限",
          dataIndex: "startDate",
          key: "startDate",
          render: (text, record) => {
            if (record.dunTypeName) {
              return <span>{text}</span>;
            }
          },
        },
        {
          title: "催款状态",
          dataIndex: "status",
          key: "status",
          render: (text) => {
            return <span>{text == 1 ? "已启动" : "未启动"}</span>;
          },
        },
      ],
      ContactsLists: [
        {
          title: "催款科目",
          dataIndex: "dunSubject",
          key: "dunSubject",
          render: (text) => {
            return getjiedian(text);
          },
        },
        {
          title: "金额（万元）",
          dataIndex: "money",
          key: "money",
        },
        {
          title: "催款状态",
          dataIndex: "dunStatus",
          key: "dunStatus",
          render: (text) => {
            return getCuikuan(text);
          },
        },
      ],
      proColumns: [
        {
          title: "序号",
          dataIndex: "key",
          key: "key",
        },
        {
          title: "合同编号",
          dataIndex: "contractNo",
          key: "contractNo",
        },
        {
          title: "订单编号",
          dataIndex: "orderNo",
          key: "orderNo",
        },
        {
          title: "客户名称",
          dataIndex: "userName",
          key: "userName",
          render: text => {
            return (
                <Tooltip title={text}>
                  <div style={{
                    maxWidth:'150px',
                    overflow:'hidden',
                    textOverflow: "ellipsis",
                    whiteSpace:'nowrap',
                  }}>{text}</div>
                </Tooltip>
            )
          }
        },
        {
          title: "订单负责人",
          dataIndex: "salesmanName",
          key: "salesmanName",
        },
        {
          title: "是否主项目",
          dataIndex: "main",
          key: "main",
          render: (text) => {
            return text == 0 ? "否" : "是";
          },
        },
        {
          title: "项目类别",
          dataIndex: "cname",
          key: "cname",
        },
        {
          title: "项目名称",
          dataIndex: "commodityName",
          key: "commodityName",
        },
        {
          title: "项目数量",
          dataIndex: "commodityQuantity",
          key: "commodityQuantity",
          render: (text, record) => {
            if (record.splitStatus == 1) {
              return (
                <span>
                  {text}{" "}
                  <Tag
                    color="#108ee9"
                    onClick={(e) => {
                      e.stopPropagation();
                      this.showRes(record);
                    }}
                  >
                    已拆
                  </Tag>
                </span>
              );
            } else {
              return text;
            }
          },
        },
        {
          title: "服务市价",
          dataIndex: "commodityPrice",
          key: "commodityPrice",
        },
        {
          title: "证书编号",
          dataIndex: "certificateNumber",
          key: "certificateNumber",
        },
        {
          title: "项目状态",
          dataIndex: "projectStatus",
          key: "projectStatus",
          render: (text) => {
            return getProjectName(text);
          },
        },
        {
          title: "项目说明",
          dataIndex: "taskComment",
          key: "taskComment",
        },
        // {
        //   title: "外包（内部）公司",
        //   dataIndex: "outsourceName",
        //   key: "outsourceName",
        // },
        // {
        //   title: "外包（内部）价格",
        //   dataIndex: "outsourcePrice",
        //   key: "outsourcePrice",
        // },
      ],
      cuiColumns: [
        {
          title: "序号",
          dataIndex: "key",
          key: "key",
        },
        {
          title: "合同编号",
          dataIndex: "contractNo",
          key: "contractNo",
        },
        {
          title: "订单编号",
          dataIndex: "orderNo",
          key: "orderNo",
        },
        {
          title: "客户名称",
          dataIndex: "userName",
          key: "userName",
          render: text => {
            return (
                <Tooltip title={text}>
                  <div style={{
                    maxWidth:'150px',
                    overflow:'hidden',
                    textOverflow: "ellipsis",
                    whiteSpace:'nowrap',
                  }}>{text}</div>
                </Tooltip>
            )
          }
        },
        {
          title: "订单负责人",
          dataIndex: "salesmanName",
          key: "salesmanName",
        },
        {
          title: "订单部门",
          dataIndex: "depName",
          key: "depName",
        },
        {
          title: "订单状态",
          dataIndex: "orderStatus",
          key: "orderStatus",
          render: (text) => {
            return getNewOrderStatus(text);
          },
        },
        {
          title: "项目状态",
          dataIndex: "projectStatus",
          key: "projectStatus",
          render: (text) => {
            return getProjectName(text);
          },
        },
        {
          title: "签单金额",
          dataIndex: "totalAmount",
          key: "totalAmount",
        },
        {
          title: "结算状态",
          dataIndex: "liquidationStatus",
          key: "liquidationStatus",
          render: (text) => {
            return getLiquidationStatus(text);
          },
        },
        {
          title: "已收款",
          dataIndex: "settlementAmount",
          key: "settlementAmount",
        },
        {
          title: "应收款",
          dataIndex: "accountsReceivable",
          key: "accountsReceivable",
        },
        {
          title: "催收科目",
          dataIndex: "dunSubject",
          key: "dunSubject",
          // render: text => {
          //   return getjiedian(text);
          // }
        },
        {
          title: "催款状态",
          dataIndex: "dunStatus",
          key: "dunStatus",
        },
        {
          title: "催收启动时间",
          dataIndex: "startDate",
          key: "startDate",
        },
      ],
      timeColumns: [
        {
          title: "合同编号",
          dataIndex: "contractNo",
          key: "contractNo",
        },
        {
          title: "订单编号",
          dataIndex: "orderNo",
          key: "orderNo",
        },
        {
          title: "项目编号",
          dataIndex: "id",
          key: "id",
          render: (text, record) => {
            if (record.splitStatus == 2) {
              return <span>{record.splitSuper + "-" + record.splitId}</span>;
            } else {
              return text;
            }
          },
        },
        {
          title: "客户名称",
          dataIndex: "userName",
          key: "userName",
          render: text => {
            return (
                <Tooltip title={text}>
                  <div style={{
                    maxWidth:'150px',
                    overflow:'hidden',
                    textOverflow: "ellipsis",
                    whiteSpace:'nowrap',
                  }}>{text}</div>
                </Tooltip>
            )
          }
        },

        {
          title: "订单部门",
          dataIndex: "depName",
          key: "depName",
        },
        {
          title: "订单负责人",
          dataIndex: "salesmanName",
          key: "salesmanName",
        },
        {
          title: "项目类别",
          dataIndex: "cname",
          key: "cname",
        },
        {
          title: "项目名称",
          dataIndex: "taskName",
          key: "taskName",
        },
        {
          title: "项目负责人",
          dataIndex: "receiverName",
          key: "receiverName",
        },
        {
          title: "项目价格(万元)",
          dataIndex: "commodityPrice",
          key: "commodityPrice",
        },
        {
          title: "数量(个)",
          dataIndex: "commodityQuantity",
          key: "commodityQuantity",
        },
        {
          title: "任务状态",
          dataIndex: "taskStatus",
          key: "taskStatus",
          render: (text) => {
            return getTaskStatus(text);
          },
        },
        {
          title: "项目状态",
          dataIndex: "projectStatus",
          key: "projectStatus",
          render: (text) => {
            return getProjectName(text);
          },
        },
        {
          title: "工时",
          dataIndex: "hours",
          key: "hours",
        },
        {
          title: "是否外包",
          dataIndex: "outsource",
          key: "outsource",
          render: (text) => {
            if (text == 0) {
              return "否";
            } else if (text == 1) {
              return "是";
            }
          },
        },
        {
          title: "签单日期",
          dataIndex: "signTime",
          key: "signTime",
        },
        {
          title: "派单日期",
          dataIndex: "creteTime",
          key: "creteTime",
        },
        {
          title: "分配时间",
          dataIndex: "taskDistributionTime",
          key: "taskDistributionTime",
        },
        {
          title: "完成时间",
          dataIndex: "taskEndTime",
          key: "taskEndTime",
        },
      ],
      printColumns: [
        {
          title: "合同编号",
          dataIndex: "contractNo",
          key: "contractNo",
        },
        {
          title: "订单编号",
          dataIndex: "orderNo",
          key: "orderNo",
          // fixed: "left"
        },
        {
          title: "客户名称",
          dataIndex: "buyerName",
          key: "buyerName",
          render: text => {
            return (
                <Tooltip title={text}>
                  <div style={{
                    maxWidth:'150px',
                    overflow:'hidden',
                    textOverflow: "ellipsis",
                    whiteSpace:'nowrap',
                  }}>{text}</div>
                </Tooltip>
            )
          }
        },
        {
          title: "订单部门",
          dataIndex: "departmentName",
          key: "departmentName",
        },
        {
          title: "订单负责人",
          dataIndex: "sellerName",
          key: "sellerName",
        },
        {
          title: "签单日期",
          dataIndex: "signTime",
          key: "signTime",
        },
        {
          title: "下单日期",
          dataIndex: "createTime",
          key: "createTime",
        },
        {
          title: "签单金额(万元)",
          dataIndex: "signTotalAmount",
          key: "signTotalAmount",
          render: (text) => {
            return isNaN(parseFloat(text)) ? text : parseFloat(text);
          }
        },
        {
          title: "开票金额(万元)",
          dataIndex: "invoiceAmount",
          key: "invoiceAmount",
          render: (text) => {
            return isNaN(parseFloat(text)) ? text : parseFloat(text);
          }
        },
        {
          title: "已收款(万元)",
          dataIndex: "actuallyTotalAmount",
          key: "actuallyTotalAmount",
          render: (text) => {
            return isNaN(parseFloat(text)) ? text : parseFloat(text);
          }
        },
        {
          title: "最近收款(万元)",
          dataIndex: "finalReceivables",
          key: "finalReceivables",
          render: (text) => {
            return isNaN(parseFloat(text)) ? text : parseFloat(text);
          }
        },
        {
          title: "最近收款时间",
          dataIndex: "finalReceivablesTime",
          key: "finalReceivablesTime",
        },
        {
          title: "结算状态",
          dataIndex: "liquidationStatus",
          key: "liquidationStatus",
          render: (text) => {
            return getLiquidationStatus(text);
          },
        },
        {
          title: "流程状态",
          dataIndex: "processStatus",
          key: "processStatus",
          render: (text) => {
            return getProcessStatus(text);
          },
        },
        {
          title: "特批状态",
          dataIndex: "approval",
          key: "approval",
          render: (text) => {
            return getApproval(text);
          },
        },
      ],
      columnsX: [
        {
          title: "业务项目名称",
          dataIndex: "commodityName",
          key: "commodityName",
          render: (text, record) => {
            return text && text.length > 6 ? (
              <span title={text}>{text.substr(0, 8) + "-" + record.id}...</span>
            ) : (
              text + "-" + record.id
            );
          },
        },
        {
          title: "项目类别",
          dataIndex: "cname",
          key: "cname",
        },
        {
          title: "项目数量",
          dataIndex: "commodityQuantity",
          key: "commodityQuantity",
          render: (text, record) => {
            if (record.splitStatus == 1) {
              return (
                <span>
                  {text}{" "}
                  <Tag
                    color="#108ee9"
                    onClick={(e) => {
                      e.stopPropagation();
                      this.showRes(record);
                    }}
                  >
                    已拆
                  </Tag>
                </span>
              );
            } else {
              return text;
            }
          },
        },
        {
          title: "服务市价(万元)",
          dataIndex: "commodityPrice",
          key: "commodityPrice",
        },
        {
          title: "项目状态",
          dataIndex: "projectStatus",
          key: "projectStatus",
          render: (text) => {
            return getProjectName(text);
          },
        },
        {
          title: "证书编号",
          dataIndex: "certificateNumber",
          key: "certificateNumber",
        },
        {
          title: "是否主要项目",
          dataIndex: "main",
          key: "main",
          render: (text) => {
            return text ? "是" : "否";
          },
        },
        {
          title: "项目说明",
          dataIndex: "taskComment",
          key: "taskComment",
          render: (text) => {
            return text && text.length > 8 ? (
              <span title={text}>{text.substr(0, 8)}...</span>
            ) : (
              text
            );
          },
        },
      ],
      columnsDate: [
        {
          title: "编号",
          dataIndex: "id",
          key: "id",
        },
        {
          title: "订单编号",
          dataIndex: "orderno",
          key: "orderno",
        },
        {
          title: "开票金额(万元)",
          dataIndex: "amount",
          key: "amount",
        },
        {
          title: "申请时间",
          dataIndex: "createTime",
          key: "createTime",
        },
        {
          title: "开票状态",
          dataIndex: "status",
          key: "status",
          render: (text, record) => {
            return <div>{getInvoiceStatus(text, record)} <LogPopup id={record.id} /></div>;
          },
        },
      ],
      columnsY: [
        {
          title: "流程",
          dataIndex: "processName",
          key: "processName",
        },
        {
          title: "操作人",
          dataIndex: "adminName",
          key: "adminName",
        },
        {
          title: "时间",
          dataIndex: "createDate",
          key: "createDate",
        },
      ],
      columnsW: [
        {
          title: "外包名称",
          dataIndex: "name",
          key: "name",
        },
        {
          title: "联系人",
          dataIndex: "contacts",
          key: "contacts",
        },
        {
          title: "联系人电话",
          dataIndex: "contactsMobile",
          key: "contactsMobile",
        },
        {
          title: "地址",
          dataIndex: "ProvinceCity",
          key: "ProvinceCity",
          render: (test) => {
            return test[0] === null
              ? ""
              : getprovince(test[0]) +
                  "/" +
                  getprovince(test[1]) +
                  "/" +
                  getprovince(test[2]);
          },
        },
        {
          title: "地址详情",
          dataIndex: "address",
          key: "address",
          render: (text) => {
            return text && text.length > 8 ? text.substr(0, 8) + "..." : text;
          },
        },
        {
          title: "创建时间",
          dataIndex: "createTimes",
          key: "createTimes",
        },
        {
          title: "任务名称",
          dataIndex: "tname",
          key: "tname",
        },
        {
          title: "合同编号",
          dataIndex: "contractNo",
          key: "contractNo",
        },
        {
          title: "项目状态",
          dataIndex: "projectStatus",
          key: "projectStatus",
          render: (text) => {
            return getProjectName(text);
          },
        },
      ],
      dataSource: [],
      searchTime: [],
      printColumns: [
        {
          title: "合同编号",
          dataIndex: "contractNo",
          key: "contractNo",
        },
        {
          title: "订单编号",
          dataIndex: "orderNo",
          key: "orderNo",
          // fixed: "left"
        },
        {
          title: "客户名称",
          dataIndex: "buyerName",
          key: "buyerName",
          render: text => {
            return (
                <Tooltip title={text}>
                  <div style={{
                    maxWidth:'150px',
                    overflow:'hidden',
                    textOverflow: "ellipsis",
                    whiteSpace:'nowrap',
                  }}>{text}</div>
                </Tooltip>
            )
          }
        },
        {
          title: "订单部门",
          dataIndex: "departmentName",
          key: "departmentName",
        },
        {
          title: "订单负责人",
          dataIndex: "sellerName",
          key: "sellerName",
        },
        {
          title: "外包公司",
          dataIndex: "outsourceName",
          key: "outsourceName",
        },
        {
          title: "签单日期",
          dataIndex: "signTime",
          key: "signTime",
        },
        {
          title: "下单日期",
          dataIndex: "createTime",
          key: "createTime",
        },
        {
          title: "签单金额(万元)",
          dataIndex: "signTotalAmount",
          key: "signTotalAmount",
        },
        {
          title: "开票金额(万元)",
          dataIndex: "invoiceAmount",
          key: "invoiceAmount",
        },
        {
          title: "已收款(万元)",
          dataIndex: "actuallyTotalAmount",
          key: "actuallyTotalAmount",
        },
        {
          title: "最近收款(万元)",
          dataIndex: "finalReceivables",
          key: "finalReceivables",
        },
        {
          title: "最近收款时间",
          dataIndex: "finalReceivablesTime",
          key: "finalReceivablesTime",
        },
        {
          title: "结算状态",
          dataIndex: "liquidationStatus",
          key: "liquidationStatus",
          render: (text) => {
            return getLiquidationStatus(text);
          },
        },
        {
          title: "流程状态",
          dataIndex: "processStatus",
          key: "processStatus",
          render: (text) => {
            return getProcessStatus(text);
          },
        },
        {
          title: "特批状态",
          dataIndex: "approval",
          key: "approval",
          render: (text) => {
            return getApproval(text);
          },
        },
      ],
      waterlistDate: [
        {
          title: "订单编号",
          dataIndex: "orderNo",
          key: "orderNo",
        },
        {
          title: "平台流水号",
          dataIndex: "billNo",
          key: "billNo",
          //   fixed: "left"
        },
        {
          title: "金额(万元)",
          dataIndex: "transactionAmount",
          key: "transactionAmount",
        },
        {
          title: "收款方",
          dataIndex: "payeeName",
          key: "payeeName",
        },
        {
          title: "付款方",
          dataIndex: "payerName",
          key: "payerName",
        },
        {
          title: "流水科目",
          dataIndex: "transactionSubject",
          key: "transactionSubject",
          render: (text) => {
            return getTransactionProject(text);
          },
        },
        {
          title: "收款类型",
          dataIndex: "type",
          key: "type",
        },
        {
          title: "财务流水时间",
          dataIndex: "financialPayTimes",
          key: "financialPayTimes",
        },
        {
          title: "财务流水号",
          dataIndex: "financialPayNo",
          key: "financialPayNo",
        },
        {
          title: "订单负责人",
          dataIndex: "saleName",
          key: "saleName",
        },
        {
          title: "创建时间",
          dataIndex: "createTimes",
          key: "createTimes",
        },
        {
          title: "退款时间",
          dataIndex: "refundTimes",
          key: "refundTimes",
        },
        {
          title: "删除时间",
          dataIndex: "deleteTimes",
          key: "deleteTimes",
        },
        {
          title: "备注",
          dataIndex: "remarks",
          key: "remarks",
        },
        {
          title: "流水状态",
          dataIndex: "deleteSign",
          key: "deleteSign",
          render: (text, record) => {
            if (!text) {
              return "";
            } else {
              return <Tag>已删除</Tag>;
            }
          },
        },
      ],
      waterData: [],
      qianColumns: [
        {
          title: "序号",
          dataIndex: "key",
          key: "key",
        },
        {
          title: "合同编号",
          dataIndex: "contractNo",
          key: "contractNo",
        },
        {
          title: "订单编号",
          dataIndex: "orderNo",
          key: "orderNo",
        },
        {
          title: "客户名称",
          dataIndex: "userName",
          key: "userName",
          render: text => {
            return (
                <Tooltip title={text}>
                  <div style={{
                    maxWidth:'150px',
                    overflow:'hidden',
                    textOverflow: "ellipsis",
                    whiteSpace:'nowrap',
                  }}>{text}</div>
                </Tooltip>
            )
          }
        },
        {
          title: "订单负责人",
          dataIndex: "salesmanName",
          key: "salesmanName",
        },
        {
          title: "订单部门",
          dataIndex: "depName",
          key: "depName",
        },
        {
          title: "订单状态",
          dataIndex: "orderStatus",
          key: "orderStatus",
          render: (text) => {
            return getNewOrderStatus(text);
          },
        },
        {
          title: "项目状态",
          dataIndex: "projectStatus",
          key: "projectStatus",
          render: (text) => {
            return getProjectName(text);
          },
        },
        {
          title: "签单金额",
          dataIndex: "totalAmount",
          key: "totalAmount",
        },
        {
          title: "结算状态",
          dataIndex: "liquidationStatus",
          key: "liquidationStatus",
          render: (text) => {
            return getLiquidationStatus(text);
          },
        },
        {
          title: "已收款",
          dataIndex: "settlementAmount",
          key: "settlementAmount",
        },
        {
          title: "欠款",
          dataIndex: "orderArrears",
          key: "orderArrears",
        },
        {
          title: "催收科目",
          dataIndex: "type",
          key: "type",
          render: (text) => {
            return "按时触发应收欠款";
          },
        },
        {
          title: "催款状态",
          dataIndex: "dunStatus",
          key: "dunStatus",
          render: (text) => {
            if (text == 0) {
              return "未启动";
            } else if (text == 1) {
              return "催款中";
            } else if (text == 2) {
              return "已完成";
            } else if (text == 3) {
              return "已停止";
            }
          },
        },
        {
          title: "催收启动时间",
          dataIndex: "startDate",
          key: "startDate",
        },
      ],
    };
  },
  // 特批通过
  evaluateZ(record) {
    $.ajax({
      method: "POST",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/financial/financeApproval",
      data: {
        orderNo: record.orderNo,
      },
    }).done(
      function (data) {
        if (!data.error.length) {
          message.success("通过成功！");
          this.setState({
            loading: false,
          });
          this.loadData();
        } else {
          message.warning(data.error[0].message);
        }
      }.bind(this)
    );
  },

  jdDate(orderNo) {
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/selectOrderDun",
      data: {
        orderNo: orderNo,
      },
      success: function (data) {
        let thisData = data.data;
        if (!thisData.length) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
          thisData = {};
        } else {
          this.setState({
            jsDate: thisData,
          });
        }
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },

  /* 收款 */
  evaluateX(recard) {
    this.state.assignDataX = recard;
    this.setState({
      assignVisibleX: true,
    });
  },
  /* 转交 */
  evaluateY(recard, nub) {
    this.state.assignDataY = recard;
    this.setState({
      nub,
      assignVisibleY: true,
    });
  },
  /* 驳回 */
  reject(recard) {
    this.setState({
      bohuiData: recard,
      boHuiVisible: true,
      content: "",
    });
  },
  boHuiCancel() {
    this.setState({
      boHuiVisible: false,
      reason: "",
    });
  },
  componentWillMount() {
    this.loadData();
    this.departmentList();
  },
  tableRowClick(record) {
    this.state.RowData = record;
    this.setState({
      showDesc: true,
      visible: true,
      orderNo: record.orderNo,
      modKey: "1",
    });
    this.jdDate(record.orderNo);
    this.loadXmu(record);
    this.loadModal(record);
    this.jiedian(record.orderNo);
    this.jiedianNew(record.orderNo);
  },

  // 拆分详细
  showRes(record) {
    this.setState({
      resVisible: true,
      resRecord: record,
    });
  },
  resCancel() {
    this.setState({
      resVisible: false,
    });
  },

  //详情
  callBack(key) {
    if (key === "2") {
      this.setState({
        modKey: key,
        width: "1200px",
      });
      this.loadWaiBao();
    }
    if (key === "1") {
      this.setState({
        modKey: key,
        width: "800px",
      });
    }
    if (this.state.pictureUrl.length) {
      let picArr = [];
      this.state.pictureUrl.map(function (item) {
        if (item.response && item.response.data && item.response.data.length) {
          picArr.push(item.response.data);
        }
      });
    }
    if (key === "3") {
      this.setState({
        modKey: key,
        width: "800px",
      });
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url:
          globalConfig.context + "/api/admin/outsourceOrg/orderOutsourceDtails",
        data: {
          orderNo: this.state.orderNo,
        },
        success: function (data) {
          let thisdata = data.data;
          this.setState({
            id: thisdata.id,
            createTimes: thisdata.createTimes,
            auditTimes: thisdata.auditTimes,
            remarks: thisdata.remarks,
            attachmentUrl: thisdata.attachmentUrl
              ? splitUrl(
                  thisdata.attachmentUrl,
                  ",",
                  globalConfig.avatarHost + "/upload"
                )
              : [],
            pictureUrl: thisdata.pictureUrl
              ? splitUrl(
                  thisdata.pictureUrl,
                  ",",
                  globalConfig.avatarHost + "/upload"
                )
              : [], //图片地址
            amount: thisdata.amount,
            companyName: thisdata.companyName,
            refundStatus: thisdata.refundStatus,
            outsourceRemarks: thisdata.outsourceRemarks,
            unitNumber: thisdata.unitNumber,
            unitPrice: thisdata.unitPrice,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    }
  },
  //外包详情
  loadWaiBao() {
    $.ajax({
      method: "get",
      dataType: "json",
      rossDomain: false,
      url:
        globalConfig.context +
        "/api/admin/outsourceOrg/selectOrderOutsourceOrg",
      data: {
        orderNo: this.state.orderNo,
      },
      success: function (data) {
        let theArr = [];
        if (data.error.length || data.data.list == "") {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          for (let i = 0; i < data.data.length; i++) {
            let thisdata = data.data[i];
            let ProvinceCityArr = [];
            let ProvinceS = thisdata.province; //省
            let citys = thisdata.city; //市
            let Areas = thisdata.area; //区
            ProvinceCityArr.push(ProvinceS, citys, Areas);
            theArr.push({
              key: i,
              id: thisdata.id,
              name: thisdata.name,
              contacts: thisdata.contacts, //订单编号
              contactsMobile: thisdata.contactsMobile,
              ProvinceCity: ProvinceCityArr[0] === null ? [] : ProvinceCityArr,
              province: thisdata.province,
              city: thisdata.city,
              area: thisdata.area,
              address: thisdata.address,
              remarks: thisdata.remarks,
              tid: thisdata.tid,
              createTimes: thisdata.createTimes,
              tname: thisdata.tname,
              contractNo: thisdata.contractNo,
              projectStatus: thisdata.projectStatus,
            });
          }
        }
        this.setState(
          {
            dataSourceW: theArr,
          },
          () => {}
        );
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  loadXmu(record) {
    this.state.data = [];
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
      data: {
        orderNo: record.orderNo,
      },
      success: function (data) {
        let theArr = [];
        if (!data.data) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          for (let i = 0; i < data.data.length; i++) {
            let thisdata = data.data[i];
            theArr.push({
              key: i,
              id: thisdata.id,
              orderNo: thisdata.orderNo,
              commodityName: thisdata.commodityName,
              commodityPrice: thisdata.commodityPrice,
              commodityQuantity: thisdata.commodityQuantity,
              taskStatus: thisdata.taskStatus,
              taskComment: thisdata.taskComment,
              main: thisdata.main,
              contacts: thisdata.contacts,
              contactsMobile: thisdata.contactsMobile,
              cname: thisdata.cname,
              certificateNumber: thisdata.certificateNumber,
              projectStatus: thisdata.projectStatus,
              sort: thisdata.cSort,
              splitStatus: thisdata.splitStatus,
            });
          }
        }
        this.setState({
          dataSourceX: theArr,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  loadModal(record) {
    this.state.orderList = [];
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
      data: {
        orderNo: record.orderNo,
      },
      success: function (data) {
        let thisData = data.data;
        if (!thisData) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
          thisData = {};
        }
        this.setState({
          id: thisData.id,
          orderUid: thisData.uid,
          orderList: thisData,
          approval:
            thisData.approval == 0
              ? thisData.approval.toString()
              : thisData.approval,
          orderRemarks: thisData.orderRemarks,
          orgCodeUrl: thisData.contractPictureUrl
            ? splitUrl(
                thisData.contractPictureUrl,
                ",",
                globalConfig.avatarHost + "/upload"
              )
            : [],
          replenishUrl: thisData.agreementUrl
            ? splitUrl(
                thisData.agreementUrl,
                ",",
                globalConfig.avatarHost + "/upload"
              )
            : [],
          contentUrl:thisData.serviceContent
            ? splitUrl(
                thisData.serviceContent,
                ",",
                globalConfig.avatarHost + "/upload"
              )
            : [], //图片地址
          orderNo: thisData.orderNo, //订单编号
          buyerId: thisData.buyerId,
          depName: thisData.depName,
          deleteSign:thisData.deleteSign,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  rizhi() {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: "/api/admin/newOrder/selectOrderLog",
      data: {
        orderNo: this.state.orderNo,
      },
      success: function (data) {
        let theArr = [];
        let thisData = data.data;
        if (!thisData.length) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
          thisData = {};
        } else {
          for (let i = 0; i < data.data.length; i++) {
            let thisdata = data.data[i];
            theArr.push({
              processName: thisdata.processName,
              adminName: thisdata.adminName,
              createDate: thisdata.createDate,
              remarks: thisdata.remarks,
            });
          }
        }
        this.setState({
          dataSourceY: theArr,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  closeOrderLog() {
    this.setState({
      avisible: false,
    });
  },
  load() {
    if (this.state.attachmentUrl) {
      let url = window.location.href.substring(7);
      this.state.attachmentUrl.forEach((e) => {
        window.location.href =
          "http://" +
          url.substring(0, url.indexOf("/")) +
          "/api/admin/outsourceOrg//downloadFile?path=" +
          e.response.data;
      });
    } else {
      message.error("此订单无上传文件");
    }
  },
  getOrderLog() {
    this.setState({
      avisible: true,
    });
    this.rizhi();
  },
  closeModal() {
    this.setState(
      {
        visible: false,
        width: "800px",
      },
      () => {
        this.setState({
          modKey: "1",
        });
      }
    );
  },
  closeDesc(e, s) {
    this.state.showDesc = e;
    if (s) {
      this.loadData();
    }
  },
  closeAssignX(e, s) {
    this.state.assignDataX = {};
    this.state.assignVisibleX = e;
    if (s) {
      this.loadData();
    }
  },
  closeAssignY(e, s) {
    this.state.assignDataY = {};
    this.state.assignVisibleY = e;
    if (s) {
      this.loadData();
    }
  },
  search() {
    this.setState({
      selectedRowKeys: []
    })
    this.loadData();
  },
  reset() {
    this.state.nameSearch = "";
    this.state.releaseDate = [];
    this.state.shouKuanDate = [];
    this.state.orderNoSearch = "";
    this.state.departmenttList = undefined;
    this.state.amountStatus = undefined;
    this.state.processStatus = [];
    this.state.processStatusSearch = [];
    this.state.contractNoSearch = "";
    this.state.liquidationStatus = [];
    this.state.contractNo = "";
    this.loadData();
  },
  boHuiCo() {
    this.boHuiCancel();
    this.boHuiSubmit();
  },
  //驳回
  boHuiSubmit() {
    if (!this.state.reason) {
      message.warning("请填写驳回原因");
      return false;
    }
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "POST",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/financial/reject",
      data: {
        orderNo: this.state.bohuiData.orderNo,
        reason: this.state.reason,
      },
    }).done(
      function (data) {
        if (!data.error.length) {
          message.success("驳回成功！");
          this.setState({
            loading: false,
          });
          this.loadData();
        } else {
          message.warning(data.error[0].message);
        }
      }.bind(this)
    );
  },
  searchSwitch() {
    this.setState({
      searchMore: !this.state.searchMore,
    });
  },
  changeList(arr) {
    const newArr = [];
    this.state.columns.forEach((item) => {
      arr.forEach((val) => {
        if (val === item.title) {
          newArr.push(item);
        }
      });
    });
    this.setState({
      changeList: newArr,
    });
  },
  onSelectChange(selectedRowKeys) {
    // for(var i=0; i<selectedRowKeys.length; i++){
    //   for(var j=i+1; j<selectedRowKeys.length; j++){
    //     if(selectedRowKeys[i]==selectedRowKeys[j]){
    //     selectedRowKeys.splice(j,1);
    //     j--;
    //     }
    //   }
    // }

    this.setState({ selectedRowKeys });
  },
  inRecordData() {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url:
        globalConfig.context +
        "/api/admin/orderInvoice/salesmanOrderInvoiceList",
      data: {
        orderNo: this.state.selectedRowKeys[0],
        pageSize: 9999999,
      },
      success: function (data) {
        let theArr = [];
        let sum = 0;
        if (!data.data) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          for (let i = 0; i < data.data.list.length; i++) {
            let thisdata = data.data.list[i];
            sum += parseFloat(thisdata.amount);
            theArr.push({
              id: thisdata.id,
              orderno: thisdata.orderno, //订单编号
              amount: thisdata.amount, //签单金额
              createTime: thisdata.createTime, //流程状态
              status: thisdata.status, //结算状态
              rejectReason: thisdata.rejectReason,
              approval:thisdata.approval,//0非特批 1待审核 2审核通过
            });
          }
        }
        this.setState({
          recordData: theArr,
          sum: sum.toFixed(6),
        });
      }.bind(this),
    }).done(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  inRecordCanl() {
    this.setState({
      bvisible: false,
    });
  },
  waterData() {
    this.state.data = [];
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/financial/myBillList",
      data: {
        orderNo: this.state.selectedRowKeys[0],
        pageSize: 9999999,
        whoType: 1,
      },
      success: function (data) {
        let theArr = [];
        let waterSum = 0;
        if (!data.data || !data.data.list) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          for (let i = 0; i < data.data.list.length; i++) {
            let thisdata = data.data.list[i];
            if (thisdata.deleteSign == 0) {
              waterSum += parseFloat(thisdata.transactionAmount);
            }
            theArr.push({
              key: i,
              orderNo: thisdata.orderNo,
              billNo: thisdata.billNo,
              transactionAmount: thisdata.transactionAmount,
              payeeName: thisdata.payeeName,
              payerName: thisdata.payerName,
              transactionSubject: thisdata.transactionSubject,
              transactionChannel: thisdata.transactionChannel,
              financialPayTimes: thisdata.financialPayTimes,
              financialPayNo: thisdata.financialPayNo,
              createrName: thisdata.createrName,
              saleName: thisdata.saleName,
              createTimes: thisdata.createTimes,
              type:
                thisdata.type == 0
                  ? "手工"
                  : thisdata.type == 1
                  ? "批量"
                  : "合同变更退款",
              deleteSign: thisdata.deleteSign,
              deleteTimes: thisdata.deleteTimes,
              refundTimes: thisdata.refundTimes,
              remarks: thisdata.remarks,
            });
          }
        }
        this.setState({
          waterData: theArr,
          waterSum: waterSum.toFixed(6),
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  waterCanl() {
    this.setState({
      cvisible: false,
    });
  },
  exportAll() {
    const data = {
      pageSize: 9999999,
      buyerName: this.state.nameSearch, //客户名称
      orderNo: this.state.orderNoSearch,
      startTime: this.state.releaseDate[0],
      endTime: this.state.releaseDate[1],
      startFinalReceivablesTime: this.state.shouKuanDate[0],
      endFinalReceivablesTime: this.state.shouKuanDate[1],
      departmentId: this.state.departmenttList,
      processStatus: this.state.processStatusSearch,
      contractNo: this.state.contractNoSearch,
      outsource: 1,
      liquidationStatus: this.state.liquidationStatus,
    };
    window.location.href =
      globalConfig.context +
      "/api/admin/receivables/exportReceivables?" +
      $.param(data);
  },
  exportKaip() {
    window.location.href =
      globalConfig.context +
      "/api/admin/receivables/exportInvoice?" +
      `orderNo=${this.state.selectedRowKeys}`;
  },
  exportWater() {
    window.location.href =
      globalConfig.context +
      "/api/admin/receivables/exportMyBill?" +
      `orderNo=${this.state.selectedRowKeys}&whoType=1`;
  },
  printAll() {
    this.setState({
      dvisible: true,
      // loading: true
    });
    this.loadData(1, 9999999);
  },
  downImg() {
    let num = 0;
    for (let i = 0; i < this.state.orgCodeUrl.length; i++) {
      if (this.state.orgCodeUrl[i].url == this.state.previewImage) {
        num = i;
      }
    }
    if (num == this.state.orgCodeUrl.length - 1) {
      return message.warning("已经是最后一张了哦");
    }
    this.state.previewImage = this.state.orgCodeUrl[num + 1].url;
    this.setState({
      previewImage: this.state.previewImage,
      rotateDeg: 0,
    });
  },
  upImg() {
    let num = 0;
    for (let i = 0; i < this.state.orgCodeUrl.length; i++) {
      if (this.state.orgCodeUrl[i].url == this.state.previewImage) {
        num = i;
      }
    }
    if (num == 0) {
      return message.warning("已经是第一张了哦");
    }
    this.state.previewImage = this.state.orgCodeUrl[num - 1].url;
    this.setState({
      previewImage: this.state.previewImage,
      rotateDeg: 0,
    });
  },
  rotate() {
    let rotateDeg = this.state.rotateDeg + 90;
    this.setState({
      rotateDeg,
    });
  },
  downImgs() {
    let num = 0;
    for (let i = 0; i < this.state.replenishUrl.length; i++) {
      if (this.state.replenishUrl[i].url == this.state.previewImage) {
        num = i;
      }
    }
    if (num == this.state.replenishUrl.length - 1) {
      return message.warning("已经是最后一张了哦");
    }
    this.state.previewImage = this.state.replenishUrl[num + 1].url;
    this.setState({
      previewImage: this.state.previewImage,
      rotateDeg: 0,
    });
  },
  upImgs() {
    let num = 0;
    for (let i = 0; i < this.state.replenishUrl.length; i++) {
      if (this.state.replenishUrl[i].url == this.state.previewImage) {
        num = i;
      }
    }
    if (num == 0) {
      return message.warning("已经是第一张了哦");
    }
    this.state.previewImage = this.state.replenishUrl[num - 1].url;
    this.setState({
      previewImage: this.state.previewImage,
      rotateDeg: 0,
    });
  },
  rotates() {
    let rotateDeg = this.state.rotateDeg + 90;
    this.setState({
      rotateDeg,
    });
  },
  timeData() {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/orderProject/taskHoursList",
      data: {
        orderNo: this.state.selectedRowKeys[0],
        pageSize: 9999999,
      },
      success: function (data) {
        let theArr = [];
        if (!data.data || !data.data.list) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          for (let i = 0; i < data.data.list.length; i++) {
            let thisdata = data.data.list[i];
            theArr.push({
              key: i + 1,
              id: thisdata.id, //ID
              orderNo: thisdata.orderNo, //订单编号
              taskName: thisdata.taskName, //任务名称
              userName: thisdata.userName, //客户名称
              cname: thisdata.cname, //项目品类
              taskStatus: thisdata.taskStatus, //任务状态
              receiverName: thisdata.receiverName, //负责人
              hours: thisdata.hours, //任务工时
              depName: thisdata.depName, //派单公司
              contractNo: thisdata.contractNo,
              signTime: thisdata.signTime,
              creteTime: thisdata.creteTime,
              projectStatus: thisdata.projectStatus,
              commodityPrice: thisdata.commodityPrice, //价格
              commodityQuantity: thisdata.commodityQuantity, //数量
              salesmanName: thisdata.salesmanName, //订单负责人
              taskDistributionTime: thisdata.taskDistributionTime,
              taskEndTime: thisdata.taskEndTime,
              outsource: thisdata.outsource,
              splitStatus: thisdata.splitStatus,
              splitSuper: thisdata.splitSuper,
              splitId: thisdata.splitId,
            });
          }
        }
        this.setState({
          timeDataList: theArr,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  exportTime() {
    const data = {
      orderNo: this.state.selectedRowKeys[0],
      outsourcing: 1,
    };
    window.location.href =
      globalConfig.context +
      "/api/admin/orderProject/exportMyTaskList?" +
      $.param(data);
  },
  exportPro() {
    const data = {
      orderNo: this.state.selectedRowKeys[0],
    };
    window.location.href =
      globalConfig.context +
      "/api/admin/newOrder/exportOrderTaskData?" +
      $.param(data);
  },
  exportCui() {
    var data = {
      orderNo: this.state.selectedRowKeys[0]
        ? this.state.selectedRowKeys[0]
        : undefined, //订单编号
      // specially: 1,
      pageSize: 9999999,
      outsource: 1,
    };
    window.location.href =
      globalConfig.context +
      "/api/admin/newOrder/exportOrderDunData?" +
      $.param(data);
  },
  cuiData() {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/dunOrderNewList",
      data: {
        orderNo: this.state.selectedRowKeys[0],
        pageSize: 9999999,
      },
      success: function (data) {
        let theArr = [];
        if (!data.data || !data.data.list) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          for (let i = 0; i < data.data.list.length; i++) {
            let thisdata = data.data.list[i];
            theArr.push({
              key: i + 1,
              orderNo: thisdata.orderNo,
              contractNo: thisdata.contractNo,
              userName: thisdata.userName,
              buyerName: thisdata.buyerName,
              departmentName: thisdata.departmentName,
              salesmanName: thisdata.salesmanName,
              depName: thisdata.depName,
              orderStatus: thisdata.orderStatus,
              projectStatus: thisdata.projectStatus,
              totalAmount: thisdata.totalAmount,
              liquidationStatus: thisdata.liquidationStatus,
              settlementAmount: thisdata.settlementAmount,
              accountsReceivable: thisdata.accountsReceivable,
              dunSubject: thisdata.dunSubject,
              startDate: thisdata.startDate,
              taskStatus: thisdata.taskStatus,
              cname: thisdata.cname,
              id: thisdata.id,
              taskName: thisdata.taskName,
              hours: thisdata.hours,
              taskDistributionTime: thisdata.taskDistributionTime,
              taskEndTime: thisdata.taskEndTime,
              dunStatus: thisdata.dunStatus == 0 ? "未触发" : "已触发",
            });
          }
        }
        this.setState({
          cuiDataList: theArr,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  proData() {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
      data: {
        orderNo: this.state.selectedRowKeys[0],
        pageSize: 9999999,
      },
      success: function (data) {
        let theArr = [];
        let totalWaibao = 0;
        if (!data.data) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          for (let i = 0; i < data.data.length; i++) {
            let thisdata = data.data[i];
            totalWaibao += thisdata.outsourcePrice;
            theArr.push({
              key: i + 1,
              orderNo: thisdata.orderNo,
              contractNo: thisdata.contractNo,
              userName: thisdata.userName,
              buyerName: thisdata.buyerName,
              departmentName: thisdata.departmentName,
              salesmanName: thisdata.salesmanName,
              depName: thisdata.depName,
              orderStatus: thisdata.orderStatus,
              projectStatus: thisdata.projectStatus,
              commodityName: thisdata.commodityName,
              totalAmount: thisdata.totalAmount,
              liquidationStatus: thisdata.liquidationStatus,
              settlementAmount: thisdata.settlementAmount,
              accountsReceivable: thisdata.accountsReceivable,
              dunSubject: thisdata.dunSubject,
              startDate: thisdata.startDate,
              taskStatus: thisdata.taskStatus,
              cname: thisdata.cname,
              id: thisdata.id,
              taskName: thisdata.taskName,
              hours: thisdata.hours,
              taskDistributionTime: thisdata.taskDistributionTime,
              taskEndTime: thisdata.taskEndTime,
              commodityQuantity: thisdata.commodityQuantity,
              commodityPrice: thisdata.commodityPrice,
              certificateNumber: thisdata.certificateNumber,
              taskComment: thisdata.taskComment,
              outsourceName: thisdata.outsourceName,
              outsourcePrice: thisdata.outsourcePrice,
              splitStatus: thisdata.splitStatus,
              sort: thisdata.cSort,
            });
          }
        }
        totalWaibao = (Math.round(totalWaibao * 1000000) / 1000000).toFixed(6);
        this.setState({
          proDataList: theArr,
          totalWaibao,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  jiedian(orderNos) {
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/selectOrderDun",
      data: {
        orderNo: orderNos,
      },
      success: function (data) {
        let theArr = [];
        let thisData = [];
        if (data.error.length || data.data.list == "") {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          for (let i = 0; i < data.data.length; i++) {
            thisData = data.data[i];
            theArr.push({
              key: i,
              dunSubject: thisData.dunSubject
                ? thisData.dunSubject.toString()
                : "", //催款科目
              id: thisData.id, //节点Id
              money: thisData.money, //催款金额
              dunStatus: thisData.dunStatus, //催款状态
              orderNo: thisData.orderNo,
            });
          }
          this.setState({
            contactList: theArr,
          });
        }
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  //查看催款节点
  jiedianNew(orderNos) {
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url:
        globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun",
      data: {
        orderNo: orderNos,
      },
      success: function (data) {
        if (data.error && data.error.length) {
          message.warning(data.error[0].message);
        } else {
          let theArr = [];
          let thisData = [];
          let arr = data.data || [];
          let totalCui = 0;
          for (let i = 0; i < arr.length; i++) {
            thisData = arr[i];
            totalCui += +thisData.money;
            theArr.push({
              key: i,
              dunSubject: thisData.dunSubject
                ? thisData.dunSubject.toString()
                : "", //催款科目
              id: thisData.id, //节点Id
              money: thisData.money, //催款金额
              // orderNo: record ? record.orderNo : this.props.datauser.orderNo,
              commodityName: thisData.commodityName,
              projectType: thisData.projectType,
              dunTypeName: thisData.dunTypeName,
              status: thisData.status,
              waitDay: thisData.waitDay,
              effectiveCount: thisData.effectiveCount,
              startDate: thisData.startDate,
              dunType: thisData.dunType,
              appropriationRatio: thisData.appropriationRatio,
              customizeName: thisData.customizeName,
              customizeTimes: thisData.customizeTimes,
              tid: thisData.tid,
            });
          }
          if (!totalCui) {
            totalCui = 0;
          }
          totalCui = (Math.round(totalCui * 1000000) / 1000000).toFixed(6);
          this.setState({
            contactListNew: theArr,
            totalCui,
          });
        }
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  cuiTabChange(index) {
    this.setState({
      cuiTabKey: index,
    });
    if (index == 2) {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/arrearsDunList",
        data: {
          orderNo: this.state.selectedRowKeys[0],
          pageSize: 9999999,
        },
        success: function (data) {
          let theArr = [];
          if (data.error.length || data.data.list == "") {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.list.length; i++) {
              let thisdata = data.data.list[i];
              let obj = thisdata;
              obj.key = i;
              theArr.push(obj);
            }
          }
          this.setState({
            qianDataList: theArr,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    }
  },
  kaiPiaoData(record) {
    this.setState({
      avisible: true,
    });
    this.invoiceData(record.id);
  },
  invoiceData(id) {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url:
        globalConfig.context + "/api/admin/orderInvoice/selectByIdOrderInvoice",
      data: {
        id,
      },
      success: function (data) {
        let thisdata = data.data;
        let obj = {
          contractNo: thisdata.contractNo,
          orderNo: thisdata.orderNo,
          approval: thisdata.approval,
          type: thisdata.type,
          status: thisdata.status,
          remarks: thisdata.remarks,
          invoiceType: thisdata.invoiceType,
          unitName: thisdata.unitName,
          taxNumber: thisdata.taxNumber,
          amount: thisdata.amount,
          banks: thisdata.banks,
          content: thisdata.content,
          unitAddress: thisdata.unitAddress,
          invoiceRemarks: thisdata.invoiceRemarks,
          unitMobile: thisdata.unitMobile,
          post: thisdata.post,
          addressee: thisdata.addressee,
          addresseeMobile: thisdata.addresseeMobile,
          addresseeProvince: thisdata.addresseeProvince,
          addresseeCity: thisdata.addresseeCity,
          addresseeArea: thisdata.addresseeArea,
          alreadyAmount: thisdata.alreadyAmount,
          recipientAddress: thisdata.recipientAddress,
          orgCodeUrl: thisdata.voucherUrl
            ? splitUrl(
                thisdata.voucherUrl,
                ",",
                globalConfig.avatarHost + "/upload"
              )
            : [],
        };
        this.setState({
          modalData: obj,
        });
      }.bind(this),
    }).done(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  visitCancels() {
    this.setState({
      avisible: false,
    });
  },
  render() {
    const { TextArea } = Input;
    const { RangePicker } = DatePicker;
    const { TabPane } = Tabs;
    var departmentArr = this.state.departmentArr || [];
    const theData = this.state.orderList || {};
    const formItemLayout = {
      labelCol: { span: 8 },
      wrapperCol: { span: 12 },
    };
    const { loading, selectedRowKeys, visible } = this.state;
    const cuiDataList = this.state.contactList || [];
    const rowSelection = {
      selectedRowKeys,
      onChange: this.onSelectChange,
      hideDefaultSelections: true,
      type: "radio",
    };
    const jsDate = this.state.jsDate || [];
    return (
      <div className="user-content">
        {this.state.resVisible ? (
          <ResolutionDetail
            cancel={this.resCancel}
            detail={this.state.resRecord}
            visible={this.state.resVisible}
            id={this.state.resRecord.orderNo}
          />
        ) : (
          ""
        )}
        <div className="content-title" style={{ marginBottom: 10 }}>
          <span style={{ fontWeight: 900, fontSize: 16 }}>外包结算管理</span>
        </div>
        <Tabs defaultActiveKey="2" className="test">
          <TabPane tab="搜索" key="2">
            <div className="user-search" style={{ marginLeft: 10 }}>
              <Input
                placeholder="订单编号"
                value={this.state.orderNoSearch}
                onChange={(e) => {
                  this.setState({ orderNoSearch: e.target.value });
                }}
              />
              <Input
                placeholder="客户名称"
                value={this.state.nameSearch}
                onChange={(e) => {
                  this.setState({ nameSearch: e.target.value });
                }}
              />
              <Select
                placeholder="订单部门"
                style={{ width: 120, marginRight: 10 }}
                value={this.state.departmenttList}
                onChange={(e) => {
                  this.setState({ departmenttList: e });
                }}
              >
                {departmentArr.map(function (item) {
                  return (
                    <Select.Option key={item.id}>{item.name}</Select.Option>
                  );
                })}
              </Select>
              <Input
                placeholder="合同编号"
                value={this.state.contractNoSearch}
                onChange={(e) => {
                  this.setState({
                    contractNoSearch: e.target.value,
                  });
                }}
              />
              <Select
                placeholder="流程状态"
                onChange={(e) => {
                  this.setState({ processStatusSearch: e });
                }}
                style={{ width: 120, marginRight: 5 }}
                value={this.state.processStatusSearch}
              >
                <Option value="3">未分配</Option>
                <Option value="4">已分配</Option>
                <Option value="9">已驳回</Option>
              </Select>
              <Select
                placeholder="结算状态"
                onChange={(e) => {
                  this.setState({ liquidationStatus: e });
                }}
                style={{ width: 120, marginRight: 5 }}
                value={this.state.liquidationStatus}
              >
                <Option value="0">首付待付清</Option>
                <Option value="1">尾款待付清</Option>
                <Option value="2">已付清</Option>
              </Select>
              <Select
                style={{ width: 120 }}
                placeholder="签单金额"
                value={this.state.amountStatus}
                onChange={(e) => {
                  this.setState({
                    amountStatus: e,
                  });
                }}
              >
                <Option value="0">10万元以下</Option>
                <Option value="1">10~20万元</Option>
                <Option value="2">20~30万元</Option>
                <Option value="3">30~40万元</Option>
                <Option value="4">40万元以上</Option>
              </Select>
              <span style={{ marginRight: 0 }}>下单日期:</span>
              <RangePicker
                style={{ width: 170 }}
                value={[
                  this.state.releaseDate[0]
                    ? moment(this.state.releaseDate[0])
                    : null,
                  this.state.releaseDate[1]
                    ? moment(this.state.releaseDate[1])
                    : null,
                ]}
                onChange={(data, dataString) => {
                  this.setState({ releaseDate: dataString });
                }}
              />
              <span style={{}}>最近收款:</span>
              <RangePicker
                style={{ width: 170 }}
                value={[
                  this.state.shouKuanDate[0]
                    ? moment(this.state.shouKuanDate[0])
                    : null,
                  this.state.shouKuanDate[1]
                    ? moment(this.state.shouKuanDate[1])
                    : null,
                ]}
                onChange={(data, dataString) => {
                  this.setState({ shouKuanDate: dataString });
                }}
              />
              <Button
                type="primary"
                onClick={this.search}
                style={{ marginLeft: 10 }}
                disabled={this.state.loadingA ? true : false}
              >
                搜索
              </Button>
              <Button onClick={this.reset}>重置</Button>
            </div>
          </TabPane>
          <TabPane tab="打印" key="3">
            <Button
              type="primary"
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={this.printAll}
              disabled={!this.state.dataSource.length}
            >
              打印所有列表信息
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={() => {
                this.inRecordData();
                this.setState({
                  bvisible: true,
                });
              }}
            >
              打印开票详情
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={() => {
                this.waterData();
                this.setState({
                  cvisible: true,
                });
              }}
            >
              打印收款流水
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={() => {
                this.timeData();
                this.setState({
                  timeVisible: true,
                });
              }}
            >
              打印工时信息
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={() => {
                this.cuiData();
                this.setState({
                  cuiVisible: true,
                });
              }}
            >
              打印催款信息
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={() => {
                this.proData();
                this.setState({
                  proVisible: true,
                });
              }}
            >
              打印项目进度
            </Button>
          </TabPane>
          <TabPane tab="导出Excel" key="4">
            <Button
              type="primary"
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={this.exportAll}
            >
              导出当前列表
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={this.exportKaip}
            >
              导出所选开票详情
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={this.exportWater}
            >
              导出所选收款详情流水
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={this.exportTime}
            >
              导出所选工时信息
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={this.exportCui}
            >
              导出催款信息
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={this.exportPro}
            >
              导出项目进度
            </Button>
          </TabPane>
          <TabPane tab="查看" key="5">
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={() => {
                this.inRecordData();
                this.setState({
                  bvisible: true,
                });
              }}
            >
              查看开票详情
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={() => {
                this.waterData();
                this.setState({
                  cvisible: true,
                });
              }}
            >
              详情收款流水
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={() => {
                this.timeData();
                this.setState({
                  timeVisible: true,
                });
              }}
            >
              工时信息
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={() => {
                this.cuiData();
                this.setState({
                  cuiVisible: true,
                });
              }}
            >
              催款信息
            </Button>
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length != 1}
              style={{ margin: "11px 0px 10px 10px" }}
              onClick={() => {
                this.proData();
                this.setState({
                  proVisible: true,
                });
              }}
            >
              项目进度
            </Button>
          </TabPane>
          <TabPane tab="更改表格显示数据" key="1">
            <div style={{ marginLeft: 10 }}>
              <ChooseList
                  columns={this.state.columns}
                  changeFn={this.changeList}
                  changeList={this.state.changeList}
                  top={55}
                  margin={11}
              />
            </div>
          </TabPane>
          {/* <TabPane tab="批量操作" key="6">
            <Button
              type="primary"
              disabled={this.state.selectedRowKeys.length == 0}
              style={{ margin: "0px 0px 10px 10px" }}
              onClick={e => {
                e.stopPropagation(),
                  this.evaluateY(this.state.selectedRowKeys, "财务专员");
              }}
            >
              转交
            </Button>
          </TabPane> */}
        </Tabs>

        <div className="patent-table">
          <Spin spinning={this.state.loadingA}>
            <Table
              bordered
              columns={
                this.state.changeList == undefined
                  ? this.state.columns
                  : this.state.changeList
              }
              dataSource={this.state.dataSource}
              // rowSelection={false}
              scroll={{ x: "max-content", y: 0 }}
              pagination={this.state.pagination}
              onRowDoubleClick={this.tableRowClick.bind(this)}
              rowSelection={rowSelection}
              size="middle"
            />
          </Spin>
          <p
            style={{ display: "inline-block", fontSize: "14px", color: "red" }}
          >
            {
              <span style={{ marginRight: 10 }}>
                {`收款金额总计(万元):${this.state.hui ? this.state.hui : "0"}`}
              </span>
            }
            {
              <span>
                {`合同额总计(万元):${
                  this.state.totalHui ? this.state.totalHui : "0"
                }`}
              </span>
            }
          </p>
        </div>
        <div className="patent-desc">
          {this.state.visible ? <Modal
            maskClosable={false}
            visible={this.state.visible}
            onCancel={this.closeModal}
            width={this.state.width}
            footer=""
            className="admin-desc-content"
          >
            <Tabs
              onChange={this.callBack}
              type="card"
              activeKey={this.state.modKey}
              tabBarExtraContent={
                <div style={{fontWeight:'bold',paddingRight:'15px'}}>
                  <OrderItemStatus deleteSign={this.state.deleteSign}/>
                </div>
              }
            >
              <TabPane tab="项目概况" key="1">
                {this.state.modKey === '1' ? <Form layout="horizontal" id="demand-form">
                  <Spin spinning={this.state.loading}>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单编号"
                      >
                        <span>{this.state.orderNo}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="签单时间"
                      >
                        <span>{theData.signDate}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="客户名称"
                      >
                        <span>{theData.userName}</span>
                        <EnterpriseNameChange
                            type='journal'
                            style={{ marginLeft: 10 }}
                            enterpriseId={this.state.orderUid}/>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="流转状态"
                      >
                        <span>{getProcessStatus(theData.processStatus)}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单类型"
                      >
                        <span>{getNewOrderType(theData.orderType)}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="结算状态"
                      >
                        <span>
                          {getLiquidationStatus(theData.liquidationStatus)}
                        </span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="签单总金额(万元)"
                      >
                        <span>{theData.totalAmount}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="首付款(万元)"
                      >
                        <span>{theData.firstAmount}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="已收款(万元)"
                      >
                        <span>{theData.settlementAmount}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="是否特批"
                      >
                        <span>{getApproval(theData.approval)}</span>
                      </FormItem>
                      {/*this.props.data.orderStatus=='6'&&<FormItem className="half-item" {...formItemLayout} label="已退(万元)">
														<span>{this.props.data.refundAmount}</span>
													</FormItem>*/}
                    </div>
                    <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 5 }}
                        wrapperCol={{ span: 18 }}
                        label="合同扫描件"
                      >
                        {/*<Upload*/}
                        {/*  className="demandDetailShow-upload"*/}
                        {/*  listType="picture-card"*/}
                        {/*  fileList={this.state.orgCodeUrl}*/}
                        {/*  onPreview={(file) => {*/}
                        {/*    this.setState({*/}
                        {/*      previewImage: file.url || file.thumbUrl,*/}
                        {/*      previewVisible: true,*/}
                        {/*    });*/}
                        {/*  }}*/}
                        {/*/>*/}
                        <div style={{paddingTop:'10px',paddingBottom:'10px'}}>
                          {this.state.orgCodeUrl && this.state.modKey === '1' ? <ImgList domId={'approvedOutsourcingAll1'} fileList={this.state.orgCodeUrl}/> : <div/>}
                        </div>
                        <Modal
                          maskClosable={false}
                          footer={null}
                          width={"50%"}
                          visible={this.state.previewVisible}
                          onCancel={() => {
                            this.setState({
                              previewVisible: false,
                              rotateDeg: 0,
                            });
                          }}
                        >
                          <img
                            alt=""
                            style={{
                              width: "100%",
                              transform: `rotate(${this.state.rotateDeg}deg)`,
                            }}
                            src={this.state.previewImage || ""}
                          />
                          <Button
                            onClick={this.rotate}
                            style={{
                              position: "relative",
                              left: "50%",
                              transform: "translateX(-50%)",
                            }}
                          >
                            旋转
                          </Button>
                          <Button
                            onClick={this.upImg}
                            style={{
                              position: "absolute",
                              left: -81,
                              top: "50%",
                              transform: "translateY(-50%)",
                            }}
                          >
                            上一张
                          </Button>
                          <Button
                            onClick={this.downImg}
                            style={{
                              position: "absolute",
                              right: -81,
                              top: "50%",
                              transform: "translateY(-50%)",
                            }}
                          >
                            下一张
                          </Button>
                        </Modal>
                        <Button
                          style={{
                            float: "right",
                            marginRight: "140px",
                            marginTop: "20px",
                          }}
                          onClick={this.getOrderLog}
                        >
                          查看订单日志
                        </Button>
                      </FormItem>
                      <FormItem
                        labelCol={{ span: 5 }}
                        wrapperCol={{ span: 18 }}
                        label="补充协议"
                      >
                        {/*<Upload*/}
                        {/*  className="demandDetailShow-upload"*/}
                        {/*  listType="picture-card"*/}
                        {/*  fileList={this.state.replenishUrl}*/}
                        {/*  onPreview={(file) => {*/}
                        {/*    this.setState({*/}
                        {/*      previewImage: file.url || file.thumbUrl,*/}
                        {/*      previewVisibles: true,*/}
                        {/*    });*/}
                        {/*  }}*/}
                        {/*/>*/}
                        <div style={{paddingTop:'10px',paddingBottom:'10px'}}>
                          {this.state.replenishUrl && this.state.modKey === '1' ? <ImgList fileList={this.state.replenishUrl}/> : <div/>}
                        </div>
                        <Modal
                          maskClosable={false}
                          footer={null}
                          width={"50%"}
                          visible={this.state.previewVisibles}
                          onCancel={() => {
                            this.setState({
                              previewVisibles: false,
                              rotateDeg: 0,
                            });
                          }}
                        >
                          <img
                            alt=""
                            style={{
                              width: "100%",
                              transform: `rotate(${this.state.rotateDeg}deg)`,
                            }}
                            src={this.state.previewImage || ""}
                          />
                          <Button
                            onClick={this.rotates}
                            style={{
                              position: "relative",
                              left: "50%",
                              transform: "translateX(-50%)",
                            }}
                          >
                            旋转
                          </Button>
                          <Button
                            onClick={this.upImgs}
                            style={{
                              position: "absolute",
                              left: -81,
                              top: "50%",
                              transform: "translateY(-50%)",
                            }}
                          >
                            上一张
                          </Button>
                          <Button
                            onClick={this.downImgs}
                            style={{
                              position: "absolute",
                              right: -81,
                              top: "50%",
                              transform: "translateY(-50%)",
                            }}
                          >
                            下一张
                          </Button>
                        </Modal>
                      </FormItem>
                    </div>
                    <ContentUrl
                    processStatus={1}
                    domId = {"approvedContents"}
                    contentUrl = {this.state.contentUrl}
                    imgId = {"approvedContentsImg"}
                    />
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="合同编号"
                      >
                        <span>{theData.contractNo}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单部门"
                      >
                        <span>{theData.depName}</span>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 5 }}
                        wrapperCol={{ span: 18 }}
                        label="订单留言"
                      >
                        <p style={{ width: 500, wordWrap: "break-word" }}>
                          {this.state.orderRemarks}
                        </p>
                      </FormItem>
                    </div>
                    {/* <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 5 }}
                        wrapperCol={{ span: 18 }}
                        label="收款节点"
                      >
                        {jsDate.map(item => {
                          return (
                            <p>
                              {getjiedian(item.dunSubject)} -- {item.money} 万元
                            </p>
                          );
                        })}
                      </FormItem>
                    </div> */}
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单负责人"
                      >
                        <span>{theData.salesmanName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单负责人电话"
                      >
                        <span>{theData.salesmanMobile}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="当前财务负责人"
                      >
                        <span>{theData.nowFinance}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="当前财务负责人电话"
                      >
                        <span>{theData.nowFinanceMobile}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        style={{ opacity: ".5" }}
                        label="原订单负责人"
                      >
                        <span>{theData.oldSalesmanName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        style={{ opacity: ".5" }}
                        label="原订单负责人电话"
                      >
                        <span>{theData.oldSalesmanMobile}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        style={{ opacity: ".5" }}
                        label="实际财务操作人"
                      >
                        <span>{theData.financeName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        style={{ opacity: ".5" }}
                        label="实际财务操作人电话"
                      >
                        <span>{theData.financeMobile}</span>
                      </FormItem>
                    </div>
                    {/* <Modal
                      visible={this.state.avisible}
                      className="admin-desc-content"
                      width="800px"
                      maskClosable={false}
                      title="订单日志"
                      footer={null}
                      onCancel={this.closeOrderLog}
                    >
                      <div className="patent-table">
                        <Spin spinning={this.state.loading}>
                          <Table
                            columns={this.state.columnsY}
                            dataSource={this.state.dataSourceY}
                            pagination={false}
                          />
                        </Spin>
                      </div>
                    </Modal> */}
                    <OrderRiZi
                      dataSourcerizhi={this.state.dataSourceY}
                      closeOrderLog={this.closeOrderLog}
                      visible={this.state.avisible}
                      loading={this.state.loading}
                    />
                    <div className="clearfix">
                      <p style={{ fontSize: 18, marginLeft: 20 }}>项目业务</p>
                      <div className="patent-table">
                        <Spin spinning={this.state.loading}>
                          <Table
                            columns={this.state.columnsX}
                            dataSource={this.state.dataSourceX}
                            pagination={false}
                            size="middle"
                            bordered
                          />
                        </Spin>
                      </div>
                    </div>
                    <div>
                      <span style={{ marginLeft: 20, fontSize: "18px" }}>
                        催款节点
                      </span>
                      <span
                        style={{
                          display: cuiDataList.length ? "none" : "inline-block",
                          marginLeft: 10,
                          color: "red",
                        }}
                      >
                        金额总计(万元): {this.state.totalCui}
                      </span>
                    </div>
                    <div className="clearfix">
                      <Spin spinning={this.state.loading}>
                        <Form layout="horizontal" id="demand-form">
                          <Table
                            pagination={false}
                            bordered
                            size="middle"
                            columns={
                              cuiDataList.length
                                ? this.state.ContactsLists
                                : this.state.ContactsListsNew
                            }
                            dataSource={
                              cuiDataList.length
                                ? this.state.contactList
                                : this.state.contactListNew
                            }
                          />
                          <Col
                            span={24}
                            offset={9}
                            style={{ marginTop: "15px" }}
                          />
                        </Form>
                      </Spin>
                    </div>
                  </Spin>
                </Form> : <div/>}
              </TabPane>
              <TabPane tab="外包详情" key="2">
                <div className="clearfix">
                  <p style={{ color: "red" }}>
                    提示:查看备注请点击表格左侧加号按钮~
                  </p>
                  <div className="patent-table">
                    <Spin spinning={this.state.loading}>
                      <Table
                        columns={this.state.columnsW}
                        dataSource={this.state.dataSourceW}
                        pagination={false}
                        size="middle"
                        expandedRowRender={(record) => (
                          <p style={{ margin: 0 }}>{record.remarks}</p>
                        )}
                        scroll={{ x: 300, y: 0 }}
                      />
                    </Spin>
                  </div>
                </div>
              </TabPane>
              <TabPane tab="外包审核" key="3">
                <div className="clearfix">
                  <FormItem
                    className="half-item"
                    labelCol={{ span: 8 }}
                    wrapperCol={{ span: 14 }}
                    label="外包公司"
                  >
                    <span>{this.state.companyName}</span>
                  </FormItem>
                </div>
                <div className="clearfix">
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="单价(万元)"
                  >
                    <span>{this.state.unitPrice}</span>
                  </FormItem>
                </div>
                <div className="clearfix">
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="数量(万元)"
                  >
                    <span>{this.state.unitNumber}</span>
                  </FormItem>
                </div>
                <div className="clearfix">
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="总金额(万元)"
                  >
                    <span>{this.state.amount}</span>
                  </FormItem>
                </div>
                <div className="clearfix">
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="备注"
                  >
                    <span>{this.state.outsourceRemarks}</span>
                  </FormItem>
                </div>
                {/*<div className="clearfix">
												<FormItem className="half-item"
												     labelCol={{ span: 8 }}
												    wrapperCol={{ span: 14 }}
												    label="上传协议文件" >
													<Upload header={{authorization: 'authorization-text'}} action={globalConfig.context + "/api/admin/outsourceOrg/uploadOutsourceFile"}
															data={(e)=>{
																return {
																	'sign': e.name.substring(0,e.name.lastIndexOf("."))
																}
															}}
															fileList={this.state.attachmentUrl}
															showUploadList={{showRemoveIcon:false}}
															onPreview={(e)=>{
																let url = window.location.href.substring(7)
																window.location.href="http://"+url.substring(0,url.indexOf("/"))+"/api/admin/outsourceOrg//downloadFile?path="+e.response.data
															}}>
													</Upload>
												</FormItem>
											</div>*/}
                <div className="clearfix">
                  <FormItem
                    labelCol={{ span: 4 }}
                    wrapperCol={{ span: 18 }}
                    label="合同/协议扫描件"
                  >
                    {/*<Upload*/}
                    {/*  className="demandDetailShow-upload"*/}
                    {/*  listType="picture-card"*/}
                    {/*  fileList={this.state.pictureUrl}*/}
                    {/*  onPreview={(file) => {*/}
                    {/*    this.setState({*/}
                    {/*      previewImage: file.url || file.thumbUrl,*/}
                    {/*      previewVisible: true,*/}
                    {/*    });*/}
                    {/*  }}*/}
                    {/*/>*/}
                    <div style={{paddingTop:'10px',paddingBottom:'10px'}}>
                      {this.state.pictureUrl && this.state.modKey === '3' ? <ImgList domId={'approvedOutsourcingAll2'} fileList={this.state.pictureUrl}/> : <div/>}
                    </div>
                    <Modal
                      maskClosable={false}
                      footer={null}
                      width={"50%"}
                      visible={this.state.previewVisible}
                      onCancel={() => {
                        this.setState({ previewVisible: false });
                      }}
                    >
                      <img
                        alt=""
                        style={{
                          width: "100%",
                          transform: `rotate(${this.state.rotateDeg}deg)`,
                        }}
                        src={this.state.previewImage || ""}
                      />
                      <Button
                        onClick={this.rotate}
                        style={{
                          position: "relative",
                          left: "50%",
                          transform: "translateX(-50%)",
                        }}
                      >
                        旋转
                      </Button>
                      <Button
                        onClick={this.upImg}
                        style={{
                          position: "absolute",
                          left: -81,
                          top: "50%",
                          transform: "translateY(-50%)",
                        }}
                      >
                        上一张
                      </Button>
                      <Button
                        onClick={this.downImg}
                        style={{
                          position: "absolute",
                          right: -81,
                          top: "50%",
                          transform: "translateY(-50%)",
                        }}
                      >
                        下一张
                      </Button>
                    </Modal>
                  </FormItem>
                </div>
                <div className="clearfix">
                  <hr className="division" />
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      labelCol={{ span: 8 }}
                      wrapperCol={{ span: 14 }}
                      label="审核意见"
                    >
                      <span>{this.state.remarks}</span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      labelCol={{ span: 8 }}
                      wrapperCol={{ span: 14 }}
                      label="审核结果"
                    >
                      <span>{getRefundStatus(this.state.refundStatus)}</span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      labelCol={{ span: 8 }}
                      wrapperCol={{ span: 14 }}
                      label="审核时间"
                    >
                      <span>{this.state.auditTimes}</span>
                    </FormItem>
                  </div>
                </div>
              </TabPane>
            </Tabs>
          </Modal> : <div/>}
        </div>
        <div className="patent-desc">
          <Modal
            maskClosable={false}
            title="驳回理由"
            visible={this.state.boHuiVisible}
            onCancel={this.boHuiCancel}
            width="500px"
            footer=""
            className="admin-desc-content"
          >
            <TextArea
              rows={4}
              value={this.state.reason}
              onChange={(e) => {
                this.setState({
                  reason: e.target.value,
                });
              }}
            />
            <Button
              type="primary"
              style={{ marginTop: "20px" }}
              onClick={this.boHuiCo}
            >
              确定
            </Button>
          </Modal>
        </div>
        <Assign
          title="任务"
          selApi={"/api/admin/newOrder/updateFinance"}
          data={this.state.assignDataY}
          showDesc={this.state.assignVisibleY}
          closeDesc={this.closeAssignY.bind(this)}
          // fenpaiData={8}
          specially={0}
          roleName={this.state.nub}
          requestMethod={"get"}
        />
        <Receivable
          title="收款记录"
          api="/api/admin/financial/addReceiptsFlow"
          data={this.state.assignDataX}
          showDesc={this.state.assignVisibleX}
          closeDesc={this.closeAssignX.bind(this)}
        />
        <Modal
          visible={this.state.bvisible}
          footer=""
          title="开票历史记录"
          className="admin-desc-content"
          width="900px"
          onCancel={this.inRecordCanl}
        >
          <Spin spinning={this.state.loading}>
            <div
              className="patent-table"
              ref={(e) => {
                this.refs.kaiPiao = e;
              }}
            >
              <Table
                columns={this.state.columnsDate}
                dataSource={this.state.recordData}
                onRowClick={this.kaiPiaoData}
                pagination={false}
                bordered
                size="middle"
              />
              <div className="clearfix" style={{ marginTop: "20px" }}>
                <FormItem
                  className="half-item"
                  {...formItemLayout}
                  label={<span style={{ fontSize: "14px" }}>开票总计</span>}
                >
                  <span>{this.state.sum + "(万元)"}</span>
                </FormItem>
              </div>
              <ReactToPrint
                trigger={() => (
                  <Button
                    type="primary"
                    style={{
                      float: "right",
                      // marginTop: 10,
                      position: "absolute",
                      top: -54,
                      right: 30,
                    }}
                  >
                    打印
                  </Button>
                )}
                content={() => this.refs.kaiPiao}
              />
            </div>
          </Spin>
        </Modal>
        <Modal
          visible={this.state.cvisible}
          footer=""
          title="详细收款流水"
          className="admin-desc-content"
          width="1300px"
          onCancel={this.waterCanl}
        >
          <Spin spinning={this.state.loading}>
            <div
              className="patent-table"
              ref={(e) => {
                this.refs.shouKuan = e;
              }}
            >
              <Table
                columns={this.state.waterlistDate}
                dataSource={this.state.waterData}
                pagination={false}
                scroll={{ x: "max-content", y: 0 }}
                bordered
                size="middle"
              />
              <div className="clearfix" style={{ marginTop: "20px" }}>
                <FormItem
                  className="half-item"
                  {...formItemLayout}
                  label={<span style={{ fontSize: "14px" }}>总计金额</span>}
                >
                  <span>{this.state.waterSum + "(万元)"}</span>
                </FormItem>
              </div>
              <ReactToPrint
                trigger={() => (
                  <Button
                    type="primary"
                    style={{
                      float: "right",
                      position: "absolute",
                      top: -54,
                      right: 30,
                    }}
                  >
                    打印
                  </Button>
                )}
                content={() => this.refs.shouKuan}
              />
            </div>
          </Spin>
        </Modal>
        <Modal
          visible={this.state.dvisible}
          footer=""
          title="所有列表信息"
          className="admin-desc-content"
          width="1300px"
          onCancel={() => {
            this.loadData();
            this.setState({
              dvisible: false,
            });
          }}
        >
          <Spin spinning={this.state.loading}>
            <div
              className="patent-table"
              style={{
                // width: 900,
                // position: "relative",
                // left: "50%",
                // transform: "translate(-50%)",
                padding: "25px 0 30px 30px",
              }}
              ref={(e) => {
                this.refs.all = e;
              }}
            >
              <Table
                columns={this.state.printColumns}
                dataSource={this.state.dataSource}
                pagination={false}
                bordered
                size="small"
              />
            </div>
          </Spin>

          <ReactToPrint
            trigger={() => (
              <Button
                type="primary"
                style={{
                  float: "right",
                  marginTop: 10,
                  position: "absolute",
                  top: 0,
                  right: 30,
                }}
              >
                打印
              </Button>
            )}
            content={() => this.refs.all}
          />
        </Modal>
        <Modal
          visible={this.state.timeVisible}
          footer=""
          title="工时详情"
          className="admin-desc-content"
          width="1300px"
          pagination={false}
          onCancel={() => {
            this.loadData();
            this.setState({
              timeVisible: false,
            });
          }}
        >
          <Spin spinning={this.state.loading}>
            <div
              className="patent-table"
              style={
                {
                  // width: 900,
                  // position: "relative",
                  // left: "50%",
                  // transform: "translate(-50%)",
                  // padding: "25px 0 30px 30px"
                }
              }
              ref={(e) => {
                this.refs.all = e;
              }}
            >
              <Table
                columns={this.state.timeColumns}
                dataSource={this.state.timeDataList}
                scroll={{ x: "max-content", y: 0 }}
                pagination={false}
                bordered
                size="small"
              />
            </div>
          </Spin>

          <ReactToPrint
            trigger={() => (
              <Button
                type="primary"
                style={{
                  float: "right",
                  marginTop: 10,
                  position: "absolute",
                  top: 0,
                  right: 30,
                }}
              >
                打印
              </Button>
            )}
            content={() => this.refs.all}
          />
        </Modal>
        <Modal
          visible={this.state.cuiVisible}
          footer=""
          title="催款详情"
          className="admin-desc-content"
          width="1300px"
          pagination={false}
          onCancel={() => {
            this.loadData();
            this.setState({
              cuiVisible: false,
              cuiTabKey: "1",
            });
          }}
        >
          <Tabs activeKey={this.state.cuiTabKey} onChange={this.cuiTabChange}>
            <TabPane tab="催款节点" key="1">
              <Spin spinning={this.state.loading}>
                <div
                  className="patent-table"
                  ref={(e) => {
                    this.refs.all = e;
                  }}
                >
                  <Table
                    columns={this.state.cuiColumns}
                    dataSource={this.state.cuiDataList}
                    scroll={{ x: "max-content", y: 0 }}
                    pagination={false}
                    bordered
                    size="small"
                  />
                </div>

                <ReactToPrint
                  trigger={() => (
                    <Button
                      type="primary"
                      style={{
                        float: "right",
                        marginTop: 10,
                        position: "absolute",
                        top: "-60px",
                        right: 30,
                      }}
                    >
                      打印
                    </Button>
                  )}
                  content={() => this.refs.all}
                />
              </Spin>
            </TabPane>
            <TabPane tab="欠款催收记录" key="2">
              <Spin spinning={this.state.loading}>
                <div
                  className="patent-table"
                  ref={(e) => {
                    this.refs.all = e;
                  }}
                >
                  <Table
                    columns={this.state.qianColumns}
                    dataSource={this.state.qianDataList}
                    scroll={{ x: "max-content", y: 0 }}
                    pagination={false}
                    bordered
                    size="small"
                  />
                </div>

                <ReactToPrint
                  trigger={() => (
                    <Button
                      type="primary"
                      style={{
                        float: "right",
                        marginTop: 10,
                        position: "absolute",
                        top: "-60px",
                        right: 30,
                      }}
                    >
                      打印
                    </Button>
                  )}
                  content={() => this.refs.all}
                />
              </Spin>
            </TabPane>
          </Tabs>
        </Modal>
        <Modal
          visible={this.state.proVisible}
          footer=""
          title="项目进度"
          className="admin-desc-content"
          width="1300px"
          pagination={false}
          onCancel={() => {
            this.loadData();
            this.setState({
              proVisible: false,
            });
          }}
        >
          <Spin spinning={this.state.loading}>
            <div
              className="patent-table"
              style={
                {
                  // width: 900,
                  // position: "relative",
                  // left: "50%",
                  // transform: "translate(-50%)",
                  // padding: "25px 0 30px 30px"
                }
              }
              ref={(e) => {
                this.refs.all = e;
              }}
            >
              <Table
                columns={this.state.proColumns}
                dataSource={this.state.proDataList}
                pagination={false}
                bordered
                size="small"
              />
            </div>
            <span style={{ display: "block", marginTop: 10, color: "red" }}>
              外包（内部）价格总计（万元）：{this.state.totalWaibao}
            </span>
          </Spin>

          <ReactToPrint
            trigger={() => (
              <Button
                type="primary"
                style={{
                  float: "right",
                  marginTop: 10,
                  position: "absolute",
                  top: 0,
                  right: 30,
                }}
              >
                打印
              </Button>
            )}
            content={() => this.refs.all}
          />
        </Modal>
        <KaiPiaoModal
          visible={this.state.avisible}
          data={this.state.modalData}
          onCancel={this.visitCancels}
          loading={this.state.loading}
        />
      </div>
    );
  },
});

export default approvedOutsourcing;
