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 Picture from '@/manageCenter/publicComponent/picture'; import moment from 'moment'; import {boutique ,tepi,jiedian} from '@/dataDic.js'; import { getLiquidationStatus,getApprovedState,getProcessStatus,splitUrl,getjiedian,getboutique,getNewOrderStatus,getRefundStatus} 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/orderRefundList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, name: this.state.customerName,//名称 orderNo: this.state.orderNo,//订单编号 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]; let diqu=(thisdata.province==null?"":thisdata.province)+(thisdata.city==null?"":"-"+thisdata.city)+(thisdata.area==null?"":"-"+thisdata.area); theArr.push({ key: i, id: thisdata.id,//用户ID orderNo: thisdata.orderNo,//订单编号 userName:thisdata.userName,//客户名称 orderStatus:thisdata.orderStatus,//订单状态 refundStatus:thisdata.refundStatus,//退单状态 reason:thisdata.reason,//退单原因 createDate:thisdata.createDate,//退单时间 liquidationStatus:thisdata.liquidationStatus,//结算状态 }); }; 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)); }, getInitialState() { return { page:1, releaseDate: [], selectedRowKeys: [], orgCodeUrl:[], customerArr:[], applicationUrl:[], contractUrl:[], 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: 'id', key: 'id' },{ title: '退单日期', dataIndex: 'createDate', key: 'createDate' }, { title: '客户名称', dataIndex: 'userName', key: 'userName', render:(text)=>{ return (text&&text.length>9?text.substr(0,9)+'...':text) } },{ title: '订单编号', dataIndex: 'orderNo', key: 'orderNo' },{ title: '订单状态', dataIndex: 'orderStatus', key: 'orderStatus', render:text=>{return getNewOrderStatus(text)} },{ title: '结算状态', dataIndex: 'liquidationStatus', key: 'liquidationStatus', render:text=>{return getLiquidationStatus(text)} }, { title: '退单状态', dataIndex: 'refundStatus', key: 'refundStatus', render:text=>{return getRefundStatus(text)} },{ title: '退单原因', dataIndex: 'reason', key: 'reason', render:(text)=>{ return (text&&text.length>18?text.substr(0,18)+'...':text) } }, { title: '操作', dataIndex: 'abc', key: 'abc', render: (text, record, index) => { return
} } ], data: [], dataSource: [], columnsX: [ { title: '业务项目名称', dataIndex: 'commodityName', key: 'commodityName' }, { title: '项目类别', dataIndex: 'cname', key: 'cname', },{ title: '项目数量', dataIndex: 'commodityQuantity', key: 'commodityQuantity' }, { title: '金额(万元)', dataIndex: 'commodityPrice', key: 'commodityPrice' }, { title: '负责人', dataIndex: 'contacts', key: 'contacts' }, { title: '负责人电话', dataIndex: 'contactsMobile', key: 'contactsMobile' }, { title: '主要项目', dataIndex: 'main', key: 'main', render:(text)=>{ return (text?'是':'否') } }, { title: '项目说明', dataIndex: 'taskComment', key: 'taskComment', render:(text)=>{ return (text&&text.length>8?text.substr(0,8)+'…':text) } } ], dataSourceX: [], ContactsLists: [{ title: '催款科目', dataIndex: 'dunSubject', key: 'dunSubject', render: text=>{return getjiedian(text)} },{ title: '金额(万)', dataIndex: 'money', key: 'money', }, { title: '催款状态', dataIndex: 'dunStatus', key: 'dunStatus', render: (text) => { return text?'已完成':'催款中' } }, ], }; }, //进入新增拜访记录 visit(record) { this.setState({ addnextVisible:true, }) this.tuidanxiangqing(record.id); }, //退单详情 tuidanxiangqing(id) { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/orderRefundDetail", data: { id:id } }).done(function (data) { let theArr = []; if(data.error.length || data.data.list == "") { if(data.error && data.error.length) { message.warning(data.error[0].message); }; } else { let thisdata=data.data; this.setState({ id:thisdata.id, createDate:thisdata.createDate,//退单时间 orderNo: thisdata.orderNo,//订单编号 orderStatus: thisdata.orderStatus,//订单状态 refundStatus:thisdata.refundStatus,//退单状态 applicationUrl:thisdata.applicationUrl?splitUrl(thisdata.applicationUrl, ',', globalConfig.avatarHost + '/upload') : [],//申请表附件 contractUrl:thisdata.contractUrl?splitUrl(thisdata.contractUrl, ',', globalConfig.avatarHost + '/upload') : [],//合同附件 reason:thisdata.reason,//退单原因 liquidationStatus:thisdata.liquidationStatus,//结算状态 }) this.setState({ loading: false }); }; }.bind(this)); }, //点击确认退单 tuidanOk(){ let contractUrls = []; let applicationUrls = []; if (this.state.contractUrl.length) { let picArr = []; this.state.contractUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ){ picArr.push(item.response.data); } }); contractUrls = picArr.join(","); }; if (this.state.applicationUrl.length) { let picArr = []; this.state.applicationUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ){ picArr.push(item.response.data); } }); applicationUrls = picArr.join(","); }; $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context +'/api/admin/newOrder/updateOrderRefund' , data: { id:this.state.id,//订单编号 contractUrl:contractUrls.length?contractUrls:'',//终止合同 applicationUrl:applicationUrls.length?applicationUrls:'',//退单申请表 reason:this.state.reason,//退单原因 } }).done(function(data) { this.setState({ loading: false }); if(!data.error.length) { message.success('退单成功!'); this.nextCancel(); this.handleCancel(); } else { message.warning(data.error[0].message); } }.bind(this)); }, //页面加载函数 componentWillMount() { this.loadData(); }, //整行点击 tableRowClick(record, index) { this.setState({ visible:true, }); this.xiangqing(record.orderNo); this.xiangmu(record.orderNo); this.jiedian(record.orderNo); }, //详情关闭 nextCancel() { this.setState({ addnextVisible: false }) this.resets(); }, //订单详情 xiangqing(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context +"/api/admin/newOrder/getOrderNewDetail", data: { orderNo:orderNos }, 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 { let thisdata=data.data; this.setState({ id:thisdata.id, kehuId:thisdata.buyerId, orderNo: thisdata.orderNo,//订单编号 contractNo: thisdata.contractNo,//合同编号 userName:thisdata.userName,//客户名称 signDate:thisdata.signDate,//签单时间 processStatus:thisdata.processStatus,//流程状态 liquidationStatus:thisdata.liquidationStatus,//结算状态 contacts:thisdata.contacts,//企业联系人 contactMobile:thisdata.contactMobile,//联系人电话 legalPerson:thisdata.legalPerson,//法人 legalPersonTel:thisdata.legalPersonTel,//法人电话 firstAmount:thisdata.firstAmount,//签单金额 totalAmount:thisdata.totalAmount,//首付金额 settlementAmount:thisdata.settlementAmount,//已收款项 orderRemarks:thisdata.orderRemarks,//订单留言 orgCodeUrl: thisdata.contractPictureUrl ? splitUrl(thisdata.contractPictureUrl, ',', globalConfig.avatarHost + '/upload') : [],//图片地址 salesmanName:thisdata.salesmanName,//营销员名称 salesmanMobile:thisdata.salesmanMobile,//营销员电话 financeName:thisdata.financeName,//财务名称 financeMobile:thisdata.financeMobile,//财务电话 approval:thisdata.approval.toString(),//特批状态 //approval:thisdata.approval==0?thisdata.approval.toString():thisdata.approval,//特批状态 }) }; }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, //项目列表 xiangmu(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context +"/api/admin/newOrder/getOrderTask", data: { orderNo:orderNos }, 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.length; i++) { let thisdata = data.data[i]; theArr.push({ key: i, id:thisdata.id, orderNo:thisdata.orderNo,//订单编号 commodityId:thisdata.commodityId,//项目ID commodityName:thisdata.commodityName,//项目名称 cname:thisdata.cname,//项目类别 commodityPrice:thisdata.commodityPrice,//项目价格 commodityQuantity:thisdata.commodityQuantity,//项目数量 main:thisdata.main,//是否为主要任务 taskComment:thisdata.taskComment,//任务说明 contacts:thisdata.contacts,//联系人 contactsMobile:thisdata.contactsMobile,//联系人电话 }); }; }; this.setState({ dataSourceX: theArr, paginations: false, }); }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, //节点列表 jiedian(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context +"/api/admin/newOrder/selectOrderDun", data: { orderNo:orderNos }, success: function(data) { let theArr = []; let thisData=[]; 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.length; i++) { thisData= data.data[i]; theArr.push({ key:i, dunSubject:thisData.dunSubject?thisData.dunSubject.toString():"",//催款科目 id:thisData.id,//节点Id money:thisData.money,//催款金额 dunStatus:thisData.dunStatus,//催款状态 orderNo:thisData.orderNo, }) } this.setState({ contactList:theArr }) }; }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, resets(){ this.state.orderNo=''; this.state.customerName=''; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; }, reset(){ this.state.orderNo=''; this.state.customerName=''; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.loadData(); }, //搜索 search() { this.setState({ //signBillVisible:false }) this.loadData(); }, getOrgCodeUrl(e) { this.setState({ orgCodeUrl: e }); }, //关闭详情 visitCancel(e){ this.setState({ visible:false }) this.resets(); }, visitOk(e){ this.setState({ visible:false }) this.resets(); }, 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 }) }, }; const dataSources=this.state.customerArr || []; const options = this.state.states?dataSources.map((group,index) => {group.name} ):dataSources.map((group,index) => {group.bname} ) const hasSelected = this.state.selectedRowKeys.length > 0; return(
退单管理
{ this.setState({ customerName: e.target.value }); }} /> { this.setState({ orderNo: e.target.value }); }} /> 合同签订时间 : { this.setState({ releaseDate: dataString }); }} />
{this.state.orderNo} {this.state.contractNo} {this.state.userName} {this.state.signDate} {getProcessStatus(this.state.processStatus)} {getLiquidationStatus(this.state.liquidationStatus)} {this.state.contacts} {this.state.contactMobile} {this.state.legalPerson} {this.state.legalPersonTel} {this.state.firstAmount} {this.state.totalAmount} {getApprovedState(this.state.approval)} {this.state.settlementAmount}
{this.state.orderRemarks}
{ this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true, }); }} > { this.setState({ previewVisible: false }) }}>
{this.state.salesmanName} {this.state.salesmanMobile}
{this.state.financeName} {this.state.financeMobile}
催款节点
项目业务
{this.state.id} {this.state.createDate} {this.state.orderNo} {getNewOrderStatus(this.state.orderStatus)} {getRefundStatus(this.state.refundStatus)} {getLiquidationStatus(this.state.liquidationStatus)}
{this.state.refundStatus==2? {this.setState({contractUrl:e})}} pictureUrl={this.state.contractUrl} visible={this.props.visible} data={{'sign':'order_refund_file',url:'/api/admin/newOrder/uploadRefundOrderFile',number:8}} /> : { this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true, }); }} > { this.setState({ previewVisible: false }) }}> }
{this.setState({applicationUrl:e})}} pictureUrl={this.state.applicationUrl} visible={this.props.visible} data={{'sign':'order_refund_file',url:'/api/admin/newOrder/uploadRefundOrderFile',number:8}} />
{this.state.refundStatus==2? {this.setState({reason:e.target.value})}}/>:{this.state.reason} }
{this.state.refundStatus==2? :''}
); } })); export default IntentionCustomer;