import React from "react";
import {
  Table,
  Button,
  Spin,
  message,
  Popconfirm,
  Alert,
  Modal,
  Input,
  Cascader,
  Select,
} from "antd";
import $ from "jquery/src/ajax";
import AddContact from "../../../customer/NEW/signCustomer/followDetail/addContact";
import "./index.less";
import { areaSelect, getProvince } from "@/NewDicProvinceList";
const TextArea = Input.TextArea;
const Option = Select.Option;
const ContactPerson = React.createClass({
  getInitialState() {
    return {
      major: 0,
      loading: false,
      addcontactModul: false,
      enterpriseName: "",
      ContactsLists: [
        {
          title: "姓名",
          dataIndex: "name",
          key: "name",
          render: (text, record, index) => {
            if (record.id) return 
{text}
;
          },
        },
        {
          title: "联系人部门",
          dataIndex: "department",
          key: "department",
          render: (text, record, index) => {
            if (record.id) return {text}
;
          },
        },
        {
          title: "联系人职务",
          dataIndex: "position",
          key: "position",
          render: (text, record, index) => {
            if (record.id) return {text}
;
          },
        },
        {
          title: "主要联系人",
          dataIndex: "major",
          width: 100,
          key: "major",
          render: (text) => {
            return text == 1 ? "是" : "否";
          },
        },
        {
          title: "地区",
          dataIndex: "cityName",
          key: "cityName",
          render: (text, record, index) => {
            if (record.id) return {text}
;
          },
        },
        {
          title: "手机号码",
          dataIndex: "mobile",
          key: "mobile",
          render: (text, record, index) => {
            if (record.id) return {text}
;
          },
        },
        {
          title: "座机",
          dataIndex: "fixedTel",
          key: "fixedTel",
          render: (text, record, index) => {
            if (record.id) return {text}
;
          },
        },
        {
          title: "微信",
          dataIndex: "wechat",
          key: "wechat",
          render: (text, record, index) => {
            if (record.id) return {text}
;
          },
        },
        {
          title: "联系人QQ",
          dataIndex: "qq",
          key: "qq",
          render: (text, record, index) => {
            if (record.id) return {text}
;
          },
        },
        {
          title: "电子邮箱",
          dataIndex: "email",
          key: "email",
          render: (text, record, index) => {
            if (record.id) return {text}
;
          },
        },
        {
          title: "更新时间",
          dataIndex: "createTimes",
          key: "createTimes",
          render: (text, record, index) => {
            if (record.id) return {text}
;
          },
        },
        {
          title: "跟进人",
          dataIndex: "aname",
          key: "aname",
          render: (text, record, index) => {
            if (record.id) return {text}
;
          },
        },
        {
          title: "操作",
          dataIndex: "dels",
          key: "dels",
          render: (text, record, index) => {
            return (
              !this.props.isCustomerAdmin && (
                
                  {/* 禁止管理员删除联系人 */}
                  {/* {adminData.isSuperAdmin || !record.id ? (
                    
 {
                        this.confirmDelet(record);
                      }}
                      okText="删除"
                      cancelText="不删除"
                    >
                      
                    
                  ) : (
                    ""
                  )} */}
                  {record.major != 1 ? (
                    
                  ) : (
                    ""
                  )}
                
 
              )
            );
          },
        },
      ],
      channeOb: [
        { name: "民主党派", val: 2 },
        { name: "园区", val: 3 },
        { name: "民间组织", val: 4 },
        { name: "战略合作单位", val: 5 },
        { name: "其他", val: 1 },
      ],
      visible: "", //修改弹窗状态
      name: "",
      locationProvince: "",
      introduction: "",
      newname: "",
      dataArrar: [],
      newintroduction: "",
      newtype: 0,
    };
  },
  //tab2删除
  confirmDelet(e) {
    this.setState({
      loading: true,
    });
    if (e.id) {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/customer/deleteOneContact",
        data: {
          ocbId: e.id, //删除的ID
        },
      }).done(
        function (data) {
          if (!data.error.length) {
            message.success("删除成功!");
            this.setState({
              loading: false,
            });
          } else {
            message.warning(data.error[0].message);
          }
          this.contactLists();
        }.bind(this)
      );
    } else {
      this.contactLists();
    }
  },
  //选择主要联系人
  mainContact(record) {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/customer/updateMainContact",
      data: {
        uid: this.props.data.id,
        ocbId: record.id,
      },
    }).done(
      function (data) {
        if (!data.error.length) {
          message.success("设为主要联系人成功!");
          this.setState({
            loading: false,
          });
        } else {
          message.warning(data.error[0].message);
        }
        this.contactLists();
      }.bind(this)
    );
    this.state.contactList.forEach((item) => {
      item.major = 0;
    });
    record.major = 1;
    // console.log(record);
    this.setState({
      contactList: this.state.contactList,
    });
  },
  //tab2获取联系人详情
  contactLists(ids) {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/customer/findCustomerContacts",
      data: {
        uid: ids || this.props.data.id, //名称1
      },
      success: function (data) {
        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.length; i++) {
            let thisdata = data.data[i];
            theArr.push({
              key: i,
              id: thisdata.id,
              name: thisdata.name,
              mobile: thisdata.mobile,
              email: thisdata.email,
              qq: thisdata.qq,
              wechat: thisdata.wechat,
              department: thisdata.department,
              position: thisdata.position,
              major: thisdata.major,
              createTimes: thisdata.createTimes,
              fixedTel: thisdata.fixedTel,
              aname: thisdata.aname,
              cityName:
                (thisdata.provinceName || "") +
                (thisdata.cityName || "") +
                (thisdata.areaName || ""),
            });
          }
        }
        this.setState({
          contactList: theArr,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  },
  //新增
  //tab2新增联系人
  addcontact() {
    this.setState({
      addcontactModul: true,
    });
  },
  //
  componentWillMount() {
    const { data } = this.props
    this.contactLists(this.props.data.id);
    this.setState({
      name: this.props.name,
      locationProvince: (data.province || "") + (!data.city ? "" : "-") + (data.city || "") + (!data.area ? "" : "-") + (data.area || ""),
      introduction: this.props.data.introduction,
      type: this.props.data.type,
    });
  },
  componentWillReceiveProps(nextProps) {
    // if (nextProps.data.id && nextProps.contactState) {
    if (nextProps.data.id) {
      this.contactLists(nextProps.data.id);
    }
  },
  // 修改渠道名称
  onOk() {
    if (!this.state.newname) {
      message.warning("请输入渠道名称");
      return;
    }
    this.setState({
      loading: true,
    });
    $.ajax({
      url: globalConfig.context + "/api/admin/customer/updateUserName",
      method: "post",
      data: {
        uid: this.props.data.id,
        userName: this.state.newname,
      },
    }).done(
      function (data) {
        this.setState({
          loading: false,
        });
        if (data.error.length === 0) {
          message.success("恭喜您,更名成功!");
          this.setState({
            visible: "",
            name: this.state.newname,
          });
        } else {
          message.warning(data.error[0].message);
        }
      }.bind(this)
    );
  },
  // 修改信息
  updateDate() {
    const { dataArrar, visible, newintroduction, newtype } = this.state;
    if (dataArrar.length === 0 && visible == "city") {
      message.warning("请选择省-市-区");
      return;
    }
    if (!newintroduction && visible == "introduction") {
      message.warning("请输入简介");
      return;
    }
    if (newtype == 0 && visible == "type") {
      message.warning("请选择渠道类别");
      return;
    }
    this.setState({
      loading: true,
    });
    let data = {
      uid: this.props.data.id,
    };
    if (visible == "city") {
      data.province = dataArrar[0] || undefined;
      data.city = dataArrar[1] || undefined;
      data.area = dataArrar[2] || undefined;
    }
    if (visible == "introduction") {
      data.introduction = newintroduction;
    }
    if (visible == "type") {
      data.channelType = newtype;
    }
    $.ajax({
      url: globalConfig.context + "/api/admin/customer/updateUserDate",
      method: "post",
      data: data,
    }).done(
      function (data) {
        this.setState({
          loading: false,
        });
        if (data.error.length === 0) {
          message.success("恭喜您,更改成功!");
          this.setState({
            visible: "",
          });
          if (visible == "city") {
            this.setState({
              locationProvince: getProvince(
                dataArrar[0],
                dataArrar[1],
                dataArrar[2]
              ),
            });
          }
          if (visible == "introduction") {
            this.setState({
              introduction: newintroduction,
            });
          }
          if (visible == "type") {
            this.setState({
              type: newtype,
            });
          }
        } else {
          message.warning(data.error[0].message);
        }
      }.bind(this)
    );
  },
  render() {
    const { visible } = this.state;
    return (
      
        
          
          
            
              
                渠道名称:{this.state.name}
                
              
              
                
                  渠道类别:{[
                    "",
                    "其他",
                    "民主党派",
                    "园区",
                    "民间组织",
                    "战略合作单位",
                  ][this.state.type]}
                
                
              
              
                
                  省-市-区:
                  {this.state.locationProvince}
                
                
              
              
                渠道简介:{this.state.introduction}
                
              
             
            
           
         
        
        {/* 新增联系人 */}
        
 {
            this.setState(
              {
                addcontactModul: false,
              },
              () => {
                this.contactLists();
              }
            );
          }}
        />
        {/* 信息修改 */}
         {
            this.setState({
              visible: "",
            });
          }}
        >
          
            {visible == "name" && (
              
            )}
            {visible == "city" && (
              
                
                  更改前:
                  
                    {this.state.locationProvince}
                  
                 
                
                  更改后:
                  
                     {
                        this.setState({
                          dataArrar: e,
                        });
                      }}
                    />
                  
                 
               
            )}
            {visible == "introduction" && (
              
                
                  更改前:
                  
                    {this.state.introduction}
                  
                 
                
               
            )}
            {visible == "type" && (
              
                
                  更改前:
                  
                    {[
                      "",
                      "其他",
                      "民主党派",
                      "园区",
                      "民间组织",
                      "战略合作单位",
                    ][this.state.type]}
                 
                
                  更改后:
                  
                    
                  
                 
               
            )}
            
 {
                e.stopPropagation();
                visible == "name" ? this.onOk() : this.updateDate();
              }}
              okText="确定"
              cancelText="取消"
            >
              
            
           
        
       
    );
  },
});
export default ContactPerson;