import React from 'react';
import {
  Icon,
  Button,
  Input,
  Select,
  Spin,
  Table,
  message,
  DatePicker,
  Upload,
  Form,
  Modal,
  Col,
  Tag,
  Tabs, Tooltip
} 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";
import DepartmentList from "../../../common/departmentList";
import OrderItemStatus from "../../../common/orderItemStatus";
import EnterpriseNameChange from "../../../common/enterpriseNameChange";
import OrderCoor from './changeComponent/orderCoor';
import ContentUrl from './contentUrl';
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 (
      
    );
  }
});
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,
        orderNos:'',
        dataInfor: {},
        releaseDate: [],
        selectedRowKeys: [],
        rotateDeg: 0,
        orgCodeUrl: [],
        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 {getApproval(text)};
              }
              return getApproval(text);
            },
          },
          {
            title: "客户名称",
            dataIndex: "userName",
            key: "userName",
            className: "title-table",
            render: text => {
              return (
                  
                    {text}
                  
              )
            }
          },
          {
            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 (
                  
                    {text}{" "}
                     {
                        e.stopPropagation();
                        this.showRes(record);
                      }}
                    >
                      已拆
                    
                  
                );
              } 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 {text + "-" + record.tid};
            },
          },
          {
            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 {str};
                }
              }
            },
          },
          {
            title: "催款科目",
            dataIndex: "dunTypeName",
            key: "dunTypeName",
            render: (text,record) => {
              if (record.customizeName) {
                return text +  record.customizeName;
              }
              return {text};
            },
          },
          {
            title: "时间(天)",
            dataIndex: "waitDay",
            key: "waitDay",
            render: (text, record) => {
              if (record.dunTypeName) {
                if (record.customizeTimes) {
                  return record.customizeTimes;
                }
                return {text};
              }
            },
          },
          {
            title: "金额(万元)",
            dataIndex: "money",
            key: "money",
            render: (text, record) => {
              if (record.dunTypeName) {
                if (record.appropriationRatio) {
                  return {record.appropriationRatio}(拨款比例);
                } else {
                  return {text};
                }
              }
            },
          },
          {
            title: "服务年限",
            dataIndex: "startDate",
            key: "startDate",
            render: (text, record) => {
              if (record.dunTypeName) {
                return {text};
              }
            },
          },
          {
            title: "催款状态",
            dataIndex: "status",
            key: "status",
            render: (text) => {
              return {text == 1 ? "已启动" : "未启动"};
            },
          },
        ],
        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}
                  
              )
            }
          },
          {
            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",
            render: text => {
              return (
                  
                    {text}
                  
              )
            }
          },
          {
            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",
            render: text => {
              return (
                  
                    {text}
                  
              )
            }
          },
          {
            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 (
                  
                    {text}{" "}
                     {
                        e.stopPropagation();
                        this.showRes(record);
                      }}
                    >
                      已拆
                    
                  
                );
              } 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.loadData();
    },
    //整行点击
    tableRowClick(record) {
      this.setState({
        visible: true,
        orderNos:record.orderNo
      });
      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({
              orderUid: thisdata.uid,
              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"
                  )
                : [],
                contentUrl:thisdata.serviceContent
                ? splitUrl(
                    thisdata.serviceContent,
                    ",",
                    globalConfig.avatarHost + "/upload"
                  )
                : [], //图片地址
              salesmanName: thisdata.salesmanName, //营销员名称
              salesmanMobile: thisdata.salesmanMobile, //营销员电话
              financeName: thisdata.financeName, //财务名称
              financeMobile: thisdata.financeMobile, //财务电话
              outsource: thisdata.outsource == 0 ? "否" : "是",
              deleteSign:thisdata.deleteSign,
            });
          }
        }.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();
    },
    waterData() {
      this.state.data = [];
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/financial/myBillList",
        data: {
          orderNo: this.state.selectedRowKeys[0],
          pageSize: 9999999,
          whoType: 1,
        },
        success: function (data) {
          let theArr = [];
          let waterSum = 0;
          if (!data.data || !data.data.list) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.list.length; i++) {
              let thisdata = data.data.list[i];
              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: 9999999,
        },
        success: function (data) {
          let theArr = [];
          if (!data.data || !data.data.list) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.list.length; i++) {
              let thisdata = data.data.list[i];
              theArr.push({
                key: i + 1,
                id: thisdata.id, //ID
                orderNo: thisdata.orderNo, //订单编号
                taskName: thisdata.taskName, //任务名称
                userName: thisdata.userName, //客户名称
                cname: thisdata.cname, //项目品类
                taskStatus: thisdata.taskStatus, //任务状态
                receiverName: thisdata.receiverName, //负责人
                hours: thisdata.hours, //任务工时
                depName: thisdata.depName, //派单公司
                contractNo: thisdata.contractNo,
                signTime: thisdata.signTime,
                creteTime: thisdata.creteTime,
                projectStatus: thisdata.projectStatus,
                commodityPrice: thisdata.commodityPrice, //价格
                commodityQuantity: thisdata.commodityQuantity, //数量
                salesmanName: thisdata.salesmanName, //订单负责人
                taskDistributionTime: thisdata.taskDistributionTime,
                taskEndTime: thisdata.taskEndTime,
                outsource: thisdata.outsource,
              });
            }
          }
          this.setState({
            timeDataList: theArr,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    exportTime() {
      const data = {
        orderNo: this.state.selectedRowKeys[0],
        pageSize: 9999999,
      };
      window.location.href =
        globalConfig.context +
        "/api/admin/orderProject/exportMyTaskList?" +
        $.param(data);
    },
    exportPro() {
      const data = {
        orderNo: this.state.selectedRowKeys[0],
      };
      window.location.href =
        globalConfig.context +
        "/api/admin/newOrder/exportOrderTaskData?" +
        $.param(data);
    },
    exportCui() {
      var data = {
        orderNo: this.state.selectedRowKeys[0]
          ? this.state.selectedRowKeys[0]
          : undefined, //订单编号
        // specially: 1,
        pageSize: 9999999,
      };
      window.location.href =
        globalConfig.context +
        "/api/admin/newOrder/exportOrderDunData?" +
        $.param(data);
    },
    cuiData() {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/dunOrderNewList",
        data: {
          orderNo: this.state.selectedRowKeys[0],
          pageSize: 9999999,
        },
        success: function (data) {
          let theArr = [];
          if (!data.data || !data.data.list) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.list.length; i++) {
              let thisdata = data.data.list[i];
              theArr.push({
                key: i + 1,
                orderNo: thisdata.orderNo,
                contractNo: thisdata.contractNo,
                userName: thisdata.userName,
                buyerName: thisdata.buyerName,
                departmentName: thisdata.departmentName,
                salesmanName: thisdata.salesmanName,
                depName: thisdata.depName,
                orderStatus: thisdata.orderStatus,
                projectStatus: thisdata.projectStatus,
                totalAmount: thisdata.totalAmount,
                liquidationStatus: thisdata.liquidationStatus,
                settlementAmount: thisdata.settlementAmount,
                accountsReceivable: thisdata.accountsReceivable,
                dunSubject: thisdata.dunSubject,
                startDate: thisdata.startDate,
                taskStatus: thisdata.taskStatus,
                cname: thisdata.cname,
                id: thisdata.id,
                taskName: thisdata.taskName,
                hours: thisdata.hours,
                taskDistributionTime: thisdata.taskDistributionTime,
                taskEndTime: thisdata.taskEndTime,
                dunStatus: thisdata.dunStatus == 0 ? "未触发" : "已触发",
              });
            }
          }
          this.setState({
            cuiDataList: theArr,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    proData() {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
        data: {
          orderNo: this.state.selectedRowKeys[0],
          pageSize: 9999999,
        },
        success: function (data) {
          let theArr = [];
          let totalWaibao = 0;
          if (!data.data) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.length; i++) {
              let thisdata = data.data[i];
              totalWaibao += thisdata.outsourcePrice;
              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: 9999999,
        },
        success: function (data) {
          let theArr = [];
          let sum = 0;
          if (!data.data) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.list.length; i++) {
              let thisdata = data.data.list[i];
              sum += parseFloat(thisdata.amount);
              theArr.push({
                id: thisdata.id,
                orderno: thisdata.orderno, //订单编号
                amount: thisdata.amount, //签单金额
                createTime: thisdata.createTime, //流程状态
                status: thisdata.status, //结算状态
                rejectReason: thisdata.rejectReason,
              });
            }
          }
          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, 9999999);
    },
    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,
          });
        },
      };
      return (
        
          {this.state.resVisible ? (
            
          ) : (
            ""
          )}
          
          
            特批订单审核
          
          
            
              
                
              
            
            
              
                 {
                    this.setState({ orderNoSearch: e.target.value });
                  }}
                />
                 {
                    this.setState({ nameSearch: e.target.value });
                  }}
                />
                 {
                      this.setState({ departmenttList: e });
                    }}/>
                 {
                    this.setState({
                      contractNoSearch: e.target.value,
                    });
                  }}
                />
                
                
                下单日期:
                 {
                    this.setState({ releaseDate: dataString });
                  }}
                />
                
                
              
            
            
              
              
              
              
              
              
            
            
              {/*  */}
              
              
              
              
              
            
            
              
              
              
              
              
            
            {/* 
            
           */}
          
          
            
            {this.state.visible ? 
              
             : 
}
            {this.state.noVisible ? 
              
             : 
}
            {this.state.passVisible ? 
              
             : 
}
            {this.state.rizhivisible ? 
              
             : 
}
            {this.state.dvisible ? 
 {
                // this.loadData();
                this.setState({
                  dvisible: false,
                });
              }}
            >
              
                 {
                    this.refs.all = e;
                  }}
                >
                  
                 : 
}
            {this.state.bvisible ? 
              
                 {
                    this.refs.kaiPiao = e;
                  }}
                >
                  
                  
                    开票总计}
                    >
                      {this.state.sum + "(万元)"}
                    
                  
                   (
                      
                    )}
                    content={() => this.refs.kaiPiao}
                  />
                 : 
}
            {this.state.cvisible ? 
              
                 {
                    this.refs.shouKuan = e;
                  }}
                >
                  
                  
                    总计金额}
                    >
                      {this.state.waterSum + "(万元)"}
                    
                  
                   (
                      
                    )}
                    content={() => this.refs.shouKuan}
                  />
                 : 
}
            {this.state.timeVisible ? 
 {
                // this.loadData();
                this.setState({
                  timeVisible: false,
                });
              }}
            >
              
                 {
                    this.refs.all = e;
                  }}
                >
                  
                 : 
}
            {this.state.cuiVisible ? 
 {
                // this.loadData();
                this.setState({
                  cuiVisible: false,
                });
              }}
            >
              
                 {
                    this.refs.all = e;
                  }}
                >
                  
                 : 
}
            {this.state.proVisible ? 
 {
                // this.loadData();
                this.setState({
                  proVisible: false,
                });
              }}
            >
              
                 {
                    this.setState({ pvisible: false });
                  }}
                />
                 {
                    this.refs.all = e;
                  }}
                >
                  
                 : 
}
          
 
          {this.state.addnextVisible && 
}