123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- import React, { useState, useEffect } from 'react'
- import { Select, Spin, Table, Button, Form, Input, Divider, Icon } from 'antd'
- import NavLink from 'umi/navlink'
- import { fetchList, apis, fetch } from '@/utils/request'
- import Search from '../../components/Search'
- import List from '../../components/List'
-
- const exportStatementExcel = fetch(apis.bill.exportStatementExcel)
- const getBillStatementAll = fetch(apis.bill.getBillStatementAll)
-
- const StatusDict = {
- '0': '未支付',
- '1': '已支付',
- '2': '支付中',
- '3': '已关闭',
- }
-
- const PayTypeDict = {
- '0': '微信缴费',
- '1': '线下缴费',
- '2': '支付宝缴费',
- }
-
- const Condition = props => {
- return (
- <Search
- onSearch={props.onSearch}
- onReset={props.onReset}
- render={form => {
- const { getFieldDecorator, setFieldsValue } = form
-
- return (
- <>
- <Form.Item label="订单号">
- {
- getFieldDecorator('orderBumber')(<Input placeholder="订单号" />)
- }
- </Form.Item>
- <Form.Item label="缴费项目编号">
- {
- getFieldDecorator('billId')(<Input placeholder="缴费项目编号" />)
- }
- </Form.Item>
- <Form.Item label="缴费项目名">
- {
- getFieldDecorator('billName')(<Input placeholder="缴费项目名" />)
- }
- </Form.Item>
- <Form.Item label="收费单号">
- {
- getFieldDecorator('billInvoiceId')(<Input placeholder="收费单号" />)
- }
- </Form.Item>
- <Form.Item label="缴费人手机号">
- {
- getFieldDecorator('payPhone')(<Input placeholder="缴费人手机号" />)
- }
- </Form.Item>
- </>
- )
- }}
- />
- )
- }
-
- export default props => {
- const [loading, setLoading] = useState(false)
- const [listData, setListData] = useState([])
- const [pagination, setPagination] = useState({})
- const [queryParams, setQueryParams] = useState({ pageNum: 1, pageSize: 10 })
-
- const handleSearch = vals => {
- setQueryParams({
- ...queryParams,
- ...vals,
- pageNum: 1,
- })
- }
-
- const handlePageChange = (pageNum, pageSize) => {
- setQueryParams({
- ...queryParams,
- pageNum,
- pageSize,
- })
- }
-
- const exportExcel = () => {
- exportStatementExcel().then(res => {
- const link = document.createElement('a')
- link.href = window.URL.createObjectURL(new Blob([res]))
- link.setAttribute('download', '流水信息.xls')
- link.click()
- })
- }
-
- useEffect(() => {
- setLoading(true)
- getBillStatementAll({ data: queryParams }).then(res => {
- const {list, ...pagi} = res || {}
- setListData(list)
- setPagination(pagi)
- setLoading(false)
- }).catch(err => setLoading(false))
- }, [queryParams])
-
- return (
- <div>
- <Condition onSearch={handleSearch} onReset={handleSearch} />
- <div style={{ margin: '24px 0' }}>
- <Button type="link" onClick={exportExcel}><Icon type="download"/>导出数据</Button>
- </div>
- <List dataSource={listData} loading={loading} pagination={pagination} onPageChange={handlePageChange} rowKey="id">
- <Table.Column
- title="订单号"
- dataIndex="id"
- key="id"
- render={(_, row) => {
- return (
- <NavLink to={`/property/bill/order/info?id=${row.orderBumber}`}>
- <Button type="link">{row.orderBumber}</Button>
- </NavLink>
- )
- }}
- />
- <Table.Column
- title="收费组编号"
- dataIndex="billId"
- key="billId"
- render={(_, row) => {
- return (row.billIdList || []).map(item => (
- <NavLink key={item} to={`/property/bill/management/info?id=${item}`}>
- <Button type="link">{item}</Button>
- </NavLink>
- ))
- }}
- />
- <Table.Column
- title="收费单号"
- dataIndex="billInvoiceId"
- key="billInvoiceId"
- render={(_, row) => {
- return (row.billInvoiceIdList || []).map(item => (
- <span key={item}>{item}</span>
- ))
- }}
- />
- <Table.Column title="总费用金额" dataIndex="sumPrice" key="sumPrice" render={sumPrice => (sumPrice === null || sumPrice === undefined ? '' : sumPrice/100)} />
- <Table.Column
- title="订单状态"
- dataIndex="orderStatus"
- key="orderStatus"
- render={(_, row) => StatusDict[row.orderStatus]}
- />
- <Table.Column title="缴费人手机号" dataIndex="payPhone" key="payPhone" />
- <Table.Column title="缴费备注" dataIndex="payRemark" key="payRemark" />
- <Table.Column title="缴费方式" dataIndex="payType" key="payType" render={payType => PayTypeDict[payType]}/>
- <Table.Column title="订单生成时间" dataIndex="createTime" key="createTime" />
- <Table.Column title="缴费完成时间" dataIndex="updateDate" key="updateDate" />
- </List>
-
- </div>
- )
- }
|