import React from 'react';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import moment from 'moment';
import '../distribute/public.less';
import {
  Button,
  Input,
  Spin,
  Table,
  Select,
  Switch,
  InputNumber,
  message,
  DatePicker,
  Modal,
  Form,
  Tabs,
  Tooltip
} from 'antd';
import { getNewOrderStatus, getProjectName, getJsyPaymentType, getBonusState, ShowModal } from '@/tools';
import BonuseDetail from './bonusDetail';
import { ChooseList } from "../../order/orderNew/chooseList";
const FormItem = Form.Item;
import ShowModalDiv from "@/showModal.jsx";
import Cascaders from "../../../common/cascaders";
const { TabPane } = Tabs
const YxBonus = React.createClass({
  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);
          }
        } 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)
    );
  },
  loadData(pageNo) {
    this.state.data = [];
    this.setState({
      selectedRowKeys: [],
      selectedRowKey: [],
      page: pageNo,
      loading: true
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/bonus/saleBonusStatistics",
      data: {
        pageNo: pageNo || 1,
        pageSize: this.state.pagination.pageSize,
        salesName: this.state.orderRefundSearch, //订单负责人
        deps: JSON.stringify(this.state.departmenttList),
        orderNo: this.state.orderNoSearch,
        startTime: this.state.releaseDate[0],
        endTime: this.state.releaseDate[1],
        grantStatus: this.state.grantStatus,
        startTime1: this.state.createDate[0],
        endTime1: this.state.createDate[1]
      },
      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);
          }
        }
        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({
          dataSource: data.data.list,
          pagination: this.state.pagination
        });
      }.bind(this)
    }).always(
      function () {
        this.setState({
          loading: false
        });
      }.bind(this)
    );
  },
  getInitialState() {
    return {
      searchMore: true,
      releaseDate: [],
      createDate: [],
      RowData: {},
      execState: false,
      selectedRowKeys: [],
      selectedRows: [],
      proofData: {},
      loading: false,
      changeList: undefined,
      pagination: {
        defaultCurrent: 1,
        defaultPageSize: 10,
        showQuickJumper: true,
        pageSize: 10,
        onChange: function (page) {
          this.loadData(page);
        }.bind(this),
        showTotal: function (total) {
          return "共" + total + "条数据";
        }
      },
      columns: [
        {
          title: "订单编号",
          dataIndex: "orderNo",
          key: "orderNo",
          //   fixed: "left"
        },
        {
          title: "客户名称",
          dataIndex: "buyName",
          key: "buyName",
          render: text => {
            return (