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 (
{ this.setState({ showModal: false }) }} />
限定项目
{ searchValues["userName"] = e.target.value; this.setState({ searchValues: searchValues, }); }} /> { searchValues["projectName"] = e.target.value; this.setState({ searchValues: searchValues, }); }} /> 时间: { this.setState({ searchValues: Object.assign(searchValues, { startTime: dataString[0], endTime: dataString[1], }), }); }} />
{ this.state.zhuanjiaoVisible && } { this.state.modalVisible && } { } ); }, }); export default LimitedProject;