import React from 'react';
import {
  Icon,
  Button,
  Input,
  Select,
  Spin,
  Table,
  message,
  DatePicker,
  Upload,
  Form,
  Modal,
  Col,
  Tag,
  Tabs
} from "antd";
import $ from 'jquery/src/ajax';
import ResolutionDetail from "@/resolutionDetail";
import ReactToPrint from "react-to-print";
import moment from 'moment';
import {
  getLiquidationStatus,
  getApprovedState,
  getProcessStatus,
  splitUrl,
  getjiedian,
  getboutique,
  getCuikuan,
  ShowModal,
  getApproval,
  getTaskStatus,
  getProjectStatus,
  getNewOrderStatus,
  getInvoiceStatus
} from "@/tools.js";
import './customer.less';
import { ChooseList } from "../orderNew/chooseList";
import ShowModalDiv from "@/showModal.jsx";
import Project from "../../../../component/project";
import ImgList from "../../../common/imgList";
import {getProjectName} from "../../../tools";
import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly";
const { TabPane } = Tabs;
const { TextArea } = Input;
//图片组件
const PicturesWall = React.createClass({
  getInitialState() {
    return {
      previewVisible: false,
      previewImage: '',
      fileList: [],
    }
  },
  handleCancel() {
    this.setState({
      previewVisible: false
    })
  },
  handlePreview(file) {
    this.setState({
      previewImage: file.url || file.thumbUrl,
      previewVisible: true,
    });
  },
  handleChange(info) {
    let fileList = info.fileList;
    this.setState({
      fileList
    });
    this.props.fileList(fileList);
  },
  componentWillReceiveProps(nextProps) {
    this.state.fileList = nextProps.pictureUrl;
    this.state.pojectApplicationUrl = undefined;
  },
  render() {
    const {
      fileList
    } = this.state;
    return (
      <div style={{ display: "inline-block" }}>
        <ImgList
            domId={this.props.domId}
            uploadConfig={{
              action:globalConfig.context + "/api/admin/customer/uploadCustomerImg",
              data:{ 'sign': '' },
              multiple:true,
              listType:"picture-card",
            }}
            onChange={(infor)=>{
              this.handleChange(infor)
            }}
            fileList={fileList}
        />
      </div>
    );
  }
});


