import React from 'react'; import { Table, Modal, message, Spin, Input, Button, Form, Radio } from 'antd'; import $ from 'jquery/src/ajax'; import '../../userMangagement.less'; import { getApprovedState, getPaymentState, getOrderState, getProjectState, getOrderChannel, getChangeState, getOrderType, getTransactionProject, getTransactionChannel } from '../../../../tools.js'; const MySettlementDetaile = Form.create()(React.createClass({ loadData(record) { this.state.data = []; this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/getOrderCommodity', data: { orderNo: record ? record.orderNo : this.props.datauser.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, commodityType: thisdata.commodityType, commodityMode: thisdata.commodityMode, commodityQuantity: thisdata.commodityQuantity, commodityPrice: thisdata.commodityPrice, discountPrice: thisdata.discountPrice, commodityFirstPayment: thisdata.commodityFirstPayment, createTimes: thisdata.createTimes, discountFirstPayment: thisdata.discountFirstPayment, remarks: thisdata.remarks, }); }; } this.setState({ dataSource: theArr, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, getInitialState() { return { loading: false, visible: false, contractState: false, orgCodeUrl: [], lookflowList: [], checkedKeys: [], columns: [ { title: '业务项目名称', dataIndex: 'commodityName', key: 'commodityName', render: (text, record) => { return ( {text}{record.patentTypeName} ) } }, { title: '项目类别', dataIndex: 'commodityType', key: 'commodityType', render: (text) => { return (getOrderType(text)) } }, { title: '项目数量', dataIndex: 'commodityQuantity', key: 'commodityQuantity' }, { title: '服务市价(万元)', dataIndex: 'commodityPrice', key: 'commodityPrice' }, { title: '实签价格(万元)', dataIndex: 'discountPrice', key: 'discountPrice' }, { title: '下单时间', dataIndex: 'createTimes', key: 'createTimes' }, { title: '项目说明', dataIndex: 'remarks', key: 'remarks', render: (text) => { return (text && text.length > 8 ? text.substr(0, 8) + '…' : text) } } ], flowList: [ { title: '平台流水号', dataIndex: 'billNo', key: 'billNo', }, { title: '平台流水时间', dataIndex: 'createTime', key: 'createTime' }, { title: '流水金额(万元)', dataIndex: 'transactionAmount', key: 'transactionAmount' }, { title: '付款人名称', dataIndex: 'payerName', key: 'payerName' }, { title: '收款人名称', dataIndex: 'payeeName', key: 'payeeName' }, { title: '流水科目', dataIndex: 'transactionSubject', key: 'transactionSubject', render: (text) => { return getTransactionProject(text) } }, { title: '流水外联', dataIndex: 'transactionChannel', key: 'transactionChannel', render: (text) => { return getTransactionChannel(text) } }, { title: '财务流水号', dataIndex: 'financialPayNo', key: 'financialPayNo', }, { title: '财务流水时间', dataIndex: 'financialPayTime', key: 'financialPayTime', }, { title: '流水确认', dataIndex: 'confirmSign', key: 'confirmSign', render: (text) => { return text ? '已确认' : '待确认' } }, { title: '确认时间', dataIndex: 'confirmTime', key: 'confirmTime', } ] }; }, //查看基本详情基本信息 loaduser(record) { if (record) { this.state.orderList = [] $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/getServiceOrderDetail', data: { orderNo: record.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({ orderType: thisData.orderType, id: thisData.id, contractNo: thisData.contractNo, orderList: thisData, orderAmount: thisData.orderAmount, firstPayment: thisData.firstPayment, signTotalAmount: thisData.signTotalAmount, signFirstPayment: thisData.signFirstPayment, approval: thisData.approval == 0 ? thisData.approval.toString() : thisData.approval, orderRemarks: thisData.orderRemarks, orgCodeUrl: thisData.orgCodeUrl ? splitUrl(thisData.orgCodeUrl, ',', globalConfig.avatarHost + '/upload') : [], //签单 orderNo: thisData.orderNo,//订单编号 buyerName: thisData.buyerName, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); } }, handleOk() { this.setState({ visible: false, }); this.props.closeDesc(false, true); }, handleCancel() { this.setState({ visible: false, }); this.props.closeDesc(false); }, componentWillMount() { }, nextCancel() { this.setState({ addnextVisible: false }) }, lookflow() { this.setState({ loading: true, lookVisible: true, }) this.state.lookSource = []; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/getBillByOrderNo', data: { orderNo: this.props.datauser.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, billNo: thisdata.billNo, transactionAmount: thisdata.transactionAmount, createTime: thisdata.createTime, transactionAmount: thisdata.transactionAmount, payerName: thisdata.payerName, payeeName: thisdata.payeeName, transactionSubject: thisdata.transactionSubject, transactionChannel: thisdata.transactionChannel, financialPayNo: thisdata.financialPayNo, financialPayTime: thisdata.financialPayTime, orderNo: thisdata.orderNo, departmentName: thisdata.departmentName, salesmanName: thisdata.salesmanName, financeName: thisdata.financeName, confirmSign: thisdata.confirmSign, deleteSign: thisdata.deleteSign, confirmTime: thisdata.confirmTime }); }; }; this.setState({ lookflowList: theArr, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, //保存合同编号 subContract(e) { e.preventDefault(); this.setState({ loading: true }); let api = '/api/admin/order/updateServiceOrder'; $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + api, data: { orderNo: this.state.orderNo, contractNo: this.state.contractNo, signTotalAmount: this.state.signTotalAmount, signFirstPayment: this.state.signFirstPayment, } }).done(function (data) { this.setState({ loading: false }); if (!data.error.length) { message.success('保存成功!'); this.handleOk() } else { message.warning(data.error[0].message); } }.bind(this)); }, lookCancel() { this.setState({ lookVisible: false }) }, tableRowClick(record) { this.setState({ editFw: record, addnextVisible: true, }); }, /* -----变更操作开始----- */ //新建变更 addChange() { this.setState({ addChangeState: true, stateAdd: 1, changeRemarks: '' }) }, //产看变更记录 lookChange() { this.setState({ addChangeState: true, stateAdd: 0 }) this.lookChangeData() }, //查看变更列表修改变更 modifyChangeCancel() { this.setState({ modifyChangeState: false }) }, //获取变更记录 lookChangeData() { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/viewOrderChange', data: { orderNo: this.props.datauser.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++) { theArr = data.data; }; }; this.setState({ changeHtml: theArr, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, //添加变更状态 addChangeCancel() { this.setState({ addChangeState: false }) }, //新建变更 subChangeState(e) { e.preventDefault(); this.setState({ loading: true }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/addOrderChange', data: { orderNo: this.props.datauser.orderNo, changeComment: this.state.changeRemarks } }).done(function (data) { this.setState({ loading: false }); if (!data.error.length) { message.success('保存成功!'); this.addChangeCancel(); this.loaduser(this.props.datauser); } else { message.warning(data.error[0].message); } }.bind(this)); }, //查看修改变更 modifyChange(item) { this.setState({ modifyChangeState: true, changePromoter: item.creater, changeTime: item.createTime, changeState: item.changeStatus, changeRemarks: item.changeComment, idt: item.changeId, orderNot: item.orderNo }) }, //删除变更 modifyDelete(item) { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/deleteOrderChange', data: { changeId: item.changeId, } }).done(function (data) { this.setState({ loading: false }); if (!data.error.length) { message.success('删除成功!'); this.lookChangeData(); this.loaduser() } else { message.warning(data.error[0].message); } }.bind(this)); }, //修改变更保存 changeModify(e) { e.preventDefault(); this.setState({ loading: true }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/updateOrderChange', data: { changeId: this.state.idt, changeStatus: this.state.changeState, changeComment: this.state.changeRemarks } }).done(function (data) { this.setState({ loading: false }); if (!data.error.length) { message.success('保存成功!'); this.modifyChangeCancel(); this.lookChangeData(); this.loaduser(this.props.datauser) } else { message.warning(data.error[0].message); } }.bind(this)); }, /*-----变更操作结束----*/ componentWillReceiveProps(nextProps) { //props改变时触发 this.state.visible = nextProps.showDesc; if (nextProps.userDetaile && nextProps.showDesc) { this.loaduser(nextProps.datauser); this.loadData(nextProps.datauser); } }, render() { const FormItem = Form.Item const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; const changeHtml = this.state.changeHtml || []; const editFws = this.state.editFw || []; const orderDetaiel = this.state.orderList || []; return (