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;