const IntentionCustomer = Form.create()(
  React.createClass({
    loadData(pageNo, pageSize) {
      this.setState({
        visitModul: false,
        loading: true,
        ispage: pageNo,
        modalVisible: false,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/orderNewList",
        data: {
          pageNo: pageNo || 1,
          pageSize: pageSize || this.state.pagination.pageSize,
          specially: 3, //审核列表
          name: this.state.nameSearch, //名称
          orderNo: this.state.orderNoSearch, //订单编号
          contractNo: this.state.contractNoSearch, //合同编号
          depId: this.state.departmenttList, //订单部门
          starTime: this.state.releaseDate[0], //开始时间
          endTime: this.state.releaseDate[1], //结束时间
          approval: this.state.approvalSearch ? this.state.approvalSearch : 0, //审批状态
          liquidationStatus: this.state.liquidationStatusSearch, //结算状态
        },
        success: function (data) {
          ShowModal(this);
          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];
              theArr.push({
                key: thisdata.orderNo,
                orderNo: thisdata.orderNo,
                orderType: thisdata.orderType,
                orderStatus: thisdata.orderStatus,
                salesmanName: thisdata.salesmanName,
                processStatus: thisdata.processStatus,
                liquidationStatus: thisdata.liquidationStatus,
                approval: thisdata.approval,
                settlementAmount: thisdata.settlementAmount,
                signDate: thisdata.signDate,
                companyId: thisdata.companyId,
                companyName: thisdata.companyName,
                buyerId: thisdata.buyerId,
                userName: thisdata.userName,
                contractNo: thisdata.contractNo,
                createDate: thisdata.createDate,
                depName: thisdata.depName,
                invoiceAmount: thisdata.invoiceAmount,
                totalAmount: thisdata.totalAmount,
                financeName: thisdata.financeName,
              });
            }
            this.state.pagination.total = data.data.totalCount;
          }
          if (data.data && data.data.list && !data.data.list.length) {
            this.state.pagination.total = 0;
          }
          this.setState({
            dataSource: theArr,
            pageNo: pageNo,
            pagination: this.state.pagination,
            selectedRowKeys: [],
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    getInitialState() {
      return {
        page: 1,
        declarationBatch: 1,
        dataInfor: {},
        releaseDate: [],
        selectedRowKeys: [],
        rotateDeg: 0,
        orgCodeUrl: [],
        departmentArr: [],
        approvalSearch: "1",
        paginations: false,
        pagination: {
          defaultCurrent: 1,
          defaultPageSize: 10,
          showQuickJumper: true,
          pageSize: 10,
          onChange: function (page) {
            this.loadData(page);
          }.bind(this),
          showTotal: function (total) {
            return "共" + total + "条数据";
          },
        },
        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) => {
              return getInvoiceStatus(text);
            },
          },
        ],
        columns: [
          {
            title: "合同编号",
            dataIndex: "contractNo",
            key: "contractNo",
            className: "title-table",
          },
          {
            title: "订单编号",
            dataIndex: "orderNo",
            key: "orderNo",
            className: "title-table",
            // fixed: "left"
          },
          {
            title: "特批状态",
            dataIndex: "approval",
            key: "approval",
            className: "title-table",
            render: (text) => {
              if (text == 1) {
                return <Tag color="#f50">{getApproval(text)}</Tag>;
              }
              return getApproval(text);
            },
          },
          {
            title: "客户名称",
            dataIndex: "userName",
            key: "userName",
            className: "title-table",
          },
          {
            title: "订单部门",
            dataIndex: "depName",
            key: "depName",
            className: "title-table",
          },
          {
            title: "订单负责人",
            dataIndex: "salesmanName",
            key: "salesmanName",
            className: "title-table",
          },
          {
            title: "财务负责人",
            dataIndex: "financeName",
            key: "financeName",
            className: "title-table",
          },
          {
            title: "签单日期",
            dataIndex: "signDate",
            key: "signDate",
            className: "title-table",
          },
          {
            title: "下单日期",
            dataIndex: "createDate",
            key: "createDate",
            className: "title-table",
          },
          {
            title: "签单金额(万元)",
            dataIndex: "totalAmount",
            key: "totalAmount",
            className: "title-table",
          },
          {
            title: "开票金额(万元)",
            dataIndex: "invoiceAmount",
            key: "invoiceAmount",
            className: "title-table",
          },
          {
            title: "已收款(万元)",
            dataIndex: "settlementAmount",
            key: "settlementAmount",
            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);
            },
          },
        ],
        data: [],
        dataSource: [],
        columnsX: [
          {
            title: "业务项目名称",
            dataIndex: "commodityName",
            key: "commodityName",
            render: (text, record) => {
              return 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: "contacts",
            key: "contacts",
          },
          {
            title: "负责人电话",
            dataIndex: "contactsMobile",
            key: "contactsMobile",
          },
          {
            title: "主要项目",
            dataIndex: "main",
            key: "main",
            render: (text) => {
              return text ? "是" : "否";
            },
          },
          {
            title: "项目说明",
            dataIndex: "taskComment",
            key: "taskComment",
            render: (text) => {
              return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
            },
          },
        ],
        columnsrizhi: [
          {
            title: "流程",
            dataIndex: "processName",
            key: "processName",
          },
          {
            title: "操作人",
            dataIndex: "adminName",
            key: "adminName",
          },
          {
            title: "时间",
            dataIndex: "createDate",
            key: "createDate",
          },
          {
            title: "备注",
            dataIndex: "remarks",
            key: "remarks",
          },
        ],
        dataSourceX: [],
        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 && !record.money) {
                  return <span>{record.appropriationRatio}(拨款比例)</span>;
                } else if (record.appropriationRatio && record.money) {
                  return (
                    <span>
                      {text}(比例:{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);
            },
          },
        ],
        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",
          },
        ],
        timeColumns: [
          {
            title: "合同编号",
            dataIndex: "contractNo",
            key: "contractNo",
          },
          {
            title: "订单编号",
            dataIndex: "orderNo",
            key: "orderNo",
          },

          {
            title: "客户名称",
            dataIndex: "userName",
            key: "userName",
            render: (text) => {
              return text && text.length > 9 ? text.substr(0, 9) + "..." : text;
            },
          },

          {
            title: "订单部门",
            dataIndex: "depName",
            key: "depName",
          },
          {
            title: "订单负责人",
            dataIndex: "salesmanName",
            key: "salesmanName",
          },
          {
            title: "项目类别",
            dataIndex: "cname",
            key: "cname",
          },
          {
            title: "项目编号",
            dataIndex: "id",
            key: "id",
          },
          {
            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",
          },
        ],
        resVisible: false,
        cuiColumns: [
          {
            title: "序号",
            dataIndex: "key",
            key: "key",
          },
          {
            title: "合同编号",
            dataIndex: "contractNo",
            key: "contractNo",
          },
          {
            title: "订单编号",
            dataIndex: "orderNo",
            key: "orderNo",
          },
          {
            title: "客户名称",
            dataIndex: "userName",
            key: "userName",
          },
          {
            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",
          },
        ],
        proColumns: [
          {
            title: "序号",
            dataIndex: "key",
            key: "key",
          },
          {
            title: "合同编号",
            dataIndex: "contractNo",
            key: "contractNo",
          },
          {
            title: "订单编号",
            dataIndex: "orderNo",
            key: "orderNo",
          },
          // {
          //   title: "项目编号",
          //   dataIndex: "id",
          //   key: "id"
          // },
          {
            title: "客户名称",
            dataIndex: "userName",
            key: "userName",
          },
          {
            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",
          // },
        ],
      };
    },
    //页面加载函数
    componentWillMount() {
      this.departmentList();
      this.loadData();
    },
    //整行点击
    tableRowClick(record) {
      this.setState({
        visible: true,
      });
      this.xiangqing(record.orderNo);
      this.xiangmu(record.orderNo);
      // this.jiedian(record.orderNo);
      this.jiedianNew(record.orderNo);
    },
    //点击打卡项目详情
    tableRowClickX(record) {
      console.log(record);
      this.setState({
        jid: record.id, //项目ID
        kid: record.commodityId, //商品ID
        commodityName: record.commodityName, //金额
        commodityPrice: record.commodityPrice, //金额
        commodityQuantity: record.commodityQuantity, //数量
        taskComment: record.taskComment, //备注
        main: record.main.toString(), //是否为主要
        addnextVisible: true,
        dataInfor:record,
        addState: 0,
      });
    },
    //项目详情关闭
    nextCancel() {
      this.setState({
        addnextVisible: false,
      });
    },
    //订单详情
    xiangqing(orderNos) {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
        data: {
          orderNo: orderNos,
        },
        success: function (data) {
          if (data.error.length || data.data.list == "") {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            let thisdata = data.data;
            this.setState({
              orderNo: thisdata.orderNo, //订单编号
              contractNo: thisdata.contractNo, //合同编号
              userName: thisdata.userName, //客户名称
              signDate: thisdata.signDate, //签单时间
              processStatus: thisdata.processStatus, //流程状态
              liquidationStatus: thisdata.liquidationStatus, //结算状态
              contacts: thisdata.contacts, //企业联系人
              contactMobile: thisdata.contactMobile, //联系人电话
              legalPerson: thisdata.legalPerson, //法人
              legalPersonTel: thisdata.legalPersonTel, //法人电话
              firstAmount: thisdata.firstAmount, //签单金额
              totalAmount: thisdata.totalAmount, //首付金额
              approval: thisdata.approval, //特批状态
              settlementAmount: thisdata.settlementAmount, //已收款项
              orderRemarks: thisdata.orderRemarks, //订单留言
              orgCodeUrl: thisdata.contractPictureUrl
                ? splitUrl(
                    thisdata.contractPictureUrl,
                    ",",
                    globalConfig.avatarHost + "/upload"
                  )
                : [], //图片地址
              replenishUrl: thisdata.agreementUrl
                ? splitUrl(
                    thisdata.agreementUrl,
                    ",",
                    globalConfig.avatarHost + "/upload"
                  )
                : [],
              salesmanName: thisdata.salesmanName, //营销员名称
              salesmanMobile: thisdata.salesmanMobile, //营销员电话
              financeName: thisdata.financeName, //财务名称
              financeMobile: thisdata.financeMobile, //财务电话
              outsource: thisdata.outsource == 0 ? "否" : "是",
            });
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //项目列表
    xiangmu(orderNos) {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
        data: {
          orderNo: orderNos,
        },
        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];
              thisdata.key = i;
              theArr.push(thisdata);
            }
          }
          this.setState({
            dataSourceX: theArr,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },

    rizhi() {
      console.log(this.state.orderNo);
      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 && !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({
            dataSourcerizhi: theArr,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },

    //查看订单日志
    getOrderLog() {
      this.setState({
        rizhivisible: true,
      });
      this.rizhi();
    },
    closeOrderLog() {
      this.setState({
        rizhivisible: false,
      });
    },

    //节点列表
    // 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, //催款状态
    //           });
    //         }
    //         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)
      );
    },
    //审核通过
    examOk() {
      if (!this.state.reason) {
        message.warning("请填写备注");
        return;
      }
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "post",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/approvalOrder",
        data: {
          orderNo: this.state.orderNo,
          confirm: 2,
          reason: this.state.reason,
        },
        success: function (data) {
          if (data.error.length || data.data.list == "") {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            message.success("该特批订单已通过审核~");
            this.setState({
              visible: false,
            });
            this.passCancel();
            this.reset();
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //审核不通过
    examOks() {
      if (!this.state.reason) {
        message.warning("请填写备注");
        return;
      }
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "post",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/approvalOrder",
        data: {
          orderNo: this.state.orderNo,
          confirm: 3,
          reason: this.state.reason,
        },
        success: function (data) {
          if (data.error.length || data.data.list == "") {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            message.success("该特批订单已被驳回~");
            this.setState({
              visible: false,
              noVisible: false,
              reason: "",
            });
            this.loadData();
            this.resets();
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //点击拒绝
    examNo() {
      this.setState({
        noVisible: true,
      });
    },
    //关闭输入理由框
    noCancel() {
      this.setState({
        noVisible: false,
        reason: "",
      });
    },
    //搜索
    search() {
      this.setState({
        //signBillVisible:false
      });
      this.loadData();
    },
    //重置
    reset() {
      this.setState({
        signBillVisible: false,
      });
      this.state.orderNoSearch = undefined;
      this.state.contractNoSearch = undefined;
      this.state.nameSearch = undefined;
      this.state.liquidationStatusSearch = [];
      this.state.departmenttList = undefined;
      this.state.releaseDate[0] = undefined;
      this.state.releaseDate[1] = undefined;
      this.state.approvalSearch = "1";
      this.loadData();
    },
    resets() {
      this.state.orderNo = "";
      this.state.customerName = "";
      this.state.departmenttSearch = undefined;
      this.state.releaseDate[0] = undefined;
      this.state.releaseDate[1] = undefined;
    },
    getOrgCodeUrl(e) {
      this.setState({ orgCodeUrl: e });
    },
    getReplenishUrl(e) {
      this.setState({ replenishUrl: e });
    },
    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,
      });
    },
    changeList(arr) {
      const newArr = [];
      this.state.columns.forEach((item) => {
        arr.forEach((val) => {
          if (val === item.title) {
            newArr.push(item);
          }
        });
      });
      this.setState({
        changeList: newArr,
      });
    },
    //关闭详情
    visitCancel() {
      this.setState({
        visible: false,
      });
      this.resets();
    },
    visitOk() {
      this.setState({
        visible: false,
      });
      this.resets();
    },
    //部门
    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);
            }
            thedata = {};
          } 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)
      );
    },
    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: 9999,
          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];
              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 ? "手工" : "批量",
              });
            }
          }
          this.setState({
            waterData: theArr,
            waterSum: (Math.round(waterSum * 1000000) / 1000000).toFixed(6),
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    waterCanl() {
      this.setState({
        cvisible: false,
      });
    },

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

    exportKaip() {
      window.location.href =
        globalConfig.context +
        "/api/admin/receivables/exportInvoice?" +
        `orderNo=${this.state.selectedRowKeys}`;
    },
    exportAll() {
      window.location.href =
        globalConfig.context +
        "/api/admin/receivables/exportReceivables?" +
        `orderNo=${
          this.state.orderNoSearch ? this.state.orderNoSearch : ""
        }&buyerName=${
          this.state.nameSearch ? this.state.nameSearch : ""
        }&departmentId=${
          this.state.departmenttList ? this.state.departmenttList : ""
        }&contractNo=${
          this.state.contractNoSearch ? this.state.contractNoSearch : ""
        }&processStatus=${this.state.processStatusSearch}`;
    },
    exportWater() {
      window.location.href =
        globalConfig.context +
        "/api/admin/receivables/exportMyBill?" +
        `orderNo=${this.state.selectedRowKeys}&whoType=1`;
    },
    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: 9999,
        },
        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,
              });
            }
          }
          this.setState({
            timeDataList: theArr,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    exportTime() {
      const data = {
        orderNo: this.state.selectedRowKeys[0],
        pageSize: 9999,
      };
      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: 9999,
      };
      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: 9999,
        },
        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: 9999,
        },
        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;
              thisdata.key = i + 1;
              theArr.push(thisdata);
            }
          }
          totalWaibao = (Math.round(totalWaibao * 1000000) / 1000000).toFixed(6);
          this.setState({
            proDataList: theArr,
            totalWaibao,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    inRecordCanl() {
      this.setState({
        bvisible: false,
      });
    },
    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: 9999,
        },
        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,
              });
            }
          }
          this.setState({
            recordData: theArr,
            sum: sum.toFixed(6),
          });
        }.bind(this),
      }).done(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    // 通过弹出备注框
    pass() {
      this.setState({
        reason: "",
        passVisible: true,
      });
    },
    passCancel() {
      this.setState({
        reason: "",
        passVisible: false,
      });
    },
    printAll() {
      this.setState({
        dvisible: true,
      });
      this.loadData(1, 9999);
    },
    render() {
      const formItemLayout = {
        labelCol: { span: 8 },
        wrapperCol: { span: 14 },
      };
      const FormItem = Form.Item;
      const { RangePicker } = DatePicker;
      const cuiDataList = this.state.contactList || [];
      const rowSelection = {
        selectedRowKeys: this.state.selectedRowKeys,
        onChange: (selectedRowKeys, selectedRows) => {
          this.setState({
            modalVisible: false,
            selectedRows: selectedRows.slice(-1),
            selectedRowKeys: selectedRowKeys.slice(-1),
          });
        },
        onSelect: (recordt) => {
          this.setState({
            modalVisible: false,
            recordt: recordt.id,
          });
        },
      };
      let departmentArr = this.state.departmentArr || [];
      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}
            />
          ) : (
            ""
          )}
          <ShowModalDiv ShowModal={this.state.showModal} />
          <div className="content-title" style={{ marginBottom: 10 }}>
            <span style={{ fontWeight: 900, fontSize: 16 }}>特批订单审核</span>
          </div>
          <Tabs defaultActiveKey="2" onChange={this.callback} className="test">
            <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="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: 150, 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({ approvalSearch: e });
                  }}
                  style={{ width: 160, marginRight: 5 }}
                  value={this.state.approvalSearch}
                >
                  <Option value="1">特批待审核</Option>
                  <Option value="2">特批（通过以及驳回）</Option>
                </Select>
                <Select
                  placeholder="结算状态"
                  onChange={(e) => {
                    this.setState({ liquidationStatusSearch: e });
                  }}
                  style={{ width: 160, marginRight: 5 }}
                  value={this.state.liquidationStatusSearch}
                >
                  <Option value="0">首付待付清</Option>
                  <Option value="1">尾款待付清</Option>
                  <Option value="2">已付清</Option>
                </Select>
                <span style={{}}>下单日期:</span>
                <RangePicker
                  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 });
                  }}
                />
                <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="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="user-search">
            <div className="patent-table">
              <Spin spinning={this.state.loading}>
                <Table
                  columns={
                    this.state.changeList == undefined
                      ? this.state.columns
                      : this.state.changeList
                  }
                  dataSource={this.state.dataSource}
                  rowSelection={rowSelection}
                  pagination={this.state.pagination}
                  onRowClick={this.tableRowClick}
                  bordered
                  size="small"
                />
              </Spin>
            </div>
            {this.state.visible ? <Modal
              maskClosable={false}
              className="customeDetails"
              footer=""
              title="订单详情"
              width="900px"
              visible={this.state.visible}
              onOk={this.visitOk}
              onCancel={this.visitCancel}
            >
              <Form
                layout="horizontal"
                onSubmit={this.handleSubmit}
                id="demand-form"
                style={{ paddingBottom: "40px" }}
              >
                <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>{this.state.contractNo}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="客户名称"
                    >
                      <span>{this.state.userName}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="合同签订时间"
                    >
                      <span>{this.state.signDate}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="流程状态"
                    >
                      <span>{getProcessStatus(this.state.processStatus)}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="结算状态"
                    >
                      <span>
                        {getLiquidationStatus(this.state.liquidationStatus)}
                      </span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="企业联系人"
                    >
                      <span>{this.state.contacts}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="联系人电话"
                    >
                      <span>{this.state.contactMobile}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="企业法人"
                    >
                      <span>{this.state.legalPerson}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="法人电话"
                    >
                      <span>{this.state.legalPersonTel}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="签单金额(万元)"
                    >
                      <span>{this.state.totalAmount}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="首付金额(万元)"
                    >
                      <span>{this.state.firstAmount}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="特批立项"
                    >
                      <span>{getApprovedState(this.state.approval)}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="已收款项(万元)"
                    >
                      <span>{this.state.settlementAmount}</span>
                    </FormItem>
                    {/*<FormItem*/}
                    {/*  className="half-item"*/}
                    {/*  {...formItemLayout}*/}
                    {/*  label="是否外包"*/}
                    {/*>*/}
                    {/*  <span>{this.state.outsource}</span>*/}
                    {/*</FormItem>*/}
                    <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 4 }}
                        wrapperCol={{ span: 16 }}
                        label="订单留言"
                      >
                        <span>{this.state.orderRemarks}</span>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 4 }}
                        wrapperCol={{ span: 18 }}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            合同扫描件
                          </span>
                        }
                      >
                        <PicturesWall
                          domId={'approveds1'}
                          fileList={this.getOrgCodeUrl}
                          pictureUrl={this.state.orgCodeUrl}
                        />
                        <p>图片建议：要清晰。</p>
                        <Button
                          style={{
                            float: "right",
                            marginRight: "140px",
                            marginTop: "20px",
                          }}
                          onClick={this.getOrderLog}
                        >
                          查看订单 日志
                        </Button>
                      </FormItem>
                      <FormItem
                        labelCol={{ span: 4 }}
                        wrapperCol={{ span: 18 }}
                        label={
                          <span>
                            补充协议
                          </span>
                        }
                      >
                        <PicturesWall
                          domId={'approveds2'}
                          fileList={this.getReplenishUrl}
                          pictureUrl={this.state.replenishUrl}
                          url="/api/admin/order/uploadOrderImg"
                          sign=""
                        />
                        <p>图片建议：要清晰。</p>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单负责人"
                      >
                        <span>{this.state.salesmanName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单负责人电话"
                      >
                        <span>{this.state.salesmanMobile}</span>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="财务负责人"
                      >
                        <span>{this.state.financeName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="财务负责人电话"
                      >
                        <span>{this.state.financeMobile}</span>
                      </FormItem>
                    </div>
                    <div>
                      <span style={{ marginLeft: "50px", fontSize: "18px" }}>
                        项目业务
                      </span>
                      {this.state.processStatus == 0 ? (
                        <Button
                          type="primary"
                          onClick={this.addDetailed}
                          style={{
                            float: "right",
                            marginRight: "50px",
                            marginBottom: "15px",
                          }}
                        >
                          添加项目明细
                        </Button>
                      ) : (
                        ""
                      )}
                    </div>
                    <div className="patent-table">
                      <Spin spinning={this.state.loading}>
                        <Table
                          columns={this.state.columnsX}
                          dataSource={this.state.dataSourceX}
                          pagination={this.state.paginations}
                          onRowClick={this.tableRowClickX}
                          bordered
                          size="small"
                        />
                      </Spin>
                    </div>
                    {/*<div style={{ marginTop: 10 }}>*/}
                    {/*  <span style={{ marginLeft: 50, 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="small"*/}
                    {/*        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" }}*/}
                    {/*      ></Col>*/}
                    {/*    </Form>*/}
                    {/*  </Spin>*/}
                    {/*</div>*/}
                    <div className="addSave" style={{ marginTop: "15px" }}>
                      <Button
                        className="cancel"
                        type="primary"
                        onClick={this.pass}
                        style={{ marginLeft: "200px" }}
                        htmlType="submit"
                      >
                        通过
                      </Button>
                      <Button
                        className="cancel"
                        type="primary"
                        onClick={this.examNo}
                        style={{ marginLeft: "50px" }}
                        htmlType="submit"
                      >
                        驳回
                      </Button>
                      <Button
                        className="cancel"
                        type="ghost"
                        onClick={this.visitCancel}
                        style={{ marginLeft: "50px" }}
                      >
                        取消
                      </Button>
                    </div>
                  </div>
                </Spin>
              </Form>
            </Modal> : <div/>}
            {this.state.noVisible ? <Modal
              maskClosable={false}
              visible={this.state.noVisible}
              onOk={this.noCancel}
              onCancel={this.noCancel}
              width="400px"
              title={"拒绝理由"}
              footer=""
              className="admin-desc-content"
            >
              <Form layout="horizontal" id="demand-form">
                <Spin spinning={this.state.loading}>
                  <div className="clearfix">
                    <FormItem
                      labelCol={{ span: 4 }}
                      wrapperCol={{ span: 16 }}
                      label="拒绝理由"
                    >
                      <Input
                        type="textarea"
                        placeholder="请输入拒绝理由"
                        rows={4}
                        value={this.state.reason}
                        onChange={(e) => {
                          this.setState({ reason: e.target.value });
                        }}
                      />
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <Button
                      className="cancel"
                      type="primary"
                      onClick={this.examOks}
                      style={{ marginLeft: "50px" }}
                      htmlType="submit"
                    >
                      确定
                    </Button>
                    <Button
                      className="cancel"
                      type="ghost"
                      onClick={this.noCancel}
                      style={{ marginLeft: "50px" }}
                    >
                      取消
                    </Button>
                  </div>
                </Spin>
              </Form>
            </Modal> : <div/>}
            {this.state.passVisible ? <Modal
              maskClosable={false}
              visible={this.state.passVisible}
              onOk={this.passCancel}
              onCancel={this.passCancel}
              width="400px"
              title={"同意理由"}
              footer=""
              className="admin-desc-content"
            >
              <Form layout="horizontal">
                <Spin spinning={this.state.loading}>
                  <div className="clearfix">
                    <FormItem
                      labelCol={{ span: 4 }}
                      wrapperCol={{ span: 16 }}
                      label="同意备注"
                    >
                      <Input
                        type="textarea"
                        placeholder="请输入备注"
                        rows={4}
                        value={this.state.reason}
                        onChange={(e) => {
                          this.setState({ reason: e.target.value });
                        }}
                      />
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <Button
                      className="cancel"
                      type="primary"
                      onClick={this.examOk}
                      style={{ marginLeft: "50px" }}
                      htmlType="submit"
                    >
                      确定
                    </Button>
                    <Button
                      className="cancel"
                      type="ghost"
                      onClick={this.passCancel}
                      style={{ marginLeft: "50px" }}
                    >
                      取消
                    </Button>
                  </div>
                </Spin>
              </Form>
            </Modal> : <div/>}
            {this.state.rizhivisible ? <Modal
              visible={this.state.rizhivisible}
              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.columnsrizhi}
                    dataSource={this.state.dataSourcerizhi}
                    pagination={false}
                    bordered
                    size="small"
                  />
                </Spin>
              </div>
            </Modal> : <div/>}
            {this.state.dvisible ? <Modal
              maskClosable={false}
              visible={this.state.dvisible}
              footer=""
              title="所有列表信息"
              className="admin-desc-content"
              width="1400px"
              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.columns}
                    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> : <div/>}
            {this.state.bvisible ? <Modal
              maskClosable={false}
              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}
                    pagination={false}
                    bordered
                    size="small"
                  />
                  <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> : <div/>}
            {this.state.cvisible ? <Modal
              maskClosable={false}
              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}
                    bordered
                    size="small"
                  />
                  <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> : <div/>}
            {this.state.timeVisible ? <Modal
              maskClosable={false}
              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> : <div/>}
            {this.state.cuiVisible ? <Modal
              maskClosable={false}
              visible={this.state.cuiVisible}
              footer=""
              title="催款详情"
              className="admin-desc-content"
              width="1300px"
              pagination={false}
              onCancel={() => {
                // this.loadData();
                this.setState({
                  cuiVisible: 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.cuiColumns}
                    dataSource={this.state.cuiDataList}
                    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> : <div/>}
            {this.state.proVisible ? <Modal
              maskClosable={false}
              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}>
                <Project
                  record={this.state.record}
                  visible={this.state.pvisible}
                  cancel={() => {
                    this.setState({ pvisible: false });
                  }}
                />
                <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}
                    // onRowClick={this.tableRowClickPro}
                    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> : <div/>}
          </div>
          {this.state.addnextVisible && <ProjectDetailsReadOnly
              infor={this.state.dataInfor}
              visible={this.state.addnextVisible}
              onCancel={this.nextCancel}
          />}
        </div>
      );
    },
  })
);
export default IntentionCustomer;






