import { MyButtons, MyColumns, MyPageContainer, MyProTableProps, usePageTabs, } from '@/common'; import { Apis } from '@/gen/Apis'; import { HouseBillsTypeEnum, HouseChargeStandardsCalculationMethodEnum, HouseChargeStandardsCalculationModeEnum, HouseChargeStandardsCalculationPeriodEnum, HouseChargeStandardsPriceAlgorithmEnum, } from '@/gen/Enums'; import { ProTable } from '@ant-design/pro-components'; import { useNavigate } from '@umijs/max'; import { Space } from 'antd'; import ChargeStandardCreate from './modals/ChargeStandardCreate'; import ChargeStandardHasHouse from './modals/ChargeStandardHasHouse'; import ChargeStandardUpdate from './modals/ChargeStandardUpdate'; export default function Index({ title = '收费标准' }) { const navigate = useNavigate(); // 注册当前页面为标签页 usePageTabs({ tabKey: 'house-charge', tabLabel: title, }); return ( MyProTableProps.request( params, sort, Apis.HouseCharage.HouseChargeStandards.List, ) } toolBarRender={(action) => [ , ]} columns={[ MyColumns.ID(), { title: '关联项目', dataIndex: ['asset_project', 'name'], search: { transform: (value) => { return { project_name: value }; }, }, }, { title: '收费名称', dataIndex: 'name', search: false, }, MyColumns.EnumTag({ title: '收费项', dataIndex: 'charge_type', valueEnum: HouseBillsTypeEnum, }), MyColumns.EnumTag({ title: '计量单位', dataIndex: 'calculation_method', valueEnum: HouseChargeStandardsCalculationMethodEnum, search: false, }), MyColumns.EnumTag({ title: '计费模式', dataIndex: 'calculation_mode', valueEnum: HouseChargeStandardsCalculationModeEnum, search: false, }), MyColumns.EnumTag({ title: '计费算法', dataIndex: 'price_algorithm', valueEnum: HouseChargeStandardsPriceAlgorithmEnum, search: false, }), { title: '价格', dataIndex: 'price', search: false, render(_, record) { if (record?.price_algorithm === 'Fixed') { return record?.price; } else { return (
{record?.tiered_rates?.map((rate: any, index: number) => (
{rate?.min_quantity} - {rate?.max_quantity} : {rate?.price}
))}
); } }, }, MyColumns.EnumTag({ title: '账单计费周期', dataIndex: 'calculation_period', valueEnum: HouseChargeStandardsCalculationPeriodEnum, search: false, }), { title: '账单自动生成日期', dataIndex: 'auto_date', search: false, }, { title: '是否分摊', dataIndex: 'is_apportionment', search: false, render(_, record) { return `${record?.is_apportionment ? '是' : '否'} `; }, }, // MyColumns.UpdatedAt(), // MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( { navigate(`/charge/standard/show/${item.id}`); }} /> Apis.HouseCharage.HouseChargeStandards.Delete({ id: item.id, }).then(() => action?.reload()) } /> ), }), ]} />
); }