import React, { Component } from "react";
import {
  Button,
  DatePicker,
  Input,
  message,
  Select,
  Spin,
  Table,
  Tabs,
} from "antd";
import { ShowModal } from "@/tools";
import { ChooseList } from "../../order/orderNew/chooseList";
import $ from "jquery/src/ajax";
import moment from "moment";
import {
  highTechColumns,
  doubleSoft,
  softWriting,
  patent,
  currency,
} from "./highTechConfig";
import ProjectDetails from "./projectDetails";
const { TabPane } = Tabs;
const { RangePicker } = DatePicker;
const { Option } = Select;
class HighTech extends Component {
  constructor(props) {
    super(props);
    this.state = {
      loading: false,
      changeList: [],
      columns: currency,
      status: 0,
      page: 1,
      pagination: {
        defaultCurrent: 1,
        defaultPageSize: 10,
        showQuickJumper: true,
        pageSize: 10,
        onChange: function (page) {
          this.loadData(page);
        }.bind(this),
        showTotal: function (total) {
          return "共" + total + "条数据";
        },
      },
      dataSource: [],
      releaseDate: [],
      searchOrderNo: "",
      searchContractNo: "",
      searchEnterpriseName: "",
      declarationBatch: "",
      projectSituation: "",
      projectAmount: "",
      depId: "",
      thchDepId: "",
      projectType: "",
      projectStatus: "",
      departmentArr: [],
      contactsOption: [],
      contactsOptionData: [],
      visible: false,
    };
    this.resetAll = this.resetAll.bind(this);
    this.changeList = this.changeList.bind(this);
    this.departmentList = this.departmentList.bind(this);
    this.exportPending = this.exportPending.bind(this);
    this.loadData = this.loadData.bind(this);
    this.selectSuperId = this.selectSuperId.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,
    });
  }
  loadData(pageNo = "") {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/statistis/selectTaskList",
      data: this.props.searchData
        ? Object.assign(
            {
              pageNo: pageNo || 1,
              pageSize: this.state.pagination.pageSize || 10,
            },
            this.props.searchData
          )
        : {
            pageNo: pageNo || 1,
            pageSize: this.state.pagination.pageSize || 10,
            startDate:
              this.state.releaseDate.length > 0
                ? this.state.releaseDate[0]
                : undefined, //开始时间
            endDate:
              this.state.releaseDate.length > 0
                ? this.state.releaseDate[1]
                : undefined, //结束时间
            depId: this.state.depId || undefined, //部门ID
            thchDepId: this.state.thchDepId || undefined, //责任部门ID
            projectStatus: this.state.projectStatus || undefined, //项目类别
            projectType:
              typeof this.state.projectType === "number"
                ? this.state.projectType
                : undefined, //项目分类
            orderNo: this.state.searchOrderNo || undefined, //订单编号
            contractNo: this.state.searchContractNo || undefined, //合同编号
            userName: this.state.searchEnterpriseName || undefined, //企业名称
            declarationBatch: this.state.declarationBatch || undefined, //申报批次
            projectSituation:
              typeof this.state.projectSituation === "number"
                ? this.state.projectSituation
                : undefined, //项目分类
            projectAmount: this.state.projectAmount || undefined, //项目金额
            status: this.state.status,
          },
      success: function (data) {
        ShowModal(this);
        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];
            thisdata.key = (data.data.pageNo - 1) * data.data.pageSize + i + 1;
            theArr.push(thisdata);
          }
          this.state.pagination.current = data.data.pageNo;
          this.state.pagination.total = data.data.totalCount;
          if (data.data && data.data.list && !data.data.list.length) {
            this.state.pagination.current = 0;
            this.state.pagination.total = 0;
          }
          this.setState({
            pagination: this.state.pagination,
            page: pageNo,
            dataSource: theArr,
          });
        }
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  }
  resetAll() {
    this.setState(
      {
        releaseDate: [],
        searchOrderNo: "",
        searchContractNo: "",
        searchEnterpriseName: "",
        declarationBatch: "",
        projectSituation: "",
        projectAmount: "",
        projectType: "",
        depId: "",
        thchDepId: "",
        projectStatus: "",
        columns: currency,
        status: 0,
      },
      () => {
        this.loadData();
      }
    );
  }
  //部门
  departmentList() {
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/organization/selectSuperId",
      data: {},
      success: function (data) {
        let thedata = data.data;
        let theArr = [];
        if (!thedata) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          thedata.map(function (item, index) {
            theArr.push({
              key: index,
              name: item.name,
              id: item.id,
            });
          });
        }
        this.setState({
          departmentArr: theArr,
        });
      }.bind(this),
    });
  }
  //项目类别
  selectSuperId() {
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/ProjectSize/getAllCname",
      data: {
        flag: 0,
      },
      success: function (data) {
        let theArr = [];
        let thedata = data.data;
        if (!thedata) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        }
        for (let i = 0; i < data.data.length; i++) {
          let theData = data.data[i];
          theArr.push(