import { MyButtons, MyColumns, MyImportModal, MyPageContainer, MyProTableProps, } from '@/common'; import { Apis } from '@/gen/Apis'; import { ApprovalTemplatesTypeEnum, HouseBillsBillStatusEnum, HouseBillsTypeEnum, RefundsTypeEnum, } from '@/gen/Enums'; import { ProTable } from '@ant-design/pro-components'; import { useNavigate } from '@umijs/max'; import { Space } from 'antd'; import BillCreate from './modals/BillCreate'; import BIllInfo from './modals/BIllInfo'; import BillRefund from './modals/BillRefund'; import BillUpdate from './modals/BillUpdate'; export default function Index({ title = '账单明细' }) { const navigate = useNavigate(); return ( MyProTableProps.request(params, sort, Apis.Bill.HouseBills.List) } toolBarRender={(action) => [ , , ]} columns={[ MyColumns.ID({ search: false }), { title: '房屋', dataIndex: ['asset_house', 'full_name'], search: { transform: (value) => { return { full_name: value }; }, }, render: (_, record) => { return ( { navigate(`/bills/summary/show/${record.asset_houses_id}`); }} /> ); }, }, { title: '账单月份', render: (_, record) => { return `${record.year}-${String(record.month).padStart(2, '0')}`; }, search: false, }, MyColumns.EnumTag({ title: '类型', dataIndex: 'type', valueEnum: HouseBillsTypeEnum, search: false, }), MyColumns.EnumTag({ title: '状态', dataIndex: 'bill_status', valueEnum: HouseBillsBillStatusEnum, search: { transform: (value) => { return { bill_status: [value] }; }, }, }), { title: '账单金额', dataIndex: 'amount', search: false, }, { title: '优惠金额', dataIndex: 'discount_amount', search: false, }, { title: '滞纳金', dataIndex: 'late_fee', search: false, }, { title: '应收金额', dataIndex: 'total_payable_amount', search: false, }, { title: '已收金额', dataIndex: 'total_paid_amount', search: false, }, { title: '计费周期', dataIndex: 'start_date', render: (_, record) => { return `${record.start_date} 至 ${record.end_date}`; }, search: false, }, MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( {item.bill_status === HouseBillsBillStatusEnum.PartiallyPaid.value || (item.bill_status === HouseBillsBillStatusEnum.Paid.value && ( ))} Apis.Bill.HouseBills.Delete({ id: item.id }).then(() => action?.reload(), ) } /> ), }), ]} /> ); }