import React from 'react'; import $ from 'jquery/src/ajax'; import { Modal, message, Spin, Upload, Button, Form, Table, Col, Tag, Tooltip } from 'antd'; import { getjiedian, splitUrl, getNewOrderType, getProcessStatus, getApproval, getApprovedType, getLiquidationStatus, getboutique, getCuikuan, } from "@/tools"; import OrderRiZi from "@/orderRiZi.jsx"; import ResolutionDetail from "@/resolutionDetail"; import ImgList from "../../../common/imgList"; import { getProjectName } from "../../../tools"; import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly"; import OrderItemStatus from "../../../common/orderItemStatus"; import EnterpriseNameChange from "../../../common/enterpriseNameChange"; import OrderCoor from '../../order/orderNew/changeComponent/orderCoor'; import ContentUrl from '../../order/orderNew/contentUrl'; import { salesList } from "@/dataDic.js"; import NewEditProject from "../../../common/projectOperation/newEditProject"; import FlowChart from '../../../common/flowchart'; // 流程图 import Gxczx from '../../../common/orderDetail/gxczx' // 高新纯咨询合同说明详情 import Property from '../../../common/orderDetail/property' // 知识产权情况 const OrderDetail = Form.create()( React.createClass({ loadXmu(record) { this.state.data = []; this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderTask", data: { orderNo: record ? record.orderNo : this.props.data.orderNo, }, success: function (data) { let theArr = []; if (!data.data) { 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({ dataSource: theArr, pagination: false, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, getInitialState() { return { rotateDeg: 0, orderNos: '', visible: false, avisible: false, loading: false, declarationBatch: 1, dataInfor: {}, addnextVisible: false, jsDate: [], replenishUrl: [], auditStatus: 0, textFileList: [], videoFileList: [], previewVisibles: false, pictureUrl: [], pictureUrlMin: [], columns: [ { 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}{" "} {/* { record.cSort != 6 && { 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: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { 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}
) }, }, ], columnsX: [ { title: "流程", dataIndex: "processName", key: "processName", }, { title: "操作人", dataIndex: "adminName", key: "adminName", }, { title: "时间", dataIndex: "createDate", key: "createDate", }, ], ContactsListsNew: [ { title: "项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return {text + "-" + record.tid}; }, }, { title: "项目分类", dataIndex: "projectType", key: "projectType", render: (text) => { let arr = this.state.dataSource || []; let str = ""; for (let i = 0; i < arr.length; i++) { if (this.state.dataSource[i].sort == text) { str = this.state.dataSource[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); }, }, ], }; }, //点击打卡项目详情 tableRowClick(record) { if (record.type == "1") { this.setState({ displayFees: "block", costReduction: record.costReduction, officialCost: record.officialCost, }); } else { this.setState({ displayFees: "none", }); } this.setState({ jid: record.id, //项目ID kid: record.commodityId, //商品ID commodityName: record.commodityName, //金额 commodityPrice: record.commodityPrice, //金额 commodityQuantity: record.commodityQuantity, //数量 taskComment: record.taskComment, //备注 main: record.main.toString(), //是否为主要 yearSum: record.yearSum,//会员总服务年限 serviceLife: record.serviceLife,//会员服务年限 serviceYear: record.serviceYear,//本次派单 cSort: record.cSort, addnextVisible: true, dataInfor: record, addState: 0, }); }, //项目详情关闭 nextCancel() { this.setState({ addnextVisible: false, displayFees: "none", officialCost: "", //是否有官费 costReduction: "", //是否有费减 }); }, // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record, }); }, resCancel() { this.setState({ resVisible: false, }); }, loadData(record) { this.state.orderList = []; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: record ? record.orderNo : this.props.data.orderNo, }, success: function (data) { let thisData = data.data; if (!thisData) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thisData = {}; } this.setState({ id: thisData.id, orderUid: thisData.uid, orderList: thisData, approval: thisData.approval == 0 ? thisData.approval.toString() : thisData.approval, 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" ) : [], //图片地址 orderNo: thisData.orderNo, //订单编号 buyerId: thisData.buyerId, depName: thisData.depName, outsource: thisData.outsource == 0 ? "否" : "是", deleteSign: thisData.deleteSign, // 高新纯咨询合同说明 knowledgeServices: thisData.knowledgeServices, //知识产权服务 auditServices: thisData.auditServices, //审计服务 addDeductionServices: thisData.addDeductionServices, //加计扣除服务 knowledgeOther: thisData.knowledgeOther, //知识产权服务其他描述 auditOther: thisData.auditOther, //审计服务其他描述 addDeductionOther: thisData.addDeductionOther, //加计扣除服务其他描述 patentStatus: thisData.patentStatus, //知识产权情况 type: thisData.type,// 特批类型 typeExplain: thisData.typeExplain, // 特批类型 }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, rizhi() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: "/api/admin/newOrder/selectOrderLog", data: { orderNo: this.props.data.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({ dataSourceX: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, getOrderLog() { this.setState({ avisible: true, }); this.rizhi(); }, closeOrderLog() { this.setState({ avisible: false, }); }, getPictureUrl(e) { this.setState({ pictureUrl: e }); }, componentWillMount() { if (this.props.data.orderNo) { this.setState({ orderNos: this.props.data.orderNo }) this.loadData(); this.loadXmu(); this.jiedian(this.props.data.orderNo); this.jiedianNew(this.props.data.orderNo); } else { this.state.data = {}; } }, componentWillReceiveProps(nextProps) { if (!this.props.visible && nextProps.visible) { this.state.textFileList = []; this.state.videoFileList = []; if (nextProps.data.orderNo) { this.setState({ orderNos: nextProps.data.orderNo }) this.loadData(nextProps.data); this.loadXmu(nextProps.data); this.jiedian(nextProps.data.orderNo); this.jiedianNew(nextProps.data.orderNo); } else { this.state.data = {}; this.state.pictureUrl = []; this.state.pictureUrlMin = []; } this.props.form.resetFields(); } }, 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, }); }, //节点列表 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, 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({ loading: false, }); }.bind(this) ); }, // 可展开颜色不同 addRowColor(record) { if (!!record.splitList && record.splitList.length > 0) { return 'light' } else { return 'dark' } }, render() { const expandedRowRenderVip = (e) => { const data = e.splitList; let columns = []; if (data instanceof Array && data.length) { if (e.cSort == 6) { columns = [ { title: "负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "负责人电话", dataIndex: "receiverMobile", key: "receiverMobile", }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, ]; } else { columns = [ { title: "子项目名称", dataIndex: "taskName", key: "taskName" }, { title: "子项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity" }, { title: "拆分操作人", dataIndex: "splitAname", key: "splitAname" }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName" }, { title: "拆分时间", dataIndex: "splitTimes", key: "splitTimes" } ] } return ( ); } else { columns = []; return (

{e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}

); } }; const theData = this.state.orderList || {}; const FormItem = Form.Item; const formItemLayout = { labelCol: { span: 10 }, wrapperCol: { span: 14 }, }; const cuiDataList = this.state.contactList || []; return (
{this.state.resVisible && }
{theData.orderNo} {theData.contractNo} {theData.userName} {(["私有客户-", "签单客户-"][theData.userType] || " ") + (salesList[theData.salesType] || "")} { theData.other != null && theData.other != "" && {"(" + theData.other.toString().slice(0, 10) + (theData.other.toString().length > 9 ? "...)" : ")")} } {theData.signDate} {getProcessStatus(theData.processStatus, theData.examineName, theData.approval)} {getNewOrderType(theData.orderType)} {getLiquidationStatus(theData.liquidationStatus)} {theData.totalAmount} {theData.firstAmount} {theData.settlementAmount} {getApproval(theData.approval)} {getApprovedType(this.state.type ? this.state.type.split(",").map(Number) : [], this.state.typeExplain, 1)} {this.state.outsource} {this.props.data.orderStatus == "6" && ( {this.props.data.refundAmount} )} {theData.depName}

{this.state.orderRemarks}

{this.state.orgCodeUrl ? :
}
{/* 高新纯咨询合同说明详情 */}
{this.state.replenishUrl ? :
}
{/* 知识产权情况 */}
{theData.salesmanName} {theData.salesmanMobile} {theData.nowFinance} {theData.nowFinanceMobile} {theData.oldSalesmanName} {theData.oldSalesmanMobile} {theData.financeName} {theData.financeMobile}

项目业务

催款节点 金额总计(万元): {this.state.totalCui}
{ // 项目业务详情 this.state.addnextVisible && } {/* {this.state.addnextVisible && } */} ); }, }) ); export default OrderDetail;