import React from "react"; import $ from "jquery/src/ajax"; import "./public.less"; import { Form, Button, Input, Select, Spin, Table, message, Modal, Popconfirm, Tabs, Tooltip } from "antd"; import { getProvinceA, getInvoiceStatus, getprovince, getStatus, getPeople, splitUrl, ShowModal, getProcessStatus } from "@/tools"; import { ChooseList } from "../../../../component/manageCenter/order/orderNew/chooseList"; import ShowModalDiv from "@/showModal.jsx"; import OrderDesc from "../orderDetail/orderDesc"; import KaiPiaoModal from "./kaiPiaoModal" import {getProjectName} from "../../../tools"; import DepartmentList from "../../../common/departmentList"; const FormItem = Form.Item; const { TabPane } = Tabs const invoiceApplyList = React.createClass({ loadData(pageNo) { this.state.data = []; this.setState({ listLoading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderInvoice/financeOrderInvoiceList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, name: this.state.nameSearch, //客户名称 orderNo: this.state.orderNoSearch, orderDep: this.state.departmenttList, status: this.state.statusSearch, type: 0, approval: this.state.processStatus }, success: function (data) { ShowModal(this); 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, processStatus: thisdata.processStatus, projectStatus: thisdata.projectStatus, amount: thisdata.amount, sumAmount: thisdata.sumAmount, createTime: thisdata.createTime ? new Date(thisdata.createTime).toLocaleString() : "", settlementAmount: thisdata.settlementAmount, notAmount: thisdata.notAmount }); } 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({ listLoading: 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; let obj = { contractNo: thisdata.contractNo, orderNo: thisdata.orderNo, approval: thisdata.approval, 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, 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" ) : [] } this.setState({ modalData: obj }) }.bind(this) }).done( function () { this.setState({ loading: false }); }.bind(this) ); }, getInitialState() { return { searchMore: true, assignVisible: false, releaseDate: [], totalPage: 0, boHuivisible: false, selectedRowKeys: [], // 子组件改变的表格title数组 changeList: undefined, selectedRows: [], 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" // fixed: "left" }, { 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.status !== 2 ? ( { e.stopPropagation(); this.setState({ examine: 2 }, () => { this.sende(record); }); }} okText="确定" cancelText="取消"> ) : ( "" )} {record.status !== 2 ? ( { e.stopPropagation(); this.setState({ examine: 3 }, () => { this.reject(record); }); }} okText="确定" cancelText="取消"> ) : ( "" )} {record.status === 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/financeExamine", 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(); }, reset() { this.state.nameSearch = ""; this.state.releaseDate = []; this.state.orderNoSearch = ""; this.state.processStatus = []; this.state.departmenttList = []; this.state.statusSearch = []; this.loadData(); }, changeList(arr) { const newArr = []; this.state.columns.forEach(item => { arr.forEach(val => { if (val === item.title) { newArr.push(item); } }); }); this.setState({ changeList: newArr }); }, tableRowClick(record) { this.state.RowData = record; this.setState({ showDesc: true }); }, closeDesc(e, s) { this.state.showDesc = e; if (s) { this.loadData(this.state.page); } }, render() { const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 } }; return (
省内开票审核
{ this.setState({ nameSearch: e.target.value }); }} /> { this.setState({ orderNoSearch: e.target.value }); }} /> { this.setState({ departmenttList: e }); }}/>
{ this.setState({ reason: e.target.value }); }} >
开票总计} > {this.state.sum + "(万元)"}
); } }); export default invoiceApplyList;