import React from "react";
import $ from "jquery/src/ajax";
import moment from "moment";
import {
Button,
Form,
Input,
Spin,
Table,
Select,
message,
Tabs,
DatePicker,
AutoComplete,
Modal,
Tooltip,
Tag,
} from "antd";
import { ChooseList } from "../../../order/orderNew/chooseList";
import { ShowModal, } from "@/tools.js"
import { accountType, accountStatus } from "@/dataDic";
import ZhuanjiaoDetail from "@/zhuanjiaoDetail.jsx";
import IntentionDetail from "./intentionDetail/intentionDetail";
import ShowModalDiv from "@/showModal.jsx";
import FollowDetail from "./followDetail"
import './limit.less';
const FormItem = Form.Item;
const { RangePicker } = DatePicker;
const { TabPane } = Tabs;
const LimitedProject = React.createClass({
getInitialState() {
return {
searchValues: {
type: ''
}, // 列表筛选条件
loading: false, //加载动画
changeList: undefined, // 更改后的表格显示数据
dataSource: [], // 列表数据
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: 300,
render: (text, record) => {
return (
{text}
);
},
},
{
title: "限定项目名称",
dataIndex: "projectName",
key: "projectName",
render: (text, record) => {
return (
{text}
);
},
},
{
title: "项目状态",
dataIndex: "type",
key: "type",
render: (text, record) => {
return (
{['公共', '私有', '签单'][text]}
);
},
},
{
title: "客户所属",
dataIndex: "userAdmin",
key: "userAdmin",
render: (text, record) => {
return (
{text}
);
},
},
{
title: "项目所属",
dataIndex: "adminName",
key: "adminName",
render: (text, record) => {
return (
{text}
);
},
},
// {
// title: "项目初始时间",
// dataIndex: "lockTime",
// key: "lockTime",
// render: (text, record) => {
// return (
//
// {text}
//
// );
// },
// },
{
title: "剩余私有天数",
dataIndex: "privateDays",
key: "privateDays",
render: (text, record) => {
return (
{record.type == 1
? text : record.type == 2
? record.signDays : ""}
);
},
},
{
title: "最新跟进时间",
dataIndex: "lockTime",
key: "lockTime",
render: (text, record) => {
return (
{text}
);
},
},
{
title: "操作",
dataIndex: "op",
key: "op",
render: (text, record) => {
return (
);
},
},
],
customerArr: [],
selectedRowKeys: [],
zhuanjiaoVisible: false,
categoryArr: [],
followData:{}
};
},
componentWillMount() {
this.loadData();
this.category();
},
// 列表接口
loadData(pageNo) {
const { searchValues, pagination } = this.state;
this.setState({
loading: true,
});
let datas = Object.assign(searchValues, {
pageNo: pageNo || 1,
pageSize: pagination.pageSize,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/restrict/Project/pageList",
data: datas,
success: function (data) {
ShowModal(this);
this.setState({
loading: false,
});
let theArr = [];
if (data.error && data.error.length === 0) {
if (data.data) {
pagination.current = data.data.pageNo;
pagination.total = data.data.totalCount;
if (data.data && data.data.list && !data.data.list.length) {
pagination.current = 0
pagination.total = 0
};
for (var 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.opId = thisdata.id;
thisdata.id = thisdata.uid;
thisdata.locationProvince = diqu;
theArr.push(thisdata);
}
this.setState({
dataSource: theArr,
pagination: this.state.pagination,
pageNo: data.data.pageNo,
});
}
} else {
message.warning(data.error[0].message);
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
// 搜索
search() {
this.loadData();
},
// 重置
reset() {
this.setState({
searchValues: {
type: ''
},
}, () => {
this.loadData();
})
},
changeList(arr) {
const newArr = [];
this.state.columns.forEach((item) => {
arr.forEach((val) => {
if (val === item.title) {
newArr.push(item);
}
});
});
this.setState({
changeList: newArr,
});
},
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,
});
},
showConfirm() {
let _this = this;
Modal.confirm({
title: "提示",
content: (
确定要转交以下项目吗?
{this.state.selectedRows.map((value, index) => (
{value.projectName}
))}
),
onOk() {
_this.changeAssigner(1)
},
onCancel() { },
});
},
showConfirms() {
let _this = this;
Modal.confirm({
title: "您确定将以下项目移至公共项目吗?",
content: (
移除后,以下项目将被别人领取!
{this.state.selectedRows.map((value, index) => (
{value.projectName}
))}
),
onOk() {
_this.changeAssigner(0);
},
onCancel() { },
});
},
changeAssigner(type) {
const _this = this;
if (type == 1 && !this.state.theTypes) {
message.warning("请输入转交人姓名");
return
}
let changeIds = "";
for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
let rowItem = this.state.selectedRows[idx];
if (rowItem.opId) {
changeIds =
this.state.selectedRows.length - 1 === idx
? changeIds + rowItem.opId
: changeIds + rowItem.opId + ",";
}
}
let loading = message.loading("加载中...");
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/restrict/Project/update",
data: {
id: changeIds,
type,
takeAid: type == 1 ? this.state.theTypes : undefined,
},
}).done(
function (data) {
loading();
this.setState({
selList: [],
})
if (!data.error.length) {
this.setState({
auto: "",
loading: false,
selectedRowKeys: [],
});
if (data.data == 1) {
message.success(type == 1 ? "转交成功!" : "移除成功!");
_this.loadData();
} else {
data.data.forEach(function (e) { message.warning(e) })
}
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
zhuanjiaoDetail(record) {
this.setState({
zhuanjiaoVisible: true,
zhuanjiaoId: record.id,
});
},
zhuanjiaoDetailCancel() {
this.setState({
zhuanjiaoVisible: false,
});
},
tableRowClick(record, index) {
this.state.visitModul = false;
this.setState({
// selectedRowKeys: [],
modalVisible: true,
basicState: true,
contactState: true,
modalName: record.name,
RowData: record,
});
},
closeDesc(e, s) {
this.state.basicState = e;
this.state.visitModul = e;
this.state.modalVisible = e;
this.state.visitModuls = e;
this.state.showDesc = e;
this.setState({
tabsKey: "",
});
if (s) {
this.loadData(this.state.ispage);
}
},
//品类数据获取
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);
}
} else {
thedata.map(function (item, index) {
theArr.push({
value: item.id,
key: item.cname,
});
});
}
this.setState({
categoryArr: theArr,
});
}.bind(this),
});
},
//查看跟进记录列表
loadVisit(pageNo) {
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/listFollowHistory',
data: {
pageNo: pageNo || 1,
pageSize: this.state.paginations.pageSize,
uid: this.state.RowData.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.list.length; i++) {
let thisdata = data.data.list[i];
theArr.push(thisdata);
};
this.state.paginations.current = data.data.pageNo;
this.state.paginations.total = data.data.totalCount;
this.setState({
ispage: data.data.pageNo
})
};
if (data.data.list && !data.data.list.length) {
this.state.paginations.current = 0;
this.state.paginations.total = 0;
};
this.setState({
visitArrList: theArr,
paginations: this.state.paginations
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
render() {
const { searchValues, } = this.state
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.opId,
});
},
};
const hasSelected = this.state.selectedRowKeys.length > 0;
const dataSources = this.state.customerArr || [];
const options = dataSources.map((group) => (
{group.name}
));
return (
);
},
});
export default LimitedProject;