import React from 'react'; import ajax from 'jquery/src/ajax/xhr.js'; import $ from 'jquery/src/ajax'; import moment from 'moment'; import '../distribute/public.less'; import { Button, Input, Spin, Table, Switch, Select, message, DatePicker, Tabs } from 'antd'; import { getTransactionProject, ShowModal } from "@/tools"; import WaterDesc from './waterDetail'; import { ChooseList } from "../../order/orderNew/chooseList"; import ShowModalDiv from "@/showModal.jsx"; import Cascaders from "../../../common/cascaders"; const { TabPane } = Tabs const MyWater = React.createClass({ departmentList() { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/organization/selectSuperId", data: {}, success: function (data) { let thedata = data.data; let theArr = []; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thedata = {}; } else { thedata.map(function (item, index) { theArr.push({ key: index, name: item.name, id: item.id }); }); } this.setState({ departmentArr: theArr }); }.bind(this) }).always( function () { this.setState({ loading: false }); }.bind(this) ); }, loadData(pageNo) { this.state.data = []; this.setState({ selectedRowKeys: [], selectedRowKey: [], page: pageNo, loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/financial/myBillList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, payeeName: this.state.payeeNameSearch, payerName: this.state.payerNameSearch, startTime: this.state.releaseDate[0], endTime: this.state.releaseDate[1], orderNo: this.state.orderNo, deps: this.state.deps }, 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, orderNo: thisdata.orderNo, billNo: thisdata.billNo, transactionAmount: thisdata.transactionAmount, payeeName: thisdata.payeeName, payerName: thisdata.payerName, transactionSubject: thisdata.transactionSubject, transactionChannel: thisdata.transactionChannel, financialPayTimes: thisdata.financialPayTimes ? new Date(thisdata.financialPayTimes).toLocaleDateString() : "", financialPayNo: thisdata.financialPayNo, createrName: thisdata.createrName, saleName: thisdata.saleName, createTimes: thisdata.createTimes, type: thisdata.type == 0 ? "手工" : "批量" }); } } 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({ dataSource: theArr, pagination: this.state.pagination }); }.bind(this) }).always( function () { this.setState({ loading: false }); }.bind(this) ); }, getInitialState() { return { searchMore: true, releaseDate: [], RowData: {}, selectedRowKeys: [], selectedRows: [], loading: false, // 子组件改变的表格title数组 changeList: undefined, 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: "billNo", key: "billNo" // fixed: "left" }, { title: "金额(万元)", dataIndex: "transactionAmount", key: "transactionAmount" }, { title: "收款方", dataIndex: "payeeName", key: "payeeName" }, { title: "付款方", dataIndex: "payerName", key: "payerName" }, { title: "流水科目", dataIndex: "transactionSubject", key: "transactionSubject", render: text => { return getTransactionProject(text); } }, { title: "收款类型", dataIndex: "type", key: "type" }, { title: "财务流水时间", dataIndex: "financialPayTimes", key: "financialPayTimes" }, { title: "财务流水号", dataIndex: "financialPayNo", key: "financialPayNo" }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo" }, { title: "订单负责人", dataIndex: "saleName", key: "saleName" }, { title: "创建时间", dataIndex: "createTimes", key: "createTimes" } ], dataSource: [], searchTime: [,] }; }, componentWillMount() { this.loadData(); this.departmentList(); }, tableRowClick(record, index) { this.state.RowData = record; this.setState({ showDesc: true }); }, closeDesc(e, s) { this.state.RowData = {}; this.state.showDesc = e; if (s) { this.loadData(this.state.page); } }, search() { this.loadData(); }, reset() { this.state.orderNo = ""; this.state.payeeNameSearch = ""; this.state.releaseDate = []; this.state.deps = undefined; this.state.payerNameSearch = ""; this.Cascaders.empty(); this.loadData(); }, searchSwitch() { this.setState({ searchMore: !this.state.searchMore }); }, 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 rowSelection = { selectedRowKeys: this.state.selectedRowKeys, onChange: (selectedRowKeys, selectedRows) => { this.setState({ selectedRows: selectedRows.slice(-1), selectedRowKeys: selectedRowKeys.slice(-1) }); } }; const hasSelected = this.state.selectedRowKeys.length > 0; const { RangePicker } = DatePicker; var departmentArr = this.state.departmentArr || []; return (