import React, { Component } from "react"; import { Button, Col, Form, message, Modal, Spin, Table, Tabs, Tag, Tooltip } from "antd"; import { getApprovedState, getCuikuan, getjiedian, getLiquidationStatus, getProcessStatus, splitUrl } from "../../../tools"; import ImgList from "../../../common/imgList"; import $ from "jquery/src/ajax"; import OrderRiZi from "@/orderRiZi.jsx"; import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly"; import NewEditProject from "../../../common/projectOperation/newEditProject"; import CustomerServiceRecord from './customerServiceRecord'; import OrderItemStatus from "../../../common/orderItemStatus"; import EnterpriseNameChange from "../../../common/enterpriseNameChange"; import OrderCoor from "../../order/orderNew/changeComponent/orderCoor"; import ContentUrl from "../../order/orderNew/contentUrl"; const FormItem = Form.Item; const { TabPane } = Tabs; const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; class FollowUpDetails extends Component { constructor(props) { super(props); this.state = { loading: false, columnsX: [ { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return {text}{record.patentTypeName}{"-" + 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", width: 50, render: (text) => { return text ? "是" : "否"; }, }, { title: "总年限", dataIndex: "yearSum", key: "yearSum", render: (text, record) => { return (
{["", "一年", "二年", "三年", "四年", "五年"][text]}
); } }, { title: "年限", dataIndex: "serviceLife", key: "serviceLife", render: (text, record) => { return (
{!!text && JSON.parse(text).toString()}
); } }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", render: (text, record) => { return (
{!text ? "" : text}
); } }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, ], dataSourceX: [], contactList: [], 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, record) => { 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) { let percent = Number(record.appropriationRatio * 100).toFixed(2); percent += "%"; return {percent}(拨款比例); } 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); }, }, ], tabsKey: '1', dataSourcerizhi: [], } this.jiedian = this.jiedian.bind(this); this.jiedianNew = this.jiedianNew.bind(this); this.xiangqing = this.xiangqing.bind(this); this.rizhi = this.rizhi.bind(this); this.closeOrderLog = this.closeOrderLog.bind(this); this.tableRowClickX = this.tableRowClickX.bind(this); this.nextCancel = this.nextCancel.bind(this); this.rizhi = this.rizhi.bind(this); this.getOrderLog = this.getOrderLog.bind(this); this.xiangmu = this.xiangmu.bind(this); } componentDidMount() { this.xiangqing(); this.jiedian(); this.jiedianNew(); this.xiangmu(); } getOrderLog() { this.setState({ rizhivisible: true, }); this.rizhi(); } closeOrderLog() { this.setState({ rizhivisible: false, dataSourcerizhi: [], }); } tableRowClickX(record) { this.setState({ addnextVisible: true, dataInfor: record, }); } nextCancel() { this.setState({ addnextVisible: false, dataInfor: {} }); } rizhi() { this.setState({ selectOrderLogLoading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: "/api/admin/newOrder/selectOrderLog", data: { orderNo: this.props.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); } } 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({ selectOrderLogLoading: false, }); }.bind(this) ); } jiedian() { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/selectOrderDun", data: { orderNo: this.props.orderNo, }, 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, //催款状态 }); } this.setState({ contactList: theArr, }); } }.bind(this), }).always( function () { }.bind(this) ); } //查看催款节点 jiedianNew() { this.setState({ newOrderDunLoading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun", data: { orderNo: this.props.orderNo, }, 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, //催款金额 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, customizeName: thisData.customizeName, customizeTimes: thisData.customizeTimes, 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({ newOrderDunLoading: false, }); }.bind(this) ); } xiangqing() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: this.props.orderNo, }, 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, orderNo: thisdata.orderNo, //订单编号 contractNo: thisdata.contractNo, //合同编号 userName: thisdata.userName, //客户名称 signDate: thisdata.signDate, //签单时间 examineName: thisdata.examineName, processStatus: thisdata.processStatus, //流程状态 liquidationStatus: thisdata.liquidationStatus, //结算状态 contacts: thisdata.contacts, //企业联系人 contactMobile: thisdata.contactMobile, //联系人电话 legalPerson: thisdata.legalPerson, //法人 legalPersonTel: thisdata.legalPersonTel, //法人电话 firstAmount: thisdata.firstAmount, //签单金额 totalAmount: thisdata.totalAmount, //首付金额 approval: thisdata.approval, //特批状态 settlementAmount: thisdata.settlementAmount, //已收款项 orderRemarks: thisdata.orderRemarks, //订单留言 orgCodeUrl: thisdata.contractPictureUrl ? splitUrl( thisdata.contractPictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 replenishUrl: thisdata.agreementUrl ? splitUrl( thisdata.agreementUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 contentUrl: thisdata.serviceContent ? splitUrl( thisdata.serviceContent, ",", 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, //财务电话 depName: thisdata.depName, outsource: thisdata.outsource == 0 ? "否" : "是", deleteSign: thisdata.deleteSign, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); } xiangmu() { this.setState({ orderTaskLoading: true }) $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderTask", data: { orderNo: this.props.orderNo, }, 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; theArr.push(thisdata); } this.setState({ dataSourceX: theArr, }); } }.bind(this), }).always( function () { this.setState({ orderTaskLoading: false, }); }.bind(this) ); } render() { return (
{ this.setState({ tabsKey: e }) }} tabBarExtraContent={
} >
{this.state.orderNo} {this.state.contractNo} {this.state.userName} {this.state.signDate} {getProcessStatus(this.state.processStatus, this.state.examineName, this.state.approval)} {getLiquidationStatus(this.state.liquidationStatus)} {this.state.contacts} {this.state.contactMobile} {this.state.legalPerson} {this.state.legalPersonTel} {this.state.totalAmount} {this.state.firstAmount} {getApprovedState(this.state.approval)} {this.state.settlementAmount} {this.state.depName} {this.state.outsource}
{this.state.orderRemarks}
{this.props.visible && this.state.orgCodeUrl ? :
}
{this.props.visible && this.state.replenishUrl ? :
}
{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.tabsKey === '2' ? : ''} {/* {this.state.addnextVisible && } */} { // 项目业务详情 this.state.addnextVisible && } ) } } export default FollowUpDetails;