import React from 'react';
import { Button, Input, Spin, Table, message,DatePicker, Upload, Form ,Modal,Col,Tabs, Tag} from 'antd';
import $ from 'jquery/src/ajax';
import Picture from '@/manageCenter/publicComponent/picture';
import ResolutionDetail from "@/resolutionDetail";
import moment from 'moment';
import {
  getLiquidationStatus,
  getApprovedState,
  getProcessStatus,
  splitUrl,
  getjiedian,
  getNewOrderStatus,
  getRefundStatus,
  getCuikuan,
  ShowModal
} from "@/tools.js";
import './customer.less';
import ShowModalDiv from "@/showModal.jsx";
import OrderRiZi from "@/orderRiZi.jsx";
import ImgList from "../../../common/imgList";
import {ChooseList} from "./chooseList";
import OrderItemStatus from "../../../common/orderItemStatus";

const IntentionCustomer = Form.create()(
  React.createClass({
    loadData(pageNo) {
      this.setState({
        visitModul: false,
        loading: true,
        ispage: pageNo,
        modalVisible: false,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/orderRefundList",
        data: {
          pageNo: pageNo || 1,
          pageSize: this.state.pagination.pageSize,
          name: this.state.customerName, //名称
          orderNo: this.state.orderNo, //订单编号
          starTime: this.state.releaseDate[0], //开始时间
          endTime: this.state.releaseDate[1], //结束时间
        },
        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: i,
                id: thisdata.id, //用户ID
                orderNo: thisdata.orderNo, //订单编号
                userName: thisdata.userName, //客户名称
                orderStatus: thisdata.orderStatus, //订单状态
                refundStatus: thisdata.refundStatus, //退单状态
                reason: thisdata.reason, //退单原因
                createDate: thisdata.createDate, //退单时间
                liquidationStatus: thisdata.liquidationStatus, //结算状态
              });
            }
            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 {
        rotateDeg: 0,
        page: 1,
        resVisible: false,
        releaseDate: [],
        selectedRowKeys: [],
        orgCodeUrl: [],
        customerArr: [],
        applicationUrl: [],
        contractUrl: [],
        pagination: {
          defaultCurrent: 1,
          defaultPageSize: 10,
          showQuickJumper: true,
          pageSize: 10,
          onChange: function (page) {
            this.loadData(page);
          }.bind(this),
          showTotal: function (total) {
            return "共" + total + "条数据";
          },
        },
        columns: [
          {
            title: "退单编号",
            dataIndex: "id",
            key: "id",
          },
          {
            title: "退单日期",
            dataIndex: "createDate",
            key: "createDate",
          },
          {
            title: "客户名称",
            dataIndex: "userName",
            key: "userName",
            render: (text) => {
              return text && text.length > 9 ? text.substr(0, 9) + "..." : text;
            },
          },
          {
            title: "订单编号",
            dataIndex: "orderNo",
            key: "orderNo",
          },
          {
            title: "订单状态",
            dataIndex: "orderStatus",
            key: "orderStatus",
            render: (text) => {
              return getNewOrderStatus(text);
            },
          },
          {
            title: "结算状态",
            dataIndex: "liquidationStatus",
            key: "liquidationStatus",
            render: (text) => {
              return getLiquidationStatus(text);
            },
          },
          {
            title: "退单状态",
            dataIndex: "refundStatus",
            key: "refundStatus",
            render: (text) => {
              return getRefundStatus(text);
            },
          },
          {
            title: "退单原因",
            dataIndex: "reason",
            key: "reason",
            render: (text) => {
              return text && text.length > 18
                ? text.substr(0, 18) + "..."
                : text;
            },
          },
          {
            title: "操作",
            dataIndex: "abc",
            key: "abc",
            render: (text, record) => {
              return (
                <div>
                  <Button
                    onClick={(e) => {
                      e.stopPropagation(), this.visit(record);
                    }}
                    type="primary"
                  >
                    {this.state.refundStatus == 2
                      ? "修改退单申请"
                      : "查看退款申请"}
                  </Button>
                </div>
              );
            },
          },
        ],
        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",
          },
        ],
        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) => {
              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);
            },
          },
        ],
      };
    },
    //进入新增拜访记录
    visit(record) {
      this.setState({
        addnextVisible: true,
      });
      this.tuidanxiangqing(record.id);
    },
    //退单详情
    tuidanxiangqing(id) {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/orderRefundDetail",
        data: {
          id: id,
        },
      }).done(
        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({
              id: thisdata.id,
              createDate: thisdata.createDate, //退单时间
              orderNo: thisdata.orderNo, //订单编号
              orderStatus: thisdata.orderStatus, //订单状态
              refundStatus: thisdata.refundStatus, //退单状态
              applicationUrl: thisdata.applicationUrl
                ? splitUrl(
                    thisdata.applicationUrl,
                    ",",
                    globalConfig.avatarHost + "/upload"
                  )
                : [], //申请表附件
              contractUrl: thisdata.contractUrl
                ? splitUrl(
                    thisdata.contractUrl,
                    ",",
                    globalConfig.avatarHost + "/upload"
                  )
                : [], //合同附件
              reason: thisdata.reason, //退单原因
              liquidationStatus: thisdata.liquidationStatus, //结算状态
            });
            this.setState({
              loading: false,
            });
          }
        }.bind(this)
      );
    },

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

    //点击确认退单
    tuidanOk() {
      let contractUrls = [];
      let applicationUrls = [];
      if (this.state.contractUrl.length) {
        let picArr = [];
        this.state.contractUrl.map(function (item) {
          if (
            item.response &&
            item.response.data &&
            item.response.data.length
          ) {
            picArr.push(item.response.data);
          }
        });
        contractUrls = picArr.join(",");
      }
      if (this.state.applicationUrl.length) {
        let picArr = [];
        this.state.applicationUrl.map(function (item) {
          if (
            item.response &&
            item.response.data &&
            item.response.data.length
          ) {
            picArr.push(item.response.data);
          }
        });
        applicationUrls = picArr.join(",");
      }
      $.ajax({
        method: "POST",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/updateOrderRefund",
        data: {
          id: this.state.id, //订单编号
          contractUrl: contractUrls.length ? contractUrls : "", //终止合同
          applicationUrl: applicationUrls.length ? applicationUrls : "", //退单申请表
          reason: this.state.reason, //退单原因
        },
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          if (!data.error.length) {
            message.success("退单成功！");
            this.nextCancel();
            this.handleCancel();
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    },
    //页面加载函数
    componentWillMount() {
      this.loadData();
    },
    //整行点击
    tableRowClick(record) {
      this.setState({
        visible: true,
      });
      this.xiangqing(record.orderNo);
      this.xiangmu(record.orderNo);
      this.jiedian(record.orderNo);
      this.jiedianNew(record.orderNo);
    },

    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.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,
      });
    },

    //详情关闭
    nextCancel() {
      this.setState({
        addnextVisible: false,
      });
      this.resets();
    },
    //订单详情
    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({
              id: thisdata.id,
              kehuId: thisdata.buyerId,
              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, //首付金额
              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, //营销员电话
              oldSalesmanName: thisdata.oldSalesmanName, //营销员名称
              oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话
              financeName: thisdata.financeName, //财务名称
              financeMobile: thisdata.financeMobile, //财务电话
              nowFinance: thisdata.nowFinance, //财务名称
              nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话
              approval: thisdata.approval.toString(), //特批状态
              //approval:thisdata.approval==0?thisdata.approval.toString():thisdata.approval,//特批状态
              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;
              thisdata.sort = thisdata.cSort;
              theArr.push(thisdata);
            }
          }
          this.setState({
            dataSourceX: theArr,
            paginations: false,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //节点列表
    jiedian(orderNos) {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/selectOrderDun",
        data: {
          orderNo: orderNos,
        },
        success: function (data) {
          let theArr = [];
          let thisData = [];
          if (data.error.length || data.data.list == "") {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.length; i++) {
              thisData = data.data[i];
              theArr.push({
                key: i,
                dunSubject: thisData.dunSubject
                  ? thisData.dunSubject.toString()
                  : "", //催款科目
                id: thisData.id, //节点Id
                money: thisData.money, //催款金额
                dunStatus: thisData.dunStatus, //催款状态
                orderNo: thisData.orderNo,
              });
            }
            this.setState({
              contactList: theArr,
            });
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //查看催款节点
    jiedianNew(orderNos) {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url:
          globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun",
        data: {
          orderNo: orderNos,
        },
        success: function (data) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          } else {
            let theArr = [];
            let thisData = [];
            let arr = data.data || [];
            let totalCui = 0;
            for (let i = 0; i < arr.length; i++) {
              thisData = arr[i];
              totalCui += +thisData.money;
              theArr.push({
                key: i,
                dunSubject: thisData.dunSubject
                  ? thisData.dunSubject.toString()
                  : "", //催款科目
                id: thisData.id, //节点Id
                money: thisData.money, //催款金额
                // orderNo: record ? record.orderNo : this.props.datauser.orderNo,
                commodityName: thisData.commodityName,
                projectType: thisData.projectType,
                dunTypeName: thisData.dunTypeName,
                status: thisData.status,
                waitDay: thisData.waitDay,
                effectiveCount: thisData.effectiveCount,
                startDate: thisData.startDate,
                dunType: thisData.dunType,
                appropriationRatio: thisData.appropriationRatio,
                customizeTimes: thisData.customizeTimes,
                customizeName: thisData.customizeName,
                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)
      );
    },

    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,
      });
    },

    resets() {
      this.state.orderNo = "";
      this.state.customerName = "";
      this.state.releaseDate[0] = undefined;
      this.state.releaseDate[1] = undefined;
    },
    reset() {
      this.state.orderNo = "";
      this.state.customerName = "";
      this.state.releaseDate[0] = undefined;
      this.state.releaseDate[1] = undefined;
      this.loadData();
    },

    //搜索
    search() {
      this.setState({
        //signBillVisible:false
      });
      this.loadData();
    },
    getOrgCodeUrl(e) {
      this.setState({ orgCodeUrl: e });
    },
    getReplenishUrl(e) {
      this.setState({ replenishUrl: e });
    },
    //关闭详情
    visitCancel() {
      this.setState({
        visible: false,
      });
      this.resets();
    },
    visitOk() {
      this.setState({
        visible: false,
      });
      this.resets();
    },
    changeList(arr) {
      const newArr = [];
      this.state.columns.forEach(item => {
        arr.forEach(val => {
          if (val === item.title) {
            newArr.push(item);
          }
        });
      });
      this.setState({
        changeList: newArr
      });
    },
    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,
          });
        },
      };
      const { TabPane } = Tabs;

      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">
            <span>退单管理</span>
          </div>
          <div className="user-search">
            <Tabs
              defaultActiveKey="1"
              onChange={this.callback}
              className="test"
            >
              <TabPane tab="搜索" key="1">
                <Input
                  placeholder="客户名称"
                  style={{
                    width: "150px",
                    marginBottom: "10px",
                    marginTop: 10,
                    marginRight: 10,
                    marginLeft: 10,
                  }}
                  value={this.state.customerName}
                  onChange={(e) => {
                    this.setState({ customerName: e.target.value });
                  }}
                />
                <Input
                  placeholder="订单编号"
                  style={{ width: "150px", marginRight: 10 }}
                  value={this.state.orderNo}
                  onChange={(e) => {
                    this.setState({ orderNo: e.target.value });
                  }}
                />
                <span style={{ marginRight: "10px" }}>下单时间 :</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: "10px", marginRight: 10 }}
                >
                  搜索
                </Button>
                <Button onClick={this.reset}>重置</Button>
              </TabPane>
              <TabPane tab="更改表格显示数据" key="2">
                <div style={{ marginLeft: 10 }}>
                  <ChooseList
                      columns={this.state.columns}
                      changeFn={this.changeList}
                      changeList={this.state.changeList}
                      top={55}
                      margin={11}
                  />
                </div>
              </TabPane>
            </Tabs>
            <div className="patent-table">
              <Spin spinning={this.state.loading}>
                <Table
                  columns={
                    this.state.changeList
                        ? this.state.changeList
                        : this.state.columns
                  }
                  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">
                    <div style={{position:"absolute",top:'-52px',left:'81px',zIndex:10000}}>
                      <OrderItemStatus deleteSign={this.state.deleteSign}/>
                    </div>
                    <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.firstAmount}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="首付金额(万元)"
                    >
                      <span>{this.state.totalAmount}</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>
                    <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="合同扫描件"
                      >
                        {/*<Upload*/}
                        {/*  className="demandDetailShow-upload"*/}
                        {/*  listType="picture-card"*/}
                        {/*  fileList={this.state.orgCodeUrl}*/}
                        {/*  onPreview={(file) => {*/}
                        {/*    this.setState({*/}
                        {/*      previewImage: file.url || file.thumbUrl,*/}
                        {/*      previewVisible: true,*/}
                        {/*    });*/}
                        {/*  }}*/}
                        {/*/>*/}
                        <div style={{paddingTop:'10px',paddingBottom:'10px'}}>
                          {this.state.visible && this.state.orgCodeUrl ? <ImgList fileList={this.state.orgCodeUrl} ItemWidth={'96px'}/> : <div/>}
                        </div>
                        <Modal
                          maskClosable={false}
                          footer={null}
                          width={"50%"}
                          visible={this.state.previewVisible}
                          onCancel={() => {
                            this.setState({
                              previewVisible: false,
                              rotateDeg: 0,
                            });
                          }}
                        >
                          <img
                            alt=""
                            style={{
                              width: "100%",
                              transform: `rotate(${this.state.rotateDeg}deg)`,
                            }}
                            src={this.state.previewImage || ""}
                          />
                          <Button
                            onClick={this.rotate}
                            style={{
                              position: "relative",
                              left: "50%",
                              transform: "translateX(-50%)",
                            }}
                          >
                            旋转
                          </Button>
                          <Button
                            onClick={this.upImg}
                            style={{
                              position: "absolute",
                              left: -81,
                              top: "50%",
                              transform: "translateY(-50%)",
                            }}
                          >
                            上一张
                          </Button>
                          <Button
                            onClick={this.downImg}
                            style={{
                              position: "absolute",
                              right: -81,
                              top: "50%",
                              transform: "translateY(-50%)",
                            }}
                          >
                            下一张
                          </Button>
                        </Modal>
                        <Button
                          style={{
                            float: "right",
                            marginRight: "140px",
                            marginTop: "20px",
                          }}
                          onClick={this.getOrderLog}
                        >
                          查看订单 日志
                        </Button>
                      </FormItem>
                      <FormItem
                        labelCol={{ span: 4 }}
                        wrapperCol={{ span: 18 }}
                        label="补充协议"
                      >
                        {/*<Upload*/}
                        {/*  className="demandDetailShow-upload"*/}
                        {/*  listType="picture-card"*/}
                        {/*  fileList={this.state.replenishUrl}*/}
                        {/*  onPreview={(file) => {*/}
                        {/*    this.setState({*/}
                        {/*      previewImage: file.url || file.thumbUrl,*/}
                        {/*      previewVisibles: true,*/}
                        {/*    });*/}
                        {/*  }}*/}
                        {/*/>*/}
                        <div style={{paddingTop:'10px',paddingBottom:'10px'}}>
                          {this.state.visible && this.state.replenishUrl ? <ImgList domId={'chargeback1'} fileList={this.state.replenishUrl}/> : <div/>}
                        </div>
                        <Modal
                          maskClosable={false}
                          footer={null}
                          width={"50%"}
                          visible={this.state.previewVisibles}
                          onCancel={() => {
                            this.setState({ previewVisibles: false, rotateDeg: 0, });
                          }}
                        >
                          <img
                            alt=""
                            style={{
                              width: "100%",
                              transform: `rotate(${this.state.rotateDeg}deg)`,
                            }}
                            src={this.state.previewImage || ""}
                          />
                          <Button
                            onClick={this.rotates}
                            style={{
                              position: "relative",
                              left: "50%",
                              transform: "translateX(-50%)",
                            }}
                          >
                            旋转
                          </Button>
                          <Button
                            onClick={this.upImgs}
                            style={{
                              position: "absolute",
                              left: -81,
                              top: "50%",
                              transform: "translateY(-50%)",
                            }}
                          >
                            上一张
                          </Button>
                          <Button
                            onClick={this.downImgs}
                            style={{
                              position: "absolute",
                              right: -81,
                              top: "50%",
                              transform: "translateY(-50%)",
                            }}
                          >
                            下一张
                          </Button>
                        </Modal>
                      </FormItem>
                    </div>
                    <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.nowFinance}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="当前财务负责人电话"
                      >
                        <span>{this.state.nowFinanceMobile}</span>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        style={{ opacity: ".5" }}
                        label="原订单负责人"
                      >
                        <span>{this.state.oldSalesmanName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        style={{ opacity: ".5" }}
                        label="原订单负责人电话"
                      >
                        <span>{this.state.oldSalesmanMobile}</span>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        style={{ opacity: ".5" }}
                        {...formItemLayout}
                        label="实际财务操作人"
                      >
                        <span>{this.state.financeName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        style={{ opacity: ".5" }}
                        label="实际财务操作人电话"
                      >
                        <span>{this.state.financeMobile}</span>
                      </FormItem>
                    </div>
                    <div>
                      <span style={{ marginLeft: "50px", fontSize: "20px" }}>
                        项目业务
                      </span>
                    </div>
                    <div className="patent-table">
                      <Spin spinning={this.state.loading}>
                        <Table
                          columns={this.state.columnsX}
                          dataSource={this.state.dataSourceX}
                          pagination={this.state.paginations}
                          bordered
                          size="small"
                        />
                      </Spin>
                    </div>
                    <div>
                      <span style={{ marginLeft: "50px", fontSize: "20px" }}>
                        催款节点
                      </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={this.state.ContactsLists}
                            // dataSource={this.state.contactList}
                            columns={
                              cuiDataList.length
                                ? this.state.ContactsLists
                                : this.state.ContactsListsNew
                            }
                            dataSource={
                              cuiDataList.length
                                ? this.state.contactList
                                : this.state.contactListNew
                            }
                          />
                          <Col
                            span={24}
                            offset={9}
                            style={{ marginTop: "15px" }}
                          />
                        </Form>
                      </Spin>
                    </div>
                  </div>
                </Spin>
              </Form>
            </Modal> : <div/>}
            {this.state.addnextVisible ? <Modal
              maskClosable={false}
              visible={this.state.addnextVisible}
              onOk={this.nextCancel}
              onCancel={this.nextCancel}
              width="800px"
              title={this.state.refundStatus == 2 ? "修改退单申请" : "退单详情"}
              footer=""
              className="admin-desc-content"
            >
              <Form layout="horizontal" id="demand-form">
                <Spin spinning={this.state.loading}>
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="退单编号"
                    >
                      <span>{this.state.id}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="退单日期"
                    >
                      <span>{this.state.createDate}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="订单编号"
                    >
                      <span>{this.state.orderNo}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="订单状态"
                    >
                      <span>{getNewOrderStatus(this.state.orderStatus)}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="退单状态"
                    >
                      <span>{getRefundStatus(this.state.refundStatus)}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="退款状态"
                    >
                      <span>
                        {getLiquidationStatus(this.state.liquidationStatus)}
                      </span>
                    </FormItem>
                    <div className="clearfix">
                      {this.state.refundStatus == 2 ? (
                        <FormItem
                          labelCol={{ span: 4 }}
                          wrapperCol={{ span: 16 }}
                          label="终止合同"
                        >
                          <Picture
                            domId={'chargeback4'}
                            fileList={(e) => {
                              this.setState({ contractUrl: e });
                            }}
                            pictureUrl={this.state.contractUrl}
                            visible={this.props.visible}
                            data={{
                              sign: "order_refund_file",
                              url: "/api/admin/newOrder/uploadRefundOrderFile",
                            }}
                          />
                        </FormItem>
                      ) : (
                        <FormItem
                          labelCol={{ span: 4 }}
                          wrapperCol={{ span: 18 }}
                          label="合同扫描件"
                        >
                          {/*<Upload*/}
                          {/*  className="demandDetailShow-upload"*/}
                          {/*  listType="picture-card"*/}
                          {/*  fileList={this.state.orgCodeUrl}*/}
                          {/*  onPreview={(file) => {*/}
                          {/*    this.setState({*/}
                          {/*      previewImage: file.url || file.thumbUrl,*/}
                          {/*      previewVisible: true,*/}
                          {/*    });*/}
                          {/*  }}*/}
                          {/*/>*/}
                          <div style={{paddingTop:'10px',paddingBottom:'10px'}}>
                            {this.state.visible && this.state.orgCodeUrl ? <ImgList domId={'chargeback2'} fileList={this.state.orgCodeUrl}/> : <div/>}
                          </div>
                          <Modal
                            maskClosable={false}
                            footer={null}
                            visible={this.state.previewVisible}
                            onCancel={() => {
                              this.setState({ previewVisible: false });
                            }}
                          >
                            <img
                              alt=""
                              style={{ width: "100%" }}
                              src={this.state.previewImage || ""}
                            />
                          </Modal>
                        </FormItem>
                      )}
                    </div>
                    <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 4 }}
                        wrapperCol={{ span: 16 }}
                        label="退单申请表"
                      >
                        {/*<Upload*/}
                        {/*  className="demandDetailShow-upload"*/}
                        {/*  listType="picture-card"*/}
                        {/*  fileList={this.state.orgCodeUrl}*/}
                        {/*  onPreview={(file) => {*/}
                        {/*    this.setState({*/}
                        {/*      previewImage: file.url || file.thumbUrl,*/}
                        {/*      previewVisible: true,*/}
                        {/*    });*/}
                        {/*  }}*/}
                        {/*/>*/}
                        <div style={{paddingTop:'10px',paddingBottom:'10px'}}>
                          {this.state.visible && this.state.orgCodeUrl ? <ImgList domId={'chargeback3'} fileList={this.state.orgCodeUrl}/> : <div/>}
                        </div>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 4 }}
                        wrapperCol={{ span: 16 }}
                        label="退单理由"
                      >
                        {this.state.refundStatus == 2 ? (
                          <Input
                            type="textarea"
                            placeholder="请输入退单理由"
                            rows={4}
                            value={this.state.reason}
                            onChange={(e) => {
                              this.setState({ reason: e.target.value });
                            }}
                          />
                        ) : (
                          <span>{this.state.reason}</span>
                        )}
                      </FormItem>
                    </div>
                    {this.state.refundStatus == 2 ? (
                      <FormItem
                        wrapperCol={{ span: 12, offset: 4 }}
                        className="half-middle"
                      >
                        <Button
                          className="submitSave"
                          type="primary"
                          onClick={this.tuidanOk}
                        >
                          重新退单
                        </Button>
                        <Button
                          className="submitSave"
                          type="ghost"
                          onClick={this.nextCancel}
                        >
                          取消
                        </Button>
                      </FormItem>
                    ) : (
                      ""
                    )}
                  </div>
                </Spin>
              </Form>
            </Modal> : <div/>}
            <OrderRiZi
              dataSourcerizhi={this.state.dataSourcerizhi}
              closeOrderLog={this.closeOrderLog}
              visible={this.state.rizhivisible}
              loading={this.state.loading}
            />
          </div>
        </div>
      );
    },
  })
);
export default IntentionCustomer;






