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(