import React from "react"; import $ from "jquery/src/ajax"; import "./public.less"; import {Form, Button, Input, Spin, Table, message, Modal, Upload, Tabs, Popconfirm, Tooltip} from "antd"; import { getProvinceA, getInvoiceStatus, getprovince, getStatus, getProcessStatus, getPeople, splitUrl } from "@/tools"; const FormItem = Form.Item; import OrderDesc from "../orderDetail/orderDesc"; import {ChooseList} from "../../order/orderNew/chooseList"; import {getProjectName} from "../../../tools"; const outSpecial = React.createClass({ loadData(pageNo) { this.state.data = []; this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderInvoice/approvalOrderInvoiceList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, name: this.state.nameSearch, //客户名称 orderNo: this.state.orderNoSearch, orderDep: this.state.departmenttList, type: 1 }, success: function(data) { let theArr = []; if (!data.data || !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, status: thisdata.status, unitName: thisdata.unitName, orderNo: thisdata.orderno, name: thisdata.name, projectStatus: thisdata.projectStatus, processStatus: thisdata.processStatus, amount: thisdata.amount, sumAmount: thisdata.sumAmount, createTime: thisdata.createTime ? new Date(thisdata.createTime).toLocaleString() : "", settlementAmount: thisdata.settlementAmount, notAmount: thisdata.notAmount, approval: thisdata.approval }); } } this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; if (data.data && data.data.list && !data.data.list.length) { this.state.pagination.current = 0; this.state.pagination.total = 0; } this.setState({ totalPage: data.data.totalPage, dataSource: theArr, pagination: this.state.pagination }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, invoiceData() { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderInvoice/selectByIdOrderInvoice", data: { id: this.state.id }, success: function(data) { let thisdata = data.data; this.setState({ orderNo: thisdata.orderNo, type: thisdata.type, status: thisdata.status, remarks: thisdata.remarks, invoiceType: thisdata.invoiceType, unitName: thisdata.unitName, taxNumber: thisdata.taxNumber, amount: thisdata.amount, banks: thisdata.banks, content: thisdata.content, unitAddress: thisdata.unitAddress, invoiceRemarks: thisdata.invoiceRemarks, unitMobile: thisdata.unitMobile, contractNo: thisdata.contractNo, post: thisdata.post, addressee: thisdata.addressee, addresseeMobile: thisdata.addresseeMobile, addresseeProvince: thisdata.addresseeProvince, addresseeCity: thisdata.addresseeCity, addresseeArea: thisdata.addresseeArea, alreadyAmount: thisdata.alreadyAmount, recipientAddress: thisdata.recipientAddress, orgCodeUrl: thisdata.voucherUrl ? splitUrl( thisdata.voucherUrl, ",", globalConfig.avatarHost + "/upload" ) : [] }); }.bind(this) }).done( function() { this.setState({ loading: false }); }.bind(this) ); }, getInitialState() { return { searchMore: true, assignVisible: false, releaseDate: [], totalPage: 0, boHuivisible: false, selectedRowKeys: [], selectedRows: [], contractNo: "", loading: false, reason: "", foo: 0, 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: "unitName", key: "unitName", width:100, render: text => { return (
{text}
) } }, { title: "跟单人/签单人", dataIndex: "name", key: "name" }, { title: "开票状态", dataIndex: "status", key: "status", render: text => { return getStatus(text); } }, { title: "流程状态", dataIndex: "processStatus", key: "processStatus", render: text => { return getProcessStatus(text); } }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: text => { return getProjectName(text); } }, { title: "申请开票(万)", dataIndex: "amount", key: "amount" }, { title: "已开票(万)", dataIndex: "sumAmount", key: "sumAmount" }, { title: "已收款", dataIndex: "settlementAmount", key: "settlementAmount" }, { title: "未收款", dataIndex: "notAmount", key: "notAmount" }, { title: "申请时间", dataIndex: "createTime", key: "createTime" }, { title: "操作", dataIndex: "caozuo", key: "caouzo", render: (text, record, index) => { return (
{ } {record.approval !== 2 ? ( { e.stopPropagation(); this.setState({ examine: 2 }, () => { this.sende(record); }); }} okText="确定" cancelText="取消"> ) : ( "" )} {record.approval !== 2 ? ( { e.stopPropagation(); this.setState({ examine: 3 }, () => { this.reject(record); }); }} okText="确定" cancelText="取消"> ) : ( "" )} {record.approval === 2 ? ( ) : ( "" )} { }
); } } ], columnsDate: [ { title: "编号", dataIndex: "id", key: "id" }, { title: "订单编号", dataIndex: "orderno", key: "orderno" }, { title: "开票金额(万元)", dataIndex: "amount", key: "amount" }, { title: "申请时间", dataIndex: "createTime", key: "createTime" }, { title: "开票状态", dataIndex: "status", key: "status", render: text => { return getInvoiceStatus(text); } } ], dataSource: [], searchTime: [,] }; }, loadSend(record) { this.setState({ loading: true }); if (this.state.examine === 3 && this.state.reason === "") { message.warning("拒绝理由不能为空!"); return; } $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderInvoice/approvalExamine", data: { id: this.state.examine === 2 ? record.id : this.state.id, examine: this.state.examine, reason: this.state.reason }, success: function() {}.bind(this) }).done( function() { this.setState({ loading: false }); if (this.state.examine === 2) { message.success("通过成功!"); this.loadData(); } else { message.success("拒绝成功!"); this.resetReason(); this.rejectCancels(); this.loadData(); } }.bind(this) ); }, //重置拒绝理由 resetReason() { this.setState({ reason: "" }); }, sende(record) { this.loadSend(record); }, commit() { this.loadSend(); this.setState({ avisible: false }); }, visit(index) { this.setState( { id: this.state.dataSource[index].id, avisible: true }, () => { this.invoiceData(); } ); }, visitCancels() { this.setState({ avisible: false }); }, reject(record) { this.setState({ visibleR: true, id: record.id }); }, rejectCancels() { this.setState({ visibleR: false }); }, inRecordData() { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderInvoice/salesmanOrderInvoiceList", data: { orderNo: this.state.orderNo2 }, success: function(data) { let theArr = []; let sum = 0; if (!data.data) { 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]; sum += parseFloat(thisdata.amount); theArr.push({ id: thisdata.id, orderno: thisdata.orderno, //订单编号 amount: thisdata.amount, //签单金额 createTime: thisdata.createTime, //流程状态 status: thisdata.status, //结算状态 rejectReason: thisdata.rejectReason }); } } this.setState({ recordData: theArr, sum: sum.toFixed(6) }); }.bind(this) }).done( function() { this.setState({ loading: false }); }.bind(this) ); }, inRecord(record) { this.setState( { bvisible: true, orderNo2: record.orderNo }, () => { this.inRecordData(); } ); }, inRecordCanl() { this.setState({ bvisible: false }); }, search() { this.loadData(); }, componentWillMount() { this.loadData(); }, // componentDidMount() { // window.setTimeout(() => { // console.log("321", this.state); // },100) // }, reset() { this.state.nameSearch = ""; this.state.releaseDate = []; this.state.orderNoSearch = ""; this.state.processStatus = []; this.state.departmenttList = []; this.loadData(); }, tableRowClick(record) { this.state.RowData = record; this.setState({ showDesc: true }); }, closeDesc(e, s) { this.state.showDesc = e; if (s) { this.loadData(this.state.page); } }, 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 { TabPane } = Tabs return (
省外特批
{ this.setState({ nameSearch: e.target.value }); }} /> { this.setState({ orderNoSearch: e.target.value }); }} /> {/**/}
{ this.setState({ reason: e.target.value }); }} />
{this.state.contractNo} {this.state.remarks}
*省内/外 } > {getProvinceA(this.state.type)}

发票内容
*发票类型 } > {this.state.invoiceType === 0 ? "增值税专用发票" : this.state.invoiceType === 1 ? "增值税普通发票" : "其他"}
*单位名称 } > {this.state.unitName} *税号 } > {this.state.taxNumber} * 开票金额(万元) } > {this.state.amount} * 开户行银行账号 } > {this.state.banks} * 开票内容及说明 } > {this.state.content} *单位地址 } > {this.state.unitAddress} {this.state.invoiceRemarks} *单位电话 } > {this.state.unitMobile}
*附件 } > { this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true }); }} > { this.setState({ previewVisible: false }); }} >

{this.state.post === 0 ? "是" : "否"}
{this.state.post === 0 ? (
{this.state.addressee} {this.state.addresseeMobile}
{getprovince(this.state.addresseeProvince)}/ {getprovince(this.state.addresseeCity)}/ {getprovince(this.state.addresseeArea)}
{this.state.recipientAddress}
) : ( "" )} *开票金额总计 } > {this.state.alreadyAmount}万元
开票总计} > {this.state.sum}
); } }); export default outSpecial;