import React from "react";
import {
  Icon,
  Button,
  AutoComplete,
  Cascader,
  Input,
  Select,
  Spin,
  Table,
  message,
  DatePicker,
  Tooltip,
  Form,
  Tabs,
  Modal,
  Tag,
  Checkbox,
} from "antd";
import $ from "jquery/src/ajax";
import moment from "moment";
import { citySelect, provinceList } from "@/NewDicProvinceList";
import AddIntention from "./addIntention.jsx";
import { industry, lvl, currentMember } from "@/dataDic.js";
import ZhuanjiaoDetail from "@/zhuanjiaoDetail.jsx";
import { getSocialAttribute, ShowModal } from "@/tools.js";
import FollowDetail from "./followDetail.jsx";
import IntentionDetail from "./intentionDetail/intentionDetail";
import ShowModalDiv from "@/showModal.jsx";
import "./customer.less";
import { ChooseList } from "../../../order/orderNew/chooseList";
import EnterpriseNameChange from "../../../../common/enterpriseNameChange";

const { TabPane } = Tabs;
const confirm = Modal.confirm;
const IntentionCustomer = Form.create()(
  React.createClass({
    loadData(pageNo, apiUrl) {
      // 新需求 除湖南和内蒙古外 不让其他省操作
      if (adminData.province != "21" && adminData.province != "11") {
        return
      }
      this.setState({
        visitModul: false,
        loading: true,
        modalVisible: false,
      });
      let api = apiUrl ? apiUrl : this.props.ApiUrl;
      $.ajax({
        method: "post",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + api,
        data: {
          pageNo: pageNo || 1,
          pageSize: this.state.pagination.pageSize,
          level: this.state.level ? this.state.level : undefined,
          name: this.state.nameSearch,
          province: !this.state.addressSearch.length
            ? this.state.provinceSearch
            : this.state.addressSearch[0],
          city: !this.state.addressSearch.length
            ? undefined
            : this.state.addressSearch[1],
          startDate: this.state.releaseDate[0],
          endDate: this.state.releaseDate[1],
        },
        success: function (data) {
          ShowModal(this);
          let theArr = [];
          if (data.error.length || data.data.list == "") {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.list.length; i++) {
              let thisdata = data.data.list[i];
              let diqu =
                (thisdata.province == null ? "" : thisdata.province) +
                (thisdata.city == null ? "" : "-" + thisdata.city) +
                (thisdata.area == null ? "" : "-" + thisdata.area);
              thisdata.key = i;
              thisdata.id = thisdata.uid;
              thisdata.lastFollowTime =
                thisdata.lastFollowTime &&
                thisdata.lastFollowTime.split(" ")[0];
              thisdata.transferTime =
                thisdata.transferTime && thisdata.transferTime.split(" ")[0];
              thisdata.surplusFollowTime =
                thisdata.surplusFollowTime &&
                thisdata.surplusFollowTime.split(" ")[0];
              thisdata.surplusSignTime =
                thisdata.surplusSignTime &&
                thisdata.surplusSignTime.split(" ")[0];
              thisdata.locationProvince = diqu;
              theArr.push(thisdata);
            }
            this.state.pagination.current = data.data.pageNo;
            this.state.pagination.total = data.data.totalCount;
            this.setState({
              ispage: data.data.pageNo,
            });
          }
          if (data.data && data.data.list && !data.data.list.length) {
            this.state.pagination.current = 0;
            this.state.pagination.total = 0;
          }
          if (
            JSON.stringify(theArr) !== JSON.stringify(this.state.dataSource)
          ) {
            this.setState({
              selectedRowKeys: [],
            });
          }
          this.setState({
            dataSource: theArr,
            pagination: this.state.pagination,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //品类数据获取
    category() {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/Varieties/getSuperList",
        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({
                value: item.id,
                key: item.cname,
              });
            });
          }
          this.setState({
            categoryArr: theArr,
          });
        }.bind(this),
      });
    },
    getInitialState() {
      return {
        addressSearch: [],
        orgCodeUrl: [],
        companyLogoUrl: [],
        visible: false,
        zhuanjiaoVisible: false,
        searchMore: true,
        releaseDate: [],
        categoryArr: [],
        visitModul: false,
        keys: false,
        detailApi: "",
        followData: {},
        selectedRowKeys: [],
        selectedRowKey: [],
        selectedRows: [],
        loading: false,
        modalVisible: false,
        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: "name",
            key: "name",
            width: 150,
            render: (text) => {
              return (
                <Tooltip title={text}>
                  <div
                    onClick={(e) => {
                      e.stopPropagation();

                      let input = document.getElementById("copyText");
                      input.value = text;
                      input.select();
                      document.execCommand("copy");
                      message.success("复制成功");
                    }}
                  // style={{
                  //   maxWidth: "150px",
                  //   overflow: "hidden",
                  //   textOverflow: "ellipsis",
                  //   whiteSpace: "nowrap",
                  //   cursor: "pointer",
                  // }}
                  >
                    {text}
                  </div>
                </Tooltip>
              );
            },
          },
          {
            title: "统一社会信用代码",
            dataIndex: "orgCode",
            key: "orgCode",
            render: (text) => {
              return <div style={{ color: !text ? "red" : "#000000A6" }}>
                {!text ? "待补充" : text}
              </div>;
            },
          },
          {
            title: "地区",
            dataIndex: "locationProvince",
            key: "locationProvince",
          },
          // {
          //   title: "联系人",
          //   dataIndex: "contacts",
          //   key: "contacts",
          // },
          // {
          //   title: "联系电话",
          //   dataIndex: "contactMobile",
          //   key: "contactMobile",
          // },
          {
            title: "社会性质",
            dataIndex: "societyTag",
            key: "societyTag",
            render: (text) => {
              return getSocialAttribute(text);
            },
          },
          {
            title: "客户初始时间",
            dataIndex: "transferTime",
            key: "transferTime",
          },
          {
            title: "剩余私有天数",
            dataIndex: "surplusFollowTime",
            key: "surplusFollowTime",
          },
          {
            title: "剩余签单天数",
            dataIndex: "surplusSignTime",
            key: "surplusSignTime",
          },
          {
            title: "最新跟进时间",
            dataIndex: "lastFollowTime",
            key: "lastFollowTime",
          },
          {
            title: "客户等级",
            dataIndex: "level",
            key: "level",
            render: (text) => {
              if (text == 0) {
                return <Tag color="#87d068">一般客户</Tag>;
              } else if (text == 1) {
                return <Tag color="#D2691E">意向客户</Tag>;
              } else if (text == 2) {
                return <Tag color="#FF0000">重点客户</Tag>;
              } else {
                return "";
              }
            },
          },
          {
            title: "跟进操作",
            dataIndex: "abc",
            key: "abc",
            render: (text, record, index) => {
              return (
                <div
                  style={{
                    display: "flex",
                    flexFlow: "row",
                    alignItems: "center",
                  }}
                >
                  <Button
                    onClick={(e) => {
                      const _this = this
                      e.stopPropagation()
                      if (!record.orgCode) {
                        confirm({
                          title: '您暂时不可以跟进客户',
                          content: `请先完善"企业统一社会信用代码"`,
                          cancelText: '取消',
                          okText: '去完善',
                          onOk() {
                            _this.tableRowClick(record)
                          },
                          onCancel() { },
                        });
                      } else {
                        this.visit(record);
                      }
                    }}
                    type="primary"
                  >
                    客户跟进
                  </Button>
                </div>
              );
            },
          },
          {
            title: "指导意见",
            dataIndex: "guidance",
            key: "guidance",
            render: (text, record, index) => {
              return (
                <div
                  style={{
                    display: "flex",
                    flexFlow: "row",
                    alignItems: "center",
                  }}
                >
                  {/*指导 0无 1未读 2已读*/}
                  {text === 1 || text === 2 ? (
                    <Button
                      style={
                        text === 1
                          ? {
                            background: "#F00000",
                            borderColor: "#F00000",
                          }
                          : {}
                      }
                      onClick={(e) => {
                        e.stopPropagation();
                        this.guidanceRead(record.uid).then(() => {
                          this.setState(
                            {
                              tabsKey: "4",
                            },
                            () => {
                              this.tableRowClick(record);
                            }
                          );
                        });
                      }}
                      type="primary"
                    >
                      {text === 1 ? "未读" : "查看"}
                    </Button>
                  ) : (
                    <div>暂无指导</div>
                  )}
                </div>
              );
            },
          },
        ],
        tabsKey: "",
        data: [],
        dataman: [],
        dataSource: [],
        visitArrList: [],
        searchTime: [,],
        selList: [],
      };
    },

    //已读指导记录
    guidanceRead(id) {
      return new Promise((resolve, reject) => {
        $.ajax({
          method: "post",
          dataType: "json",
          crossDomain: false,
          url: globalConfig.context + "/api/admin/customer/pushGuidance",
          data: {
            uid: id,
          },
        }).done(
          function (data) {
            if (!data.error.length) {
              resolve();
            } else {
              message.warning(data.error[0].message);
              reject();
            }
          }.bind(this)
        );
      });
    },

    rankO(rank) {
      let deletedIds = "";
      for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
        let rowItem = this.state.selectedRows[idx];
        if (rowItem.id) {
          deletedIds =
            this.state.selectedRows.length - 1 === idx
              ? deletedIds + rowItem.id
              : deletedIds + rowItem.id + ",";
        }
      }
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/customer/updateUserLevel",
        data: {
          id: deletedIds, //客户的ID
          level: rank,
        },
      }).done(
        function (data) {
          if (!data.error.length && data.data !== 0) {
            message.success("操作成功！");
            this.setState({
              loading: false,
            });
            this.loadData(this.state.ispage);
          } else {
            message.warning(
              data.data === 0 ? "操作失败,请联系管理员!" : data.error[0].message
            );
          }
        }.bind(this)
      );
    },

    //进入新增拜访记录
    visit(e) {
      this.setState({
        followData: e,
        visitModul: true,
        modalVisible: false,
      });
    },
    //列表删除功能
    delectRow() {
      let deletedIds = "";
      for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
        let rowItem = this.state.selectedRows[idx];
        if (rowItem.id) {
          deletedIds =
            this.state.selectedRows.length - 1 === idx
              ? deletedIds + rowItem.id
              : deletedIds + rowItem.id + ",";
        }
      }
      this.setState({
        loading: true,
        selectedRowKeys: [],
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/customer/deleteCustomer",
        data: {
          uid: deletedIds, //删除的ID
        },
      }).done(
        function (data) {
          if (!data.error.length) {
            message.success("删除成功！");
            this.setState({
              loading: false,
            });
          } else {
            message.warning(data.error[0].message);
          }
          this.loadData(this.state.ispage);
        }.bind(this)
      );
    },
    componentWillMount() {
      //城市
      let Province = [];
      provinceList.map(function (item) {
        var id = String(item.id);
        Province.push(
          <Select.Option value={id} key={item.name}>
            {item.name}
          </Select.Option>
        );
      });
      //行业
      let intentionalArr = [];
      industry.map(function (item) {
        intentionalArr.push(
          <Select.Option value={item.value} key={item.key}>
            {item.key}
          </Select.Option>
        );
      });
      //会员等级
      let lvlArr = [];
      lvl.map(function (item) {
        lvlArr.push(
          <Select.Option value={item.value} key={item.key}>
            {item.key}
          </Select.Option>
        );
      });
      //会员状态customerStatus
      let currentMemberArr = [];
      currentMember.map(function (item) {
        currentMemberArr.push(
          <Select.Option value={item.value} key={item.key}>
            {item.key}
          </Select.Option>
        );
      });
      this.state.Provinces = Province;
      this.state.intentionalOption = intentionalArr;
      this.state.lvlArrOption = lvlArr;
      this.state.currentMemberArrOption = currentMemberArr;
      this.loadData();
      this.category();
    },
    addClick() {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/customer/queryUserMax",
        data: {},
        success: function (data) {
          let thedata = data.data;
          if (!thedata) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            } else {
              if (thedata == 1) {
                Modal.warning({
                  title: '温馨提示',
                  content: (
                    <div>
                      <p>不可添加！您的客户数已达最大值，可移除部分客户后添加！</p>
                    </div>
                  ),
                  onOk() { },
                });
                return
              }
              this.state.RowData = {};
              this.setState({
                detailApi: this.props.detailApi,
                showDesc: true,
                modalVisible: false,
                visitModul: false,
              });
            }
          }

        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    closeDesc(e, s) {
      this.state.basicState = e;
      this.state.visitModul = e;
      this.state.modalVisible = e;
      this.state.showDesc = e;
      this.setState({
        tabsKey: "",
      });
      if (s) {
        this.loadData(this.state.ispage);
      }
    },
    search() {
      this.loadData();
    },
    reset() {
      this.state.nameSearch = "";
      this.state.level = undefined;
      this.state.addressSearch = [];
      this.state.provinceSearch = undefined;
      this.state.citySearch = undefined;
      this.state.releaseDate[0] = undefined;
      this.state.releaseDate[1] = undefined;
      this.loadData();
    },
    searchSwitch() {
      this.setState({
        visitModul: false,
        searchMore: !this.state.searchMore,
      });
    },
    //整行点击
    tableRowClick(record, index) {
      this.state.visitModul = false;
      this.setState({
        // selectedRowKeys: [],
        modalVisible: true,
        basicState: true,
        contactState: true,
        modalName: record.name,
        RowData: record,
      });
    },
    //指定转交人自动补全
    supervisor(e) {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/customer/listAdminByName",
        data: {
          adminName: e,
        },
        success: function (data) {
          let thedata = data.data;
          if (!thedata) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
            thedata = {};
          }
          this.setState({
            customerArr: thedata,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //上级主管输入框失去焦点是判断客户是否存在
    selectAuto(value, options) {
      this.setState({
        auto: value,
      });
    },
    blurChange(e) {
      let theType = "";
      let contactLists = this.state.customerArr || [];
      if (e) {
        contactLists.map(function (item) {
          if (item.name == e.toString()) {
            theType = item.id;
          }
        });
      }
      this.setState({
        theTypes: theType,
      });
    },
    //值改变时请求客户名称
    httpChange(e) {
      if (e.length >= 1) {
        this.supervisor(e);
      }
      this.setState({
        auto: e,
      });
    },
    //转交
    changeAssigner(infor) {

      let type = infor
      if (infor == 1) {
        if (this.state.selList.length == 0) {
          message.warn("请勾选您需要转交的信息！")
          return
        } else if (this.state.selList.length == 2) {
          type = 3
        } else {
          type = this.state.selList[0]
        }
      }

      if (this.state.theTypes) {
        this.setState({
          informationTransferVisible: false,
        });
        let changeIds = "";
        let oldAid = "";
        for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
          let rowItem = this.state.selectedRows[idx];
          if (rowItem.id) {
            oldAid = rowItem.aid;
            changeIds =
              this.state.selectedRows.length - 1 === idx
                ? changeIds + rowItem.id
                : changeIds + rowItem.id + ",";
          }
        }
        let loading = message.loading("加载中...");
        $.ajax({
          method: "get",
          dataType: "json",
          crossDomain: false,
          url: globalConfig.context + "/api/admin/customer/transferToOther",
          data: {
            uid: changeIds, //这一行数据的ID
            aid: this.state.theTypes, //指定转交人的ID
            oldAid: oldAid,
            operatorType: 3,
            data: type,
          },
        }).done(
          function (data) {
            loading();
            this.setState({
              selList: [],
            })
            if (!data.error.length) {
              this.setState({
                auto: "",
                loading: false,
                selectedRowKeys: [],
              });
              if (data.data.length == 0) {
                message.success("转交成功！");
              } else {
                data.data.forEach(function (e) { message.warning(e) })
              }
            } else {
              message.warning(data.error[0].message);
            }
            this.loadData(
              Math.min(
                this.state.ispage == undefined ? 1 : this.state.ispage,
                Math.ceil((this.state.pagination.total - 1) / 10)
              )
            );
          }.bind(this)
        );
      } else {
        message.warning("请输入转交人姓名");
      }
    },

    //导出
    exportExec() {
      let departmentName = "",
        depart = this.state.departmentArr || [];
      depart.map((item) => {
        if (this.state.departmentId == item.id) {
          departmentName = item.name;
          return;
        }
      });

      let data = {
        name: this.state.nameSearch,
        province: this.state.provinceSearch,
        city: this.state.addressSearch,
        level: this.state.level,
        startDate: this.state.releaseDate[0],
        endDate: this.state.releaseDate[1],
      };
      window.location.href =
        globalConfig.context +
        "/api/admin/customer/privateUnitCustomerOutXls?" +
        $.param(data);
    },

    componentWillReceiveProps(nextProps) {
      if (nextProps.ApiUrl != this.props.ApiUrl) {
        if (!this.state.searchMore) {
          this.state.searchMore = true;
        }
        this.state.nameSearch = "";
        this.state.addressSearch = [];
        this.state.provinceSearch = undefined;
        this.state.citySearch = undefined;
        this.state.releaseDate[0] = undefined;
        this.state.releaseDate[1] = undefined;
        this.loadData(null, nextProps.ApiUrl);
      }
    },
    zhuanjiaoDetail(record) {
      this.setState({
        zhuanjiaoVisible: true,
        zhuanjiaoId: record.id,
      });
    },
    zhuanjiaoDetailCancel() {
      this.setState({
        zhuanjiaoVisible: false,
      });
    },
    showConfirm() {
      let _this = this;
      Modal.confirm({
        title: "提示",
        content: (
          <span style={{ color: "red" }}>
            确定要转交以下客户吗？
            {this.state.selectedRows.map((value, index) => (
              <div key={index} style={{ marginTop: "5px", color: "#000" }}>
                {value.name}
              </div>
            ))}
          </span>
        ),
        onOk() {
          _this.setState({
            informationTransferVisible: true,
          });
        },
        onCancel() { },
      });
    },
    changeList(arr) {
      const newArr = [];
      this.state.columns.forEach((item) => {
        arr.forEach((val) => {
          if (val === item.title) {
            newArr.push(item);
          }
        });
      });
      this.setState({
        changeList: newArr,
      });
    },
    showConfirms(fn, record) {
      Modal.confirm({
        title: "您确定将以下客户移至公共客户吗？",
        content: (
          <span style={{ color: "red" }}>
            移除后，以下客户将被别人领取！
            {this.state.selectedRows.map((value, index) => (
              <div key={index} style={{ marginTop: "5px", color: "#000" }}>
                {value.name}
              </div>
            ))}
          </span>
        ),
        onOk() {
          fn(record);
        },
        onCancel() { },
      });
    },
    release() {
      this.setState({
        loading: true,
      });
      let deletedIds = "";
      for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
        let rowItem = this.state.selectedRows[idx];
        if (rowItem.id) {
          deletedIds =
            this.state.selectedRows.length - 1 === idx
              ? deletedIds + rowItem.id
              : deletedIds + rowItem.id + ",";
        }
      }
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/customer/pushReleaseUser",
        data: {
          id: deletedIds,
        },
        success: function (data) {
          let thedata = data.data;
          if (!thedata) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
            thedata = {};
          } else {
            message.success("移除成功");
            this.loadData(
              this.state.dataSource.length === 1
                ? this.state.ispage === 1
                  ? 1
                  : this.state.ispage - 1
                : this.state.ispage
            );
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    render() {
      const FormItem = Form.Item;
      const rowSelection = {
        hideDefaultSelections: true,
        selectedRowKeys: this.state.selectedRowKeys,
        onChange: (selectedRowKeys, selectedRows) => {
          this.setState({
            modalVisible: false,
            selectedRows: selectedRows,
            selectedRowKeys: selectedRowKeys,
          });
        },
        onSelect: (recordt, selected, selectedRows) => {
          this.setState({
            modalVisible: false,
            recordt: recordt.id,
          });
        },
      };
      const hasSelected = this.state.selectedRowKeys.length > 0;
      const { RangePicker } = DatePicker;
      const dataSources = this.state.customerArr || [];
      const options = dataSources.map((group) => (
        <Select.Option key={group.id} value={group.name}>
          {group.name}
        </Select.Option>
      ));
      const intentionState = this.props.intentionState || "";
      return (
        <div className="user-content">
          <ShowModalDiv ShowModal={this.state.showModal} />
          <div className="content-title" style={{ marginBottom: 10 }}>
            <span style={{ fontWeight: 900, fontSize: 16 }}>{!intentionState ? "私有单位客户" : "私有专家客户"}</span>
          </div>

          <div className="user-search">
            <Tabs
              defaultActiveKey="1"
              onChange={this.callback}
              className="test"
            >
              <TabPane tab="搜索" key="1">
                {
                  // 新需求 除湖南和内蒙古外 不让其他省操作
                  (adminData.province == "21" || adminData.province == "11") &&
                  <Button
                    type="primary"
                    style={{
                      float: "right",
                      marginTop: 10,
                      marginLeft: 10,
                      marginRight: 10,
                    }}
                    onClick={this.addClick}
                  >
                    新增客户
                    <Icon type="plus" />
                  </Button>
                }
                <Input
                  placeholder="客户名称"
                  value={this.state.nameSearch}
                  style={{ width: 150, marginRight: 10, marginLeft: 10 }}
                  onChange={(e) => {
                    this.setState({ nameSearch: e.target.value });
                  }}
                />
                <Select
                  placeholder="省"
                  style={{ width: 80 }}
                  value={this.state.provinceSearch}
                  onChange={(e) => {
                    this.setState({ provinceSearch: e });
                  }}
                >
                  {this.state.Provinces}
                </Select>
                <span style={{ marginRight: "10px" }}>
                  <Cascader
                    options={citySelect()}
                    value={this.state.addressSearch}
                    placeholder="选择城市"
                    onChange={(e, pre) => {
                      this.setState({ addressSearch: e });
                    }}
                  />
                </span>
                <Select
                  style={{ width: 120 }}
                  value={this.state.level}
                  onChange={(e) => {
                    this.setState({ level: e });
                  }}
                  placeholder="请选择客户等级"
                >
                  <Select.Option value="0">一般客户</Select.Option>
                  <Select.Option value="1">意向客户</Select.Option>
                  <Select.Option value="2">重点客户</Select.Option>
                </Select>
                <RangePicker
                  value={[
                    this.state.releaseDate[0]
                      ? moment(this.state.releaseDate[0])
                      : null,
                    this.state.releaseDate[1]
                      ? moment(this.state.releaseDate[1])
                      : null,
                  ]}
                  onChange={(data, dataString) => {
                    this.setState({ releaseDate: dataString });
                  }}
                />
                <Button
                  type="primary"
                  style={{ marginLeft: "10px", marginRight: 10 }}
                  onClick={this.search}
                >
                  搜索
                </Button>
                <Button onClick={this.reset}>重置</Button>
              </TabPane>
              {/*<Button onClick={() => { window.open(globalConfig.context + '/api/admin/customer/downloadTemplate?type=1') }}>下载批量导入模板</Button>
               		<Upload
               		    name="file"
                        action={globalConfig.context + "/api/admin/customer/uploadExcel"}
                        beforeUpload={beforeUploadFile}
                        showUploadList={false}
                        onChange={(info) => {
                            if (info.file.status !== 'uploading') {
                                console.log(info.file, info.fileList);
                            }
                            if (info.file.status === 'done') {
                                if (!info.file.response.error.length) {
                                    message.success(`${info.file.name} 文件上传成功！`);
                                    this.loadData();
                                } else {
                                    message.warning(info.file.response.error[0].message);
                                    return;
                                };
                            } else if (info.file.status === 'error') {
                                message.error(`${info.file.name} 文件上传失败。`);
                            };
                        }} >
                        <Button>上传批量内容</Button>
                    </Upload>

	               {adminData.isSuperAdmin?<Popconfirm title="是否删除?" onConfirm={this.delectRow} okText="是" cancelText="否">
							     <Button type="danger" style={{marginLeft:'10px'}}
	                       			 disabled={!hasSelected}
	                       		 >删除<Icon type="minus" />
	                        </Button>
	                </Popconfirm>:''
	                }*/}
              <TabPane tab="操作" key="2">
                <AutoComplete
                  className="certain-category-search"
                  dropdownClassName="certain-category-search-dropdown"
                  dropdownMatchSelectWidth={false}
                  style={{ width: "120px" }}
                  dataSource={options}
                  placeholder="输入转交人姓名"
                  value={this.state.auto}
                  onChange={this.httpChange}
                  filterOption={true}
                  onBlur={this.blurChange}
                  onSelect={this.selectAuto}
                  disabled={!hasSelected}
                >
                  <Input />
                </AutoComplete>
                <Button
                  type="primary"
                  // onClick={this.changeAssigner}
                  onClick={(e) => {
                    e.stopPropagation();
                    this.showConfirm();
                  }}
                  disabled={!hasSelected}
                  style={{ marginRight: 10 }}
                >
                  转交
                </Button>
                {
                  // 新需求 除湖南和内蒙古外 不让其他省操作
                  (adminData.province == "21" || adminData.province == "11") &&
                  <Button
                    type="primary"
                    style={{
                      float: "right",
                      marginTop: 10,
                      marginLeft: 10,
                      marginRight: 10,
                    }}
                    onClick={this.addClick}
                  >
                    新增客户
                    <Icon type="plus" />
                  </Button>
                }
                {/*<Button type="default" className="addButton" onClick={this.exportExec}>导出excel<Icon type="plus" /></Button>*/}
                {/* <div className="clearfix" style={{ marginTop: "5px" }}> */}
                <Button
                  onClick={(e) => {
                    e.stopPropagation(), this.rankO(0);
                  }}
                  type="primary"
                  style={{ marginRight: "10px" }}
                  disabled={!hasSelected}
                >
                  一般客户
                </Button>
                <Button
                  onClick={(e) => {
                    e.stopPropagation(), this.rankO(1);
                  }}
                  type="primary"
                  style={{ marginRight: "10px" }}
                  disabled={!hasSelected}
                >
                  意向客户
                </Button>
                <Button
                  onClick={(e) => {
                    e.stopPropagation(), this.rankO(2);
                  }}
                  type="primary"
                  disabled={!hasSelected}
                >
                  重点客户
                </Button>
                <Button
                  style={{ marginLeft: 10 }}
                  onClick={(e) => {
                    e.stopPropagation(),
                      this.zhuanjiaoDetail(this.state.selectedRows[0]);
                  }}
                  type="primary"
                  disabled={!hasSelected || this.state.selectedRows.length > 1}
                >
                  客户日志
                </Button>
                <Button
                  style={{ marginLeft: 10 }}
                  onClick={(e) => {
                    e.stopPropagation(), this.showConfirms(this.release);
                  }}
                  type="primary"
                  disabled={!hasSelected}
                >
                  移除客户
                </Button>
                <EnterpriseNameChange
                  type="journal"
                  disabled={
                    !(hasSelected && this.state.selectedRows.length === 1)
                  }
                  style={{ marginLeft: 10 }}
                  enterpriseId={
                    this.state.selectedRows[0] && this.state.selectedRows[0].id
                  }
                />
              </TabPane>
              <TabPane tab="更改表格显示数据" key="3">
                <div style={{ marginLeft: 10 }}>
                  <ChooseList
                    columns={this.state.columns}
                    changeFn={this.changeList}
                    changeList={this.state.changeList}
                    top={55}
                    margin={11}
                  />
                </div>
              </TabPane>
            </Tabs>
          </div>
          <div className="patent-table">
            <Spin spinning={this.state.loading}>
              <Table
                size="middle"
                className={"intentionCustomerTable"}
                columns={
                  this.state.changeList
                    ? this.state.changeList
                    : this.state.columns
                }
                dataSource={this.state.dataSource}
                rowSelection={rowSelection}
                pagination={this.state.pagination}
                onRowDoubleClick={this.tableRowClick}
              />
            </Spin>
          </div>
          <AddIntention
            api={this.state.detailApi}
            showDesc={this.state.showDesc}
            closeDesc={this.closeDesc}
          />
          <FollowDetail
            categoryArr={this.state.categoryArr}
            followData={this.state.followData}
            visitModul={this.state.visitModul}
            closeDesc={this.closeDesc}
          />
          <IntentionDetail
            tabsKey={this.state.tabsKey}
            categoryArr={this.state.categoryArr}
            detailApi={this.props.detailApi}
            IntentionData={this.state.RowData}
            modalVisible={this.state.modalVisible}
            name={this.state.modalName}
            closeDesc={this.closeDesc}
            basicState={this.state.basicState}
            contactState={this.state.contactState}
          />
          {this.state.zhuanjiaoVisible ? (
            <ZhuanjiaoDetail
              cancel={this.zhuanjiaoDetailCancel}
              visible={this.state.zhuanjiaoVisible}
              id={this.state.zhuanjiaoId}
            />
          ) : (
            ""
          )}
          {this.state.informationTransferVisible && (
            <Modal
              visible={this.state.informationTransferVisible}
              title="提醒"
              onCancel={() => {
                this.setState({
                  informationTransferVisible: false,
                  selList: [],
                });
              }}
              footer={[
                <Button
                  key="1"
                  size="large"
                  type={"primary"}
                  onClick={() => {
                    this.changeAssigner(1);
                  }}
                >
                  需要
                </Button>,
                <Button
                  key="2"
                  size="large"
                  type={"danger"}
                  onClick={() => {
                    this.changeAssigner(0);
                  }}
                >
                  不需要
                </Button>,
              ]}
            >
              <div style={{ padding: "0px 40px 20px" }}>
                请确定，是否一并转交以下信息，如单个资料无法转交成功，则去掉对应“勾选”项，转交单一信息!
              </div>
              <div style={{ width: "50%", margin: "0 auto" }}>
                <Checkbox.Group onChange={e => { this.setState({ selList: e }); }}>
                  <Checkbox value={1}>1.需要转交该客户资料</Checkbox>
                  <br />
                  <Checkbox value={2}>2.需要转交该客户名下的订单</Checkbox>
                </Checkbox.Group>
              </div>
            </Modal>
          )}
          <textarea id="copyText" style={{ opacity: 0 }} />
        </div>
      );
    },
  })
);
export default IntentionCustomer;
