import React from 'react'; import { Button, Input, Spin, Table, message,DatePicker, Tooltip, Form ,Modal,Col,Tabs, Tag} from 'antd'; import $ from 'jquery/src/ajax'; import Picture from '@/manageCenter/publicComponent/picture'; import ResolutionDetail from "@/resolutionDetail"; 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"; import ImgList from "../../../common/imgList"; import {ChooseList} from "./chooseList"; import OrderItemStatus from "../../../common/orderItemStatus"; import EnterpriseNameChange from "../../../common/enterpriseNameChange"; 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 { rotateDeg: 0, page: 1, resVisible: false, 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}
); }, }, { 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", render: (text, record) => { return text + "-" + record.id } }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", render: (text, record) => { if (record.splitStatus == 1) { return ( {text}{" "} { e.stopPropagation(); this.showRes(record); }} > 已拆 ); } else { return text; } }, }, { 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, record) => { return {text + "-" + record.tid}; }, }, { 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) => { if(record.customizeName) { return text + record.customizeName; } return {text}; }, }, { title: "时间(天)", dataIndex: "waitDay", key: "waitDay", render: (text, record) => { if (record.dunTypeName) { if (record.customizeTimes) { return record.customizeTimes; } return {text}; } }, }, { title: "金额(万元)", dataIndex: "money", key: "money", render: (text, record) => { if (record.dunTypeName) { if (record.appropriationRatio) { return {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) ); }, // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record, }); }, resCancel() { this.setState({ resVisible: false, }); }, //点击确认退单 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, remarks: thisdata.remarks, }); } } 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({ orderUid: thisdata.uid, 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" ) : [], //图片地址 replenishUrl: thisdata.agreementUrl ? splitUrl( thisdata.agreementUrl, ",", 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,//特批状态 deleteSign:thisdata.deleteSign, }); } }.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]; thisdata.key = i; thisdata.sort = thisdata.cSort; theArr.push(thisdata); } } 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, customizeTimes: thisData.customizeTimes, customizeName: thisData.customizeName, tid: thisData.tid, }); } if (!totalCui) { totalCui = 0; } totalCui = (Math.round(totalCui * 1000000) / 1000000).toFixed(6); this.setState({ contactListNew: theArr, totalCui, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, downImg() { let num = 0; for (let i = 0; i < this.state.orgCodeUrl.length; i++) { if (this.state.orgCodeUrl[i].url == this.state.previewImage) { num = i; } } if (num == this.state.orgCodeUrl.length - 1) { return message.warning("已经是最后一张了哦"); } this.state.previewImage = this.state.orgCodeUrl[num + 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, upImg() { let num = 0; for (let i = 0; i < this.state.orgCodeUrl.length; i++) { if (this.state.orgCodeUrl[i].url == this.state.previewImage) { num = i; } } if (num == 0) { return message.warning("已经是第一张了哦"); } this.state.previewImage = this.state.orgCodeUrl[num - 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, rotate() { let rotateDeg = this.state.rotateDeg + 90; this.setState({ rotateDeg, }); }, downImgs() { let num = 0; for (let i = 0; i < this.state.replenishUrl.length; i++) { if (this.state.replenishUrl[i].url == this.state.previewImage) { num = i; } } if (num == this.state.replenishUrl.length - 1) { return message.warning("已经是最后一张了哦"); } this.state.previewImage = this.state.replenishUrl[num + 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, upImgs() { let num = 0; for (let i = 0; i < this.state.replenishUrl.length; i++) { if (this.state.replenishUrl[i].url == this.state.previewImage) { num = i; } } if (num == 0) { return message.warning("已经是第一张了哦"); } this.state.previewImage = this.state.replenishUrl[num - 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, rotates() { let rotateDeg = this.state.rotateDeg + 90; this.setState({ rotateDeg, }); }, 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 }); }, getReplenishUrl(e) { this.setState({ replenishUrl: e }); }, //关闭详情 visitCancel() { this.setState({ visible: false, }); this.resets(); }, visitOk() { this.setState({ visible: false, }); this.resets(); }, changeList(arr) { const newArr = []; this.state.columns.forEach(item => { arr.forEach(val => { if (val === item.title) { newArr.push(item); } }); }); this.setState({ changeList: newArr }); }, 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, }); }, }; const { TabPane } = Tabs; return (
{this.state.resVisible ? ( ) : ( "" )}
退单管理
{ this.setState({ customerName: e.target.value }); }} /> { this.setState({ orderNo: e.target.value }); }} /> 下单时间 : { this.setState({ releaseDate: dataString }); }} />
{this.state.visible ?
{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.state.visible && this.state.orgCodeUrl ? :
}
{ this.setState({ previewVisible: false, rotateDeg: 0, }); }} > {/* {*/} {/* this.setState({*/} {/* previewImage: file.url || file.thumbUrl,*/} {/* previewVisibles: true,*/} {/* });*/} {/* }}*/} {/*/>*/}
{this.state.visible && this.state.replenishUrl ? :
}
{ this.setState({ previewVisibles: false, rotateDeg: 0, }); }} >
{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.addnextVisible ?
{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", }} /> ) : ( {/* {*/} {/* this.setState({*/} {/* previewImage: file.url || file.thumbUrl,*/} {/* previewVisible: true,*/} {/* });*/} {/* }}*/} {/*/>*/}
{this.state.visible && this.state.orgCodeUrl ? :
}
{ this.setState({ previewVisible: false }); }} > )}
{/* {*/} {/* this.setState({*/} {/* previewImage: file.url || file.thumbUrl,*/} {/* previewVisible: true,*/} {/* });*/} {/* }}*/} {/*/>*/}
{this.state.visible && this.state.orgCodeUrl ? :
}
{this.state.refundStatus == 2 ? ( { this.setState({ reason: e.target.value }); }} /> ) : ( {this.state.reason} )}
{this.state.refundStatus == 2 ? ( ) : ( "" )}
:
}
); }, }) ); export default IntentionCustomer;