import React from 'react';
import { Button, Input, Spin, Table, message,DatePicker, Upload, Form ,Modal,Col} from 'antd';
import $ from 'jquery/src/ajax';
import Picture from '@/manageCenter/publicComponent/picture';
import moment from 'moment';
import { getLiquidationStatus,getApprovedState,getProcessStatus,splitUrl,getjiedian,getNewOrderStatus,getRefundStatus,getCuikuan} from '@/tools.js';
import './customer.less';
const IntentionCustomer = Form.create()(React.createClass({
loadData(pageNo) {
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];
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) => {
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)
}
}
],
columnsrizhi:[
{
title:'流程',
dataIndex: 'processName',
key: 'processName'
},
{
title:'操作人',
dataIndex: 'adminName',
key: 'adminName'
},{
title:'时间',
dataIndex: 'createDate',
key: 'createDate'
}
],
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 getCuikuan(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) {
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) {
this.setState({
visible:true,
});
this.xiangqing(record.orderNo);
this.xiangmu(record.orderNo);
this.jiedian(record.orderNo);
},
rizhi(){
console.log(this.state.orderNo)
this.setState({
loading:true
})
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: '/api/admin/newOrder/selectOrderLog',
data: {
orderNo:this.state.orderNo
},
success: function (data) {
let theArr = [];
let thisData = data.data;
if (!thisData.length) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
thisData = {};
}else{
for(let i = 0; i < data.data.length; i++) {
let thisdata = data.data[i];
theArr.push({
processName:thisdata.processName,
adminName:thisdata.adminName,
createDate:thisdata.createDate,
});
};
};
this.setState({
dataSourcerizhi: theArr
})
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
//查看订单日志
getOrderLog(){
this.setState({
rizhivisible:true
})
this.rizhi()
},
closeOrderLog(){
this.setState({
rizhivisible:false
})
},
//详情关闭
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) {
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, //营销员电话
oldSalesmanName: thisdata.oldSalesmanName, //营销员名称
oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话
financeName: thisdata.financeName, //财务名称
financeMobile: thisdata.financeMobile, //财务电话
nowFinance: thisdata.nowFinance, //财务名称
nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话
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(){
this.setState({
visible:false
})
this.resets();
},
visitOk(){
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) => {
this.setState({
modalVisible:false,
recordt: recordt.id
})
},
};
return (
退单管理
{
this.setState({ customerName: e.target.value });
}}
/>
{
this.setState({ orderNo: e.target.value });
}}
/>
下单时间 :
{
this.setState({ releaseDate: dataString });
}}
/>
);
}
}));
export default IntentionCustomer;