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, ShowModal } from "@/tools.js"; import './customer.less'; import ShowModalDiv from "@/showModal.jsx"; import OrderRiZi from "@/orderRiZi.jsx"; 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) { ShowModal(this); 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: [], ContactsListsNew: [ { title: "项目名称", dataIndex: "commodityName", key: "commodityName", render: text => { return {text}; } }, { title: "项目分类", dataIndex: "projectType", key: "projectType", render: text => { let arr = this.state.dataSourceX || []; let str = ""; for (let i = 0; i < arr.length; i++) { if (this.state.dataSourceX[i].sort == text) { str = this.state.dataSourceX[i].cname; return {str}; } } } }, { title: "催款科目", dataIndex: "dunTypeName", key: "dunTypeName", render: text => { return {text}; } }, { title: "时间", dataIndex: "waitDay", key: "waitDay", render: (text, record) => { if (record.dunTypeName) { return {text}; } } }, { title: "金额(万元)", dataIndex: "money", key: "money", render: (text, record) => { if (record.dunTypeName) { if (record.appropriationRatio && !record.money) { return {record.appropriationRatio}(拨款比例); } else if (record.appropriationRatio && record.money) { return ( {text}(比例:{record.appropriationRatio}) ); } else { return {text}; } } } }, { title: "服务年限", dataIndex: "startDate", key: "startDate", render: (text, record) => { if (record.dunTypeName) { return {text}; } } }, { title: "催款状态", dataIndex: "status", key: "status", render: text => { return {text == 1 ? "已启动" : "未启动"}; } } ], 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); this.jiedianNew(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, //联系人电话 sort: thisdata.cSort }); } } 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) ); }, //查看催款节点 jiedianNew(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun", data: { orderNo: orderNos }, success: function(data) { if (data.error && data.error.length) { message.warning(data.error[0].message); } else { let theArr = []; let thisData = []; let arr = data.data || []; let totalCui = 0; for (let i = 0; i < arr.length; i++) { thisData = arr[i]; totalCui += +thisData.money; theArr.push({ key: i, dunSubject: thisData.dunSubject ? thisData.dunSubject.toString() : "", //催款科目 id: thisData.id, //节点Id money: thisData.money, //催款金额 // orderNo: record ? record.orderNo : this.props.datauser.orderNo, commodityName: thisData.commodityName, projectType: thisData.projectType, dunTypeName: thisData.dunTypeName, status: thisData.status, waitDay: thisData.waitDay, effectiveCount: thisData.effectiveCount, startDate: thisData.startDate, dunType: thisData.dunType, appropriationRatio: thisData.appropriationRatio }); } if (!totalCui) { totalCui = 0; } totalCui = (Math.round(totalCui * 10000) / 10000).toFixed(4); this.setState({ contactListNew: theArr, totalCui }); } }.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 cuiDataList = this.state.contactList || []; 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 }); }} />
{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.nowFinance} {this.state.nowFinanceMobile}
{this.state.oldSalesmanName} {this.state.oldSalesmanMobile}
{this.state.financeName} {this.state.financeMobile}
项目业务
催款节点 金额总计(万元): {this.state.totalCui}
{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({ previewImage: file.url || file.thumbUrl, previewVisible: true }); }} >
{this.state.refundStatus == 2 ? ( { this.setState({ reason: e.target.value }); }} /> ) : ( {this.state.reason} )}
{this.state.refundStatus == 2 ? ( ) : ( "" )}
{/*
*/} ); } }) ); export default IntentionCustomer;