import React from "react";
import $ from "jquery/src/ajax";
import {
  Form,
  Radio,
  Icon,
  Button,
  Input,
  Spin,
  Table,
  message,
  DatePicker,
  Modal,
  Upload,
  Popconfirm,
  Cascader,
  Tabs,
  Select,
  Tooltip,
  Row,
  Col,
  Tag,
} from "antd";
import NewService from "./addService.jsx";
import moment from "moment";
import "../userMangagement.less";
import { areaSelect } from "@/NewDicProvinceList";
import {
  getApprovedState,
  getprovince,
  getProcessStatus,
  getLiquidationStatus,
  getNewOrderStatus,
  beforeUploadFile,
  getProvinceA,
  getInvoiceStatus,
  splitUrl,
  ShowModal,
  getProjectStatus,
  getProjectName,
} from "../../../tools.js";
import { salesList } from "@/dataDic.js";
import ShowModalDiv from "@/showModal.jsx";
import { ChooseList } from "../orderNew/chooseList";
import ReactToPrint from "react-to-print";
import Project from "../../../../component/project";
import ImgList from "../../../common/imgList";
import OrderItemStatus from "../../../common/orderItemStatus";
import LogPopup from "../../../common/logPopup";
const { Option } = Select;
const { TabPane } = Tabs;
const PicturesWall = React.createClass({
  getInitialState() {
    return {
      previewVisible: false,
      previewImage: "",
      fileList: this.props.pictureUrl,
    };
  },
  getDefaultProps() {
    return {
      changeClick: this.modifyChange,
    };
  },
  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;
  },
  render() {
    const { previewVisible, previewImage, fileList } = this.state;
    const uploadButton = (
      <div>
        <Icon type="plus" />
        <div className="ant-upload-text">点击上传</div>
      </div>
    );
    return (
      <div style={{ display: "inline-block" }}>
        <ImgList
          domId={this.props.domId}
          uploadConfig={{
            action:
              globalConfig.context +
              "/api/admin/orderInvoice/uploadOrderInvoiceFile",
            data: { sign: "order_invoice_file" },
            multiple: true,
            listType: "picture-card",
          }}
          onChange={(infor) => {
            this.handleChange(infor);
          }}
          fileList={fileList}
        />
      </div>
    );
  },
});
const MyService = Form.create()(
  React.createClass({
    loadData(pageNo) {
      this.state.data = [];
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/orderNewList",
        data: {
          pageNo: pageNo || 1,
          pageSize: this.state.pagination.pageSize,
          specially: 0,
          name: this.state.customerName,
          orderNo: this.state.searchOrderNo,
          depId: this.state.departmenttSearch,
          starTime: this.state.releaseDate[0],
          endTime: this.state.releaseDate[1],
          liquidationStatus: this.state.liquidationStatusSearch,
          contractNo: this.state.contractNoSearch,
          depId: this.state.departmenttList,
          approval: this.state.approvalSearch,
          amountStatus: this.state.amountStatus,
          projectType: this.state.projectType,
          processStatus: this.state.processStatus,
        },
        success: function (data) {
          ShowModal(this);
          let theArr = [];
          if (!data.data) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.list.length; i++) {
              let thisdata = data.data.list[i];
              theArr.push({
                key: thisdata.orderNo,
                id: thisdata.id,
                orderNo: thisdata.orderNo, //订单编号
                totalAmount: thisdata.totalAmount, //签单金额
                projectType: thisdata.projectType, // 会员状态
                processStatus: thisdata.processStatus, //流程状态
                liquidationStatus: thisdata.liquidationStatus, //结算状态
                approval: thisdata.approval, //特批状态
                signDate: thisdata.signDate, //签单时间
                userName: thisdata.userName, //客户名称
                salesmanName: thisdata.salesmanName, //营销员名称
                financeName: thisdata.financeName, //财务名称
                createDate: thisdata.createDate, //下单时间
                orderStatus: thisdata.orderStatus, //订单状态
                depName: thisdata.depName, //部门名称
                contractNo: thisdata.contractNo, //合同编号
                invoiceAmount: thisdata.invoiceAmount, //开票金额
                settlementAmount: thisdata.settlementAmount, //已收款
                deleteSign: thisdata.deleteSign,
                salesType: thisdata.salesType,
                other: thisdata.other,
              });
            }
            this.state.pagination.current = data.data.pageNo;
            this.state.pagination.total = data.data.totalCount;
          }
          if (!data.data.list.length) {
            this.state.pagination.current = 0;
            this.state.pagination.total = 0;
          }
          this.setState({
            pageNo: pageNo,
            dataSource: theArr,
            pagination: this.state.pagination,
            selectedRowKeys: [],
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    getInitialState() {
      return {
        kaiData: {
          remarks: "",
          type: undefined,
          orgCodeUrl: "",
          invoiceType: undefined,
          unitName: "",
          taxNumber: "",
          amount: "",
          banks: "",
          content: "",
          unitAddress: "",
          invoiceRemarks: "",
          unitMobile: "",
          post: undefined,
          addressee: "",
          addresseeMobile: "",
          addresseeProvince: "",
          addresseeCity: "",
          addresseeArea: "",
          recipientAddress: "",
          ordapproval: undefined,
          alreadyAmount: "0",
          ProvinceCity: [],
        },
        changeList: undefined,
        datauser: {},
        orgCodeUrl: [],
        selectedRowKeys: [],
        releaseDate: [],
        departmentArr: [],
        signBillState: false,
        signBillVisible: false,
        selectedRows: [],
        recordData: [],
        flag: false,
        searchMore: true,
        loading: false,
        alreadyAmount: 0,
        intentOrder: true,
        formalOrder: true,
        pagination: {
          defaultCurrent: 1,
          defaultPageSize: 10,
          showQuickJumper: true,
          pageSize: 10,
          onChange: function (page) {
            this.loadData(page);
          }.bind(this),
          showTotal: function (total) {
            return "共" + total + "条数据";
          },
        },
        cuiColumns: [
          {
            title: "序号",
            dataIndex: "key",
            key: "key",
          },
          {
            title: "合同编号",
            dataIndex: "contractNo",
            key: "contractNo",
          },
          {
            title: "订单编号",
            dataIndex: "orderNo",
            key: "orderNo",
          },
          {
            title: "客户名称",
            dataIndex: "userName",
            key: "userName",
            width: 150,
            render: (text) => {
              return (
                <Tooltip title={text}>
                  <div
                  // style={{
                  //   maxWidth: "150px",
                  //   overflow: "hidden",
                  //   textOverflow: "ellipsis",
                  //   whiteSpace: "nowrap",
                  // }}
                  >
                    {text}
                  </div>
                </Tooltip>
              );
            },
          },
          {
            title: "订单负责人",
            dataIndex: "salesmanName",
            key: "salesmanName",
          },
          {
            title: "订单部门",
            dataIndex: "depName",
            key: "depName",
          },
          {
            title: "订单状态",
            dataIndex: "orderStatus",
            key: "orderStatus",
            render: (text) => {
              return getNewOrderStatus(text);
            },
          },
          {
            title: "项目状态",
            dataIndex: "projectStatus",
            key: "projectStatus",
            render: (text) => {
              return getProjectName(text);
            },
          },
          {
            title: "签单金额",
            dataIndex: "totalAmount",
            key: "totalAmount",
          },
          {
            title: "结算状态",
            dataIndex: "liquidationStatus",
            key: "liquidationStatus",
            render: (text) => {
              return getLiquidationStatus(text);
            },
          },
          {
            title: "已收款",
            dataIndex: "settlementAmount",
            key: "settlementAmount",
          },
          {
            title: "应收款",
            dataIndex: "accountsReceivable",
            key: "accountsReceivable",
          },
          {
            title: "催收科目",
            dataIndex: "dunSubject",
            key: "dunSubject",
            // render: text => {
            //   return getjiedian(text);
            // }
          },
          {
            title: "催款状态",
            dataIndex: "dunStatus",
            key: "dunStatus",
          },
          {
            title: "催收启动时间",
            dataIndex: "startDate",
            key: "startDate",
          },
        ],
        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",
            width: 150,
            render: (text) => {
              return (
                <Tooltip title={text}>
                  <div
                  // style={{
                  //   maxWidth: "150px",
                  //   overflow: "hidden",
                  //   textOverflow: "ellipsis",
                  //   whiteSpace: "nowrap",
                  // }}
                  >
                    {text}
                  </div>
                </Tooltip>
              );
            },
          },
          {
            title: "订单负责人",
            dataIndex: "salesmanName",
            key: "salesmanName",
          },
          {
            title: "是否主项目",
            dataIndex: "main",
            key: "main",
            render: (text) => {
              return text == 0 ? "否" : "是";
            },
          },
          {
            title: "项目类别",
            dataIndex: "cname",
            key: "cname",
          },
          {
            title: "项目名称",
            dataIndex: "commodityName",
            key: "commodityName",
          },
          {
            title: "项目数量",
            dataIndex: "commodityQuantity",
            key: "commodityQuantity",
          },
          {
            title: "服务市价",
            dataIndex: "commodityPrice",
            key: "commodityPrice",
            render: (text) => {
              return "****";
            },
          },
          {
            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",
          //   render: text => {
          //     return "****";
          //   }
          // }
        ],
        columns: [
          {
            title: "销售类型",
            dataIndex: "salesType",
            key: "salesType",
            // width: 70,
            render: (text, record) => {
              return (
                <Tooltip
                  title={salesList[text] + ((text == 3 || text == 4 || text == 5) ? "，" + record.other : "")}
                >
                  <span>
                    {salesList[text]}
                  </span>
                </Tooltip>
              );
            },
          },
          {
            title: "合同编号",
            dataIndex: "contractNo",
            key: "contractNo",
            width: 112,
            render: (text, record) => {
              return (
                <Tooltip
                  title={
                    <Button
                      type="primary"
                      onClick={(e) => {
                        e.stopPropagation();
                        let input = document.getElementById("copyText");
                        input.value = text;
                        input.select();
                        document.execCommand("copy");
                        message.success("复制成功");
                      }}
                    >
                      复制
                    </Button>
                  }
                >
                  <div>
                    {text}
                    <div style={{ height: 22 }}>
                      <OrderItemStatus deleteSign={record.deleteSign} />
                    </div>
                  </div>
                </Tooltip>
              );
            },
          },
          {
            title: "订单编号",
            dataIndex: "orderNo",
            key: "orderNo",
            width: 140,
            render: (text, record) => {
              return (
                <Tooltip
                  title={
                    <Button
                      type="primary"
                      onClick={(e) => {
                        e.stopPropagation();
                        let input = document.getElementById("copyText");
                        input.value = text;
                        input.select();
                        document.execCommand("copy");
                        message.success("复制成功");
                      }}
                    >
                      复制
                    </Button>
                  }
                >
                  <div>
                    {text}
                    <div style={{ height: 22 }}>
                      {record.totalAmount >= 10 && <Tag color="#ef7207">大客户</Tag>}
                      {record.totalAmount == 1 && <Tag color="rgb(22, 155, 213)">会员</Tag>}
                    </div>
                  </div>
                </Tooltip>
              );
            },
          },
          {
            title: "客户名称",
            dataIndex: "userName",
            key: "userName",
            render: (text, record) => {
              return (
                <span>
                  <Tooltip
                    title={
                      <span>
                        <span style={{ paddingRight: "10px" }}>{text}</span>
                        <Button
                          type="primary"
                          onClick={(e) => {
                            e.stopPropagation();
                            let input = document.getElementById("copyText");
                            input.value = text;
                            input.select();
                            document.execCommand("copy");
                            message.success("复制成功");
                          }}
                        >
                          复制
                        </Button>
                      </span>
                    }
                  >
                    <div style={{ width: "180px" }}>
                      {text}
                    </div>
                  </Tooltip>
                </span>
              );
            },
          },
          // {
          //   title: "状态",
          //   dataIndex: "deleteSign",
          //   key: "deleteSign",
          //   width: 80,
          //   render: (text) => {
          //     return <OrderItemStatus deleteSign={text} />;
          //   },
          // },
          {
            title: "订单部门",
            dataIndex: "depName",
            key: "depName",
            width: 100,
          },
          {
            title: "下单时间",
            dataIndex: "createDate",
            key: "createTime",
            width: 80,
            render: (text) => {
              return <div style={{ textAlign: "center" }}>{text}</div>
            },
          },
          {
            title: "合同签订时间",
            dataIndex: "signDate",
            key: "signDate",
            render: (text) => {
              return <div style={{ textAlign: "center" }}>{text}</div>
            },
          },
          {
            title: "流程状态",
            dataIndex: "processStatus",
            key: "processStatus",
            render: (text) => {
              return getProcessStatus(text);
            },
          },
          {
            title: "签单金额(万元)",
            dataIndex: "totalAmount",
            key: "totalAmount",
            render: (text) => {
              return <div style={{ textAlign: "center" }}>{text}</div>
            },
          },
          {
            title: "开票金额(万元)",
            dataIndex: "invoiceAmount",
            key: "invoiceAmount",
            render: (text) => {
              return <div style={{ textAlign: "center" }}>{text}</div>
            },
          },
          {
            title: "已收款(万元)",
            dataIndex: "settlementAmount",
            key: "settlementAmount",
            render: (text) => {
              return <div style={{ textAlign: "center" }}>{text}</div>
            },
          },
          {
            title: "结算状态",
            dataIndex: "liquidationStatus",
            key: "liquidationStatus",
            render: (text) => {
              return getLiquidationStatus(text);
            },
          },
          {
            title: "是否特批",
            dataIndex: "approval",
            key: "approval",
            render: (text) => {
              return getApprovedState(text);
            },
          },
          {
            title: "订单状态",
            dataIndex: "orderStatus",
            key: "orderStatus",
            render: (text) => {
              return getNewOrderStatus(text);
            },
          },
          {
            title: "财务负责人",
            dataIndex: "financeName",
            key: "financeName",
          },
          {
            title: "操作",
            dataIndex: "abc",
            key: "abc",
            width: 85,
            render: (text, record, index) => {
              return (
                <div>
                  {
                    <Button
                      type="primary"
                      disabled={record.processStatus == 0 ? true : false}
                      style={{
                        margin: "5px",
                        color: "#ffffff",
                        border: "none",
                        marginTop: "5px",
                        background: record.processStatus == 0 ? "#ccc" : "red",
                      }}
                      onClick={(e) => {
                        e.stopPropagation();
                        this.visit(record, index);
                      }}
                    >
                      开票
                    </Button>
                  }
                  {/* <Button
                    type="primary"
                    onClick={e => {
                      e.stopPropagation(), this.inRecord(record, index);
                    }}
                    style={{
                      border: "none",
                      background: "orangered",
                      marginRight: "10px"
                    }}
                  >
                    开票记录
                  </Button> */}
                  {record.liquidationStatus == 2 ? (
                    <Popconfirm
                      title="是否结项?"
                      onConfirm={() => {
                        this.delectRow(record);
                      }}
                      okText="是"
                      cancelText="否"
                    >
                      <Button
                        type="primary"
                        style={{
                          margin: "5px",
                          color: "#ffffff",
                          border: "none",
                        }}
                        onClick={(e) => {
                          e.stopPropagation();
                        }}
                      >
                        结项
                      </Button>
                    </Popconfirm>
                  ) : (
                    ""
                  )}
                </div>
              );
            },
          },
        ],
        columnsDate: [
          {
            title: "编号",
            dataIndex: "id",
            key: "id",
          },
          {
            title: "订单编号",
            dataIndex: "orderno",
            key: "orderno",
          },
          {
            title: "开票金额(万元)",
            dataIndex: "amount",
            key: "amount",
          },
          {
            title: "申请时间",
            dataIndex: "createTime",
            key: "createTime",
          },
          {
            title: "开票状态",
            dataIndex: "status",
            key: "status",
            render: (text, record) => {
              return (
                <div>
                  {record.status === 3 && getInvoiceStatus(text, record)}
                  {record.status === 3 ? (
                    <Button
                      type="danger"
                      onClick={(e) => {
                        e.stopPropagation(), this.reject(record);
                      }}
                      style={{ marginLeft: "10px" }}
                    >
                      查看原因
                    </Button>
                  ) : (
                    getInvoiceStatus(text, record)
                  )}
                  {record.status == 3 ? (
                    <Button
                      type="primary"
                      onClick={(e) => {
                        e.stopPropagation(), this.recompose(record);
                      }}
                      style={{ marginLeft: "10px" }}
                    >
                      修改开票
                    </Button>
                  ) : (
                    ""
                  )}
                  <LogPopup id={record.id} />
                </div>
              );
            },
          },
        ],
        dataSource: [],
      };
    },

    invoiceData(record) {
      if (this.state.flagA) return;
      this.setState({
        flagA: true,
      });
      let theorgCodeUrl = [];
      if (this.state.orgCodeUrl.length) {
        let picArr = [];
        this.state.orgCodeUrl.map(function (item) {
          if (
            item.response &&
            item.response.data &&
            item.response.data.length
          ) {
            picArr.push(item.response.data);
          }
        });
        theorgCodeUrl = picArr.join(",");
      }
      let api = "",
        api1 = "",
        method = "",
        fdata = {
          orderNo: this.state.orderNo3,
          type: this.state.type,
          status: this.state.status,
          approval: this.state.ordapproval,
          remarks: this.state.remarks,
          invoiceType: this.state.invoiceType,
          unitName: this.state.unitName,
          taxNumber: this.state.taxNumber,
          amount: parseFloat(this.state.amount),
          banks: this.state.banks,
          content: this.state.content,
          unitAddress: this.state.unitAddress,
          invoiceRemarks: this.state.invoiceRemarks,
          unitMobile: this.state.unitMobile,
          voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
          post: this.state.post,
          addressee: this.state.addressee,
          addresseeMobile: this.state.addresseeMobile,
          addresseeProvince:
            this.state.post === 0 ? this.state.ProvinceCity[0] || [] : "",
          addresseeCity:
            this.state.post === 0 ? this.state.ProvinceCity[1] || [] : "",
          addresseeArea:
            this.state.post === 0 ? this.state.ProvinceCity[2] || [] : "",
          recipientAddress: this.state.recipientAddress,
          alreadyAmount: parseFloat(this.state.alreadyAmount),
        },
        sumData = {},
        sumData1 = {};
      switch (this.state.status) {
        case 0:
          api = "/api/admin/orderInvoice/createOrderInvoice";
          sumData = fdata;
          method = "post";
          break;
        case 1:
          api = "/api/admin/orderInvoice/createOrderInvoice";
          api1 = "/api/admin/orderInvoice/updateOrderInvoice";
          sumData = fdata;
          sumData1 = {
            orderNo: this.state.orderNo3,
            type: this.state.type,
            status: this.state.status,
            approval: this.state.ordapproval,
            remarks: this.state.remarks,
            invoiceType: this.state.invoiceType,
            unitName: this.state.unitName,
            taxNumber: this.state.taxNumber,
            amount: parseFloat(this.state.amount),
            banks: this.state.banks,
            content: this.state.content,
            unitAddress: this.state.unitAddress,
            invoiceRemarks: this.state.invoiceRemarks,
            unitMobile: this.state.unitMobile,
            voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
            post: this.state.post,
            addressee: this.state.addressee,
            addresseeMobile: this.state.addresseeMobile,
            addresseeProvince:
              this.state.post === 0 ? this.state.ProvinceCity[0] || [] : "",
            addresseeCity:
              this.state.post === 0 ? this.state.ProvinceCity[1] || [] : "",
            addresseeArea:
              this.state.post === 0 ? this.state.ProvinceCity[2] || [] : "",
            recipientAddress: this.state.recipientAddress,
            alreadyAmount: parseFloat(this.state.alreadyAmount),
          };
          sumData1.id = this.state.id;
          method = "post";
          break;
        case 3:
          api = "/api/admin/orderInvoice/selectByIdOrderInvoice";
          sumData.id = record.id;
          method = "get";
          break;
        default:
          api = "";
          break;
      }
      if (this.state.status === 1 || this.state.status === 0) {
        if (typeof this.state.type !== "number") {
          message.warning("省内/外不能为空");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (typeof this.state.invoiceType !== "number") {
          message.warning("发票类型不能为空");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (typeof theorgCodeUrl !== "string") {
          message.warning("未上传图片");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (!this.state.unitName) {
          message.warning("单位名称不能为空");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (!this.state.taxNumber) {
          message.warning("税号不能为空");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (!this.state.amount) {
          message.warning("金额不能为空");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (isNaN(this.state.amount)) {
          message.warning("开票金额包含非法字符,请重新输入");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (isNaN(this.state.alreadyAmount)) {
          message.warning("开票金额总计包含非法字符,请重新输入");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (parseFloat(this.state.alreadyAmount) < 0) {
          message.warning("开票金额总计不能小于0,请重新输入");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (!this.state.banks) {
          message.warning("开户行不能为空");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (!this.state.content) {
          message.warning("开票内容及说明不能为空");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (!this.state.unitAddress) {
          message.warning("单位地址不能为空");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (!this.state.unitMobile) {
          message.warning("单位电话不能为空");
          this.setState({
            flagA: false,
          });
          return;
        }
        if (this.state.alreadyAmount === "") {
          message.warning("开票金额总计不能为空");
          this.setState({
            flagA: false,
          });
          return;
        }
      }
      this.setState({
        loading: true,
      });
      $.ajax({
        method: method,
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + (this.state.flag ? api1 : api),
        data: this.state.flag ? sumData1 : sumData,
        success: function (data) {
          if (this.state.status === 3 && typeof data.data === "object") {
            let thisdata = data.data;
            let ProvinceCityArr = [];
            let ProvinceS = thisdata.addresseeProvince; //省
            let citys = thisdata.addresseeCity; //市
            let Areas = thisdata.addresseeArea; //区
            ProvinceCityArr.push(ProvinceS, citys, Areas);
            this.setState({
              orderNo: thisdata.orderNo,
              type: thisdata.type,
              status: thisdata.status,
              ordapproval: thisdata.approval,
              remarks: thisdata.remarks,
              invoiceType: thisdata.invoiceType,
              unitName: thisdata.unitName,
              taxNumber: thisdata.taxNumber,
              amount: thisdata.amount + "",
              banks: thisdata.banks,
              content: thisdata.content,
              unitAddress: thisdata.unitAddress,
              invoiceRemarks: thisdata.invoiceRemarks,
              unitMobile: thisdata.unitMobile,
              post: thisdata.post,
              addressee: thisdata.addressee,
              addresseeMobile: thisdata.addresseeMobile,
              addresseeProvince: thisdata.addresseeProvince,
              addresseeCity: thisdata.addresseeCity,
              addresseeArea: thisdata.addresseeArea,
              alreadyAmount: thisdata.alreadyAmount + "",
              ProvinceCity:
                ProvinceCityArr[0] != null ? ProvinceCityArr : undefined, //省市区
              recipientAddress: thisdata.recipientAddress,
              orgCodeUrl: thisdata.voucherUrl
                ? splitUrl(
                  thisdata.voucherUrl,
                  ",",
                  globalConfig.avatarHost + "/upload"
                )
                : [],
            });
          }
        }.bind(this),
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          this.loadData(this.state.pageNo);
          if (!data.error.length) {
            if (this.state.status === 1) {
              message.success("提交成功！");
              this.visitCancels();
              if (this.state.flag) {
                this.inRecordData();
              }
              this.setState({
                flagA: false,
              });
            } else if (this.state.status === 0) {
              message.success("保存成功！");
              this.visitCancels();
              this.setState({
                flagA: false,
              });
            } else if (this.state.status === 3) {
              this.setState({
                flag: true,
                flagA: false,
              });
            }
          } else {
            message.warning(data.error[0].message);
            this.setState({
              flagA: false,
            });
          }
        }.bind(this)
      );
    },
    areset() {
      this.setState({
        remarks: "",
        type: undefined,
        orgCodeUrl: [],
        invoiceType: undefined,
        taxNumber: "",
        unitName: "",
        amount: "",
        banks: "",
        content: "",
        unitAddress: "",
        invoiceRemarks: "",
        unitMobile: "",
        post: undefined,
        addressee: "",
        addresseeMobile: "",
        addresseeProvince: "",
        addresseeCity: "",
        addresseeArea: "",
        recipientAddress: "",
        ordapproval: 0,
        alreadyAmount: "",
        ProvinceCity: [],
      });
    },

    recompose(record) {
      this.setState({
        avisible: true,
        orderNo3: record.orderno,
        id: record.id,
      });
      this.setState(
        {
          status: 3,
          cvisible: true,
          flag: false,
        },
        () => {
          this.invoiceData(record);
        }
      );
    },

    submitApp() {
      if (this.state.status === 3) {
        this.setState({
          flag: true,
        });
      }
      this.setState(
        {
          status: 1,
        },
        () => {
          this.invoiceData();
        }
      );
    },
    saveApp() {
      this.setState(
        {
          status: 0,
        },
        () => {
          this.invoiceData();
        }
      );
    },

    reject(record) {
      this.setState({
        visibleR: true,
        reason: record.rejectReason,
      });
    },
    rejectCancels() {
      this.setState({
        visibleR: false,
      });
    },

    //开票
    visit(record, index) {
      this.areset();
      this.setState({
        contractNo: this.state.dataSource[index].contractNo,
        orderNo3: record.orderNo,
        avisible: true,
        flag: false,
        invoiceType: 0,
        alreadyAmount: 0,
        unitName: this.state.dataSource[index].userName,
        post: 1,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderInvoice/getInvoiceDetails",
        data: {
          orderNo: record.orderNo,
        },
        success: (data) => {
          if (data.error.length) {
            message.warning(data.error[0].message);
          } else if (data.data) {
            const thisdata = data.data;
            this.setState({
              id: thisdata.id,
              contractNo: thisdata.contractNo,
              orderNo: thisdata.orderNo,
              ordapproval: thisdata.approval,
              type: thisdata.type,
              status: thisdata.status,
              remarks: thisdata.remarks,
              invoiceType: thisdata.invoiceType,
              unitName: thisdata.unitName,
              taxNumber: thisdata.taxNumber,
              amount: thisdata.amount,
              banks: thisdata.banks,
              content: thisdata.content,
              unitAddress: thisdata.unitAddress,
              invoiceRemarks: thisdata.invoiceRemarks,
              unitMobile: thisdata.unitMobile,
              post: thisdata.post,
              addressee: thisdata.addressee,
              addresseeMobile: thisdata.addresseeMobile,
              addresseeProvince: thisdata.addresseeProvince,
              addresseeCity: thisdata.addresseeCity,
              addresseeArea: thisdata.addresseeArea,
              alreadyAmount: thisdata.alreadyAmount,
              recipientAddress: thisdata.recipientAddress,
              orgCodeUrl: thisdata.voucherUrl
                ? splitUrl(
                  thisdata.voucherUrl,
                  ",",
                  globalConfig.avatarHost + "/upload"
                )
                : [],
            });
          }
        },
      });
    },
    visitCancels() {
      this.setState({
        id: "",
        avisible: false,
        cvisible: false,
      });
    },

    //查看开票历史记录详情
    dtableRowClick(record) {
      this.setState({
        dvisible: true,
      });
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url:
          globalConfig.context +
          "/api/admin/orderInvoice/selectByIdOrderInvoice",
        data: {
          id: record.id,
        },
        success: function (data) {
          let thisdata = data.data;
          this.setState({
            contractNo: thisdata.contractNo,
            orderNo: thisdata.orderNo,
            ordapproval: thisdata.approval,
            type: thisdata.type,
            status: thisdata.status,
            remarks: thisdata.remarks,
            invoiceType: thisdata.invoiceType,
            unitName: thisdata.unitName,
            taxNumber: thisdata.taxNumber,
            amount: thisdata.amount,
            banks: thisdata.banks,
            content: thisdata.content,
            unitAddress: thisdata.unitAddress,
            invoiceRemarks: thisdata.invoiceRemarks,
            unitMobile: thisdata.unitMobile,
            post: thisdata.post,
            addressee: thisdata.addressee,
            addresseeMobile: thisdata.addresseeMobile,
            addresseeProvince: thisdata.addresseeProvince,
            addresseeCity: thisdata.addresseeCity,
            addresseeArea: thisdata.addresseeArea,
            alreadyAmount: thisdata.alreadyAmount,
            recipientAddress: thisdata.recipientAddress,
            orgCodeUrl: thisdata.voucherUrl
              ? splitUrl(
                thisdata.voucherUrl,
                ",",
                globalConfig.avatarHost + "/upload"
              )
              : [],
          });
        }.bind(this),
      }).done(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },

    //关闭开票历史记录详情
    dvisitCancels() {
      this.setState({
        dvisible: false,
      });
    },

    inRecordData() {
      if (!this.state.orderNo2) {
        return;
      }
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url:
          globalConfig.context +
          "/api/admin/orderInvoice/salesmanOrderInvoiceList",
        data: {
          orderNo: this.state.orderNo2,
        },
        success: function (data) {
          let theArr = [];
          let sum = 0;
          if (!data.data) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.list.length; i++) {
              let thisdata = data.data.list[i];
              sum += parseFloat(thisdata.amount);
              theArr.push({
                id: thisdata.id,
                orderno: thisdata.orderno, //订单编号
                amount: thisdata.amount, //签单金额
                createTime: thisdata.createTime, //流程状态
                status: thisdata.status, //结算状态
                rejectReason: thisdata.rejectReason,
                approval: thisdata.approval,
              });
            }
          }
          this.setState({
            recordData: theArr,
            sum: sum.toFixed(6),
          });
        }.bind(this),
      }).done(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },

    inRecord(record) {
      this.setState(
        {
          bvisible: true,
          orderNo2: this.state.selectedRowKeys[0],
        },
        () => {
          this.inRecordData();
        }
      );
    },

    inRecordCanl() {
      this.setState({
        bvisible: false,
      });
    },

    //结项
    delectRow(record) {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/OrderOver",
        data: {
          orderNo: record.orderNo,
        },
      }).done(
        function (data) {
          if (!data.error.length) {
            message.success("该项目已成功结项！");
            this.loadData();
          } else {
            message.warning(data.error[0].message);
          }
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //是否退款
    refundCancel(record) {
      this.refund(record, 0);
    },
    refundOk(record) {
      this.refund(record, 1);
    },
    refund(record, index) {
      this.setState({
        signBillVisible: false,
        selectedRowKeys: [],
        loading: true,
        userDetaile: false,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/order/confirmRefund",
        data: {
          orderNo: record.orderNo,
          confirm: index,
        },
      }).done(
        function (data) {
          if (!data.error.length) {
            message.success("操作成功！");
            this.setState({
              loading: false,
              showDesc: false,
            });
          }
          this.loadData(this.state.pageNo);
        }.bind(this)
      );
    },
    //受理订单
    admissibleOrderOk(e) {
      this.admissibleOrder(e, true);
    },
    admissibleOrderCancel(e) {
      this.admissibleOrder(e, false);
    },
    admissibleOrder(record, index) {
      this.setState({
        signBillVisible: false,
        selectedRowKeys: [],
        loading: true,
        userDetaile: false,
      });
      $.ajax({
        method: "POST",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/order/confirmIntention",
        data: {
          orderNo: record.orderNo,
          confirm: index,
        },
      }).done(
        function (data) {
          if (!data.error.length) {
            message.success("操作成功！");
            this.setState({
              loading: false,
              showDesc: false,
            });
          } else {
            message.warning(data.error[0].message);
            this.setState({
              showDesc: true,
            });
          }
          this.loadData(this.state.pageNo);
        }.bind(this)
      );
    },
    //取消订单
    cancelOrder(e) {
      this.operation(e, 3);
    },
    //作废订单
    scrapOrder(e) {
      this.operation(e, 2);
    },
    //锁定订单
    lockOrder(e) {
      this.operation(e, 0);
    },
    //解锁订单
    unlockOrder(e) {
      this.operation(e, 1);
    },
    //签单
    signBill(ids) {
      this.setState({
        uid: ids,
        signBillVisible: true,
      });
    },
    componentWillMount() {
      this.departmentList();
      this.loadData();
      let data = localStorage.getItem("newData");
      if (data != "{}" && data && data.toString() !== "[object Object]") {
        var newData = JSON.parse(data);
        this.tableRowClick(newData);
      }
    },
    tableRowClick(record) {
      this.state.userDetaile = true;
      this.state.datauser = record;
      this.setState({
        signBillVisible: false,
        signBillState: true,
        showDesc: true,
      });
      localStorage.setItem("newData", "{}");
    },
    //列表各种骚操作
    operation(record, index) {
      this.setState({
        selectedRowKeys: [],
        loading: true,
        showDesc: false,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/order/lockOrRevokeOrder",
        data: {
          orderNo: record.orderNo,
          operatorType: index,
        },
      }).done(
        function (data) {
          if (!data.error.length) {
            message.success("操作成功！");
            this.setState({
              loading: false,
            });
          } else {
            message.warning(data.error[0].message);
          }
          this.loadData(this.state.pageNo);
        }.bind(this)
      );
    },
    addClick() {
      this.state.userDetaile = false;
      this.setState({
        signBillVisible: false,
        showDesc: true,
      });
    },
    closeDesc(e, s) {
      this.state.userDetaile = false;
      this.state.signBillVisible = false;
      this.state.showDesc = e;
      this.loadData(this.state.pageNo);
      // if (s) {
      //   this.loadData(this.state.pageNo);
      // }
    },
    searchSwitch() {
      this.setState({
        signBillVisible: false,
        searchMore: !this.state.searchMore,
      });
    },
    getOrgCodeUrl(e) {
      this.setState({ orgCodeUrl: e });
    },
    search() {
      this.setState({
        signBillVisible: false,
      });
      this.loadData();
    },
    reset() {
      this.setState({
        signBillVisible: false,
      });
      this.state.searchOrderNo = undefined;
      this.state.orderNo = "";
      this.state.customerName = "";
      this.state.departmenttSearch = undefined;
      this.state.releaseDate[0] = undefined;
      this.state.releaseDate[1] = undefined;
      this.state.projectProgress = undefined;
      this.state.approval = undefined;
      this.state.formalOrder = true;
      this.state.intentOrder = true;
      (this.state.liquidationStatusSearch = []),
        (this.state.contractNoSearch = "");
      this.state.departmenttList = [];
      this.state.approvalSearch = undefined;
      this.state.amountStatus = undefined;
      this.state.projectType = undefined;
      this.state.processStatus = undefined;
      this.loadData();
    },
    //部门
    departmentList() {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/organization/selectSuperId",
        data: {},
        success: function (data) {
          let thedata = data.data;
          let theArr = [];
          if (!thedata) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
            thedata = {};
          } else {
            thedata.map(function (item, index) {
              theArr.push({
                key: index,
                name: item.name,
                id: item.id,
              });
            });
          }
          this.setState({
            departmentArr: theArr,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    changeList(arr) {
      const newArr = [];
      this.state.columns.forEach((item) => {
        arr.forEach((val) => {
          if (val === item.title) {
            newArr.push(item);
          }
        });
      });
      this.setState({
        changeList: newArr,
      });
    },
    onSelectChange(selectedRowKeys) {
      this.setState({ selectedRowKeys: selectedRowKeys.slice(-1) });
    },
    // inRecordData() {
    //   this.setState({
    //     loading: true
    //   });
    //   $.ajax({
    //     method: "get",
    //     dataType: "json",
    //     crossDomain: false,
    //     url:
    //       globalConfig.context +
    //       "/api/admin/orderInvoice/salesmanOrderInvoiceList",
    //     data: {
    //       orderNo: this.state.selectedRowKeys[0],
    //       pageSize: 9999
    //     },
    //     success: function(data) {
    //       let theArr = [];
    //       let sum = 0;
    //       if (!data.data) {
    //         if (data.error && data.error.length) {
    //           message.warning(data.error[0].message);
    //         }
    //       } else {
    //         for (let i = 0; i < data.data.list.length; i++) {
    //           let thisdata = data.data.list[i];
    //           sum += parseFloat(thisdata.amount);
    //           theArr.push({
    //             id: thisdata.id,
    //             orderno: thisdata.orderno, //订单编号
    //             amount: thisdata.amount, //签单金额
    //             createTime: thisdata.createTime, //流程状态
    //             status: thisdata.status, //结算状态
    //             rejectReason: thisdata.rejectReason
    //           });
    //         }
    //       }
    //       this.setState({
    //         recordData: theArr,
    //         sum: sum.toFixed(4)
    //       });
    //     }.bind(this)
    //   }).done(
    //     function() {
    //       this.setState({
    //         loading: false
    //       });
    //     }.bind(this)
    //   );
    // },
    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)
      );
    },
    tableRowClickPro(record) {
      this.setState({
        pvisible: true,
        record,
      });
    },
    render() {
      const FormItem = Form.Item;
      const formItemLayout = {
        labelCol: { span: 8 },
        wrapperCol: { span: 14 },
      };
      const RadioGroup = Radio.Group;
      var departmentArr = this.state.departmentArr || [];
      const { RangePicker } = DatePicker;
      const { loading, selectedRowKeys, visible } = this.state;
      const rowSelection = {
        selectedRowKeys,
        onChange: this.onSelectChange,
        hideDefaultSelections: true,
        // type: "radio"
      };
      return (
        <div className="user-content">
          <ShowModalDiv ShowModal={this.state.showModal} />
          <div className="content-title">
            <span
              style={{
                fontWeight: 900,
                fontSize: 16,
                display: "block",
                marginBottom: 10,
              }}
            >
              开单与签单
            </span>
            <Tabs
              defaultActiveKey="2"
              onChange={this.callback}
              className="test"
            >
              <TabPane tab="更改表格显示数据" key="1">
                <div style={{ marginLeft: 10 }}>
                  <ChooseList
                    columns={this.state.columns}
                    changeFn={this.changeList}
                    changeList={this.state.changeList}
                    top={55}
                    margin={11}
                  />
                </div>
              </TabPane>
              <TabPane tab="搜索" key="2">
                <div className="user-search" style={{ marginLeft: 10 }}>
                  <Row>
                    <Input
                      placeholder="订单编号"
                      style={{ width: "150px", marginRight: "10px" }}
                      value={this.state.searchOrderNo}
                      onChange={(e) => {
                        this.setState({ searchOrderNo: e.target.value });
                      }}
                    />
                    <Input
                      placeholder="客户名称"
                      style={{ width: "150px", marginRight: "10px" }}
                      value={this.state.customerName}
                      onChange={(e) => {
                        this.setState({ customerName: e.target.value });
                      }}
                    />
                    <Select
                      placeholder="订单部门"
                      style={{ width: 150, marginRight: 10 }}
                      value={this.state.departmenttList}
                      onChange={(e) => {
                        this.setState({ departmenttList: e });
                      }}
                    >
                      {departmentArr.map(function (item) {
                        return <Option key={item.id}>{item.name}</Option>;
                      })}
                    </Select>
                    <Input
                      placeholder="合同编号"
                      style={{ width: "150px", marginRight: 10 }}
                      value={this.state.contractNoSearch}
                      onChange={(e) => {
                        this.setState({
                          contractNoSearch: e.target.value,
                        });
                      }}
                    />
                    <Select
                      style={{ width: 120 }}
                      placeholder="结算状态"
                      value={this.state.liquidationStatusSearch}
                      onChange={(e) => {
                        this.setState({
                          liquidationStatusSearch: e,
                        });
                      }}
                    >
                      <Option value="0">首付待付请</Option>
                      <Option value="1">尾款待付清</Option>
                      <Option value="2">已付清</Option>
                    </Select>
                    <Select
                      style={{ width: 120 }}
                      placeholder="特批状态"
                      value={this.state.approvalSearch}
                      onChange={(e) => {
                        this.setState({
                          approvalSearch: e,
                        });
                      }}
                    >
                      <Option value="0">非特批</Option>
                      <Option value="1">特批</Option>
                    </Select>
                    <Select
                      style={{ width: 120 }}
                      placeholder="签单金额"
                      value={this.state.amountStatus}
                      onChange={(e) => {
                        this.setState({
                          amountStatus: e,
                        });
                      }}
                    >
                      <Option value="0">10万元以下</Option>
                      <Option value="1">10~20万元</Option>
                      <Option value="2">20~30万元</Option>
                      <Option value="3">30~40万元</Option>
                      <Option value="4">40万元以上</Option>
                    </Select>
                    <Select
                      style={{ width: 120 }}
                      placeholder="会员状态"
                      value={this.state.projectType}
                      onChange={(e) => {
                        this.setState({
                          projectType: e,
                        });
                      }}
                    >
                      <Option value="1">会员</Option>
                      <Option value="0">非会员</Option>
                    </Select>
                    <Select
                      style={{ width: 140 }}
                      placeholder="流程状态"
                      value={this.state.processStatus}
                      onChange={(e) => {
                        this.setState({
                          processStatus: e,
                        });
                      }}
                    >
                      <Option value="">全部</Option>
                      <Option value="0">已派营销员</Option>
                      <Option value="1">已派营销员管理员</Option>
                      <Option value="2">已派财务管理员</Option>
                      <Option value="3">已派财务专员</Option>
                      <Option value="4">已派咨询师管理员</Option>
                      <Option value="5">已部分派咨询师经理</Option>
                      <Option value="6">已部全部派咨询师经理</Option>
                    </Select>
                    <Button
                      type="primary"
                      onClick={this.search}
                      style={{ margin: "0 10px" }}
                    >
                      搜索
                      <Icon type="search" />
                    </Button>
                    <Button
                      onClick={this.reset}
                      style={{ marginRight: "10px" }}
                    >
                      重置 <Icon type="reload" />
                    </Button>
                    <Button
                      type="primary"
                      onClick={this.addClick}
                      style={{ marginRight: "10px" }}
                    >
                      开单
                      <Icon type="plus" />
                    </Button>
                  </Row>
                  <Row style={{ marginTop: 10 }}>
                    <span style={{ marginRight: "10px" }}>下单时间 :</span>
                    <RangePicker
                      style={{ width: 200 }}
                      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 });
                      }}
                    />
                  </Row>
                </div>
              </TabPane>
              <TabPane tab="查看" key="3">
                <Button
                  type="primary"
                  style={{ margin: "11px 0px 10px 10px" }}
                  onClick={() => {
                    this.inRecord();
                    this.setState({
                      bvisible: true,
                    });
                  }}
                  disabled={this.state.selectedRowKeys.length != 1}
                >
                  查看开票记录
                </Button>
                <Button
                  type="primary"
                  style={{ margin: "11px 0px 10px 10px" }}
                  onClick={() => {
                    this.cuiData();
                    this.setState({
                      cuiVisible: true,
                    });
                  }}
                  disabled={this.state.selectedRowKeys.length != 1}
                >
                  查看催款详情
                </Button>
                <Button
                  type="primary"
                  style={{ margin: "11px 0px 10px 10px" }}
                  onClick={() => {
                    this.proData();
                    this.setState({
                      proVisible: true,
                    });
                  }}
                  disabled={this.state.selectedRowKeys.length != 1}
                >
                  查看项目进度
                </Button>
              </TabPane>
            </Tabs>
            <div className="patent-table">
              <Spin spinning={this.state.loading}>
                <Table
                  columns={
                    this.state.changeList == undefined
                      ? this.state.columns
                      : this.state.changeList
                  }
                  dataSource={this.state.dataSource}
                  scroll={{ x: 1500, y: 0 }}
                  pagination={this.state.pagination}
                  rowSelection={rowSelection}
                  onRowClick={this.tableRowClick}
                  bordered
                  size="small"
                />
              </Spin>
            </div>
            <textarea id="copyText" style={{ opacity: 0 }} />
            <NewService
              uid={this.state.uid}
              signBillVisible={this.state.signBillVisible}
              signBillState={this.state.signBillState}
              operation={this.operation}
              admissibleOrder={this.admissibleOrder}
              userDetaile={this.state.userDetaile}
              datauser={this.state.datauser}
              showDesc={this.state.showDesc}
              closeDesc={this.closeDesc}
            />

            {this.state.avisible ? (
              <Modal
                maskClosable={false}
                className="admin-desc-content"
                footer=""
                title="开具发票申请单"
                width="1000px"
                visible={this.state.avisible}
                onOk={this.visitOks}
                onCancel={this.visitCancels}
                style={{ zIndex: 999 }}
              >
                <Form
                  layout="horizontal"
                  // id="demand-form"
                  style={{ paddingBottom: "40px" }}
                >
                  <Spin spinning={this.state.loading}>
                    <div className="clearfix">
                      <div className="clearfix">
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label="合同编号"
                        >
                          <span>{this.state.contractNo}</span>
                        </FormItem>
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label="备注"
                        >
                          {
                            <Input
                              placeholder="填写申请发票原因"
                              value={this.state.remarks}
                              onChange={(e) => {
                                this.setState({ remarks: e.target.value });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                        </FormItem>
                      </div>
                      <div className="clearfix">
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label="省内/外:"
                        >
                          <RadioGroup
                            value={this.state.type}
                            onChange={(e) => {
                              this.setState({ type: e.target.value });
                            }}
                          >
                            <Radio value={0}>省内</Radio>
                            <Radio value={1}>省外</Radio>
                          </RadioGroup>
                          <span
                            style={{
                              position: "absolute",
                              color: "red",
                              fontSize: "10px",
                              lineHeight: "20px",
                            }}
                          >
                            省内:湖南省<br></br>省外:除湖南省以外
                          </span>
                        </FormItem>
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label="特批:"
                        >
                          <RadioGroup
                            value={!this.state.ordapproval ? 0 : 1}
                            onChange={(e) => {
                              this.setState({ ordapproval: e.target.value });
                            }}
                          >
                            <Radio value={0}>否</Radio>
                            <Radio value={1}>是</Radio>
                          </RadioGroup>
                          <span
                            style={{
                              position: "absolute",
                              color: "red",
                              fontSize: "10px",
                              lineHeight: "15px",
                            }}
                          >
                            注:特批单,省内省外,<br></br>分别由周总,省外总经理
                            <br></br>特批后,方可至开票流程
                          </span>
                        </FormItem>
                      </div>
                      <hr
                        style={{
                          border: "1px dashed #aaa",
                          width: "90%",
                          margin: "auto",
                        }}
                      />
                      <div style={{ marginTop: "13px", marginLeft: "16px" }}>
                        <span style={{ fontSize: "14px" }}>发票内容</span>
                      </div>
                      <div className="clearfix">
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label={
                            <span>
                              <strong style={{ color: "#f00" }}>*</strong>
                              发票类型
                            </span>
                          }
                        >
                          <RadioGroup
                            style={{ width: "160%" }}
                            onChange={(e) => {
                              this.setState({ invoiceType: e.target.value });
                            }}
                            value={this.state.invoiceType}
                          >
                            <Radio value={0}>增值税专用发票</Radio>
                            <Radio value={1}>增值税普通发票</Radio>
                            <Radio value={2}>其他</Radio>
                          </RadioGroup>
                        </FormItem>
                      </div>
                      <div className="clearfix">
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label={
                            <span>
                              <strong style={{ color: "#f00" }}>*</strong>
                              单位名称
                            </span>
                          }
                        >
                          {
                            <Input
                              placeholder="请输入单位名称"
                              value={this.state.unitName}
                              onChange={(e) => {
                                this.setState({ unitName: e.target.value });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                          <span
                            style={{
                              position: "absolute",
                              color: "red",
                              fontSize: "10px",
                              lineHeight: "15px",
                              width: "30%",
                            }}
                          >
                            系统读取单位<br></br>名称,可修改
                          </span>
                        </FormItem>
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label={
                            <span>
                              <strong style={{ color: "#f00" }}>*</strong>税号
                            </span>
                          }
                        >
                          {
                            <Input
                              placeholder="请输入税号"
                              value={this.state.taxNumber}
                              onChange={(e) => {
                                this.setState({ taxNumber: e.target.value });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                        </FormItem>
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label={
                            <span>
                              <strong style={{ color: "#f00" }}>*</strong>
                              开票金额(万元)
                            </span>
                          }
                        >
                          {
                            <Input
                              placeholder="请输入开票金额"
                              value={this.state.amount}
                              onChange={(e) => {
                                this.setState({ amount: e.target.value });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                          <span
                            style={{
                              position: "absolute",
                              color: "red",
                              fontSize: "10px",
                              lineHeight: "15px",
                              width: "30%",
                            }}
                          >
                            填写本次开票<br></br>金额
                          </span>
                        </FormItem>
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label={
                            <span>
                              <strong style={{ color: "#f00" }}>*</strong>
                              开户行及银行账号
                            </span>
                          }
                        >
                          {
                            <Input
                              placeholder="请输入开户行及银行账号"
                              value={this.state.banks}
                              onChange={(e) => {
                                this.setState({ banks: e.target.value });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                        </FormItem>
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label={
                            <span>
                              <strong style={{ color: "#f00" }}>*</strong>
                              开票内容及说明
                            </span>
                          }
                        >
                          {
                            <Input
                              placeholder="请输入开票内容及说明"
                              value={this.state.content}
                              onChange={(e) => {
                                this.setState({ content: e.target.value });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                        </FormItem>
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label={
                            <span>
                              <strong style={{ color: "#f00" }}>*</strong>
                              单位地址
                            </span>
                          }
                        >
                          {
                            <Input
                              placeholder="请输入单位地址"
                              value={this.state.unitAddress}
                              onChange={(e) => {
                                this.setState({ unitAddress: e.target.value });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                        </FormItem>
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label="备注"
                        >
                          {
                            <Input
                              placeholder="请备注开票公司名称"
                              value={this.state.invoiceRemarks}
                              onChange={(e) => {
                                this.setState({
                                  invoiceRemarks: e.target.value,
                                });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                          <span
                            style={{
                              position: "absolute",
                              color: "red",
                              fontSize: "10px",
                              lineHeight: "15px",
                              width: "30%",
                            }}
                          >
                            开票公司名称,<br></br>如:科德集团
                          </span>
                        </FormItem>
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label={
                            <span>
                              <strong style={{ color: "#f00" }}>*</strong>
                              单位电话
                            </span>
                          }
                        >
                          {
                            <Input
                              placeholder="请输入单位电话"
                              value={this.state.unitMobile}
                              onChange={(e) => {
                                this.setState({ unitMobile: e.target.value });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                        </FormItem>
                      </div>
                      <div className="clearfix">
                        <FormItem
                          labelCol={{ span: 4 }}
                          wrapperCol={{ span: 18 }}
                          label={
                            <span>
                              <strong style={{ color: "#f00" }}>*</strong>
                              上传附件
                            </span>
                          }
                        >
                          <PicturesWall
                            domId={"billing1"}
                            fileList={this.getOrgCodeUrl}
                            pictureUrl={this.state.orgCodeUrl}
                          />
                          <span
                            style={{
                              paddingTop: "10px",
                              paddingLeft: "10px",
                              color: "red",
                              fontSize: "14px",
                            }}
                          >
                            注:请上传带"公司盖章"的开票申请纸质凭证
                          </span>
                          <p>图片建议：要清晰。</p>
                        </FormItem>
                      </div>
                      <hr
                        style={{
                          border: "1px dashed #aaa",
                          width: "90%",
                          margin: "auto",
                        }}
                      />
                      <div className="clearfix" style={{ marginTop: "10px" }}>
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label="发票是否邮寄:"
                        >
                          <RadioGroup
                            value={this.state.post}
                            onChange={(e) => {
                              this.setState({ post: e.target.value });
                            }}
                          >
                            <Radio value={0}>是</Radio>
                            <Radio value={1}>否</Radio>
                          </RadioGroup>
                        </FormItem>
                      </div>
                      {this.state.post === 0 ? (
                        <div className="clearfix">
                          <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label="收信人姓名"
                          >
                            {
                              <Input
                                placeholder="请输入收信人姓名"
                                value={this.state.addressee}
                                onChange={(e) => {
                                  this.setState({ addressee: e.target.value });
                                }}
                                style={{ width: "240px" }}
                              />
                            }
                          </FormItem>
                          <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label="电话"
                          >
                            {
                              <Input
                                placeholder="请输入电话"
                                value={this.state.addresseeMobile}
                                onChange={(e) => {
                                  this.setState({
                                    addresseeMobile: e.target.value,
                                  });
                                }}
                                style={{ width: "240px" }}
                              />
                            }
                          </FormItem>
                        </div>
                      ) : (
                        ""
                      )}
                      {this.state.post === 0 ? (
                        <div className="clearfix">
                          <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label="省-市-区"
                          >
                            <Cascader
                              options={areaSelect()}
                              value={this.state.ProvinceCity}
                              placeholder="选择城市"
                              style={{ width: "95%" }}
                              onChange={(e) => {
                                this.setState({ ProvinceCity: e });
                              }}
                            />
                          </FormItem>
                        </div>
                      ) : (
                        ""
                      )}
                      {this.state.post === 0 ? (
                        <div className="clearfix">
                          <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label="详细地址"
                          >
                            {
                              <Input
                                placeholder="请输入详细地址"
                                value={this.state.recipientAddress}
                                onChange={(e) => {
                                  this.setState({
                                    recipientAddress: e.target.value,
                                  });
                                }}
                                style={{ width: "240px" }}
                              />
                            }
                          </FormItem>
                        </div>
                      ) : (
                        ""
                      )}
                      {/* 隐藏 */}
                      {/* <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label={
                        <span>
                          <strong style={{ color: "#f00" }}>*</strong>
                          开票金额总计
                        </span>
                      }
                    >
                      {
                        <Input
                          value={this.state.alreadyAmount}
                          onChange={e => {
                            this.setState({ alreadyAmount: e.target.value });
                          }}
                          style={{ width: "40px" }}
                        />
                      }
                      万元
                      <span
                        style={{
                          position: "absolute",
                          color: "red",
                          fontSize: "10px",
                          lineHeight: "15px",
                          marginLeft: "20px"
                        }}
                      >
                        默认值为0.新开票订单此项不用填.<br></br>
                        以前已开票订单,请填写已开票的总计<br></br>
                        金额,便于审核核对!
                      </span>
                    </FormItem> */}
                    </div>
                    <Button
                      className="cancel"
                      type="primary"
                      style={{ marginRight: "50px", float: "right" }}
                      size="large"
                      onClick={this.submitApp}
                    >
                      提交申请
                    </Button>
                    {/*<Button className="cancel" type="primary" style={{marginRight:"50px",float:'right',background:'deepskyblue',border:'none'}} size="large" onClick={this.saveApp}>保存</Button>*/}
                  </Spin>
                </Form>
              </Modal>
            ) : (
              <div />
            )}
            <Modal
              maskClosable={false}
              visible={this.state.bvisible}
              footer=""
              title="开票历史记录"
              className="admin-desc-content"
              width="900px"
              onCancel={(e) => {
                this.setState({
                  bvisible: false,
                });
              }}
              style={{ zIndex: 5 }}
            >
              <Spin spinning={this.state.loading}>
                <div className="patent-table">
                  <Table
                    columns={this.state.columnsDate}
                    onRowClick={this.dtableRowClick}
                    dataSource={this.state.recordData}
                    pagination={false}
                  />
                  <div className="clearfix" style={{ marginTop: "20px" }}>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label={<span style={{ fontSize: "14px" }}>开票总计</span>}
                    >
                      <span>{this.state.sum + "(万元)"}</span>
                    </FormItem>
                  </div>
                </div>
              </Spin>
            </Modal>
            <Modal
              maskClosable={false}
              visible={this.state.visibleR}
              className="admin-desc-content"
              footer=""
              title="拒绝理由"
              width="400px"
              onCancel={this.rejectCancels}
            >
              <Input.TextArea
                disabled={true}
                rows={4}
                value={this.state.reason}
                style={{ color: "black" }}
              ></Input.TextArea>
            </Modal>
            <Modal
              maskClosable={false}
              className="admin-desc-content"
              footer=""
              title="开具发票申请单"
              width="1000px"
              visible={this.state.cvisible}
              onOk={this.visitOks}
              onCancel={this.visitCancels}
              style={{ zIndex: 999 }}
            >
              <Form
                layout="horizontal"
                // id="demand-form"
                style={{ paddingBottom: "40px" }}
              >
                <Spin spinning={this.state.loading}>
                  <div className="clearfix">
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="合同编号"
                      >
                        <span>{this.state.contractNo}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="备注"
                      >
                        {
                          <Input
                            placeholder="填写申请发票原因"
                            value={this.state.remarks}
                            onChange={(e) => {
                              this.setState({ remarks: e.target.value });
                            }}
                            style={{ width: "240px" }}
                          />
                        }
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="省内/外:"
                      >
                        <RadioGroup
                          value={this.state.type}
                          onChange={(e) => {
                            this.setState({ type: e.target.value });
                          }}
                        >
                          <Radio value={0}>省内</Radio>
                          <Radio value={1}>省外</Radio>
                        </RadioGroup>
                        <span
                          style={{
                            position: "absolute",
                            color: "red",
                            fontSize: "10px",
                            lineHeight: "20px",
                          }}
                        >
                          省内:湖南省<br></br>省外:除湖南省以外
                        </span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="特批:"
                      >
                        <RadioGroup
                          value={!this.state.ordapproval ? 0 : 1}
                          onChange={(e) => {
                            this.setState({ ordapproval: e.target.value });
                          }}
                        >
                          <Radio value={0}>否</Radio>
                          <Radio value={1}>是</Radio>
                        </RadioGroup>
                        <span
                          style={{
                            position: "absolute",
                            color: "red",
                            fontSize: "10px",
                            lineHeight: "15px",
                          }}
                        >
                          注:特批单,省内省外,<br></br>分别由周总,省外总经理
                          <br></br>特批后,方可至开票流程
                        </span>
                      </FormItem>
                    </div>
                    <hr
                      style={{
                        border: "1px dashed #aaa",
                        width: "90%",
                        margin: "auto",
                      }}
                    />
                    <div style={{ marginTop: "13px", marginLeft: "16px" }}>
                      <span style={{ fontSize: "14px" }}>发票内容</span>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            发票类型
                          </span>
                        }
                      >
                        <RadioGroup
                          style={{ width: "160%" }}
                          onChange={(e) => {
                            this.setState({ invoiceType: e.target.value });
                          }}
                          value={this.state.invoiceType}
                        >
                          <Radio value={0}>增值税专用发票</Radio>
                          <Radio value={1}>增值税普通发票</Radio>
                          <Radio value={2}>其他</Radio>
                        </RadioGroup>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            单位名称
                          </span>
                        }
                      >
                        {
                          <Input
                            placeholder="请输入单位名称"
                            value={this.state.unitName}
                            onChange={(e) => {
                              this.setState({ unitName: e.target.value });
                            }}
                            style={{ width: "240px" }}
                          />
                        }
                        <span
                          style={{
                            position: "absolute",
                            color: "red",
                            fontSize: "10px",
                            lineHeight: "15px",
                            width: "30%",
                          }}
                        >
                          系统读取单位<br></br>名称,可修改
                        </span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>税号
                          </span>
                        }
                      >
                        {
                          <Input
                            placeholder="请输入税号"
                            value={this.state.taxNumber}
                            onChange={(e) => {
                              this.setState({ taxNumber: e.target.value });
                            }}
                            style={{ width: "240px" }}
                          />
                        }
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            开票金额(万元)
                          </span>
                        }
                      >
                        {
                          <Input
                            placeholder="请输入开票金额"
                            value={this.state.amount}
                            onChange={(e) => {
                              this.setState({ amount: e.target.value });
                            }}
                            style={{ width: "240px" }}
                          />
                        }
                        <span
                          style={{
                            position: "absolute",
                            color: "red",
                            fontSize: "10px",
                            lineHeight: "15px",
                            width: "30%",
                          }}
                        >
                          填写本次开票<br></br>金额
                        </span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            开户行及银行账号
                          </span>
                        }
                      >
                        {
                          <Input
                            placeholder="请输入开户行及银行账号"
                            value={this.state.banks}
                            onChange={(e) => {
                              this.setState({ banks: e.target.value });
                            }}
                            style={{ width: "240px" }}
                          />
                        }
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            开票内容及说明
                          </span>
                        }
                      >
                        {
                          <Input
                            placeholder="请输入开票内容及说明"
                            value={this.state.content}
                            onChange={(e) => {
                              this.setState({ content: e.target.value });
                            }}
                            style={{ width: "240px" }}
                          />
                        }
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            单位地址
                          </span>
                        }
                      >
                        {
                          <Input
                            placeholder="请输入单位地址"
                            value={this.state.unitAddress}
                            onChange={(e) => {
                              this.setState({ unitAddress: e.target.value });
                            }}
                            style={{ width: "240px" }}
                          />
                        }
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="备注"
                      >
                        {
                          <Input
                            placeholder="请备注开票公司名称"
                            value={this.state.invoiceRemarks}
                            onChange={(e) => {
                              this.setState({
                                invoiceRemarks: e.target.value,
                              });
                            }}
                            style={{ width: "240px" }}
                          />
                        }
                        <span
                          style={{
                            position: "absolute",
                            color: "red",
                            fontSize: "10px",
                            lineHeight: "15px",
                            width: "30%",
                          }}
                        >
                          开票公司名称,<br></br>如:科德集团
                        </span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            单位电话
                          </span>
                        }
                      >
                        {
                          <Input
                            placeholder="请输入单位电话"
                            value={this.state.unitMobile}
                            onChange={(e) => {
                              this.setState({ unitMobile: e.target.value });
                            }}
                            style={{ width: "240px" }}
                          />
                        }
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 4 }}
                        wrapperCol={{ span: 18 }}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            上传附件
                          </span>
                        }
                      >
                        <PicturesWall
                          domId={"billing2"}
                          fileList={this.getOrgCodeUrl}
                          pictureUrl={this.state.orgCodeUrl}
                        />
                        <span
                          style={{
                            paddingTop: "10px",
                            paddingLeft: "10px",
                            color: "red",
                            fontSize: "14px",
                          }}
                        >
                          注:请上传带"公司盖章"的开票申请纸质凭证
                        </span>
                        <p>图片建议：要清晰。</p>
                      </FormItem>
                    </div>
                    <hr
                      style={{
                        border: "1px dashed #aaa",
                        width: "90%",
                        margin: "auto",
                      }}
                    />
                    <div className="clearfix" style={{ marginTop: "10px" }}>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="发票是否邮寄:"
                      >
                        <RadioGroup
                          value={this.state.post}
                          onChange={(e) => {
                            this.setState({ post: e.target.value });
                          }}
                        >
                          <Radio value={0}>是</Radio>
                          <Radio value={1}>否</Radio>
                        </RadioGroup>
                      </FormItem>
                    </div>
                    {this.state.post === 0 ? (
                      <div className="clearfix">
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label="收信人姓名"
                        >
                          {
                            <Input
                              placeholder="请输入收信人姓名"
                              value={this.state.addressee}
                              onChange={(e) => {
                                this.setState({ addressee: e.target.value });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                        </FormItem>
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label="电话"
                        >
                          {
                            <Input
                              placeholder="请输入电话"
                              value={this.state.addresseeMobile}
                              onChange={(e) => {
                                this.setState({
                                  addresseeMobile: e.target.value,
                                });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                        </FormItem>
                      </div>
                    ) : (
                      ""
                    )}
                    {this.state.post === 0 ? (
                      <div className="clearfix">
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label="省-市-区"
                        >
                          <Cascader
                            options={areaSelect()}
                            value={this.state.ProvinceCity}
                            placeholder="选择城市"
                            style={{ width: "95%" }}
                            onChange={(e) => {
                              this.setState({ ProvinceCity: e });
                            }}
                          />
                        </FormItem>
                      </div>
                    ) : (
                      ""
                    )}
                    {this.state.post === 0 ? (
                      <div className="clearfix">
                        <FormItem
                          className="half-item"
                          {...formItemLayout}
                          label="详细地址"
                        >
                          {
                            <Input
                              placeholder="请输入详细地址"
                              value={this.state.recipientAddress}
                              onChange={(e) => {
                                this.setState({
                                  recipientAddress: e.target.value,
                                });
                              }}
                              style={{ width: "240px" }}
                            />
                          }
                        </FormItem>
                      </div>
                    ) : (
                      ""
                    )}
                    {/* <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label={
                        <span>
                          <strong style={{ color: "#f00" }}>*</strong>
                          开票金额总计
                        </span>
                      }
                    >
                      {
                        <Input
                          value={this.state.alreadyAmount}
                          onChange={e => {
                            this.setState({ alreadyAmount: e.target.value });
                          }}
                          style={{ width: "40px" }}
                        />
                      }
                      万元
                      <span
                        style={{
                          position: "absolute",
                          color: "red",
                          fontSize: "10px",
                          lineHeight: "15px",
                          marginLeft: "20px"
                        }}
                      >
                        默认值为0.新开票订单此项不用填.<br></br>
                        以前已开票订单,请填写已开票的总计<br></br>
                        金额,便于审核核对!
                      </span>
                    </FormItem> */}
                  </div>
                  <Button
                    className="cancel"
                    type="primary"
                    style={{ marginRight: "50px", float: "right" }}
                    size="large"
                    onClick={this.submitApp}
                  >
                    提交申请
                  </Button>
                  {/*<Button className="cancel" type="primary" style={{marginRight:"50px",float:'right',background:'deepskyblue',border:'none'}} size="large" onClick={this.saveApp}>保存</Button>*/}
                </Spin>
              </Form>
            </Modal>
            <Modal
              maskClosable={false}
              className="admin-desc-content"
              footer=""
              title="开具发票申请单"
              width="900px"
              visible={this.state.dvisible}
              onOk={this.visitOks}
              onCancel={this.dvisitCancels}
            >
              <Form
                layout="horizontal"
                // id="demand-form"
                style={{ paddingBottom: "40px" }}
              >
                <Spin spinning={this.state.loading}>
                  <div className="clearfix">
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="合同编号"
                      >
                        <span>{this.state.contractNo}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="备注"
                      >
                        <span>{this.state.remarks}</span>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            省内/外
                          </span>
                        }
                      >
                        <span>{getProvinceA(this.state.type)}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>特批
                          </span>
                        }
                      >
                        <span>
                          {this.state.ordapproval === 0 ? "否" : "是"}
                        </span>
                      </FormItem>
                    </div>
                    <hr
                      style={{
                        border: "1px dashed #aaa",
                        width: "90%",
                        margin: "auto",
                      }}
                    />
                    <div style={{ marginTop: "13px", marginLeft: "16px" }}>
                      <span style={{ fontSize: "14px" }}>发票内容</span>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            发票类型
                          </span>
                        }
                      >
                        <span>
                          {this.state.invoiceType === 0
                            ? "增值税专用发票"
                            : this.state.invoiceType === 1
                              ? "增值税普通发票"
                              : "其他"}
                        </span>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            单位名称
                          </span>
                        }
                      >
                        <span>{this.state.unitName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>税号
                          </span>
                        }
                      >
                        <span>{this.state.taxNumber}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            开票金额(万元)
                          </span>
                        }
                      >
                        <span>{this.state.amount}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            开户行银行账号
                          </span>
                        }
                      >
                        <span>{this.state.banks}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            开票内容及说明
                          </span>
                        }
                      >
                        <span>{this.state.content}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            单位地址
                          </span>
                        }
                      >
                        <span>{this.state.unitAddress}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="备注"
                      >
                        <span>{this.state.invoiceRemarks}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>
                            单位电话
                          </span>
                        }
                      >
                        <span>{this.state.unitMobile}</span>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 4 }}
                        wrapperCol={{ span: 18 }}
                        label={
                          <span>
                            <strong style={{ color: "#f00" }}>*</strong>附件
                          </span>
                        }
                      >
                        <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'}}>*/}
                        {/*  <ImgList fileList={this.state.orgCodeUrl} ItemWidth={'96px'}/>*/}
                        {/*</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>
                    <hr
                      style={{
                        border: "1px dashed #aaa",
                        width: "90%",
                        margin: "auto",
                      }}
                    />
                    <div className="clearfix" style={{ marginTop: "10px" }}>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="发票是否邮寄:"
                      >
                        <span>{this.state.post === 0 ? "是" : "否"}</span>
                      </FormItem>
                    </div>
                    {this.state.post === 0 ? (
                      <div>
                        <div className="clearfix">
                          <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label="收信人姓名"
                          >
                            <span>{this.state.addressee}</span>
                          </FormItem>
                          <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label="电话"
                          >
                            <span>{this.state.addresseeMobile}</span>
                          </FormItem>
                        </div>
                        <div className="clearfix">
                          <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label="省-市-区"
                          >
                            <span>
                              {getprovince(this.state.addresseeProvince)}/
                              {getprovince(this.state.addresseeCity)}/
                              {getprovince(this.state.addresseeArea)}
                            </span>
                          </FormItem>
                        </div>
                        <div className="clearfix">
                          <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label="详细地址"
                          >
                            <span>{this.state.recipientAddress}</span>
                          </FormItem>
                        </div>
                      </div>
                    ) : (
                      ""
                    )}
                  </div>
                  {/* <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label={
                      <span>
                        <strong style={{ color: "#f00" }}>*</strong>
                        开票金额总计
                      </span>
                    }
                  >
                    <span>{this.state.alreadyAmount}万元</span>
                  </FormItem> */}
                </Spin>
              </Form>
            </Modal>
            {/* <Modal
              visible={this.state.bvisible}
              footer=""
              title="开票历史记录"
              className="admin-desc-content"
              width="900px"
              onCancel={this.inRecordCanl}
            >
              <Spin spinning={this.state.loading}>
                <div
                  className="patent-table"
                  ref={e => {
                    this.refs.kaiPiao = e;
                  }}
                >
                  <Table
                    columns={this.state.columnsDate}
                    dataSource={this.state.recordData}
                    pagination={false}
                    bordered
                  />
                  <div className="clearfix" style={{ marginTop: "20px" }}>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label={<span style={{ fontSize: "14px" }}>开票总计</span>}
                    >
                      <span>{this.state.sum + "(万元)"}</span>
                    </FormItem>
                  </div>
                  <ReactToPrint
                    trigger={() => (
                      <Button
                        type="primary"
                        style={{
                          float: "right",
                          // marginTop: 10,
                          position: "absolute",
                          top: -54,
                          right: 30
                        }}
                      >
                        打印
                      </Button>
                    )}
                    content={() => this.refs.kaiPiao}
                  />
                </div>
              </Spin>
            </Modal> */}
            <Modal
              maskClosable={false}
              visible={this.state.cuiVisible}
              footer=""
              title="催款详情"
              className="admin-desc-content"
              width="1300px"
              pagination={false}
              onCancel={() => {
                // this.loadData();
                this.setState({
                  cuiVisible: false,
                });
              }}
            >
              <Spin spinning={this.state.loading}>
                <div
                  className="patent-table"
                  style={
                    {
                      // width: 900,
                      // position: "relative",
                      // left: "50%",
                      // transform: "translate(-50%)",
                      // padding: "25px 0 30px 30px"
                    }
                  }
                  ref={(e) => {
                    this.refs.all = e;
                  }}
                >
                  <Table
                    columns={this.state.cuiColumns}
                    dataSource={this.state.cuiDataList}
                    scroll={{ x: "max-content", y: 0 }}
                    pagination={false}
                    bordered
                    size="small"
                  />
                </div>
              </Spin>

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

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

export default MyService;
