import React,{Component} from "react";
import {AutoComplete, Button, Cascader, message, Modal, Popconfirm, Select, Spin, Table, Tag, Tooltip} from "antd";
import { areaSelect,getProvince } from '@/NewDicProvinceList';
import $ from "jquery/src/ajax";
import TextArea from "antd/es/input/TextArea";
class InforChange extends Component{
constructor(props) {
super(props);
this.state={
visible:false,
changeType:0,
colunmn: [
{
title: "操作人名称",
dataIndex: "adminName",
key: "adminName",
},
{
title: "客户名称",
dataIndex: "name",
key: "name",
render:(text)=>{
return (
{text}
)
}
},
{
title: "操作时间",
dataIndex: "createTimes",
key: "createTimes",
},
],
dataSource:[],
inputVisible:false,
inputValue:'',
dataArrar:[],
cooperationProjects:[],
locationProvince:props.data.locationProvince,
businessScope:props.data.businessScope,
intendedProject:props.data.intendedProject
}
this.onChange = this.onChange.bind(this);
this.onCancel = this.onCancel.bind(this);
this.loadData = this.loadData.bind(this);
this.onOk = this.onOk.bind(this);
this.showInput = this.showInput.bind(this);
this.handleInputConfirm = this.handleInputConfirm.bind(this);
this.handleClose = this.handleClose.bind(this);
this.handleCloseCooperation = this.handleCloseCooperation.bind(this);
this.supervisor = this.supervisor.bind(this);
this.onSelect = this.onSelect.bind(this);
}
onChange(type){
this.setState({
visible:true,
changeType:type,
})
}
onCancel(){
this.setState({
visible:false,
loading:false,
changeType:0,
dataArrar:[]
})
}
loadData() {
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/listUserName",
data: {
uid: this.props.enterpriseId,
},
success: function (data) {
if (data.error.length || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
} else {
this.setState({
initialName:data.data[0] ? data.data[0].name : ''
})
data.data.splice(0,1);
this.setState({
dataSource: data.data,
});
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
}
onOk(){
const {dataArrar} = this.state;
if(this.state.changeType=== 0 && dataArrar.length === 0){
message.warning('请输入省-市-区');
return;
}
if(this.state.changeType=== 1 && dataArrar.length === 0){
message.warning('请输入企业主管产品/服务');
return;
}
if(this.state.changeType=== 2 && dataArrar.length === 0){
message.warning('请输入意向合作项目');
return;
}
this.setState({
loading: true
});
let data ={
uid:this.props.enterpriseId,
}
if(this.state.changeType=== 0){
data.province = dataArrar[0] || undefined;
data.city = dataArrar[1] || undefined;
data.area = dataArrar[2] || undefined;
}
if(this.state.changeType=== 1){
data.businessScope = dataArrar.join(',')
}
if(this.state.changeType=== 2){
let arr = [];
for(let i of dataArrar){
arr.push(i.label)
}
data.intendedProject = arr.join(',')
}
$.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("恭喜您,更改成功!");
if(this.state.changeType=== 0){
this.setState({
locationProvince:getProvince(dataArrar[0],dataArrar[1],dataArrar[2])
})
}
if(this.state.changeType=== 1){
this.setState({
businessScope:dataArrar.join(',')
})
}
if(this.state.changeType=== 2){
let arr = [];
for(let i of dataArrar){
arr.push(i.label)
}
this.setState({
intendedProject:arr.join(',')
})
}
this.onCancel();
}else{
message.warning(data.error[0].message);
}
}.bind(this)
)
}
showInput(){
let str = this.state.dataArrar.join('/')
this.setState({
inputVisible: true,
inputValue: str
});
}
handleInputConfirm(){
let inputValue = this.state.inputValue;
let arr = inputValue.split('/');
let lv = true;
for(let i of arr){
if(i.length > 16){
message.warning('单个标签字数不能超过16个字符')
lv = false;
return;
}
}
if(lv){
arr = Array.from(new Set(arr));
arr = arr.filter(v=>v);
this.setState({
dataArrar:arr,
inputVisible: false,
inputValue: '',
});
}
}
handleClose(removedTag){
let dataArrar = this.state.dataArrar.filter(tag => {return tag !== removedTag});
this.setState({ dataArrar });
}
handleCloseCooperation(removedTag){
let dataArrar = this.state.dataArrar.filter(tag => {return tag.value !== removedTag.value});
this.setState({ dataArrar });
}
supervisor(value) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/order/getBusinessProjectByName',
data: {
businessName: value
},
success: function (data) {
let thedata = data.data;
if (data.error.length === 0) {
this.setState({
cooperationProjects: thedata,
});
}else{
message.warning(data.error[0].message);
}
}.bind(this),
}).always(
function () {
}.bind(this)
);
}
onSelect(value){
let arr = this.state.cooperationProjects.filter(v=>v.id === value);
let arr1 = this.state.dataArrar.filter(v=>v.value === value);
if(arr.length > 0){
if(arr1.length > 0){
message.warning('选项已存在');
}else{
this.state.dataArrar.push({
label: arr[0].bname,
value: arr[0].id,
})
this.setState({
dataArrar:this.state.dataArrar
})
}
}
}
render() {
return (
省-市-区:
{
this.state.locationProvince
}
{this.props.type === 'modify' &&
}
企业主营产品/服务:
{
this.state.businessScope
}
{this.props.type === 'modify' &&
}
意向合作项目:
{
this.state.intendedProject
}
{this.props.type === 'modify' &&
}
{this.props.type === 'modify' ?
{
this.state.changeType === 0 ? '省-市-区' :
this.state.changeType === 1 ? '企业主管产品/服务' :
this.state.changeType === 2 ? '意向合作项目' : ''
}
:
{
this.state.changeType === 0 ? this.state.locationProvince :
this.state.changeType === 1 ? this.state.businessScope :
this.state.changeType === 2 ? this.state.intendedProject : ''
}
更改:
{
this.state.changeType === 0 ?
{
this.setState({
dataArrar:e
})
}}
/> :
this.state.changeType === 1 ?
{this.state.dataArrar.map((tag) => {
const isLongTag = tag.length > 20;
const tagElem = (
this.handleClose(tag)}>
{isLongTag ? `${tag.slice(0, 20)}...` : tag}
);
return isLongTag ? {tagElem} : tagElem;
})}
{
!this.state.inputVisible &&
}
{this.state.inputVisible && (
)}
:
this.state.changeType === 2 ?
{this.state.dataArrar.map((tag, index) => {
const isLongTag = tag.label.length > 20;
const tagElem = (
this.handleCloseCooperation(tag)}>
{isLongTag ? `${tag.label.slice(0, 20)}...` : tag.label}
);
return isLongTag ? {tagElem} : tagElem;
})}
{
this.state.cooperationProjects.map(function (item) {
return {item.bname}
})
}
: ''
}
: this.props.type === 'journal' ?
: null
}
{
this.props.type === 'modify' ?
{
e.stopPropagation();
this.onOk();
}} okText="确定" cancelText="取消">
: null
}
)
}
}
export default InforChange;