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} example
); } }); 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,//订单编号 startTime: 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(
催款节点统计
{ this.setState({ customerName: e.target.value }); }} /> { this.setState({ adminName: e.target.value }); }} /> { this.setState({ orderNo: e.target.value }); }} /> 合同签订时间 : { this.setState({ releaseDate: dataString }); }} />
{}} value={this.state.dumTime ? moment(this.state.dumTime) : null} onChange={(data, dataString) => { this.setState({ dumTime: dataString }); }} />
{this.setState({remarks:e.target.value})}}/>
); } })); export default IntentionCustomer;