import React from 'react'; import $ from 'jquery/src/ajax'; import { Modal, message, Spin, Upload, Button, Form, Table, Col } from 'antd'; import { getjiedian, splitUrl, getNewOrderType, getProcessStatus, getApproval, getLiquidationStatus, getProjectStatus, getCuikuan } from "@/tools"; import OrderRiZi from "@/orderRiZi.jsx"; 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]; theArr.push({ key: i, id: thisdata.id, orderNo: thisdata.orderNo, commodityName: thisdata.commodityName, commodityPrice: thisdata.commodityPrice, commodityQuantity: thisdata.commodityQuantity, taskStatus: thisdata.taskStatus, taskComment: thisdata.taskComment, main: thisdata.main, contacts: thisdata.contacts, contactsMobile: thisdata.contactsMobile, cname: thisdata.cname, certificateNumber: thisdata.certificateNumber, projectStatus: thisdata.projectStatus, sort: thisdata.cSort }); } } this.setState({ dataSource: theArr, pagination: false }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, getInitialState() { return { rotateDeg: 0, visible: false, avisible: false, loading: false, jsDate: [], auditStatus: 0, textFileList: [], videoFileList: [], pictureUrl: [], pictureUrlMin: [], columns: [ { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: text => { return text && text.length > 6 ? ( {text.substr(0, 8)}... ) : ( text ); } }, { title: "项目类别", dataIndex: "cname", key: "cname" }, { title: "项目数量(个)", dataIndex: "commodityQuantity", key: "commodityQuantity" }, { title: "服务市价(万元)", dataIndex: "commodityPrice", key: "commodityPrice" }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: text => { return getProjectStatus(text); } }, { title: "证书编号", dataIndex: "certificateNumber", key: "certificateNumber" }, { 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 ); } } ], columnsX: [ { title: "流程", dataIndex: "processName", key: "processName" }, { title: "操作人", dataIndex: "adminName", key: "adminName" }, { title: "时间", dataIndex: "createDate", key: "createDate" } ], ContactsListsNew: [ { title: "项目名称", dataIndex: "commodityName", key: "commodityName", render: text => { return {text}; } }, { 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 => { 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); } } ] }; }, 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, orderList: thisData, approval: thisData.approval == 0 ? thisData.approval.toString() : thisData.approval, orderRemarks: thisData.orderRemarks, orgCodeUrl: thisData.contractPictureUrl ? splitUrl( thisData.contractPictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], orderNo: thisData.orderNo, //订单编号 buyerId: thisData.buyerId, depName: thisData.depName, outsource: thisData.outsource == 0 ? "否" : "是" }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, jdDate(record) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/selectOrderDun", data: { orderNo: record ? record.orderNo : this.props.data.orderNo }, success: function(data) { let thisData = data.data; if (!thisData.length) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thisData = {}; } else { this.setState({ jsDate: thisData }); } }.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.loadData(); this.loadXmu(); this.jdDate(); 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.loadData(nextProps.data); this.loadXmu(nextProps.data); this.jdDate(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 }); }, //节点列表 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) ); }, render() { const theData = this.state.orderList || {}; const FormItem = Form.Item; const formItemLayout = { labelCol: { span: 10 }, wrapperCol: { span: 12 } }; const jsDate = this.state.jsDate || []; const cuiDataList = this.state.contactList || []; return (