import React from 'react';
import { Radio, Icon, Button, AutoComplete,Cascader,Input, Select, Spin, Popconfirm, Table, Switch, message,Calendar , DatePicker, Upload, Form ,Modal,Tabs,Card ,Col} from 'antd';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import Jquery from 'jquery/dist/jquery.js';
import moment from 'moment';
import {boutique } from '@/dataDic.js';
import { getLiquidationStatus,getApprovedState,getProcessStatus,splitUrl,getjiedian,getboutique,getNewOrderStatus,getProjectStatus} from '@/tools.js';
import './customer.less';
const TabPane = Tabs.TabPane;
const Dragger = Upload.Dragger;
//图片组件
const PicturesWall = React.createClass({
getInitialState() {
return {
previewVisible: false,
previewImage: '',
fileList: [],
}
},
handleCancel() {
this.setState({
previewVisible: false
})
},
handlePreview(file) {
this.setState({
previewImage: file.url || file.thumbUrl,
previewVisible: true,
});
},
handleChange(info) {
let fileList = info.fileList;
this.setState({
fileList
});
this.props.fileList(fileList);
},
componentWillReceiveProps(nextProps) {
this.state.fileList = nextProps.pictureUrl;
this.state.pojectApplicationUrl = undefined;
},
render() {
const {
previewVisible,
previewImage,
fileList
} = this.state;
const uploadButton = (
);
return(
{fileList.length >= 1 ? null : uploadButton}
);
}
});
const IntentionCustomer = Form.create()(React.createClass({
loadData(pageNo, apiUrl) {
this.setState({
visitModul:false,
loading: true,
ispage:pageNo,
modalVisible:false
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context +"/api/admin/newOrder/dunOrderNewList",
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
name: this.state.customerName,//名称
orderNo: this.state.orderNo,//订单编号
depId: this.state.departmenttSearch,//订单部门
adminName:this.state.adminName,//责任人名称
starTime: this.state.releaseDate[0],//开始时间
endTime: this.state.releaseDate[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({
key: i,
id:thisdata.id,//ID
orderNo: thisdata.orderNo,//订单编号
totalAmount:thisdata.totalAmount,//签单金额
settlementAmount:thisdata.settlementAmount,//已收款
accountsReceivable:thisdata.accountsReceivable,//应收款
uncollectedAmount:thisdata.uncollectedAmount,//应收款
orderStatus:thisdata.orderStatus,//订单状态
projectStatus:thisdata.projectStatus,//项目状态
liquidationStatus:thisdata.liquidationStatus,//结算状态
signDate:thisdata.signDate,//签单时间
userName:thisdata.userName,//客户名称
salesmanName:thisdata.salesmanName,//营销员名称
dunSubject:thisdata.dunSubject,//催收科目
startDate:thisdata.startDate,//催收启动时间
depName:thisdata.depName,//部门名称
});
};
this.state.pagination.total = data.data.totalCount;
};
if(data.data&&data.data.list&&!data.data.list.length){
this.state.pagination.total=0
}
this.setState({
dataSource: theArr,
pageNo: pageNo,
pagination: this.state.pagination,
selectedRowKeys:[]
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
loadDatas(dunId) {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context +"/api/admin/newOrder/selectDunLogList",
data: {
dunId:dunId,
},
success: function(data) {
let theArr = [];
if(data.error.length || data.data == "") {
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,//ID
dunId: thisdata.dunId,//催款ID
dumBy:thisdata.dumBy,//催款人
dumTime:thisdata.dumDate,//催款时间
remarks:thisdata.remarks,//备注
});
};
};
this.setState({
dataSources: theArr,
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
getInitialState() {
return {
page:1,
releaseDate: [],
selectedRowKeys: [],
orgCodeUrl:[],
departmentArr: [],
paginations:false,
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: 'orderNo',
key: 'orderNo'
}, {
title: '签单时间',
dataIndex: 'signDate',
key: 'signDate'
},{
title: '客户名称',
dataIndex: 'userName',
key: 'userName',
render:(text)=>{
return (text&&text.length>9?text.substr(0,9)+'...':text)
}
},{
title: '订单状态',
dataIndex: 'orderStatus',
key: 'orderStatus',
render:text=>{return getNewOrderStatus(text)}
}, {
title: '签单金额(万元)',
dataIndex: 'totalAmount',
key: 'totalAmount'
},{
title: '项目状态',
dataIndex: 'projectStatus',
key: 'projectStatus',
render:text=>{return getProjectStatus(text)}
},{
title: '结算状态',
dataIndex: 'liquidationStatus',
key: 'liquidationStatus',
render:text=>{return getLiquidationStatus(text)}
}, {
title: '应收款(万)',
dataIndex: 'accountsReceivable',
key: 'accountsReceivable'
}, {
title: '已收款(万)',
dataIndex: 'settlementAmount',
key: 'settlementAmount'
}, {
title: '未收款(万)',
dataIndex: 'uncollectedAmount',
key: 'uncollectedAmount'
},{
title: '订单负责人',
dataIndex: 'salesmanName',
key: 'salesmanName'
},{
title: '订单部门',
dataIndex: 'depName',
key: 'depName'
},{
title: '催收科目',
dataIndex: 'dunSubject',
key: 'dunSubject',
render: text=>{return getjiedian(text)}
},{
title: '催款启动日期',
dataIndex: 'startDate',
key: 'startDate'
}, {
title: '催收操作',
dataIndex: 'abc',
key: 'abc',
render: (text, record, index) => {
return
}
}
],
data: [],
dataSource: [],
columnsX: [
{
title: '催款人',
dataIndex: 'dumBy',
key: 'dumBy'
}, {
title: '催款时间',
dataIndex: 'dumTime',
key: 'dumTime',
},{
title: '催款情况',
dataIndex: 'remarks',
key: 'remarks'
}
],
dataSources: [],
}
},
//页面加载函数
componentWillMount() {
this.departmentList();
this.loadData();
},
//进入新增拜访记录
visit(record) {
this.setState({
visible:true,
dunId:record.id
})
},
// //整行点击
tableRowClick(record, index) {
this.setState({
visibles:true,
});
this.loadDatas(record.id);
},
//新增催款记录
examOk(){
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context +"/api/admin/newOrder/createDunLog",
data: {
dunId:this.state.dunId,
dumTime:this.state.dumTime,
remarks:this.state.remarks,
},
success: function(data) {
if(data.error.length || data.data.list == "") {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
} else {
message.success("新增催款记录成功~");
this.setState({
visible:false,
});
this.loadData();
this.resets();
};
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//关闭输入理由框
noCancel(){
this.setState({
noVisible:false
})
},
//搜索
search() {
this.setState({
//signBillVisible:false
})
this.loadData();
},
//重置
reset() {
this.setState({
signBillVisible:false
})
this.state.orderNo='';
this.state.customerName='';
this.state.adminName='';
this.state.departmenttSearch=undefined;
this.state.releaseDate[0] = undefined;
this.state.releaseDate[1] = undefined;
this.loadData();
},
resets(){
this.state.orderNo='';
this.state.customerName='';
this.state.adminName='';
this.state.departmenttSearch=undefined;
this.state.releaseDate[0] = undefined;
this.state.releaseDate[1] = undefined;
},
getOrgCodeUrl(e) {
this.setState({ orgCodeUrl: e });
},
//关闭详情
visitCancel(e){
this.setState({
visible:false
})
this.resets();
},
visitOk(e){
this.setState({
visible:false
})
this.resets();
},
//关闭详情
visitCancels(e){
this.setState({
visibles:false
})
this.resets();
},
//导出
exportExec(){
var data = {
name: this.state.customerName?this.state.customerName:undefined,//客户名称
adminName:this.state.adminName?this.state.adminName:undefined,//订单负责人
orderNo: this.state.orderNo?this.state.orderNo:undefined,//订单编号
starTime: this.state.releaseDate[0]?this.state.releaseDate[0]:undefined,
endTime: this.state.releaseDate[1]?this.state.releaseDate[1]:undefined,
}
window.location.href=(globalConfig.context+'/api/admin/newOrder/exportOrderDunData?'+$.param(data));
},
visitOks(e){
this.setState({
visibles:false
})
this.resets();
},
//部门
departmentList() {
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/organization/selectSuperId",
data: {
},
success: function(data) {
let thedata = data.data;
let theArr = [];
if(!thedata) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
} else {
thedata.map(function(item, index) {
theArr.push({
key: index,
name: item.name,
id: item.id,
})
})
}
this.setState({
departmentArr: theArr,
})
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
render() {
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
const FormItem = Form.Item;
const { RangePicker } = DatePicker;
const rowSelection = {
selectedRowKeys: this.state.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
this.setState({
modalVisible:false,
selectedRows: selectedRows.slice(-1),
selectedRowKeys: selectedRowKeys.slice(-1)
});
},
onSelect: (recordt, selected, selectedRows) => {
this.setState({
modalVisible:false,
recordt: recordt.id
})
},
};
let departmentArr = this.state.departmentArr || [];
const hasSelected = this.state.selectedRowKeys.length > 0;
return(
);
}
}));
export default IntentionCustomer;